Professional Documents
Culture Documents
Hà Nội - 2011
1
Mục lục
CHƢƠNG 2: XÁC THỰC TRONG CÁC MẠNG VÔ TUYẾN THẾ HỆ SAU ..........43
2.1. Xác thực trong mạng GSM .................................................................................................................... 43
2.1.1 Giới thiệu mạng GSM ....................................................................................................................... 43
2.1.2. Mô hình an ninh của mạng GSM ..................................................................................................... 45
2.1.3. Dịch vụ xác thực trong mạng GSM ................................................................................................. 47
2.3. Xác thực trong mạng cục bộ không dây WLAN .................................................................................. 57
2.3.1. Giới thiệu về mạng cục bộ không dây WLAN ................................................................................. 57
2.3.2. Mô hình an ninh mạng WLAN ......................................................................................................... 59
2.3.2.1. Các vấn đề an ninh trong mạng WLAN ................................................................................... 59
2.3.2.2. Giải pháp an ninh trong mạng WLAN ..................................................................................... 59
2.3.3. PRE-RSNA....................................................................................................................................... 61
2.3.2.1. Xác thực ................................................................................................................................... 61
2.3.2.2. Bảo mật và toàn vẹn dữ liệu ..................................................................................................... 63
2.3.4. RSNA ............................................................................................................................................... 64
2.3.4.1. Xác thực ................................................................................................................................... 64
2.3.4.2. Bảo mật và toàn vẹn dữ liệu ..................................................................................................... 67
3.3. Đề xuất xây dựng hạ tầng khóa công khai cho thiết bị di động dựa trên hệ mật mã ECC .............. 89
3.3.5.3. Đánh giá hiệu năng của hệ mật mã ECC ................................................................................ 105
Bảng 3.1 : So sánh độ an toàn các hệ mật mã theo chiều dài khóa ……………...67
Bảng 3.2 : Các điểm thuộc đƣờng cong E23(1,1)……………………………..…73
Bảng 3.3 : Các giá trị trƣờng F24………………………………………………...76
Bảng 3.4 : Các điểm thuộc đƣờng cong E24(g4,1)…………………….………....76
Bảng 3.5a : So sánh tốc độ ký giữa hệ mật mã ECC và RSA …………………….
Bảng 3.5b : So sánh tốc độ xác thực giữa hệ mật mã ECC và RSA ……………….
Hình 3.3 : Các điểm thuộc đƣờng cong E23(1,1) trên đồ thị …………………..76
Hình 3.4 : Các điểm thuộc đƣờng cong E24(g4,1) trên đồ thị ………………….79
Hình 3.5 : Quan hệ chuyển đổi giữa các kiểu dữ liệu …………………………83
Hình 3.6 : Các thành phần hạ tầng khóa công khai …………………………...90
Hình 3.7 : Cấu trúc chứng thƣ X.509 ………………………………………….92
Hình 3.8 : Giao thức cấp đăng ký cấp phát chứng thƣ …………………………94
Hình 3.9 : Giao thức pháp hành chứng thƣ …………………………………….95
Hình 3.10a : Giao thức xác thực một bƣớc ……………………………………….97
Hình 3.10b : Giao thức xác thực hai bƣớc ………………………………………..97
Hình 3.10c : Giao thức xác thực ba bƣớc ………………………………………....98
Hình 3.11a : Chứng thƣ của CA………………………………………………….100
Hình 3.11b : Trƣờng khóa công khai của CA ……………………………………100
Hình 3.11c : Thuật toán ký của CA………………………………………………101
Hình 3.11d : Chữ ký của CA trên chứng thƣ …………………………………….101
Hình 3.11e: Form điền thông tin cấp yêu cầu phát chứng thƣ ………………….102
Hình 3.11f : Chứng thƣ đƣợc phát hành bởi CA ………………………………..102
Hình 3.11g : Thuật toán ký số của CA trên chứng thƣ phát hành………………..103
Hình 3.11h : Chữ ký của CA trên chứng thƣ phát hành …………………………103
9
Giới thiệu
1. Đặt vấn đề
Kể từ năm 1895, khi nhà khoa học Guglielmo Marconi đã thành công trong
việc truyền 1 thông điệp điện báo đầu tiên từ khoảng cách 18 dặm mà không cần
dùng một loại dây truyền nào. Ngày nay, các thiết bị vô tuyến đã xâm nhập vào hầu
hết các khía cạnh cuộc sống của con ngƣời, ở đâu ta cũng có thể dễ dàng bắt gặp
những thiết bị vô tuyến: Từ những vật dụng đơn giản nhƣ đài radio, vô tuyến truyền
hình, những chiếc điện thoại di động, hoặc mạng Wifi gia đình. Các thiết bị vô
tuyến nói chung và thiết bị di động nói riêng đã góp phần rất lớn trong cuộc cách
mạng hiện đại hóa của con ngƣời. Thật khó có thể hình dung cuộc sống hiện đại nếu
không có những thiết bị vô tuyến đó.
Bên cạnh những mặt tốt, truyền thông vô tuyến cũng có nhiều mặt hạn chế. Do
tính tiện lợi của truyền thông vô tuyến, do vậy cuộc sống của con ngƣời ngày càng
lệ thuộc vào nó. Mặt khác, do bản chất của truyền thông vô tuyến là truyền công
khai bằng các tín hiệu vô tuyến trong không khí, do vậy mạng vô tuyến tiềm ẩn rất
nhiều nguy cơ an ninh. Nếu kênh truyền không đƣợc bảo vệ tốt thì ngƣời sử dụng
cuối rất có thể sẽ bị tổn thƣơng nếu bị tấn công.
Ví dụ, ngày nay có nhiều ngƣời sử dụng điện thoại di đông để liên lạc với
nhau, các thông tin trao đổi cũng rất đa dạng, kể cả nhƣng thông tin bí mật, nếu bị
tấn công, những thông tin bí mật đó có thể bị lộ và sẽ gây ra những ảnh hƣởng rất
lớn tới ngƣời sử dụng. Ta có thể nếu ra một ví dụ khác, trong thời gian gần đây, có
rất nhiều tin nhắn điện thoại giả mạo lừa đảo đƣợc gửi tới nhiều ngƣời dùng điện
thoại di động, gây ra nhiều bức xúc cho ngƣời sử dụng và là vấn đề nhức nhối của
xã hội. Giải sử những thông tin giả mạo liên quan tới những vấn đề giao dịch, hay
kinh doanh thì sẽ gây ra thiệt hại rất lớn cho ngƣời sử dụng.
Do sự phổ biến của những chiếc điện thoại di động, do vậy có rất nhiều dịch
vụ giá trị gia tăng đƣợc phát triển trên truyền thông di động. Trong đó có nhiều dịch
vụ thƣơng mại điện tử nhƣ thanh toán di động (mobile payment), ngân hàng điện tử.
Tuy nhiên, nếu hạ tầng di động không đảm bảo đƣợc tính bảo mật thì các dịch vụ
trên rất khó để thuyết phục ngƣời sử dụng tham gia.
Hiện nay, hạ tầng an ninh truyền thông đã đƣợc xây dựng tƣơng đối hoàn
chỉnh, ví dụ nhƣ hạ tầng khóa công khai (PKI – Public key Infrastructure). Tuy
nhiên các thiết kế ban đầu của các hạ tầng đó đƣợc phục vụ việc bảo mật và xác
thực chạy trên các máy vi tính. Với nhƣ thiết bị di động, hoặc các thiết bị nhúng có
10
năng lực xử lý và khả năng lƣu trữ hạn chế thì phƣơng pháp bảo mật cũ không có
hiệu quả. Mặc dù trong vài năm trở lại đây, có sự bùng nổ của các thiết bị di động
thông minh, có năng lực xử lý ngang với máy vi tính, tuy nhiên đó vẫn chỉ là số ít.
Phần còn lại của các thiết bị di động vẫn là các thiết bị có năng lực xử lý kém,
không tƣơng thích với việc triển khai các thuật toán bảo mật.
Để giải quyết các vấn đề này, trong những năm gần đây, có nhiều công trình
đã nghiên cứu các phƣơng pháp để bảo mật trong truyền thông vô tuyến. Trong luận
văn của mình, học viên sẽ nghiên cứu những vấn đề bảo mật trong truyền thông vô
tuyến.
Phần cuối cùng, học viên đi vào nghiên cứu hệ mật mã công khai đƣờng cong
Elliptic (ECC - Elliptic Curve Cryptography). Học viên sẽ đi vào khảo cứu và giới
thiệu các thuật toán đƣợc ứng dụng trong triển khai các dịch vụ an ninh trên cơ sở
của hệ mật mã ECC. Dựa vào các kết quả nghiên cứu trƣớc đó về hệ mật mã ECC,
học viên sẽ đƣa ra những so sánh và đánh giá để chỉ ra sự tƣơng thích của hệ mật
mã ECC khi chạy trên các thiết bị có năng lực xử lý yếu. Cuối cùng, luận văn đề
xuất ứng dụng hạ tầng khóa công khai sử dụng mật mã ECC ứng dụng trên điện
thoại di động. Để minh họa, luận văn đã thiết kế giao thức cấp phát chứng thƣ an
toàn trên điện thoại di động. Trong tƣơng lại, học viên sẽ có thể tiếp tục nghiên cứu
và hoàn thiện các giải pháp triển khai hạ tầng khóa công khai trên thiết bị di động.
12
“Một hệ thống chỉ an toàn thực sự khi nó đƣợc ngắt hoàn toàn, đƣợc đóng trong 1
khối bê tông và đƣợc niêm phong trong 1 ngôi nhà bọc chì có lực lƣợng vũ trang
bảo vệ - Thậm chí khi đó tôi vẫn có sự nghi ngờ ”. Theo định nghĩa của ISO/IEC
2382-8 : “An ninh là sự bảo vệ dữ liệu và tài nguyên bằng các hành động thích hợp
khỏi những hành vi gây hại cố tình hay vô ý”
Một trong những sai lầm phổ biến khi thiết kế hệ thống đó là việc coi yếu tố
an ninh là thành phần có thể đƣợc bổ xung sau, chính sai lầm này dẫn tới những lỗ
hổng an ninh phát sinh ở giai đoạn sau sẽ rất khó phát hiện, và sửa chữa. Ví dụ,
trong các giao thức 802.11 của mạng WLAN, thiết kế của lớp trung gian MAC
(Medium Access Control) có thể dẫn tới hệ thống bị tấn công từ chối dịch vụ
(Denial of services - DoS). Các giao thức 802.11 sau này (802.11i) đã đƣợc cải tiến
để chống lại các cuộc tấn công dịch vụ, nhƣng vẫn chƣa loại bỏ đƣợc kiểu tấn công
ngƣời ở giữa (Man in the middle). Do vậy việc xem xét đánh giá tổng thể các khía
cạnh sử dụng, các tình huống sử dụng trong thực tế để phát hiện ra những nguy cơ
an ninh là một điều rất quan trọng.
động là hình thức tấn công mà kẻ tấn công tác động tới dữ liệu và tài nguyên của hệ
thống, làm ảnh hƣởng tới hoạt động của hệ thống.
1.1.2.1. Tấn công bị động
Có 2 hình thức tấn công bị động đó là: Nghe lén và theo dõi lƣu lƣợng. Mục
tiêu của kẻ tấn công là thu thập thông tin trên đƣờng truyền để khôi phục thông điệp
truyền tin và phân tích đƣợc lƣu lƣợng truyền trên mạng.
Việc tấn công nghe lén và khôi phục lại dữ liệu truyền là một dễ hiểu, bởi
trong các thông tin truyền nhƣ các cuộc gọi, email, tin nhắn, có rất nhiều thông tin
nhạy cảm mà ta không muốn bị lộ. Nếu dữ liệu truyền của ta không đƣợc mã hóa,
thì việc lộ thông tin khi bị nghe lén là điều chắc chắn.
Tấn công phân tích lƣu lƣợng là một kiểu tấn công tinh vi, giả sử thông tin
trao đổi của chúng ta đã đƣợc mã hóa bằng một hệ mật mã nào đó, do vậy kẻ tấn
công không thể nghe lén đƣợc nội dung thông tin trao đổi. Nhƣng kẻ tấn công có
thể theo dõi đƣợc các mẫu thông điệp đƣợc truyền trên đƣờng truyền, từ 1 nguồn tới
1 đích xác định, kết hợp với các thông tin khác, kẻ tấn công có thể đoán đƣợc một
phần thông điệp truyền.
14
Phƣơng pháp tấn công bị động rất khó phát hiện, bởi không có bất cứ 1 sự
thay đổi hay can thiệp nào trên dữ liệu truyền, do vậy cả ngƣời gửi và ngƣời nhận
đều không thể nhận biết đƣợc thông tin truyền của mình có bị nghe lén, hay bị theo
dõi hay không. Để phòng chống việc bị tấn công thụ động, các thông tin truyền phải
đƣợc mã hóa trƣớc khi truyền để tránh bị tấng công nghe lén, đồng thời ta có thể áp
dụng một số cơ chế đặc biệt để có thể chống đƣợc tấn công phân tích lƣu lƣợng.
1.1.2.2. Tấn công chủ động
Tấn công chủ động là các hình thức tấn công nhằm sửa đổi thông tin truyền,
hoặc tạo ra các thông tin truyền giả mạo. Tấn công chủ động có thể đƣợc chia làm 4
nhóm sau: Tấn công giả mạo, tấn công lặp lại, tấn công sửa đổi thông tin, và tấn
công từ chối dịch vụ.
Tấn công giả mạo : Là hình thức tấn công mà kẻ tấn công sẽ giả mạo mình là
một ngƣời khác để thực hiện hành vi tấn công. Ví dụ, trong thủ tục xác thực ngƣời
dùng của 1 hệ thống, nếu kẻ tấn công có mật khẩu của ngƣời dùng thì kẻ đó có thể
vƣợt qua hệ thông xác thực nhƣ 1 ngƣời dùng hợp lệ.
Tấn công lặp lại : Kẻ tấn công sau khi đã thu thập đƣợc 1 đơn vị dữ liệu trên
kênh truyền, nếu đơn vị dữ liệu đó đƣợc sử dụng trong thủ tục xác thực, kẻ tấn công
có thể gửi lại đơn vị dữ liệu đó để có thể vƣợt qua thủ tục xác thực.
15
Tấn công sửa đổi dữ liệu : Kẻ tấn công có thể can thiệp vào dữ liệu trên kênh
truyền và sửa đổi dữ liệu đó nhằm phục vụ mục đích của mình.
Tấn công từ chối dịch vụ (Denial of Service - Dos): Là hình thức làm suy
giảm khả năng phục vụ của hệ thống, bằng cách gửi một loạt các yêu cầu phục vụ
giả mạo tới hệ thống với số lƣợng cực lớn, làm cho hệ thống bị quá tải, dẫn tới
những yêu cầu phục vụ chính đáng không thể đƣợc xử lý.
Ta có thể thấy hình thức tấn công chủ động trái ngƣợc với các tấn công bị-
động. Trong khi các hình thức tấn công bị động rất khó phát hiện, nhƣng việc áp
dụng các biện pháp phòng chống lại có thể dễ dàng áp dụng, ngƣợc lại các hình
thức tấn công chủ động lại dễ dàng có thể phát hiện, nhƣng lại khó phòng chống bởi
hiện nay có rất nhiều các loại hình dịch vụ khác nhau, các loại thiết bị khác nhau
cùng hoạt động, do vậy càng có nhiều lỗ hổng an ninh hơn, trong đó có nhiều lỗ
hổng an ninh đã đƣợc phát hiện và nhiều lỗ hổng an ninh tiềm ẩn, chƣa đƣợc phát
hiện. Đây là mảnh đất màu mỡ cho các hacker có thể hoạt động.
Dịch vụ điều khiển truy cập: Dịch vụ điều khiển truy cấp là khả năng hạn chế
và điều khiển truy cập vào hệ thống và ứng dụng thông qua kênh truyền. Để có thể
truy cập hệ thống, thực thể truy cập trƣớc tiên phải đƣợc định danh, và xác thực.
Sau khi thực thể đƣợc xác thực thành công, hệ thống sẽ cấp quyền truy cập tới
những thành phần đƣợc phép truy cập cho thực thể đó.
Toàn vẹn dữ liệu: Dịch vụ toàn vẹn dữ liệu ngăn chặn những hành động sửa
đổi dữ liệu trái phép. Theo đó, chỉ những thực thể hợp lệ mới đƣợc phép sửa đổi dữ
liệu. Các thao tác sửa đổi dữ liệu bao gồm: Thay đổi trạng thái dữ liệu, tạo dữ liệu
giả, xóa dữ liệu, và gửi lại dữ liệu đã gửi trƣớc đó.
Chống chối bỏ: Dịch vụ chống chối bỏ đảm bảo cho thực thể nhận có thể
chứng minh đƣợc dữ liệu nhận đƣợc chắc chắn là của bên gửi. Tƣơng tự, thực thể
gửi cũng có thể chứng minh đƣợc dữ liệu gửi đi chắc chắn là của mình.
Việc tính toán Ek(x) và Dk(y) có thể dễ dàng thực hiện đƣợc. Nhƣng ngƣợc lại
việc tìm ra x khi chỉ biết bản mã Ek(x) = C, hoặc tìm ra khóa k là một việc rất khó.
Việc phá mã có thể đƣa về 2 bài toán sau:
Tìm bản rõ x khi chỉ biết Ek(x)
Tìm khóa k nếu biết k thuộc tập khóa K và có các bản mã Ek(x)
Trong hệ mật mã khóa đối xứng, độ lớn của không gian khóa là cực kỳ quan
trọng. Trong thực tế, độ an toàn của hệ mật mã phụ thuộc rất lớn vào độ lớn của
không gian khóa, không gian khóa càng lớn thì địch thủ càng khó để thực hiện tấn
công vét cạn để tìm ra khóa đúng. Nếu không gian khóa có độ lớn là 2 128 khóa, với
siêu máy tính hiện đại nhất hiện nay là Thiên hà 1A của Trung Quốc có số phép tính
trong 1 giây là 2.5x1015 phép tính. Để tìm ra khóa, siêu máy tính phải thực hiện
trong khoảng 1015 năm. Đây là một điều không thể.
1.2.1.2. Mô hình hoạt động mã hóa khóa đối xứng
Dựa vào mô hình hoạt động, các hệ mã hóa khóa đối xứng có thể đƣợc chia
làm 2 loại: Mã hóa khối (block cipher scheme) và mã hóa theo dòng (stream
20
cipher). Mã hóa khối hoạt động bằng cách chia nhỏ thông điệp gốc thành nhiều khối
có cùng độ dài xác định b (b > 0), sau đó mã hóa tất cả các khối theo đúng thƣ tự và
truyền đi. Mã hóa theo dòng là một trƣờng hợp đặc biệt của mã hóa khối trong
trƣờng hợp số khối bằng 1, chiều dài khối đúng bằng chiều dài thông điệp.
Mô hình khối đối xứng có 5 chế độ tƣơng ứng với 5 mô hình mã hóa khối, đó
là các chế độ : ECB (Electronic Codebook), CBC (Cipher Block Chaining), CFB
(Cipher Feedback), Output Feedback (OFB) và Counter (CTR) [26] Comment [u4]: William Stalling (2005)
“Cryptography and Network Security”, pp 181-189
Hàm mã hóa EPU(x) và hàm giải mã DPR(y) là các hàm dễ dàng tính đƣợc.
Việc phá mật mã công khai đƣợc đƣa về các bài toán sau:
Tìm bản rõ x nếu biết bản mã hóa EPU(x) và khóa công khai PU
Tìm khóa công bí mật PR khi biết khóa công khai PU
Không giống nhƣ hệ mã hóa khóa đối xứng - sử dụng 1 khóa chia sẻ để mã
hóa và giải mã thông điệp trao đổi - mã hóa khóa công khai sử dụng 1 cặp khóa gọi
là khóa bí mật và khóa công khai: Khóa công khai đƣợc sử dụng để mã hóa dữ liệu,
khóa bí mật sử dụng để giải mã. Mã hóa khóa công khai đã giải quyết đƣợc những
điểm yếu của mã hóa khóa đối xứng, đó là mã hóa khóa đối xứng trƣớc khi sử dụng
phải có sự trao đổi khóa giữa các thực thể truyền, nếu khóa chung đƣợc chia sẻ qua
môi trƣờng công cộng (Nhƣ Internet hay điện thoại …) thì rất dễ bị nghe lén, khi bị
lộ khóa thì việc mã hóa không còn tác dụng nữa. Mặt khác mã hóa khóa đối xứng
không có chức năng “ký”, do vậy các thực thể tham gia truyền thông không thể tự
bảo vệ mình nếu đối tác có hành động chống lại ( Hành động chối bỏ dữ liệu đã
truyền, hoặc giả mạo ). Mã hóa khóa công khai sử dụng 2 khóa để hoạt động, mỗi
bên sẽ tự tạo cho mình 2 khóa có liên hệ về mặt toán học, khóa công khai sẽ đƣợc
công bố công khai, khóa bí mật sẽ đƣợc giữ kín.
Khi bên A cần truyền thông tin bí mật cho bên B, bên A sẽ sử dụng khóa công
khai của bên B để mã hóa. Do chỉ B mới có khóa bí mật trong cặp khóa, nên chỉ duy
nhất B mới có thể giải mã đƣợc thông tin bên A gửi, đó gọi là chức năng mã hóa
(Hình 1.12a). Khi bên B muốn xác nhận 1 thông điệp gửi cho bên A là chính xác do
25
B gửi, B sẽ dùng khóa bí mật của mình để mã hóa thông điệp truyền và gửi đính
kèm thông điệp truyền. Bên A nhận đƣợc sẽ dùng khóa công khai của B để giải mã
bản mã bên B gửi đính kèm, nếu kết quả giải mã trùng với thông tin bên B gửi thì
bên A có thể chắc chắc thông tin đó chính xác là do bên B gửi, đây là chức năng
“ký” của mã hóa khóa công khai (Hình 1.12b).
Comment [u5]: William Stalling (2005)
Theo William Stalling, mã hóa khóa công khai có 3 chức năng chính [27]: “Cryptography and Network Security”, pp 266-267
Mã hóa và giải mã
Chứ ký điện tử
Trao đổi khóa
Cơ sở lý thuyết của mã hóa khóa công khai là dựa trên hàm 1 chiều trong các
phép tính toán học, theo đó phép tính theo chiều xuôi rất dễ, nhƣng phép tính theo
chiều ngƣợc lại là rất khó, Ví dụ nhƣ trong phép nhân 2 số nguyên tố rất lớn, chiều
xuôi là phép nhân đƣợc tính toán rất đơn giản, nhƣng chiều ngƣợc, tức là phần tích
1 số nguyên rất lớn thành tích của các thừa số nguyên tố lại là bài toán rất khó, các
phƣơng tiện máy tính hiện đại nhất và các phƣơng pháp phá mã, thám mã đến nay
vẫn chƣa thể giải quyết đƣợc.
tính đƣợc khóa chia chung Kb yax mod p . Khóa Ka và Kb là 2 khóa chia
b
sẻ giữa Alice và Bob, đƣợc tính toán độc lập với nhau và bằng nhau.
Thật vậy
27
Chọn ra số nguyên e nguyên tố cùng nhau với (n) , tức gcd(e, (n) ) = 1.
(gcd – là hàm tính ƣớc chung lớn nhất của 2 số nguyên)
Tìm ra số nguyên d thỏa mãn e.d 1(mod (n))
Công bố khóa công khai là PU = (n,e), Giữ lại khóa bí mật là PR = (n,d)
Mã hóa thông điệp m (m là dạng số hóa): c me mod n
Giải mã bản mã c : m cd mod n
Ví dụ:
Alice chọn ra 2 số nguyên tố p=7 và q= 13, từ đó tính ra n = 7x13=91. Suy ra
hàm Eule (n) (7 1) (13 1) 72 . Áp dụng thuật toán Euclid mở rộng ta tính ra
đƣợc e.d 5 29 1(mod 72)
Alice hủy số p=7,q=13, (n) =72. Công bố khóa công khai PU=(91,5), và lƣu
lại khóa bí mật PR=(91,29)
Giả sử Bob muốn mã hóa thông điệp m=7, Bob sẽ sử dụng khóa công khai của
Alice để mã hóa:
1.2.3. So sánh giữa mật mã khóa đối xứng và mật mã khóa công khai
Cả 2 hệ mật mã khóa đối xứng và mật mã khóa công khai đều có những ƣu
điểm và nhƣợc điểm riêng. Mật mã khóa đối xứng có những ƣu điểm so với mã hóa
khóa công khai :
Tốc độ mã hóa nhanh và không đòi hỏi năng lực tính toán lớn
Với cùng 1 độ an toàn, khóa của mật mã khóa đối xứng nhỏ hơn so với
khóa của mật mã khóa công khai
Ngƣợc lại, mật mã khóa công khai cũng có những ƣu điểm so với mã hóa khóa
đối xứng:
Mật mã khóa đối xứng yêu cầu 2 bên phải giữ bí mật khóa chia sẻ, mật
mã khóa công khai thì mỗi bên có khóa bí mật của riêng mình, còn khóa
công khai sẽ đƣợc công khai.
Mật mã khóa đối xứng gặp khó khăn trong việc phân phối khóa và quản
lý khóa. Việc phân phối khóa của khóa đối xứng là đặc biệt quan trọng,
thƣờng sẽ phải bằng phƣơng pháp vật lý để không bị nghe lén, đọc trộm.
Mặt khác mật mã khóa đối xứng thƣờng xuyên phải thay đổi khóa để
đảm bảo tính an toàn. Với mật mã khóa công khai, việc trao đổi khóa là
rất dễ dàng, bởi khóa của mỗi bên đƣợc công bố công khai.
Mã hóa khóa đối xứng không có chức năng ký, do vậy không thể thực
hiện các dịch vụ xác thực và chống chối bỏ. Mật mã khóa công khai cung
cấp đầy đủ các dịch vụ xác thực và chống chối bỏ.
Thực thể A sau khi ký thông điệp m tính đƣợc giá trị s, A sẽ gửi cho đối tác là
B thông điệp m và chữ ký s, ký hiệu là (m | s) . Khi B nhận đƣợc thông điệp m và
chữ ký s A gửi, B sẽ sử dụng khóa công khai của A là PUA=(n,e) để giải mã chữ ký
s, tức B sẽ tính giá trị của se mod n . Sau đó A sẽ so sánh giá trị giải mã tính đƣợc
với giá trị băm của hàm băm H(m), nếu H(m) = se mod n thì chữ ký của A là hợp lệ,
và B có thể chắc chắn A đã ký vào thông điệp m.
thông tin khác. Thực thể cần xác thực ở đây có thể là ngƣời sử dụng cuối, thiết bị di
động, máy tính, ứng dụng, một dịch vụ, hoặc một hệ thống.
Quá trình xác thực bao gồm 2 bên: Bên cần xác thực (claimant) và bên xác
thực (verifier). Bên cần xác thực sẽ khai báo định danh và các thông tin để bên xác
thực có thể xác thực lại định danh đó. Khái niệm “xác thực” ( authentication) là một
khái niệm đặc biệt, nó có ý nghĩa khác hẳn với khái niệm “định danh”
(identification) – Là việc xác định danh tính của thực thể đang giao tiếp – Khái
niệm xác thực cũng khác với khái niệm “quyền truy cập” ( authorization) - là việc
xác định quyền truy cập dữ liệu và tài nguyên của một thực thể đã đƣợc “xác thực”
(authentication)
Ta cần phân biệt 2 khái niệm xác thực, là xác thực thực thể (entity
authentication) và xác thực thông điệp (message authentication). Xác thực thực thể
là quá trình xác thực danh tính của một thực thể, xem liệu thực thể đang đƣợc xác
thực có đúng với danh tính của nó, ví dụ là xác thực ngƣời dùng đăng nhập vào hệ
thống, và đó là một quá trình thời gian thực. Ngƣợc lại xác thực thông điệp là một
quá trình không là quá trình thời gian thực, nó đảm bảo việc thông điệp đƣợc xác
thực không bị thay đổi và thông điệp đó đƣợc gửi bởi một thực thể đã xác định danh
tính.
Trong xã hội thông tin ngày nay, việc xác thực thông báo trở thành một vấn đề
quan trọng trên nhiều lĩnh vực, đặc biệt là lĩnh vực kinh doanh và lĩnh vực quân sự.
Đã có rất nhiều phƣơng pháp, nhiều công nghệ đƣợc phát minh cung cấp nhiều kỹ
thuật, nhiều dịch vụ xác thực an toàn và tiện lợi. Tuy nhiên, có thể phân loại kỹ
thuật xác thực thành 3 nhóm:
Xác thực dựa trên mã hóa thông điệp: Là kỹ thuật sử dụng phƣơng pháp
mã hóa để mã hóa toàn bộ thông điệp, sau đó làm căn cứ để xác thực.
Xác thực mật mã kiểm tra : Sử dụng 1 hàm tổng kiểm tra công khai, với
1 khóa bí mật sẽ đƣợc mã hóa thành 1 xâu giá trị có độ dài cố định, làm
căn cứ xác thực.
Xác thực dựa trên hàm băm: Sử dụng các hàm băm một chiều, mã hóa
thông điệp có độ dài bất kỳ thành xâu có độ dài cố định, làm căn cứ xác
thực.
Nhƣ đã nêu ở trên, xác thực thực thể là một quá trình thời gian thực, các giao
thức xác thực thực thể (entity authentication protocol) phải đảm bảo đƣợc những
tiêu chí sau:
35
phƣơng pháp nghe lén đƣờng truyền, nếu mật khẩu không đƣợc mã hóa trên đƣờng
truyền, kẻ tấn công có thể dễ dàng lấy đƣợc mật khẩu của ngƣời sử dụng. Nếu mật
khẩu đã đƣợc mã hóa trên đƣờng truyền, kẻ tấn công có phƣơng pháp khác là sử
dụng tấn công bằng từ điển (Dictionary attack – Là cách tấn công sử dụng 1 từ điển
các mật khẩu thƣờng đƣợc sử dụng – Hoặc sử dụng phƣơng pháp tấn công ngày
sinh (Birthday attack) [31] để tìm ra điểm xung đột của thuật toán băm. Comment [u9]: William Stalling (2005)
“Cryptography and Network Security”, Prentice Hall
Publisher, pp 338
Tuy nhiên, có một kỹ thuật để cải tiến nâng cao độ an toàn trong hệ thống xác
thực dựa trên mật khẩu, đó là sử dụng mật khẩu một lần (One time password).
Nguyên lý của hệ mật khẩu một lần là mỗi mật khẩu đƣợc chỉ có hiệu lực 1 lần,
trong một khoảng thời gian nhất định. Mật khẩu một lần đảm bảo việc cho dù kẻ tấn
công có lấy đƣợc mật khẩu trên đƣờng truyền, thì kẻ đó cũng không sử dụng lại mật
khẩu đó. Mật khẩu một lần đƣợc hệ thống sinh ra theo một thuật toán ngẫu nhiên,
hoặc giả ngẫu nhiên, có kích thƣớc cố định và đƣợc thông báo lại cho ngƣời sử
dụng bằng một kênh truyền thông nào đó nhƣ qua tin nhắn di động, qua internet,
hoặc qua các thiết bị chuyên dụng. , ví dụ nhƣ thiết bị Secure ID của hãng bảo mật
RSA, hay OTP token của hãng VeriSign.
những kiến thức của anh ta về một thông tin bí mật, có liên quan tới anh ta và chỉ
anh ta mới có thể tạo ra câu trả lời chính xác mà không cần tiết lộ thông tin bí mật
đó cho bên xác thực. Ta gọi chung các giao thức xác thực đó là giao thức hỏi trả lời
(challenge-Response Protocol )
Các giao thức xác thực thƣờng đƣợc xây dựng trên hệ mã hóa chia sẻ khóa,
hoặc hệ mã hóa khóa công khai, hoặc các kỹ thuật zero-knowledge – là kỹ thuật
đƣợc sử dụng để chứng minh danh tính dựa trên thông tin bí mật của chủ thể mà
không cần tiết lộ bí mật đó của chủ thể - Giao thức xác thực thƣờng sử dụng các
tham số thời gian, hoặc kỹ thuật đánh số thông điệp để nhận biết thông điệp nào là
thông điệp mới, thông điệp nào là thông điệp đã đƣợc gửi rồi, để tránh tấn công lặp
lại, kỹ thuật này đƣợc gọi là kỹ thuật đóng dấu thời gian. Kỹ thuật đóng dấu thời
gian đƣợc thực hiện nhƣ sau: Khi 1 thông điệp đƣợc gửi từ bên gửi, bên gửi sẽ chèn
1 con dấu thời gian (timestamp) đi kèm thông điệp và nó đƣợc mã hóa cùng thông
điệp. Khi bên nhận nhận đƣợc thông điệp, bên nhận sẽ giải mã thông điệp và sẽ thu
đƣợc con dấu thời gian đó, bên nhận sẽ tính toán độ lệch thời gian so thời điểm
nhận, tính theo đồng hồ của máy nhận. Nếu độ lệch thời gian nằm trong một giới
hạn cho phép thì thông điệp đó là hợp lệ qua bƣớc kiểm chứng con dấu thời gian.
Khi thực thi phƣơng pháp này, cần chú ý tính đồng bộ của đồng hồ bên gửi và đồng
hồ bên nhận.
Các hệ xác thực mạnh đƣợc xây dựng theo 3 loại sau: Giao thức xác thực trên
hệ mật mã , giao thức xác thực lời dựa trên các kỹ thuật zero-knowledge, và xác
thực dựa trên thiết bị hỗ trợ
1.4.2.1. Giao thức xác thực dựa trên hệ mật mã
Là các giao thức sử dụng các hệ mã hóa để bảo mật và xác thực, có hai hệ mã
hóa tƣơng ứng với 2 hệ giao thức xác thực đó là: Giao thức xác thực dựa trên mật
mã đối xứng (Hay mật mã khóa chung), và giao thức xác thực dựa trên mật mã khóa
công khai.
a. Giao thức xác thực dựa trên mật mã khóa đối xứng
Với giao thức xác thực sử dụng mật mã khóa đối xứng, các bƣớc đƣợc thực
hiện có thể đƣợc mô tả nhƣ sau: Xét một phiên xác thực giữa ngƣời dùng A và hệ
thống B sử dụng giao thức xác thực mật mã khóa đối xứng, do sử dụng mật mã
khóa đối xứng, nên A và B cùng thống nhất sử dụng khóa chung k và hệ mã hóa Ek.
Để bắt đầu phiên, bên A sẽ gửi yêu cầu xác thực sang bên B
Bên B sẽ sinh ra 1 số ngẫu nhiên r, sau đó dùng hàm mã hóa với khóa
chung chia sẻ để mã hóa số r kèm theo một thông điệp tùy chọn m để
38
phục vụ cho việc định danh hoặc chống tấn công lặp lại, tức B sẽ gửi lại
cho A thông điệp Ek(r || m) (Ký hiệu || là ký hiệu nối giữa các thông điệp
nhỏ trong 1 thông điệp tổng)
Bên A nhận đƣợc thông điệp Ek(r || m) từ bên B gửi, do A và B cùng chia
sẻ 1 khóa chung k, nên chỉ có A mới có thể giải mã thông điệp B gửi để
nhận đƣợc số ngẫu nhiên r và thông điệp tùy chọn m. Sau đó bên A sẽ
gửi lại cho bên B một thông điệp có chứa số ngẫu nhiên r kèm 1 thông
điệp tùy chọn m’ đƣợc mã hóa bởi hàm mã tức thông điệp Ek(r || m’)
Bên B nhận lại thông điệp bên A gửi, bên B sẽ giải mã thông điệp và
nhận lại số ngẫu nhiên r, B sẽ so sánh số r nhận đƣợc với số r trƣớc đó B
đã gửi cho A. Nếu trùng nhau thì A đƣợc xác thực và ngƣợc lại.
Trong trƣờng hợp A cũng cần xác thực lại B, ở bƣớc yêu cầu xác thực A sẽ
gửi định danh của A (IDA) cho B, B sẽ gửi kèm lại số ngẫu nhiên r và IDA trong
đƣợc mã hóa bởi Ek. Ta có thể tóm tắt lại quá trình xác thực nhƣ sau:
(1) A → B : IDA
(2) B → A : Ek( IDA || r || m)
(3) A → B : Ek(r || m’)
Chú ý thông điệp m và m’ là các thông điệp tùy chọn đƣợc B và A sinh ra
nhằm phục vụ các mục đích khác nhƣ chống tấn công lặp lại.
b. Giao thức xác thực dựa trên mật mã công khai
Giao thức xác thực dựa trên mật mã công khai cũng tƣơng tự nhƣ giao thức
dựa trên mật khẩu khóa đối xứng, chỉ khác ở điểm là hệ mật mã sử dụng là mật mã
công khai. Nguyên lý chung của giao thức vẫn là bên B sẽ gửi cho bên A một số
ngẫu nhiên r, nhƣng thay vì sử dụng mật mã khóa đối xứng, B sẽ mã hóa số r và
thông điệp tùy chọn m bằng khóa công khai của A, và gửi cho A. A nhận đƣợc sẽ
giải mã bằng khóa bí mật, rồi gửi lại cho B số r và thông điệp m’, sử dụng khóa
công khai của B. B sẽ dùng khóa bí mật của B để lấy ra số r, so sánh với số ngẫu
nhiên B đã gửi cho A, nếu trùng thì A đƣợc xác thực và ngƣợc lại.
Nếu A và B cần xác thực nhau, ta áp dụng kỹ thuật tƣơng tự với trƣờng hợp
xác thực khóa đối xứng, ta có quá trình xác thực nhƣ sau:
(1) A → B : IDA
(2) B → A : E(PUA, IDA || r || m)
39
Quá trình trên đƣợc lặp lại t lần (t n) , khi t lần trao đổi kết thúc, ta
nhận thấy có 3t thông điệp đƣợc trao đổi, Alice chọn t số ngẫu nhiên
ri i 1 , tính đƣợc t giá trị xi i1 và xác định đƣợc t số yi i1 . Trong khi
t t t
và t số yi i 1 từ Alice. Với:
t
xi ri2 mod n
yi ri sbi mod n
Bƣớc 3: Xác thực
Bob sẽ xác thực Alice nếu : yi2 xi cb mod n với i t , và yi khác 0.
Thật vậy ta có:
bi 2
xi cb mod n ri2 mod n s 2 mod n mod n ri sbi mod n yi2
Ở các phần trƣớc, luận văn đã trình bay các khái niệm cơ bản về mật mã học,
các dịch vụ an ninh và các mô hình xác thực trong truyền thông vô tuyến. Trong
chƣơng này, học viên xin trình bày cụ thể các vấn đề an ninh và các phƣơng pháp
xác thực đã đƣợc áp dụng trong các mạng vô tuyến thế hệ sau, đó là các mạng GSM
2G, mạng 3G, mạng WLAN. Tƣơng ứng với mỗi mạng, học viên sẽ nêu ra các nguy
cơ tiềm ẩn của hệ thống đối với vấn đề xác thực trong mạng.
Các thành phần chính trong hạ tầng mạng GSM đƣợc mô tả trong hình 2.1, Comment [u11]: Noureddine Boudriga (2009),
“Security of mobile communications”, Auerbach
bao gồm [14]: Publications, pp 166-169
44
Trạm di động (MS - Mobile station): Trạm di động đƣợc mang theo bởi các
thuê bao sử dụng, nó bao gồm 1 chiếc thiết bị di động - thƣờng là chiếc điện
thoại di động - và một thành phần định danh thuê bao đó còn đƣợc gọi là SIM
(Subcriber indentity Module). SIM thƣờng đƣợc tích hợp vào 1 khe cắm của
chiếc điện thoại, cho phép ngƣời sử dụng có thể thực hiện cuộc gọi, gửi nhận
tin nhắn và các dịch vụ dữ liệu khác đƣợc cung cấp bởi các nhà cung cấp dịch
vụ viễn thông. Trong thẻ SIM thƣờng chứa những thông tin về thuê bao di
động đó, gồm :
Mã số định danh quốc tế cho thuê bao (IMSI – International Mobile
Subcriber Identity ): Là mã số định danh duy nhất cho thuê bao di động
trên toàn thế giới để định danh khi sử dụng các dịch vụ của mạng GSM.
Thuật toán mã hóa A3, A8 và khóa xác thực bí mật, đƣợc sử dụng để mã
hóa cuộc gọi, tin nhắn, cũng nhƣ xác thực thuê bao.
Các dữ liệu tạm thời
Thông tin xác thực chủ sở hữu thẻ SIM (CHVI – Card Holder
Verification Information ) : Là thông tin để xác thực tính chất sở hữu của
ngƣời sử dụng với thẻ SIM, thƣờng đó là mã PIN của thẻ SIM
Hệ thống trạm gốc ( BSS- Base Station Subsystem): BSS cung cấp các kết nối
truyền thông giữa các trạm di động với hệ thống mạng thông qua sóng vô
tuyến. BSS bao gồm 2 thành phần chính là các trạm thu phát gốc (BTS - Base
Tranceivers Station) và trạm điều khiển gốc (BSC – Base Station Controller ).
Các trạm BTS thiết lập các kênh truyền thông vô tuyến với các trạm di động
thông qua các trạm thu phát đƣợc tổ chức dƣới dạng các ô tổ ong. Trong khi
đó trạm BSC sẽ quản lý các kết nối truyền thông, và thực hiện các thao tác
điều khiển các trạm BTS.
Trung tâm chuyển mạch di động (MSC – Mobile Switching Center): Đây là
thành phần chính của hệ thống quản lý mạng GSM, MSC có nhiệm vụ điều
khiển số lƣợng lớn các BSC và hoạt động nhƣ một nút chuyển đổi. Ngoài ra
nó còn cung cấp tất cả các chức năng quản lý đối với thiết bị đầu cuối nhƣ
đăng ký, xác thực, định vị, bàn giao (handover), và định tuyến cuộc gọi.
Trung tâm khai thác và bảo dƣỡng (OMC – Operation and Maintenance
Center) : OMC đƣợc kết nối với tất cả các thiết bị trong hệ thống chuyển mạch
45
và với các BSC. Mục đích của OMC là cung cấp các dịch vụ hỗ trợ khách
hàng hiệu quả việc vận hành và các hoạt động bảo trì của mạng GSM.
Bộ ghi địa chỉ thƣờng trú (HLR – Home Location Register) : Là một cơ sở dữ
liệu lƣu trữ một số thông tin quản lý của tất cả các thuê bao hoạt động trong
mạng GSM, mỗi một thuê bao sẽ tƣơng ứng với duy nhất 1 địa chỉ thƣờng trú.
Thông tin quan trọng nhất đƣợc lƣu trong HLR là khóa chia sẻ xác thực với
thuê bao và mã IMSI của thuê bao. Ngoài ra ra HLR đóng vai trò quan trọng
trong việc chuyển cuộc gọi của thuê bao sang một mạng bên ngoài.
Bộ ghi địa chỉ tạm trú (VLR – Visitor Location Register) : VLR là cơ sở dữ
liệu thứ hai trong mạng GSM, đƣợc nối với một hay nhiều MSC, có nhiệm vụ
lƣu trữ tạm thời số liệu thuê bao của các thuê bao nằm trong vùng phục vụ của
MSC, đồng thời lƣu trữ thông tin về vị trí của thuê bao để cập nhật cho MSC
một cách nhanh và chính xác hơn HLR
Trung tâm chứng thực (AuC – Authentication Center): AuC là một thành phần
quan trọng của HLR, lƣu trữ những thông tin chứng thực của các thuê bao.
Ngoài ra, AuC có nhiệm vụ sinh ra các khóa phiên phục vụ để mã hóa cho mỗi
cuộc gọi của thuê bao.
Bộ ghi định danh thiết bị (EIR – Equipment Identity Register): Việc đánh cắp
thiết bị hoặc đánh cắp thẻ SIM đề có thể sử dụng trái phép tài khoản của chủ
thuê bao là việc khá phổ biến và thƣờng xảy ra trong cuộc sống. Để ngăn chặn
điều này, mạng GSM sử dụng một bộ ghi định danh các thiết bị, thực chất là
một cơ sở dữ liệu định danh các thiết bị đƣợc phân loại bởi các chính sách
khác nhau. Thƣờng có 3 danh sách, đó là danh sách trắng, danh sách đen và
danh sách xám. Danh sách trắng lƣu các định danh thiết bị hợp lệ đƣợc phép
hoạt động, danh sách đen lƣu các định danh thiết bị không hợp lệ nên không
đƣợc phép hoạt động, và danh sách xám lƣu các định danh thiết bị cần đƣợc
theo dõi.
Các yêu cầu về mặt an ninh cho mạng GSM đƣợc phần ra làm 2 loại chính:
Yêu cầu về đảm bảo an ninh thông tin cá nhân của thuê bao và yêu cầu về an ninh
thông tin truyền trong mạng.
Comment [u12]: Noureddine Boudriga (2009),
Các yêu cầu về an ninh trong mạng GSM có thể đƣợc liệt kê nhƣ sau [15]: “Security of mobile communications”, Auerbach
Publications, pp 175-179
Bảo mật thông tin cuộc gọi và thông tin truyền thông: Khi thuê bao thiết
lập một cuộc gọi, thiết bị di động sẽ truyền thông tin thiết lập cuộc gọi
cho tổng đài, nhƣ số gọi đến, loại dịch vụ và các thông tin quan trọng
khác. Các thông tin này phải đƣợc đảm bảo chống đƣợc kiểu tấn công
nghe lén. Hơn thế nữa, mọi thông tin truyền thông (Bao gồm dữ liệu âm
thanh của cuộc gọi, hay dữ liệu truyền ) cũng phải đƣợc mã hóa để
những thông tin đó không bị nghe lén bởi ngƣời không có trách nhiệm.
Bảo mật thông tin vị trí, và tính toàn vẹn dữ liệu truyền: Khi thiết lập
một cuộc gọi, thông tin về vị trí của thuê bao sẽ đƣợc lƣu trữ tạm trong
bộ ghi địa chỉ tạm trú. Thông tin này cũng rất quan trong và cần đƣợc
bảo mật để đảm bảo hacker không truy cập và tìm ra đƣợc ví trí thuê bao.
Đồng thời phải có cơ chế để bên nhận có thể kiểm tra đƣợc tính toàn vẹn
của dữ liệu nhận đƣợc (Thƣờng là các dữ liệu văn bản – chữ).
Chống nhân bản trái phép: Hành động nhân bản trái phép là việc 1 ngƣời
sử dụng nhân bản thông tin của thuê bao đƣợc lƣu trong thẻ SIM và nhân
bản nó sang một thẻ SIM khác để sử dụng dịch vụ với mục đích xấu.
Mạng GSM phải có cơ chế phòng vệ trƣớc hành động trái phép này.
Mạng GSM sử dụng an ninh dựa trên mật khẩu khóa đối xứng, cụ thể là giữa
ngƣời sử dụng và mạng GSM có chia sẻ một khóa dùng chung Ku. Khóa chia sẻ này
có chiều dài 128 bit đƣợc lƣu trong thẻ SIM của ngƣời dùng và ngƣời sử dụng
không thể truy cập trực tiếp đƣợc.
Hình 2.2 mô tả mô hình an ninh của mạng GSM. Theo mô tả, khi thuê bao di
động kết nối tới mạng, hệ thống sẽ sinh ra một số ngẫu nhiên RAND và gửi lại cho
thuê bao. Sau khi nhận đƣợc số ngẫu nhiên RAND, thẻ SIM sẽ sử dụng khóa chia sẻ
Ku lƣu trong SIM để tạo ra mã xác thực SRES và khóa phiên Ks. Mã xác thực SRES
sẽ đƣợc gửi lại cho hệ thống mạng, ở trên hệ thống, do cũng có khóa chia sẻ Ku và
số ngẫu nhiên RAND, hệ thống sẽ tính ra mã xác thực SRES và khóa phiên Kc một
cách độc lập với thuê bao ở dƣới. Thuê bao sẽ đƣợc xác thực nếu 2 mã SRES trùng
nhau, và khóa phiên chia sẻ Kc sẽ đƣợc sử dụng để mã hóa dữ liệu truyền thông
trong phiên làm việc đó.
47
Giao thức xác thực giữa mạng GSM và thuê bao đƣợc thực hiện theo minh họa
ở hình 2.3 gồm các buớc sau:
Thiết bị di động MS yêu cầu kết nối tới mạng
MSC nhận đƣợc yêu cầu kết nối thông qua trạm BTS nó quản lý, MSC
sẽ gửi yêu cầu xác thực tới HLR
Thành phần xác thực AuC của HLR sẽ sinh ra số ngẫu nhiên RAND,
đồng thời tính ra mã xác thực SRES, khóa phiên Kc và gửi lại cho MSC
MSC gửi lại cho MS số ngẫu nhiên RAND
MS dựa vào khóa chia sẻ Ku trong thẻ SIM để tính ra mã xác thực SRES
và khóa phiên Kc. Sau đó MS sẽ gửi cho MSC mã xác thực SRES.
MSC nhận đƣợc mã xác thực SRES do MS gửi lên sẽ so sanh với mã
SRES trƣớc dấy HLR gửi. Nếu 2 mã trùng nhau, thì thuê bao đƣợc xác
thực và ngƣợc lại.
Nếu có một địch thủ nghe lén đƣợc đƣờng truyền, anh ta có thể xây dựng đƣợc
bộ từ điển (RAND, SRES) chứa các ánh xạ tƣơng ứng giữa RAND và SRES, các
giá trị này đƣợc thu lại từ các phiên xác thực trƣớc đó của thuê bao và mạng GSM.
Tuy nhiên, ngay cả khi bộ tử điển này của địch thủ đủ lớn thì địch thủ cũng rất khó
để có thể giả mạo và qua mặt đƣợc AuC. Bởi vì 2 nguyên nhân, thứ nhất là do
không gian số RAND là rất lớn (Có 2128 số RAND), do vậy địch thủ sẽ có rất ít cơ
hội để AuC gửi lại số ngẫu nhiên RAND trƣớc đó đã đƣợc sử dụng và nằm trong từ
49
điển của địch thủ. Thứ hai là AuC thực hiện việc xác thực liên tục đối với các thuê
bao sử dụng dịch vụ, do vậy địch thủ có thể may mắn vƣợt qua lần xác thực thứ
nhất, nhƣng xác xuất để vƣợt qua lần xác thức thứ hai, thứ ba một cách liên tiếp là
nhỏ. Ngay cả khi địch thủ vƣợt qua đƣợc bƣớc xác thực của AuC, nếu không có
khóa phiên Ks thì địch thủ cũng không thể giao tiếp đƣợc với mạng GSM, bởi sau
khi xác thực đƣợc với thuê bao, mạng GSM sẽ giao tiếp với thuê bao qua kênh
truyền đƣợc mã hóa bởi khóa phiên Ks. Nhƣng khóa Ks chỉ đƣợc tính độc lập từ trên
thẻ SIM và trên AuC dựa vào số ngẫu nhiên RAND và khóa chia sẻ Ku thông qua
thuật toán A8.
Do có sự đa dạng trong các chuẩn công nghệ 3G, nên trong phần này ngoài
những đặc điểm chung, học viên xin xét cụ thể mô hình UMTS để nghiên cứu giải
pháp bảo mật trong mạng 3G.
Hệ thống UMTS đƣợc Châu Âu nghiên cứu và phát triển nhƣ là một giải pháp
áp dụng 3G của Châu Âu với mong muốn kế thừa và phát triển từ hệ thống GSM.
Mạng 3G sử dụng kết hợp 2 phƣơng thức chuyển mạch là: Chuyển mạch theo kênh
(CS – Circuit Switched), và chuyển mạch theo gói (PS – Package Switched). Miền
chuyển mạch theo kênh đƣợc sử dụng trong các dịch vụ thoại, theo đó khi thực hiện
thiết lập đƣợc cuộc gọi, kênh thoại đó đƣợc giữ và nó chỉ đƣợc giải phóng khi cuộc
gọi đó kết thúc. Miền chuyển mạch theo gói đƣợc dùng trong các dịch vụ truyền dữ
liệu, theo đó dữ liệu sẽ đƣợc truyền trong các gói tin và đƣợc định tuyến trong
mạng. Việc truyền dữ liệu theo gói giúp tăng tốc độ truyền dữ liệu, đảm bảo tận
dụng đƣợc kênh truyền tốt hơn, do đó đã khắc phục đƣợc những nhƣợc điểm của
mạng GSM 2G.
Kiến trúc của mạng UMTS đƣơc thể hiện ở hình 2.4. Mạng UMTS gồm các
thành phần chính sau [16]: Comment [u13]: Noureddine Boudriga (2009),
“Security of mobile communications”, Auerbach
Publications, pp 208-212
51
Trạm di động (Mobile Station) : Tƣơng tự nhƣ mạng GSM, trạm di động trong
mạng 3G là thiết bị di động (Điện thoại di động hoặc máy tính xách tay) và thẻ
USIM (Universal Subcriber Identity Mobile) – Là thiết bị tƣơng đƣơng với thẻ
SIM của mạng GSM nhƣng đƣợc thiết kế đặc biệt theo chuẩn 3GPP sử dụng
trong mạng 3G.
Mạng truy cập vô tuyến (UTRAN – UMTS Terrestrial Radio Access
Network): UTRAN là thành phần quản lý các tài nguyên vô tuyến và các giao
tiếp với các trạm di động trong miền quản lý. UTRAN đóng vai trò tƣơng tự
nhƣ các trạm thu phát BTS trong mạng GSM. UTRAN gồm 2 thành phần:
Node B : Chức năng chính của Node B là xử lý ở tầng vật lý cho việc thu
phát tín hiệu giao tiếp với MS bao gồm việc mã hóa kênh, trải phổ, điều
chế … Ngoài ra Node B còn có một số chức năng nhƣ kiểm soát chất
lƣợng tín hiệu vô tuyến, báo cáo tỷ lệ lỗi dữ liệu, hay điều khiển công
suất thu phát giúp MS có thể tiết kiệm điện năng.
Bộ điều kiển truy cập vô tuyên (RNC – Radio Network Controller) :
RNC quản lý một hay nhiều Node B, thông qua Node B RNC quản lý
đƣợc các tài nguyên vô tuyến, điều khiển truy cập, điều khiển kênh, điều
khiển dịch chuyển của các MS từ tế bào này sang tế bào khác (handoff
control), điều khiển công suất và mã hóa kênh truyền. RNC đƣợc kết nối
với mạng lõi (Core Network) thông qua 2 giao diện là IuPS và IuCS
tƣơng ứng với miền chuyển mạch theo gói và miền chuyển mạch theo
kênh.
Mạng lõi (CN – Core Network): Mạng lõi có nhiệm vụ chuyển dữ liệu của
ngƣời dùng đến đích, mạng lõi bao gồm các thiết bị chuyển mạch và các cổng
kết nối ra ngoài (Nhƣ kết nối sang mạng khác, hoặc kết nối ra mạng Internet).
Ngoài ra trong mạng lõi còn có các thành phần quản lý thông tin thuê bao nhƣ
bộ ghi địa chỉ thƣờng trú (HLR) và bộ ghi địa chỉ tạm trú (VLR).
Các thành phần trong miền chuyển mạch gói của UMTS đƣợc phát triển nâng
cấp từ hệ thống mạng GPRS. Các thành phần đó bao gồm:
Nút hỗ trợ chuyển mạch gói phục vụ (SGSN – Serving GPRS Support
Node): Là thành phần quản lý chuyển mạch các gói tin dữ liệu của ngƣời
dùng. SGSN có nhiệm vụ định tuyến các gói tin dữ liệu từ mạng truy cập
vô tuyển tới các mạng khác thông qua các cổng kết nối GPRS. Đồng thời
52
SGSN cũng ghi lại lƣu lƣợng sử dụng dữ liệu của ngƣời sử dụng để phục
vụ cho việc tính toán cƣớc phí sử dụng cho thuê bao. SGSN trợ giúp
trong việc điều kiển truy cập tài nguyên mạng, phòng tránh các truy cập
trái phép và trong một số dịch vụ đặc biệt khác. SGSN đƣợc nối với
RNC của UTRAN qua cổng IuPS.
Cổng hỗ trợ chuyển mạch gói (Gateway GPRS Support Node): GGSN là
cổng kết nối giữa mạng vô tuyến di động và mạng chuyển mạch gói.
Kiến trúc an ninh của mạng UMTS (Hình 2.5) đƣợc xây dựng dựa trên tập các
đặc điểm an ninh và các cơ chế bảo vệ đối với mạng UMTS. Các nhà thiết kế đã
xây dựng mạng UMTS với 5 lớp an ninh, mỗi lớp an ninh đƣợc thiết kế để đáp ứng
những mục tiêu phòng vệ cụ thể, 5 lớp an ninh bao gồm:
Lớp an ninh truy cập mạng (Lớp 1): Cung cấp cơ chế truy cập an toàn
các dịch vụ 3G và phòng chống đƣợc các hình thức tấn công qua kênh vô
tuyến.
Lớp an ninh miền mạng (Lớp 2) : Cung cấp cơ chế bảo mật dữ liệu
truyền giữa các nút mạng của cùng 1 nhà cung cấp dịch vụ, đồng thời
đảm bảo an ninh chống lại các loại tấn công trên mạng hữu tuyến của hệ
thống UMTS.
53
Lớp an ninh miền ngƣời sử dụng (Lớp 3): Cung cấp cơ chế an ninh cho
ngƣời sử dụng trong việc truy cập mạng 3G và các dịch vụ từ MS
Lớp an ninh miền ứng dụng (Lớp 4): Cung cấp cơ chế bảo mật trong việc
trao đổi dữ liệu giữa các thuê bao.
Lớp cấu hình an ninh (Lớp 5): Cung cấp cơ chế cho ngƣời sử dụng có thể
biết đƣợc những cấu hình an ninh và thiết lập đƣợc những cấu hình an
ninh của mạng hay của dịch vụ mạng hỗ trợ.
Mỗi lớp an ninh khác nhau của UMTS có cách giải pháp khác nhau để đáp
ứng đƣợc những yêu cầu an ninh đặt ra của lớp đó. Trong phạm vi chủ đề của luận
văn, học viên xin đƣợc tập trung nghiên cứu và nêu lên giải pháp xác thực giữa MS
và mạng UMTS cho lớp an ninh mạng truy cập (Lớp 1).
MS VLR/SGSN AuC
1. Gửi yêu cầu kết nối
2. Y/c sinh vector xác thực
Sinh vector
xác thực AVs
Giao thức xác thực và trao đổi khóa trong mạng UMTS (UMTS AKA –
UMTS – Authentication and Key Agreement) đƣợc minh họa ở hình 2.6 gồm các
bƣớc sau:
MS trƣớc khi truy cập mạng hoặc sử dụng các dịch vụ của mạng sẽ gửi yêu
cầu kết nối.
Tùy thuộc miền sử dụng thuộc loại nào (miền chuyển mạch theo kênh, hay
chuyển mạch theo gói) mà thành phần VRL hoặc SGSN gửi yêu cầu AuC sinh
ra các vector xác thực cho thuê bao.
AuC căn cứ vào khóa chia sẻ và biến đếm ứng với thuê bao đó sẽ sinh ra các
vector xác thực AVs= {AV1, AV2, … AVn} và gửi lại cho VLR/SGSN. Mỗi
vector xác thực gồm các thành phần sau:
RAND: Là 1 số ngẫu nhiên có độ dài 16 byte, đƣợc AuC sinh ra dựa vào
thuật toán giả ngẫu nhiên.
55
XRES: Là trƣờng có độ dài từ 4 byte đến 16 byte, chứa mã xác thực cần
so sánh với mã xác thực USIM gửi lên.
CK : Có chiều dài 16 byte, dùng là khóa để mã hóa.
CI : Là trƣờng có chiều dài 16 byte, sử dụng là khóa để bảo vệ tính toàn
vẹn dữ liệu truyền.
AUTN : Là trƣờng 16 byte, chứa mã xác thực giúp MS có thể xác thực
ngƣợc lại tổng đài UMTS.
Ta có thể viết AV = RAND || XRES || CK || CI || AUTN
VLR/SGSN nhận đƣợc các vector xác thực VAs sẽ chọn ngẫu nhiên 1 vector
xác thực VAi, VLR/SGSN sẽ lấy ra số RAND và AUTN gửi lại cho MS.
MS nhận đƣợc thông điệp M= RAND || AUTN, MS sẽ gửi cho USIM, USIM
sẽ chạy lại thuật toán đã chạy trên AuC với tham số là RAND và 1 phần của
AUTN và cho ra các tham số vector xác thực gồm: RES, XMAC, CK và IK.
Nếu XMAC trùng với 8 byte cuối của AUTN thì mạng UMTS đƣợc MS xác
thực. Mã RES sẽ đƣợc gửi lại cho VLR/SGSN để xác thực với tổng đài. Các
tham số CK và IK đƣợc lƣu lại và sử dụng với mục đích bảo mật và toàn vẹn
các thông tin truyền sau này.
VLR/SGSN nhận đƣợc mã xác thực RES từ phía ngƣời sử dụng, sẽ so sánh
với mã xác thực XRES của vector xác thực của phiên đó. Nếu 2 mã xác thực
trùng nhau thì thuê bao đƣợc xác thực.
Hình 2.7a mô tả phƣơng thức AuC sinh ra vector xác thực AV. Các thành
phần của vector xác thực đƣợc sinh ra nhƣ sau:
Tham số đầu vào: Số ngẫu nhiên RAND, khóa chia sẻ K, số ngẫu nhiên SQN,
và tham số AMF (Authentication Management Field)
Số ngẫu nhiên RAND đƣợc sinh trực tiếp từ thuật toán sinh số giả ngẫu nhiên
PRNG
Trƣờng xác thực XRES f 2 ( RAND, K )
Với AK f5 ( RAND, K ) là trƣờng trung gian, AMF là trƣờng quản lý xác thực
(Authentication Management Field) nhằm tăng tính hiệu quả của thuật toán xác
thực, MAC f1 ( RAND, K , SQN , AMF) là trƣờng mã xác thực thông báo.
Hình 3.7b mô tả phƣơng thức USIM sinh đƣợc ra các tham số xác thực AV từ
giá trị M RAND || AUTN mà VLR/SGSN gửi cho MS.
57
Các hàm f1 , f 2 , f3 , f 4 , f5 đƣợc cài đặt chạy bởi AuC của hệ thống và ở tại USIM
của các thuê bao, nên việc lựa chọn các thuật toán đó phụ thuộc vào mỗi nhà cung
cấp dịch vụ, miễn là đảm bảo đƣợc những yêu cầu chung của hệ thống.
Hình 2.8 : Tham chiếu giữa mô hình IEEE 802.1và mô hình OSI
Công nghệ mạng WLAN có nhiều ứu điểm nhƣ: Tiện lợi, linh động, gia thành
rẻ, tiết kiệm chi phí triển khai. Tuy nhiên cũng có rất nhiều nhƣợc điểm, nhƣ phạm
vi áp dụng hẹp, tốc độ truyền vẫn chƣa bằng tốc độ mạng có dây và đặc biệt là
mạng WLAN phải đối mặt với rất nhiều nguy cơ an ninh.
Một mạng WLAN theo chuẩn 802.11, gồm những thành phần chính sau:
Máy trạm (STA – Station) : Là các thiết bị đầu cuối, có hỗ trợ giao diện truy
cập mạng không đây, ví dụ nhƣ máy tính xách tay, điện thoại thông minh, máy
tính bảng …
Điểm truy cập (AP – Access Point) : Điểm truy cập AP là một thiết bị có
nhiệm vụ chính là chuyển frame dữ liệu 802.11 thành frame dữ liệu của
Ethernet và ngƣợc lại. Mỗi điểm truy cập có một vùng phủ sóng đƣợc gọi là
vùng phục vụ cơ bản (BSA – Basic Service Area), một thiết bị di động trong
59
BSA có thể truy cập mạng cục bộ và các thiết bị khác. Tập các thiết bị trong
BSA đƣợc gọi là BSS (Basic Service Set).
nhận những thiết bị nào có địa chỉ MAC năm trong danh sách cho phép đƣợc cài đặt
bởi ngƣời quản trị. Tuy nhiên phƣơng pháp này gặp nhiều vấn đề khi mở rộng
mạng, khi đó ngƣời quản trị phải quản lý bằng thủ công danh sách nhƣng thiết bị
đƣợc truy cập, điều này là rất khó khăn và bất tiện khi trong mạng có nhiều thiết bị.
Hơn nữa, phƣơng pháp này cũng kém an toàn bởi địa chỉ MAC của thiết bị có thể bị
địch thủ giả mạo để vƣợt quả sử kiểm soát của AP.
Phƣơng pháp bảo mật WEP (Wired equivalent privacy) đƣợc đƣa vào chuẩn
802.11b nhƣ một giải pháp để kiểm soát an ninh, tuy nhiên các nhà khoa học đã
nhận thấy nhiều lỗ hổng bảo mật trong WEP, giúp địch thủ có thể dễ dàng phá khóa
và truy cập bất hợp pháp một cách dễ dàng. Ngay sau đó, tổ chức IEEE đã nghiên
cứu và đƣa ra chuẩn cải 802.11i để khắc phục những lỗ hổng an ninh của chuẩn
WEP trong 802.11b. Trong chuẩn 802.11i, IEEE đã đƣa ra các đặc tả cho một giải
pháp an ninh mạng mạnh (RSNA – Robust Security Network Association) cho
mạng WLAN bao gồm 3 dịch vụ chính:
Xác thực
Quản lý và phân phối khóa
Bảo mật và toàn vẹn dữ liệu
Năm 2003, hiệp hội Wi-Fi (WiFi Alliance ) – Là hiệp hội của các tổ chức, các
nhà sản suất, công công ty phần mềm nghiên cứu và sản suất các thiết bị không dây
trên toàn thế giới – đã giới thiệu một giải pháp an ninh WPA (Wifi Protected
Access ) để thay thế cho giải pháp WEP. Mục đích của WPA là khắc phục những lỗ
hổng an ninh của WEP và đƣa ra một phƣơng pháp an ninh an toàn hơn trong khi
chuẩn 802.11i đang đƣợc chỉnh sửa và chƣa đƣợc thông qua. Đến năm 2004, khi
chuẩn 802.11i đƣợc thông qua, hiệp hội Wi-Fi cũng đồng thời phát hành chuẩn
WPA2. Có một điểm đáng chú ý là chuẩn 802.11i bao gồm cả những giải an ninh
trƣớc đó hay giải pháp an ninh thế hệ trƣớc (PRE-RSNA) bên cạnh những giải pháp
an ninh mạnh (RSNA). Chuẩn 802.11i đặc tả các giải pháp an ninh đƣợc mô tả
trong hình 2.9.
Trong phần tiếp theo, học viên xin giới thiệu các đặc tả an ninh của chuẩn
802.11i, cụ thể là các giải pháp an ninh thế hệ trƣớc PRE-RSNA, và giải pháp an
ninh mạng mạnh (RSNA) . Do phạm vi giới hạn chủ đề của luận văn, học viên xin
đƣợc phép đi sâu về các vấn đề xác thực.
61
IEEE 802.11i
PRE-RSNA RSNA
Xác thực, Bảo mật toàn Xác thực, Điều kiển Bảo mật toàn
Tạo khóa vẹn dữ liệu Tạo khóa truy cập vẹn dữ liệu
2.3.3. PRE-RSNA
Giải pháp an ninh thế hệ trƣớc PRE-RSNA là giải pháp WEP đã đƣợc giới
thiệu trong chuẩn 802.11b. WEP sử dụng kỹ thuật mã hóa RC4 của hãng bảo mật
RSA để mã hóa dữ liệu, sử dụng kỹ thuật kiểm tra CRC (cyclic redundancy check)
để đảm bảo tính toàn vẹn dữ liệu. Để đảm xác thực ngƣơi sử dụng, WEP sử dụng 2
phƣơng thức: xác thực mở (OSA – Open system authentication) và hệ thống xác
thực khóa chia sẻ (SKA – Shared key authentication )
Hiện nay các giải pháp an ninh PRE-RSNA đã bộc lộ nhiều yếu điểm và có
thể bị tấn công hoàn toàn. Tuy vậy học viên xin đƣợc giới thiệu để làm mô hình
tham khảo cho các giải pháp xác thực trong mạng không dây.
2.3.2.1. Xác thực
a. Xác thực mở
Phƣơng thức xác thực mở là chế độ mặc định đƣợc cài sẵn trong AP đƣợc mô
tả trong hình 2.10a, gồm 2 bƣớc sau:
Máy trạm STA khi muốn kết nối tới AP, STA sẽ gửi yêu cầu kết nối,
trong yêu cầu kết nối STA sẽ chỉ định trƣờng xác định phƣơng thức xác
thực là xác thực mở (Auth Alg=0).
62
AP nhận đƣợc yêu cầu kết nối. Nếu quản trị viên không đặt chế độ lọc
địa chỉ MAC để hạn chế truy cập, AP sẽ không kiểm tra gì thêm và sẽ trả
lại thông điệp cho phép STA truy cập vào mạng
STA AP
1. Auth Request : Auth Alg = 0; Trans Num=1
thực khóa chia sẻ, STA sẽ gửi yêu cầu kết nối, trong yêu cầu kết nối có
chỉ định rõ xác thực là xác thực khóa chia sẻ (Auth Alg = 1)
Bƣớc 2 : AP sẽ sinh 1 số ngẫu nhiên sử dụng thuật toán sinh số giả ngẫu
nhiên có độ dài 128byte và gửi trả về cho STA
Bƣớc 3 : STA nhận đƣợc số ngẫu nhiên sẽ mã hóa số đó bằng thuật toán
RC4 với khóa chia sẻ và vector khởi tạo IV. Sau đó STA sẽ gửi bản mã
và vector khởi tạo IV cho AP.
Bƣớc 4: AP nhận đƣợc thống bao của STA gồm IV và bản mã, AP dùng
IV và khóa chia sẻ để giải mã bản mã nhận đƣợc. Nếu bản rõ nhận đƣợc
trùng với số ngẫu nhiên AP sinh trƣớc đó ở bƣớc 2 thì STA đƣợc xác
thực, AP gửi thông điệp cho phép STA kết nối vào mạng và ngƣợc lại.
63
STA AP
1. Auth Request : Auth Alg = 0; Trans Num=1
2. Auth Request : Auth Alg = 1; Trans Num=2; Challenge= [Số ngẫu nhiên]
toán CRC32 để mã hóa thành bản mã có độ dài 32 bit, đƣợc gọi là giá trị
kiểm tra tính toàn vẹn ICV (Integrity Check Value), ta viết ICV =
CRC32(M). ICV sẽ đƣợc ghép với dữ liệu M, ta viết P = M || ICV
Bƣớc 2: Bên gửi duy trì một giá trị vector khởi tạo IV (Initialization
Vector) có độ dài 24bit, IV có không gian giá trị gồm 224 phần tử và
đƣợc sinh ngẫu nhiên với từng frame. Sau đó WEP sử dụng thuật toán
RC4 với tham số vào IV||KWEP sẽ đƣợc khóa trộn cho frame dữ liệu đó,
ký hiệu K = RC4(IV||KWEP)
64
Bƣớc 3: Bên gửi mã hóa dữ liệu bằng cách cách XOR 2 kết quả của bƣớc
1 và bƣớc 2, ta viết C= P K, ta đƣợc bản mã C. Bên gửi sẽ giửi cho
bên nhận thông điệp Output = IV || C
Bên nhận khi nhận đƣợc các gói dữ liệu WEP, sẽ tiến hành giải mã và kiểm tra tính
toàn vẹn của dữ liệu theo phƣơng pháp ngƣợc lại, đƣợc mô tả trong hình 2.11b
2.3.4. RSNA
Các giải pháp xác thực mạng mạnh RSNA nằm trong chuẩn 802.11i, và đƣợc
khuyến cáo sử dụng. RSNA cung cấp các mạng WLAN các dịch vụ an ninh: Xác
thực, bảo mật, toàn vẹn dữ liệu và quản lý khóa.
2.3.4.1. Xác thực
Có 2 cơ chế xác thực mạnh trong RSNA, bao gồm:
Xác thực dùng khóa quy ƣớc (PSK – Pre-Shared Key)
Sử dụng giao thức xác thực 802.1x
Với xác thực khóa quy ƣớc PSK, một khóa quy ƣớc chung sẽ đƣợc cấu hình
vào AP và các STA trong mạng. Xác thực khóa quy ƣớc PSK là quá trình xác thực
65
2 phía, đƣợc tiến hành trong quá trình bắt tay 4 bƣớc, sau khi quá trình xác thực kết
thúc, cả AP và STA đều xác thực đƣợc nhau. Thông thƣờng, các khóa quy ƣớc sẽ
đƣợc quản trị viên cài đặt bằng tay, điều này chỉ phù hợp với những mạng WLan
nhỏ, khi mạng có nhiều thiết bị thì phƣơng án này không hợp lý. Đối với những
mạng lớn, việc sử dụng giao thức 802.1x đƣợc khuyến nghị.
Comment [u16]: The IEEE (2010), "IEEE
IEEE 802.1x [23] là một chuẩn của tổ chức IEEE là một tập các giao thức Standard for port-based Network Access Control"
mạng, hoạt động dựa trên cơ chế điều khiển truy cập dựa trên cổng, ban đầu đƣợc
thiết kế để xác thực các thiết bị trong mạng LAN, nhƣng đƣợc chỉnh sửa để tƣơng
tích với mạng WLAN.
IEEE 802.1x đƣa ra một giao thức có thể mở rộng EAP (Extensible
Authentiction Protocol) để thực hiện quá trình xác thực. EAP là giao thức hoạt động
ở lớp 2, các gói dữ liệu EAP sẽ đƣợc đóng gói bởi các frame dữ liệu và truyền qua
mạng LAN hoặc WLAN.
IEEE 802.1x định nghĩa 3 thực thể trong giao thức xác thực (Hình 2.13):
Thực thể cần xác thực (Supplicant)
Thực thể xác thực
Server chứng thực
Hình 2.12 mô tả quan hệ giữa 3 thành phần trong giao thức xác thực 802.1x.
Thực thể cần xác thực là một chƣơng trình sử dụng kết nối không dây của STA.
Thực thể chứng thực chạy trên một máy chủ xác thực mạng NAS (Network
Authenticaiton Server), trong mạng WLAN, NAS thƣờng là các AP, máy chủ chứng
thực thƣờng là máy chủ RADIUS (Remote Authentication Dial In User Service) –
Tức máy chủ đƣợc cái dịch vụ xác thực RADIUS. Máy chủ RADIUS có vai trò
quản lý quyền truy cập trong mạng một cách tập trung thông qua các giao thức xác
thực ( Máy chủ RADIUS có thể đƣợc cài đặt nhiều giao thức xác thực, các giao
thức này sẽ đƣợc giới thiệu ở phần dƣới ), máy trạm STA sẽ xác thực với máy chủ
RADIUS thông qua AP, chỉ những máy trạm STA nào đƣợc xác thực và có quyền
truy cập dịch vụ thì dữ liệu của nó mới đƣợc phép đi qua AP.
66
Sau khi thực thể cần xác thực STA đƣợc xác thực, cả STA và máy chủ chứng
thực đều cùng sinh ra một khóa phiên chính MSK (Master Session Key). Sau đó
STA sẽ tính đƣợc khóa phiên chính đôi PMK (Pairwise Master Key), trong khi đó
máy chủ chứng thực sẽ chuyển MSK cho thực thể xác thực AP, AP cũng sẽ tính
đƣợc PMK nhƣ STA. STA và AP thực hiện giao thức bắt tay 4 bƣớc để xây dựng
kênh truyền mã hóa dựa trên các cặp khóa phiên tạm thời PTK (Pairwise Transient
Key). Đến đây, AP sẽ mở cổng cho phép STA có thể truyền dữ liệu qua AP, tức là
truy cấp đƣợc mạng. Các gói dữ liệu giữa STA và AP đƣợc bảo mật hoàn toàn nhờ
đƣợc mã hóa bởi các khóa phiên thay đổi nhiều lần, do vậy địch thủ rất khó để có
thể tấn công thành công.
Giao thức xác thực EAP là một chuẩn Internet cho việc xác thực máy khách.
EAP đƣợc thiết kế mở rộng từ giao thức điểm tới điểm PPP (Point-to-Point
Protocol), và là một giao thức mở để xác thực các thực thể đầu cuối.
Trong mô hình xác thực 802.1x, máy chủ chứng thực sử dụng giao thức EAP
để chứng thực STA. AP có nhiệm vụ chuyển các gói thông điệp của STA tới máy
chủ chứng thực và ngƣợc lại. Thông điệp EAP đƣợc gửi đi trong mạng không dây
bằng cách đóng gói (encapsulation) thành gói tin EAPOL (EAP over Lan), khi đến
AP, gói tin EAPOL sẽ đƣợc cởi gói và đóng gói thành gói tin RADIUS rồi truyền
tới máy chủ chứng thực qua mạng LAN. Quá trình đó đƣợc mô tả trong hình 2.13.
67
RADIUS RADIUS
EAPoL EAPoL
TCP/IP TCP/IP
Giao thức TKIP hàm mã hóa RC4 để mã hóa, nhƣng phƣơng thức sử dụng bảo
mật hơn cách sử dụng trong WEP. Để đảm bảo tính an toàn của dữ liệu, TKIP đảm
bảo việc mỗi một gói dữ liệu gửi đi đƣợc mã hóa bởi 1 khóa duy nhất, do đó tránh
đƣợc sự xung đột khóa, nhờ vậy nâng cao đƣợc tính toan toàn của thuật toán. Khác
với WEP, TKIP sử dụng thuật toán Michael để đảm bảo tính toàn vẹn dữ liệu thay
vì sử dụng thuật toán CRC32.
CCMP sử dụng chuẩn mã hóa nâng cao AES. (Advanced Encryption
Standard) ở chế độ mã hóa khối Counter (Đƣợc nêu ở phần 3.2.1.2e) và CBC-MAC
để đảm bảo tính toàn vẹn dữ liệu.
Ở các chƣơng trƣớc, học viên đã giới thiệu các vấn đề an ninh và tâm quan
trọng của xác thực trong an ninh truyền thông vô tuyến. Đồng thời, học viên cũng
giới thiệu các phƣơng pháp xác thực đã và đang đƣợc sử dụng trong các mạng vô
tuyến thế hệ sau.
Nhƣ đã đề cập, hiện nay mạng GSM đã không còn an toàn nữa. Điều này kéo
theo nhƣng mạng 3G đƣợc nâng cấp từ mạng GSM sẽ tiềm ẩn nguy cơ không an
toàn. Do đó ngƣời sử dụng mạng GSM và 3G không còn đƣợc bảo vệ nếu chỉ dựa
vào hạng tầng mạng lõi của nhà cung cấp dịch vụ. Trong khi đó, các nhu cầu về xác
thực an toàn vẫn ngày càng tăng bởi sự phát triển những dịch vụ giá trị gia tăng dựa
trên nền tảng di động. Do vậy, vấn đề xác thực trên nền tảng di động vẫn cần đƣợc
thúc đẩy phát triển.
Trong những năm trở lại đây, có sự bùng nổ mạnh mẽ của các thế hệ điện
thoại thông minh – Là những điện thoại đƣợc tích hợp những khả năng xử lý mạnh
mẽ không thua gì những chiếc máy tính – Với những chiếc điện thoại thông minh,
sẽ không có rào cản nào về năng lực xử lý, cũng nhƣ giới hạn về dung lƣợng bộ
nhớ, do vậy vấn đề xác thực trong các dịch vụ sử dụng chiếc điện thoại thông minh
có thể áp dụng nhƣ đối với những chiếc máy tính. Tuy nhiên, số lƣợng những chiếc
điện thoại thông minh vẫn còn quá ít so với phần còn lại – Là những chiếc điện
thoại đơn giản, bị hạn chế bởi năng lực xử lý cũng nhƣng dung lƣợng bộ nhớ - Mặt
khác, còn có rất nhiều thiết bị vô tuyến có hạn chế về năng lực xử lý cần đƣợc cung
cấp cơ chế quản lý và xác thực nhƣ các chip điện tử RFID, hay nhƣ các chip mạng
mạng cảm biến.
Với những nhu cầu cấp thiết về xác thực trên các thiết bị vô tuyến kể trên, việc
nghiên cứu một hệ mã hóa đơn giản, hiệu quả để có thể ứng dụng đƣợc trên các
thiết bị có ràng buộc về tài nguyên là điều cốt lõi. Hiện nay, hệ mã hóa công khai
RSA cung cấp một nền tảng phục vụ việc mã hóa và xác thực rất tốt, tuy nhiên giải
thuật cho cho thuật toán RSA đòi hỏi nhiều năng lực xử lý, và không phù hợp trên
những thiết bị di động có năng lực xử lý hạn chế. Hiện nay, có một hệ mã hóa công
khai có thể đáp ứng đƣợc những yêu cầu về xử lý hạn chế nhƣng vẫn đảm bảo đƣợc
tính bảo mật, đó là hệ mã hóa đƣờng cong Elliptics (ECC – Elliptics Curve
70
Cryptography). Trong chƣơng 3, học viên xin giới thiệu hệ mật mã ECC, và đƣa ra
đề xuất để xây dựng mô hình xác thực dựa trên hạ tầng khóa công khai áp dụng hệ
mật mã ECC.
Trong phần tiếp theo, học viên xin nghiên cứu nền tảng toàn học của hệ mã
hóa ECC và các thuật toán mã hóa, giải mã, ký số của ECC.
Từ bây giờ, khi xét đƣờng cong Elliptic (E), ta hiểu rằng đƣờng cong đó có
phƣơng trình ở dạng thu gọn (CT 4.1b). Ta dễ dàng nhận thấy (E) có phƣơng trình
là hàm chẵn đối với biến y, do vậy đồ thị của (E) nhận trục hoành Ox là trục đối
xứng.
Với mỗi hệ số (a,b) khác nhau, ta có một đƣờng cong (E) khác nhau. Mỗi
đƣờng cong (E) khác nhau có tập hợp các điểm thuộc đƣờng cong đó.
Xét tập các điểm năm trên 1 đƣờng cong (E), ta định nghĩa các luật sau:
Điểm Θ là điểm thuộc (E) nằm ở vô cùng, đƣợc gọi là phần tử trung hòa.
72
Với mỗi điểm P=(x,y), phần tử đối của P là điểm –P=(x,-yy), ta định
nghĩa tổng 2 điểm P + (-P) = P – P = Θ. Ta nhận thấy phần tử -P là điểm
đối xứng của P qua trục Ox.
Với 2 điểm P=(xP, yP) và Q = (xQ, yQ) với xP≠xQ, 1 đƣờng thẳng đi qua 2
điểm P, Q sẽ giao với (E) tại một điểm duy nhất R, ta định nghĩa điểm
R= – (P + Q). Nếu đƣờng thẳng này là tiếp tuyến của (E) tại điểm P hoặc
Q thì tƣơng ứng R ≡ P và R ≡ Q. Điểm đối xứng của R là –R đƣợc gọi
là điểm tổng của P và Q.
Đƣờng thẳng đi qua P và –P (Tức P và Q có cùng hoành độ), sẽ giao với
(E) tại điểm vô cùng, do vậy R = P + (-P) = Θ.
Để nhân đôi điểm P, ta vẽ tiếp tuyến của (E) tại P, tiếp tuyến này sẽ giao
với (E) tại điểm Q, ta có Q = -(P+P)=-2P. Hay –Q= 2P
Với những luật trên, tập các điểm điểm thuộc 1 đƣờng cong (E) tạo thành một
nhóm Abel. Ở phần tiếp theo, ta sẽ lần lƣợt xét kỹ hơn các phép toán cộng, phép
nhân đôi điểm, phép nhân hệ số trong nhóm Abel này. Đây chính là nền tảng để xây
dựng hệ mật mã ECC.
3.1.1.2. Phép cộng hai điểm
Phép cộng 2 điểm là phép toán cơ bản đƣợc định nghĩa để tạo thành nhóm
Abel của tập các điểm thuộc đƣờng cong (E). Phép toán cộng có thể đƣợc diễn giải
dƣới dạng giải tích nhƣ sau:
Cho 2 điểm P=(xP,yP) và Q=(xQ,yQ) với xP ≠ xQ. Đƣờng thẳng đi qua P và Q
sẽ giao với (E) tại một điểm duy nhất R. Ta định nghĩa điểm –R là điểm đối xứng
với R qua trục Ox là điểm tổng của 2 điểm P và Q. Ta viết R = P + Q. Ta có thể
biểu diễn dƣới dạng giải tích nhƣ sau:
Nếu P và Q có cùng hoành độ, tức xP = xQ, khi đó có 2 trƣờng hợp xảy ra:
Nếu yP = -yQ (Bao gồm cả trƣờng hợp yP = yQ = 0). Khi đó P và Q là 2
điểm đối xứng với nhau qua trục Ox, hay Q ≡ -P (Hình 3.2b). Do vậy
điểm giao của đƣờng thẳng PQ với (E) là điểm vô cùng Θ. Do vậy điểm
tổng vẫn chính là điểm vô cùng Θ.
Nếu yP = yQ ≠ 0. Khi đó đƣờng PQ chính là 1 tiếp tuyến của (E), khi đó
điểm tổng R = P + Q = P + P = 2P. Ta gọi R là điểm nhân đôi của điểm
P. Trong trƣờng hợp này ta có thể biểu diễn dƣới dạng giải tích nhƣ sau:
Thuật toán nhân hệ số nguyên là một thuật toán quan trọng trong hệ mã hóa
ECC. Bởi vậy đã có rất nhiều nghiên cứu của các nhà khoa học, đƣa ra nhiều
phƣơng pháp để tối ƣu hóa thuật toán này. Trong cuốn sách Guide to Elliptics
Curve Cryptography [8], Hankerson đã giới thiệu 14 thuật toán. Tuy nhiên trong Comment [u18]: Guide to Elliptics Curve
Cryptography. Darrel Hankerson , Alfred Menezes,
phạm vi của luận văn, học viên chỉ giới thiệu một thuật toán đơn giản nhất để minh Scott Vanstone. 2004 - Page 95
họa phép nhân hệ số, đó là sử dụng phƣơng pháp nhị phân từ trái qua phải (left-to-
right binnary method).
Thuật toán 3.1 : Thuật toán nhân hệ số sử dụng phƣơng pháp nhị phân từ trái qua phải
Input : Điểm P (E), hệ số k = (kt-1, … k2, k1, k0)2 là số nguyên dƣơng
Output: Điểm tích Q = k.P thuộc (E)
1: Q=
2: for i = t-1 to 0 do
2.1 : Q = 2.Q
2.2 : if ki = 1 then
2.2.1 : Q=Q+P
3: Return Q
Trong thuật toán 3.1, số các số 1 trong biểu diễn nhị phân của hệ số k kỳ vọng
là m/2. Gọi A là thời gian của thuật toán cộng điểm, D là thời gian của thuật toán
nhân đôi điểm. Do vậy thời gian thực hiện kỳ vọng của thuật toán 3.1 là:
m A 2 m D
x, y [0,p-1]
2
y mod p x ax b mod p
3 2
y 2 mod 23 x3 x 1 mod 23
Ta có thể nhận thấy P(9,7) E23(1,1). Thật vậy, thay số vào ta có:
Bảng 3.2 liệt kêt tất cả các điểm thuộc đƣờng cong E23(1,1). Hình 3.3 biểu
diễn các điểm đó trên đồ thị:
Hình 3.3 : Các điểm thuộc đƣờng cong E23(1,1) trên đồ thị
Xét tập hợp các điểm thuộc đƣờng cong Ep(a,b) trên trƣờng số nguyên tố hữu
hạn p, và (4a3 + 27b2) mod p ≠ 0. Ta định nghĩa các luật sau:
Điểm là phần tử đặc biệt, nằm ở vô cực, đƣợc gọi là phần tử trung hòa.
Điểm P = (xP, yP) là điểm thuộc EP(a,b), tồn tại phần tử đối –P =(xP,y-P),
thỏa mãn ( yP + y-P ) mod p = 0. Ví dụ xét đƣờng cong E 23(1,1), phần tử
P(13,7) sẽ có phần tử đối là –P = (13,16) do (7 + 16) mod 23 = 0.
Điểm P = (xP, yP) và Q= (xQ, yQ) là 2 phần tử thuộc Ep(a,b), với P ≠ −Q.
Khi đó tổng của 2 điểm P và Q là điểm R = (xR, yR) Ep(a,b), ta ký hiệu
R = P + Q. Điểm R đƣợc xác định theo giải tích nhƣ sau:
xR s 2 xP xQ mod p
yR yP s xP xR mod p
yQ yP
mod p Với P ≠ Q
xQ xP
Với : s
3xP2 a
2 y mod p Với P ≡ Q
P
78
Phép nhân với hệ số nguyên với điểm P đƣợc định nghĩa là tổng của các
phép cộng. Ví dụ : 3P = P + P + P
Ví dụ: Xét 2 điểm P = (3, 10) và Q = (9, 7) thuộc E23(1,1). Ta tính đƣợc:
7 10 1
Hệ số s mod 23 2 mod 23 11
9 3
thực hiện thông qua phép toán nhị phân, do vậy việc cài đặt F2m trên các thiết bị
phần cứng là rất hiệu quả.
Đƣờng cong ECC đƣợc biểu diễn trên trƣờng nhị phần hữu hạn F2m bằng 1
phƣơng trình bậc 3, với các biến, các hệ số và các phép toán trên F2m:
y 2 xy x3 ax 2 b (9)
Ta ký hiệu E2m(a,b) là tập các nghiệm (x,y) thỏa mãn phƣơng trình (9) và điểm
vô cùng .
Ví dụ: Ta xét trƣờng F24 sử dụng đa thức bất khả quy f(x) = x4 + x +1. Phần tử
sinh của F24 là g, thỏa mãn f(g) = 0 hay dƣới dạng nhị phân là g = 0010. Do f(g) = 0,
79
nên g4 = g + 1. Dựa vào mối quan hệ này ta có thể xây dựng đƣợc bảng các thành
phần trong trƣờng F24 là:
y 2 xy x3 g 4 x 2 1 (10)
Ta nhận thấy điểm (g5,g3) là 1 điểm nằm trên đƣờng cong E24(g4,1). Thật vậy,
thay số vào (CT 10) ta có:
( g 3 )2 g 5 g 3 ( g 5 )3 g 4 ( g 5 )2 1
g 6 g 8 g15 g14 1
Hình 3.4 : Các điểm thuộc đƣờng cong E24(g4,1) trên đồ thị
Xét tập các điểm thuộc E2m(a,b), với b ≠ 0. Ta định nghĩa các luật sau:
Điểm là phần tử đặc biệt, nằm ở vô cực, đƣợc gọi là phần tử trung hòa.
Với P = (xP, yP) thì tồn tại điểm Q = (xQ, yQ) = (xP, xP + yP) là phần tử đối
của P, thỏa mãn P + Q =
Cho P = (xP, yP) và Q = (xQ, yQ) là 2 điểm phân biệt. Khi đó điểm tổng
R= P + Q = (xR, yR) đƣợc xác định nhƣ sau:
xR s 2 s xP xQ a
xR s( xP xR ) xR xP a
yQ yP
Với : s
xQ xP
Nếu P = (xP, yP), điểm R = 2P = (xR, yR) là điểm nhân đôi của điểm P.
Đƣợc xác định theo công thức sau:
xR s2 s a
81
xR xP2 (s 1) xR
yP
Với s xP
xP
Với 4 luật nhƣ trên, tập các điểm thuộc E2m(a,b) là một nhóm Abel.
y 2 mod 23 x3 9 x 17 mod 23
Hệ mật mã công khai ECC là hệ mật mã đƣợc xây dựng trên cơ sở bài toán
lograrit rời rạc trong phép nhân xét trên tập các điểm thuộc đƣờng cong Elliptic. Hệ
mật mã công khai ECC cung cấp đầy đủ 4 dịch vụ an ninh: Mã hóa, xác thực, ký số
và trao đổi khóa. Trong phần này, ta sẽ xét các thuật toán của các dịch vụ an ninh
đó.
3.1.2.1. Các tham số của hệ mật mã hóa ECC
Đã có một số các nghiên cứu mật mã công khai ECC đã đƣợc công bố nhằm
tối ƣu hóa việc lựa chọn tham số nhằm nâng cáo tính an toàn và hiệu quả việc sử
dụng hệ mật mã ECC. Ta có thể kể tên một số các khuyến nghị sau : “Recommend
Elliptic Curves For Federal and Government use” (năm 1999), “Public Key
Cryptography for the Financial Services Industry, The Elliptic Curve Digital
Signature Algorithm (ECDSA)” ANSI X9.62 (Năm 2005), “SEC2 : Recommended
Elliptic Curve Domain Parameters” Certicom reseach (Năm 2010).
Hiện nay, để tấn công hệ mật mã ECC, các nhà nghiên cứu công bố 4 phƣơng
pháp chính [9]: Tấn công Pohlig-Hellman, tấn công Polland rho, tấn công theo Comment [u22]: Darrel Hankerson , Alfred
Menezes, Scott Vanstone (2004), "Guide to Elliptics
phƣơng pháp giải tích “index-calculus”, và tấn công đẳng cấu (Isomorphism Curve Cryptography", Springer publisher, pp 154
Attacks). Việc nghiên cứu lựa chọn các tham số của hệ mã hóa ECC nhằm mục đích
khắc phục những điểm yếu của thuật toán, để tránh đƣợc những hình thức tấn công
kể trên. Do vậy, việc sử dụng và lựa chọn các tham số ECC là một việc rất quan
trọng. Trong phần phụ lục, luận văn có giới thiệu một số tham số đƣợc đƣa ra trong
khuyến nghị “SEC2 : Recommended Elliptic Curve Domain Parameters”.
a. Tham số hệ mật mã ECC trên trƣờng nguyên tố hữu hạn Fp
Tổ chức tiêu chuẩn mật mã hiệu quả (SECG – Standards for Efficient
Cryptography Group) trong bản khuyến nghị “SEC2 : Recommended Elliptic Curve
Domain Parameters” (version 2 - 2010), đã định nghĩa các tham số của hệ mật mã
ECC trên truyền nguyên tố hữu hạn Fp, bao gồm [6]: Comment [u23]: Certicom Research (2010), "SEC2 :
Recommended Elliptic Curve Domain Parameters", pp 3
T p, a, b, G, n, h
Trong đó :
p: là số nguyên dƣơng xác định trƣờng nguyên tố hữu hạn Fp và
log 2 p 192, 224, 256,384,512
a,b : Là 2 hệ số a,b ∈ Fp, xác định đƣờng cong Elliptic E(Fp) trên trƣờng
Fp :
T m, f ( x), a, b, G, n, h
Parameters", pp13
Trong đó :
m: là số nguyên dƣơng xác định trƣờng nhị phân hữu hạn F2m và
m163,233,239,283,409,571
f(x) : Là một đa thức bất khả quy, có bậc m và là đa thức cơ sở biểu diễn
trƣờng F2m
a,b : Là 2 hệ số a,b ∈ F2m xác định đƣờng cong Elliptic E(F2m) trên
trƣờng F2m :
E : y 2 x. y x3 ax 2 b
G: Là điểm cơ sở thuộc E(Fp)
n : Là một số nguyên tố và là thứ tự của điểm cơ sở G.
h : Là phần phụ đại số (cofactor) thỏa mãn h = #E(F2m)/n. Với #E(F2m) là
số các điểm thuộc đƣờng cong E(F2m).
Do phạm vi của luận văn, mặt khác các thuật toán chuyển đổi đã đƣợc nêu chi
tiết trong khuyến nghị “SEC1: Elliptic Curve Cryptography ” (version 2 - 2009) nên
luận văn xin phép không đƣợc đi chi tiết các thuật toán chuyển đổi. Các quan hệ
chuyển đổi các kiểu dữ liệu đƣợc mô tả trong hình 3.5 dƣới đây:
Alice và Bob có khả năng tính toán độc lập đƣợc khóa chia sẻ K bởi :
K d A PB d A d B G d B d A G d B PA
Thuật toán 3.5 : Thuật toán xác thực chữ ký điện tử ECC
Input : Đƣờng cong Elliptic với tham số T(p,a,b,G,n,h) hoặc T(m,f(x),a,b,G,n,h),
khóa công khai bên gửi Q, thông điệp gửi m, và chữ ký (r,s)
Output: Chữ ký điện tử có hợp lệ không
1 : Nếu 0 < r < n thì tiếp tục bƣớc tiếp theo, nếu không trả về kết quả không hợp lệ
và kết thúc.
2 : Tính giá trị băm của thông điệp m, sử dụng thuật toán băm SHA1, ta đƣợc giá trị
H = SHA1(m). Chuyển xâu băm nhận đƣợc về kiểu số nguyên ta đƣợc số e.
3 : Tính nghịch đảo của s theo modulo n: w = s-1 mod n
4 : Tính hai giá trị : u1 e w mod n và u2 r w mod n
s e k r d 1(mod n)
d e k r s 1(mod n)
R u1 G u2 k G u1 u2 k G
R d G
Do vậy R = (xR, yR), và xR = r (mod n)
Nhƣ đã nêu ở trên, bản chất của việc mã hóa và giải mã của ECIES là thiết lập
một khóa phiên rồi sử dụng khóa phiên đó để mã hóa và giải mã theo mô hình mật
mã khóa chia sẻ. Khóa phiên trong mã hóa và giải mã chỉnh là điểm Z. Thật vậy, ta
có :
Z h d Q h d (k G) h k (d G) h k R
3.3. Đề xuất xây dựng hạ tầng khóa công khai cho thiết bị di động
dựa trên hệ mật mã ECC
Giả sử Alice và Bob thực hiện trao đổi truyền thông với nhau sử dụng hệ mật
mã công khai. Để thực hiện đƣợc, Alice phải biết đƣợc khóa công khai của Bob và
ngƣợc lại Bob phải có đƣợc khóa công khai của Alice. Tuy nhiên, giả sử kẻ tấn
công Darth có thể dùng phƣơng pháp tấn công ngƣời ở giữa theo các bƣớc sau:
Trƣớc tiên, bằng một kỹ thuật nào đó, Darth có thể xen vào kênh truyền
giữa Alice và Bob. Mọi thông tin truyền giữa Alice và Bob đều đi qua
Darth và Darth có thể kiếm soát đƣợc việc truyền thông tin đó.
Darth sẽ tự nhận mình là Bob, Darth sẽ sinh ra một cặp khóa cho mình
và gửi khóa công khai giả mạo tới cho Alice.
Alice sẽ tin đó là khóa công khai của Bob và gửi trở lại khóa công khai
của mình cho Darth – Ngƣời Alice tin đó là Bob.
Darth thực hiện việc giả mạo tƣơng tự đối với Bob.
Đến lúc này, giả sử Alice gửi 1 thông điệp mã hóa cho Bob, Alice sẽ
dùng khóa công khai của Bob – mà thực chất là khóa công khai của
Darth – để mã hóa. Do Darth đứng giữa, lại có khóa bí mật hợp lệ nên có
thể đọc lén, hoặc thậm chí sửa đổi thông điệp trong đó. Sau đó sẽ sử
dụng khóa công khai thật của Bob để mã hóa và gửi lại cho Bob.
Tƣơng tự, khi Alice muốn ký vào 1 thông điệp, Alice sẽ sử dụng khóa bí
mật của mình để ký và gửi đi. Darth sẽ lấy thông điệp đó, sẽ sửa đổi theo
ý muốn và sử dụng khóa bí mật giả mạo để ký và gửi cho Bob. Lúc này
dó Bob sử dụng giữ khóa công khai giả mạo của Alice – Thực chất là
khóa công khai của Darth – để kiểm tra tính hợp lệ của thông điệp, điều
tất nhiên là Bob thấy thông điệp đó là hợp lệ và tin đó là thông điệp đƣợc
gửi từ Alice.
Để tránh đƣợc tấn công ngƣời ở giữa, các bên tham gia truyền thông cần một
bên thứ ba tin cậy để xác nhận khóa công khai của nhau. Bên thứ ba tin cậy là một
tổ chức phát hành chứng thƣ, hay còn gọi là CA (Certificate Authority).
Authority - CA), có vai trò nhƣ bên thứ ba tin cậy giúp các thực thể tham gia xác
thực có thể xác thực đƣợc nhau để khắc phục nhƣợc điểm bị tấn công ngƣời ở giữa
của hệ mật mã công khai.
Cơ quan đăng ký (RA) : Là thành phần tuy chọn, đây là cơ quan đƣợc
CA ủy quyền để tiếp nhận đăng ký phát hành chứng thƣ.
Thành phần phát hành chứng thƣ bị thu hồi: Là bộ phận để công bố công
khai những chứng thƣ bị thu hồi, không còn giá trị sử dụng. Trong quá
trình sử dụng chứng thƣ, các thành phần cuối phải liên tục cập nhật danh
sách chứng thƣ thu hồi để kiểm tra tính hợp lệ của chứng thƣ.
Thành phần lƣu trữ chứng thƣ: Là bộ phận lƣu trữ tập trung và công khai
các chứng thƣ đã đƣợc phát hành, để mọi đối tƣợng có thể truy cập và
lấy về chứng thƣ mình cần.
Issuer unique identifier: Là trƣờng tùy chọn, chứa mã định danh duy nhất
của tổ chức phát hành chứng thƣc đƣợc dùng để phân biệt trong trƣờng
hợp các CA có tên (Issuer Name) trung nhau.
Subject unique identifier: Là trƣờng tuy chọn, chữa mã định danh duy
nhất cho mỗi chủ sở hữu đƣợc phát hành bởi 1 CA. Trƣờng này đƣợc sử
dụng để phân biệt các chủ sở hữu trong trƣờng hợp các chủ sở hữu có
trùng tên (Subject Name)
Extensions: Là tập các trƣờng mở rộng, chứa các thông tin liên quan
khác nhƣ địa chỉ danh sách thu hồi, địa chỉ của CA, hay chức năng của
chứng thƣ.
Signature: Là các tham số thuật toán ký của CA và mã chứ ký của CA
trên tất cả các trƣờng phía trên.
3.3.4. Xác thực di động dựa trên hạ tầng khóa công khai sử dụng hệ
mật mã đƣờng cong Elliptic
Nhƣ đã đề cập ở trên, hạ tầng khóa công khai sử dụng các hệ mật mã công
khai để cung các dịch vụ an ninh. Hiện nay, các chứng thƣ đƣợc phát hành hầu hết
sử dụng hệ mật mã RSA. Nếu các đối tƣợng sử dụng cuối là các thiết bị có cấu hình
cao nhƣ máy vi tính, router, hay nhƣ các thiết bị chuyên biệt thì việc triển khai
chứng thƣ sử dụng hệ mật mã RSA hoàn toàn không có trở ngại nào. Tuy nhiên,
việc triển khai hệ mật mã RSA trên các thiết bị có năng lực tính toán hạn chế nhƣ
trên các thiết bị di động thì hoàn toàn không thích hợp. Chính vì lẽ đó cho tơi nay,
các thiết bị di động gần nhƣ không thể sử dụng chứng thƣ số cho các giao dịch cần
đƣợc xác thực.
Hệ mật mã ECC là hệ mật mã công khai, có nhiều ƣu điểm vƣợt trội so với hệ
mật mã RSA, rất phù hợp cho việc áp dụng trên các thiết bị di động. Do vậy việc sử
dụng hệ mật mã công khai trên nền tảng hạ tầng khóa công khai cho phép các thiết
bị di động có thể sử dụng các chứng thƣ số mà không gặp phải những rào cản về tốc
độ xử lý cũng nhƣ hạn chế về bộ nhớ và băng thông.
Trong phần này, học viên sẽ đề xuất ứng dụng triển khai hạ tầng khóa công
khai sử dụng hệ mật mã ECC trong việc phát hành chứng thƣ cho thiết bị di động.
Việc xây dựng một hệ thống CA với đầy đủ các tính năng là một công việc rất lớn,
do vậy trong phạm vi của luận văn, học viên sẽ xây dựng giao thức cấp phát chứng
thƣ cho thiết bị di động. Sau khi chứng thƣ đƣợc phát hành thành công, việc xác
thực dựa trên dịch vụ ký số là một hoàn toàn đơn giản.
3.3.4.1. Giao thức cấp pháp chứng thư trên thiết bị di động
Giao thức cấp phát chứng thƣ cho thiết bị di động đƣợc xây dựng gồm 2 giai
đoạn:
a. Giai đoạn đăng ký cấp phát chứng thƣ
Trong giao đoạn này, ngƣời sử dụng sẽ phải đăng ký thủ tục cấp phát chứng
thƣ với đơn vị đăng ký (RA – Register Authority). Sau khi đƣợc xét duyệt, đơn vị
RA sẽ cấp cho khách hàng một mã định danh và một mã xác thực. Việc cung cấp
này đƣợc thực thi bằng nhiều biện pháp tin cậy khác nhau nhƣ bằng vật lý, hoặc
việc cung cấp cho ngƣời dùng 1 đƣờng liên kết web sử dụng giao thực https. Mã
xác thực ngƣời dùng nhận đƣợc sẽ đƣợc sử dụng để xác thực việc cấp phát chứng
thƣ cho ngƣời dùng hợp lệ.
95
Khách hàng RA
Hình 3.8 : Giao thức cấp đăng ký cấp phát chứng thƣ
Client CA
1. ID || E(PuCA, RegCode || Key || IV)
2. ACCEPT || EAES(Key, IV + 1)
4. EAES(Key, PKCS10 || IV + 2)
5.Certificate
Ta hãy phân tích các thành phần thông điệp của giao thức chứng minh độ an
toàn của giao thức:
Trong thông điệp thứ nhất, client gửi mã định danh và mã hóa các thông
tin RegCode, Key, IV bằng khóa công khai của CA. Do vậy chỉ CA mới
có thể đọc đƣợc nội dung phần thông điệp đƣợc mã hóa. CA sẽ đối chiếu
RegCode và ID để kiểm tra tính hợp lệ của yêu cầu phát hành chứng thƣ.
Khóa Key có tác dụng là khóa phiên bí mật giữa Client và CA trong các
phiên tiếp theo. IV là biến đếm đƣợc sử dụng kết hợp với khóa Key để
Client xác thực CA. Đồng thời có tác dụng chống tấn công gửi lặp lại.
Trong giao thức phát hành chứng thƣ, mã RegCode đƣợc truyền bí mật
đối thủ không thể nghe lén đƣợc do đƣợc mã hóa bằng khóa công khai
của CA. Sau khi chứng thƣ đƣợc phát hành thì mã RegCode cũng không
còn tác dụng và có thể đƣợc hủy bỏ.
Trong thông điệp 4, thông điệp PKCS10 và giá trị (IV + 2) đƣợc bảo mật
bởi hệ mật mã AES với khóa là Key. Do vậy có thể chống đƣợc tấn công
sửa đổi và tấng công gửi lặp lại.
3.3.4.2. Xác thực di động dựa trên chưng thư số sử dụng hệ mật mã ECC
Comment [u32]: William Stalling (2005)
Theo cuốn sách của William Stalling [32] chuẩn X.509 định nghĩa 3 giao thức “Cryptography and Network Security”, Prentice Hall
Publisher, pp 426
xác thực khác nhau dựa trên hạ tầng khóa công khai có thể đƣợc áp dụng một cách
tổng quát trên nhiều ứng dụng khác nhau. Giả sử Alice và Bob tham gia 1 phiên xác
thực, Alice và Bob đều có đƣợc chứng thƣ số của nhau và các chứng thƣ số này đều
đƣợc xác thực thông qua 1 tổ chức chứng thực.
3 giao thức xác thực đƣợc chuẩn X.509 định nghĩa gồm :
a. Giao thức xác thực một bƣớc
Giao thức xác thực một bƣớc đƣợc mô tả trong hình 3.10. Alice sẽ gửi cho
Bob thông điệp M = tAlice || rAlice || IDBob || SigData || E(PUBob, KAB). Trong đó :
tAlice : Là nhãn thời gian của thông điệp đƣợc gửi bởi Alice, theo đó Bob sẽ xác
định đƣợc hiệu lực thông điệp Alice gửi.
rAlice : Là một mã định danh duy nhất trong khoảng thời gian hiệu lực của
thông điệp. Tham số định danh này cho phép Bob chống đƣợc tấn công gửi lại.
98
Alice Bob
Alice Bob
Các thành phần của thông điệp thứ 2 Bob gửi cho Alice có ý nghĩa tƣơng tự
nhƣ ở thông điệp 1. Chỉ có khác là trong thông điệp 2, Bob gửi trả lại tham số r Alice
cho Alice. Tham số nay nhằm mục đích định danh thông điệp Bob gửi là trả lời cho
thông điệp Alice gửi trƣớc đó.
c. Giao thức xác thực ba bƣớc
Alice Bob
3. rBob
Tƣơng tự giao thức xác thực hai bƣớc, giao thức xác thực 3 bƣớc đƣợc phát
triển mở rộng từ giao thức xác thực 2 bƣớc. 2 thông điệp đầu của giao thức này
giống với 2 thông điệp của giao thức xác thực 2 bƣơc.
Thông điệp thứ 3 Alice gửi cho Bob là : rBob. Việc trả lại tham số rBob để Bob
không cần kiểm tra lại nhãn thời gian. Bởi vì các tham số r Alice và rBob đƣợc đƣợc
gửi 2 lần theo chiều xuôi và chiều ngƣợc lại, do vậy giúp cho Alice và Bob có thể
kiểm tra và phòng chống tấn công lặp lại. Việc này là cần thiết khi đồng hồ của Bob
và Alice là không đƣợc đảm bảo là đồng bộ.
Toolkit 3.0. Để phục vụ cho các thao tác mật mã, học viên có sử dụng
thƣ viện mã nguồn mở Bouncy Castle phiên bản trên di động.
Server: Đóng vai trò nhƣ CA, cung cấp dịch vụ phát hành chứng thƣ cho
phía máy khách. Server đƣợc xây dựng dựa trên công nghệ Java, sử dụng
thƣ viện mã nguồn mở Bouncy Caslte phục vụ cho các thao tác mật mã.
Môi trƣờng truyền thông : Client sẽ sử dụng dịch vụ GPRS hoặc dịch vụ
3G để kết nối Socket tới CA. Tất cả các thông điệp trao đổi giữa Client
và CA đều đƣợc truyền qua kết nối Socket.
Hình 3.11e: Form điền thông tin cấp yêu cầu phát chứng thƣ
Hình 3.11g: Thuật toán ký số của CA trên chứng thƣ phát hành
Hình 3.5b: So sanh tốc độ xác thực giữa hệ mật mã ECC và RSA
Hai bảng so sánh 3.5a và 3.5b cho ta một cái nhìn trực quan về hiệu suất giữa
hệ mật mã ECC và RSA. Ta nhận thấy, ở cùng 1 độ an toàn, độ dài khóa của RSA
tăng nhanh hơn so với độ dài khóa của ECC. Hơn nữa tốc độ thực hiện (Ký – Xác
thực trong một phút) của RSA cũng giảm nhanh hơn so với ECC.
106
Trong luận văn của mình, xuất phát từ những tồn tại trong vấn đề xác thực của
các mạng vô tuyến, đặc biệt là trong các mạng di động. Luận văn đã tiến hành
nghiên cứu các phƣơng pháp xác thực để từ đó bƣớc đầu tìm ra một giải pháp xác
thực có thể áp dụng đƣợc trong các mạng vô tuyến, đặc biệt là trên những thiết bị
đầu cuối có hạn chế về tốc độ xử lý và khả năng lƣu trữ. Luận văn đã nêu khái quát
các vấn đề cơ bản trong mật mã học, trong đó đi vào chi tiết 2 hệ mật mã đƣợc sử
dụng phổ biến nhất hiện nay, đó là hệ mật mã đối xứng và hệ mật mã công khai.
Sau khi giới thiệu 2 hệ mật mã, luận văn vào ứng dụng của các hệ mật mã đó trong
vấn đề xác thực, học viên đã giới thiệu chữ ký điện tử và các mô hình xác thực đƣợc
sử dụng phổ biến hiện nay. Để minh họa, trong phần tiếp theo học viên đã khảo cứu
và trình bay khái quát phƣơng pháp xác thực đƣợc sử dụng trong các mạng di động
thể hệ sau gồm mạng GSM, mạng 3G UTMS và mạng WLAN. Phần cuối cùng, học
viên đi vào nghiên cứu hệ mật mã đƣờng cong Elliptic (Elliptic Curve
Cryptography), học viên đã giới thiệu cơ sở toán học của hệ mật mã ECC, trích dẫn
và giải thích các thuật toán sinh khóa, trao đổi khóa, ký số, xác thực, mã hóa – giải
mã của hệ mật mã ECC. Do việc chứng minh sự tƣơng thích của hệ mật mã đƣờng
cong ECC đối với các thiết bị di động đã đƣợc chứng minh trong rất nhiều nghiên
cứu trƣớc đó, do vậy luận văn chỉ tổng kết lại những số liệu và đƣa ra những đánh
giá về sự tƣơng thích đó. Trong phần cuối, luận văn đã đề xuất khả năng ứng dụng
hạ tầng khóa công khai dành cho thiết bị di động dựa trên hệ mật mã ECC. Để
chứng minh, luân văn đã thiết kế giao thức cấp phát chứng thƣ giữa thiết bị di động
và cơ quan phát hành chứng thƣ.
17. Prapul Chanda (2005), "Bulletproof wireless security: GSM, UMTS, 802.11, and
Ad Hoc Security", Newnes Publisher, pp 165.
18. Prapul Chanda (2005), "Bulletproof wireless security: GSM, UMTS, 802.11, and
Ad Hoc Security", Newnes Publisher, pp 169-170.
19. RSA Laboratories (2000) : PKCS#10 - Certification Request Syntax Standard.
20. Schnorr, C. "Efficient Signatures for Smart Card." Journal of Cryptology, No. 3,
1991.
21. Scott Vanstone (2005) : “An introduction to use of ECC-based certificates”.
Code and Cipher vol2, no2. pp -3.
22. Spafford, G., http://homes.cerias.purdue.edu/~spaf/quotes.html.
23. The IEEE (2010), "IEEE Standard for port-based Network Access Control"
24. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 13-15.
25. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 120.
26. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 181-189.
27. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 266-267.
28. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 304.
29. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 305.
30. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 308.
31. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 338.
32. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 426.
33. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 428-430.
110
00000000
b = 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000007
G = 04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB
2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8
FD17B448 A6855419 9C47D08F FB10D4B8
n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B
BFD25E8C D0364141
h = 01
4. Secp384r1
p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFE FFFFFFFF 00000000 00000000 FFFFFFFF
a = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFE FFFFFFFF 00000000 00000000 FFFFFFFC
b = B3312FA7 E23EE7E4 988E056B E3F82D19 181D9C6E FE814112
0314088F 5013875A C656398D 8A2ED19D 2A85C8ED D3EC2AEF
G = 04 AA87CA22 BE8B0537 8EB1C71E F320AD74 6E1D3B62
8BA79B98 59F741E0 82542A38 5502F25D BF55296C 3A545E38 72760AB7
3617DE4A 96262C6F 5D9E98BF 9292DC29 F8F41DBD 289A147C E9DA3113
B5F0B8C0 0A60B1CE 1D7E819D 7A431D7C 90EA0E5F
n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
C7634D81 F4372DDF 581A0DB2 48B0A77A ECEC196A CCC52973
h = 01
5. Secp521r1
p = 01FF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
a = 01FF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFC
112