Tài liệu Luận văn Xác thực trong các mạng vô tuyến: ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Tuấn Hưng
XÁC THỰC TRONG CÁC MẠNG VÔ TUYẾN
LUẬN VĂN THẠC SĨ
Hà Nội - 2011
Nghành : Công nghệ thông tin
Chuyên nghành : Truyền dữ liệu và mạng máy tính
Mã số : 60 48 15
CÁN BỘ HƯỚNG DẪN KHOA HỌC :
PGS.TS Trần Hồng Quân
1
Lời cam đoan
Tôi xin cam đoan luận văn này là công trình do tôi nghiên cứu. Trong luận văn có sử
dụng các tài liệu tham khảo đều được tôi trính dẫn đầy đủ và chính xác trong phần tài liệu
tham khảo.
Hà Nội, ngày 12 tháng 05 năm 2011
Tác giả
2
Mục lục
BẢNG KÝ HIỆU VIẾT TẮT.......................................................................................... 5
DANH MỤC BẢNG ........................................................................................................ 6
DANH MỤC HÌNH ......................................................................................................... 6
GIỚI THIỆU...............................................................
117 trang |
Chia sẻ: haohao | Lượt xem: 1233 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Luận văn Xác thực trong các mạng vô tuyến, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Tuấn Hưng
XÁC THỰC TRONG CÁC MẠNG VÔ TUYẾN
LUẬN VĂN THẠC SĨ
Hà Nội - 2011
Nghành : Công nghệ thông tin
Chuyên nghành : Truyền dữ liệu và mạng máy tính
Mã số : 60 48 15
CÁN BỘ HƯỚNG DẪN KHOA HỌC :
PGS.TS Trần Hồng Quân
1
Lời cam đoan
Tôi xin cam đoan luận văn này là công trình do tôi nghiên cứu. Trong luận văn có sử
dụng các tài liệu tham khảo đều được tôi trính dẫn đầy đủ và chính xác trong phần tài liệu
tham khảo.
Hà Nội, ngày 12 tháng 05 năm 2011
Tác giả
2
Mục lục
BẢNG KÝ HIỆU VIẾT TẮT.......................................................................................... 5
DANH MỤC BẢNG ........................................................................................................ 6
DANH MỤC HÌNH ......................................................................................................... 6
GIỚI THIỆU.................................................................................................................... 9
1. Đặt vấn đề ..............................................................................................................................................9
2. Vấn đề nghiên cứu................................................................................................................................10
3. Phạm vi nghiên cứu..............................................................................................................................10
CHƯƠNG 1 : XÁC THỰC TRONG MẠNG VÔ TUYẾN .......................................... 12
1.1. An ninh và các dịch vụ an ninh.........................................................................................................12
1.1.1. Khái niệm về an ninh thông tin ....................................................................................................12
1.1.2. Các hình thức tấn công ................................................................................................................12
1.1.2.1. Tấn công bị động .................................................................................................................13
1.1.2.2. Tấn công chủ động ..............................................................................................................14
1.1.3 Các dịch vụ an ninh thông tin .......................................................................................................17
1.2. Cơ bản về mật mã học.......................................................................................................................18
1.2.1. Mã hóa đối xứng .........................................................................................................................19
1.2.1.1. Khái niệm............................................................................................................................19
1.2.1.2. Mô hình hoạt động mã hóa khóa đối xứng............................................................................19
1.2.2. Mã hóa bất đối xứng....................................................................................................................24
1.2.2.1. Khái niệm............................................................................................................................24
1.2.2.2. Hệ mã hóa Diffie-Hellman...................................................................................................26
1.2.2.3. Hệ mã hóa công khai RSA...................................................................................................27
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 ....................................................28
1.3 Chữ ký điện tử....................................................................................................................................28
1.3.1. Khái niệm ...................................................................................................................................28
1.3.2. Mô hình ký số RSA .....................................................................................................................30
1.3.3. Mô hình ký số DSA....................................................................................................................31
1.3.4. Thuật toán băm............................................................................................................................33
1.4. Xác thực và các các mô hình xác thực ..............................................................................................33
1.4.1. Mô hình xác thực yếu ..................................................................................................................35
1.4.1.1. Xác thực dựa trên mật khẩu..................................................................................................35
1.4.1.2. Xác thực dựa trên mã định danh cá nhân (PIN-based Authentication) ...................................36
1.4.2. Mô hình xác thực mạnh ...............................................................................................................36
1.4.2.1. Giao thức xác thực dựa trên hệ mật mã.................................................................................37
1.4.2.2. Giao thức xác thực dựa trên kỹ thuật zero-knowledge...........................................................39
1.4.2.3. Giao thức xác thực dựa trên thiết bị hỗ trợ............................................................................41
1.5. Kết luận chương 1 .............................................................................................................................42
3
CHƯƠNG 2: XÁC THỰC TRONG CÁC MẠNG VÔ TUYẾN THẾ HỆ SAU..........44
2.1. Xác thực trong mạng GSM ............................................................................................................... 44
2.1.1 Giới thiệu mạng GSM .................................................................................................................. 44
2.1.2. Mô hình an ninh của mạng GSM ................................................................................................. 46
2.1.3. Dịch vụ xác thực trong mạng GSM............................................................................................. 48
2.2. Xác thực trong mạng 3G................................................................................................................... 50
2.2.1. Giới thiệu mạng thông tin di động 3G.......................................................................................... 50
2.2.2. Mô hình an ninh trong mạng 3G .................................................................................................. 53
2.2.3. Dịch vụ xác thực và trao đổi khóa................................................................................................ 54
2.3. Xác thực trong mạng cục bộ không dây WLAN .............................................................................. 58
2.3.1. Giới thiệu về mạng cục bộ không dây WLAN.............................................................................. 58
2.3.2. Mô hình an ninh mạng WLAN .................................................................................................... 60
2.3.2.1. Các vấn đề an ninh trong mạng WLAN................................................................................ 60
2.3.2.2. Giải pháp an ninh trong mạng WLAN.................................................................................. 60
2.3.3. PRE-RSNA................................................................................................................................. 62
2.3.2.1. Xác thực.............................................................................................................................. 62
2.3.2.2. Bảo mật và toàn vẹn dữ liệu................................................................................................. 64
2.3.4. RSNA......................................................................................................................................... 65
2.3.4.1. Xác thực.............................................................................................................................. 65
2.3.4.2. Bảo mật và toàn vẹn dữ liệu................................................................................................. 68
2.4. Kết luận chương 2............................................................................................................................. 69
CHƯƠNG 3: Hệ MẬT MÃ CÔNG KHAI ECC VÀ ỨNG DỤNG TRONG XÁC
THỰC CÁC MẠNG VÔ TUYẾN .................................................................................70
3.1. Hệ mật mã đường cong Elliptic ........................................................................................................ 71
3.1.1 Cơ sở toán học ............................................................................................................................. 72
3.1.1.1. Đường cong Elliptic ............................................................................................................ 72
3.1.1.2. Phép cộng hai điểm ............................................................................................................. 73
3.1.1.3. Phép nhân hệ số nguyên ...................................................................................................... 76
3.1.1.4. Đường cong Elliptic trên trường hữu hạn ............................................................................. 77
3.1.2. Hệ mật mã công khai ECC .......................................................................................................... 83
3.1.2.1. Các tham số của hệ mật mã hóa ECC................................................................................... 84
3.1.2.2. Các kiểu dữ liệu trong hệ mật mã ECC ................................................................................ 86
3.1.2.2. Thuật toán sinh khóa ........................................................................................................... 87
3.1.2.3. Thuật toán trao đổi khóa ECDH........................................................................................... 88
3.1.2.4. Thuật toán chữ ký điện tử ECDSA....................................................................................... 88
3.1.2.5. Thuật toán xác thực chữ ký điện tử ECC .............................................................................. 89
3.1.2.6.Mô hình mã hóa tích hợp đường cong Elliptic - ECIES ......................................................... 90
3.2. Ưu điểm của hệ mật mã đường cong Elliptic ................................................................................... 92
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.............. 93
3.3.1. Vấn đề an ninh của hệ mật mã công khai...................................................................................... 93
3.3.2. Hạ tầng khóa công khai ............................................................................................................... 94
3.3.3 Chứng thư số ............................................................................................................................... 95
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........... 97
3.3.4.1. Giao thức cấp pháp chứng thư trên thiết bị di động............................................................... 98
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 ....................................... 101
3.3.5. Kết quả ..................................................................................................................................... 103
3.3.5.1. Thiết kế chương trình ........................................................................................................ 103
3.3.5.2. Các bước thực hiện............................................................................................................ 103
4
3.3.5.3. Đánh giá hiệu năng của hệ mật mã ECC............................................................................. 109
3.4. Kết luận chương 3 ........................................................................................................................... 110
TỔNG KẾT VÀ HƯỚNG NGHIÊN CỨU TIẾP THEO........................................... 111
1. Hướng nghiên cứu tiếp theo............................................................................................................... 111
TÀI LIỆU THAM KHẢO........................................................................................... 112
PHỤ LỤC: THAM SỐ HỆ MẬT MÃ ECC ............................................................... 114
5
Bảng ký hiệu viết tắt
Ký hiệu Định nghĩa
3G Mạng thông tin di động thế hệ 3
AP Điểm truy cập
AuC Trung tâm chứng thực
BTS Trạm thu phát sóng
CA Cơ quan chứng thực chữ ký số
DoS Tấn công từ chối dịch vụ
DSA Thuật toán chữ ký số
EAP Giao thức xác thực có thể mở rộng
ECC Mật mã đường cong Elliptic
ETSI Viện tiêu chuẩn viễn thông Châu Âu
GPRS Công nghệ chuyển mạch gói được phát triển từ mạng
GSM
GSM Mạng thông tin di động toàn cầu thế hệ 2
HLR Bộ ghi địa chỉ thường trú
IEEE Viện kỹ sư điện và điện tử
ISO Tổ chức tiêu chuẩn quốc tế
ITU-T Liên minh viễn thông quốc tế
J2ME Công nghệ của Java để phát triển các ứng dụng Java trên
điện thoai di động hay các thiết bị cầm tay nhỏ gọn
MS Trạm di động
PIN Mã định danh cá nhân
PKI Hạ tầng khóa công khai
RADIUS Dịch vụ xác thực người sử dụng truy cập từ xa
RFID Định danh dựa trên tần số vô tuyến
6
RSA Hệ mật mã RSA
SGSN Nút hỗ trợ chuyển mạch dịch vụ
SIM Thành phần định danh thuê bao
STA Trạm di động
UMTS Mạng thông tin thế hệ 3 theo tiêu chuẩn của Châu Âu
USIM Thành phần định danh thuê bao của mạng 3G
VLR Bộ ghi địa chỉ tạm trú
WLAN Mạng nội bộ không dây
Danh mục bảng
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 ……………….
Danh mục hình
Hình 1.1 : Nghe lén thông tin…………………….……………………………...13
Hình 1.2 : Phân tích lưu lượng………………….…………………………….…14
Hình 1.3 : Giả mạo người gửi…………………,……,…………………………..15
Hình 1.4 : Tấn công lặp lại……………………,…….…………………………..16
Hình 1.5 : Tấn công sửa đổi dữ liệu………….……….…………………………16
Hình 1.6 : Tấn công từ chối dịch vụ………….…………………….……………17
Hình 1.7 : Chế độ ECB……………………….…………………………….……20
Hình 1.8 : Chế độ CBC……………………..……………………………………21
Hình 1.9 : Chế độ CFB…………………….………………………………….…22
7
Hình 1.10 : Chế độ OFB ……………………………………………………….23
Hình 1.11 : CTR ………………………………………………………………..23
Hình 1.12a : Chức năng mã hóa / giải mã ……………………………………….25
Hình 1.12b : Chức năng ký ……………………………………………………...25
Hình 1.13 : Mô hình ký số RSA ……………………………………………….30
Hình 1.14a : Mô hình ký số và xác thực DSA …………………………………..32
Hình 1.14b : Mô hình truyền thông, sử dụng chữ ký điện tử DSA ……………..32
Hình 2.1 : Hạ tầng mạng GSM ………………………………………………..43
Hình 2.2 : Mô hình an ninh mạng GSM ……………………………………...46
Hình 2.3 : Mô hình xác thực trong mạng GSM ………………………………47
Hình 2.4 : Kiến trục mạng 3G UMTS ………………………………………..49
Hình 2.5 : Mô hình an ninh mạng UMTS …………………………………….51
Hình 2.6 : Giao thức xác thực 2 chiều mạng UMTS ………………………….53
Hình 2.7a : Sinh vector xác thực tại AuC ……………………………………...54
Hình 2.7b : Thuật toán sinh xác thực tại USIM ………………………………..55
Hình 2.8 : Tham chiếu giữa mô hình IEEE 802.1và mô hình OSI …………...57
Hình 2.9 : Giải pháp an ninh chuẩn 802.11i ………………………………….60
Hình 2.10a : Phương thức xác thực mở - OSA …………………………………..61
Hình 2.10b : Phương pháp xác thực khóa chia sẻ - SKA ………………………..62
Hình 2.11a : Mã hóa gói dữ liệu …………………………………………………63
Hình 2.11b : Giải mã và kiểm tra tính toàn vẹn dữ liệu …………………………63
Hình 2.12 : Dịch vụ xác thực của 802.1x ………………………………………65
Hình 2.13 : EAPoL ……………………………………………………………..66
Hình 3.1a : 2 3 5 3y x x …………………………………………………….70
Hình 3.1b : 2 3 5 8y x x ……………………………………………….……70
Hình 3.2a : Phép cộng 2 điểm ……………………………………….…………72
8
Hình 3.2b : Phép cộng 2 điểm, với Q ≡ - P …………………………...……….72
Hình 3.2c : Phép nhân đôi điểm ………………………………………………..73
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.
2. Vấn đề nghiên cứu
Để nghiên cứu vấn đề bảo mật trong truyền thông mạng vô tuyến, học viên
nghiên cứu theo các vấn đề sau:
Vấn đề an ninh và các mô hinh xác thực trong truyền thông mạng.
Khảo cứu các kỹ thuật an ninh đang được áp dụng trong các mạng truyền
thông vô tuyến phổ biến hiện nay.
Nghiên cứu phương pháp xác thực hiệu quả được áp dụng trên các thiết
bị vô tuyến nói chung và thiết bị di động nói riêng.
3. Phạm vi nghiên cứu
Khái niệm truyền thông mạng là một khái niệm rộng, do vậy trong phạm vi
của một luân văn thạc sỹ. Học viên chỉ xét các mạng vô tuyến đặc trưng và phổ biến
nhất, đó là mạng di động và mạng không dây WLAN. Trong đó sẽ tập trung chủ yếu
vào mạng di động.
Trong nghiên cứu về an ninh truyền thông, học viên sẽ giới thiệu các khái
niệm chung về an ninh truyền thông, các phương pháp tấn công. Tiếp đó học viên
nêu ra các khái niệm cơ bản về mật mã học, các hệ mật mã được sử dụng phổ biến
hiện nay, và các dịch vụ an ninh được xây dựng trên các hệ mật mã đó. Phần cuối,
học viên sẽ nghiên cứu các mô hình xác thực trong truyền thông dựa trên cơ sở các
dịch vụ an ninh đã và đang được ứng dụng hiện nay đang được ứng dụng phổ biến.
Phần tiếp theo, học viên sẽ khảo cứu các kỹ thuật xác thực trong các mạng
truyền thông phổ biến nhất hiện nay, đó là mạng di động GSM, mạng 3G và mạng
WLAN. Đối với từng mạng, học viên đi vào phân tích và nếu ra những nguy cơ an
ninh trong hoạt động của các mạng đó.
11
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
Chương 1 : Xác thực trong mạng vô tuyến
1.1. An ninh và các dịch vụ an ninh
1.1.1. Khái niệm về an ninh thông tin
An ninh có thể được hiểu là các biện pháp nhằm bảo vệ an toàn cho các dữ
liệu và các tài nguyên khỏi sự xâm hại, sự giả danh từ các tác nhân trái phép.
An ninh thông tin là một thành phần quan trọng trong bất cứ một dịch vụ, một
sản phẩm, hay hệ thống thông tin nào. An ninh trong hệ thống truyền thông thông
tin lại càng quan trọng, bởi tính chất của truyền thông thông tin là truyền sóng dưới
dạng công khai mà bất cứ ai cũng có thể tiếp cận được, và do sự phổ biến của các
dịch vụ truyền thông thông tin ngày nay.
Nói về an toàn thông tin của 1 hệ thống, giáo sư G. Spafford đã từng nói [22]:
“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.
1.1.2. Các hình thức tấn công
Để nắm rõ được các cơ chế an ninh, ta cần quan tâm tới các hình thức tấn-
công. Hiện nay, có rất nhiều hình thức tấn công vào hệ thống, nhưng ta có thể phân
thành 2 nhóm [24]: Tấn công bị động và tấn công chủ động. Tấn công bị động là
hành động thu thập thông tin, nghe lén thông tin, phân tích thông tin trên kênh
Comment [u1]: Spafford, G.,
tml
Comment [u2]: William Stalling (2005)
“Cryptography and Network Security”, pp 13-
15
13
truyền mà không phương hại tới tài nguyên hay dữ liệu của hệ thống. Tấn công chủ
độ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.
Hình 1.1 : Nghe lén thông tin
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.
Hình 1.2 : Phân tích lưu lượng
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ý.
Hình 1.3 : Giả mạo người gửi
16
Hình 1.4 : Tấn công lặp lại
Hình 1.5 : Tấn công sửa đổi dữ liệu
17
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.
1.1.3 Các dịch vụ an ninh thông tin
Dựa vào các hình thức tấn công, chuẩn kiến trúc an ninh cho mô hình OSI
X.800 [12] đưa ra 5 dịch vụ an ninh thông tin. Đó là các dịch vụ :
Bảo mật: Dịch vụ bảo mật dữ liệu đảm bảo dữ liệu không thể bị đọc bởi những
người không được phép. Theo đó dữ liệu sẽ được mã hóa, chỉ có những người được
phép có khóa hợp lệ mới có thể đọc được nội dung dữ liệu. Mặt khác, khi dữ liệu
truyền được mã hóa địa chỉ nguồn và địa chỉ đích, thì có tác dụng bảo vệ kênh
truyền khỏi cuộc tấn công phân tích lưu lượng. Dịch vụ bảo mật thông tin được sử
dụng để bảo mật dữ liệu truyền khỏi tấn công thụ động.
Dịch vụ xác thực: Dịch vụ xác thực đảm bảo được danh tính của các thực thể
truyền thông, và dữ liệu truyền thông được công bố là xác thực và không bị sửa đổi
bởi bên thứ 3.
Hình 1.6 : Tấn công từ chối dịch vụ
Comment [u3]: ITU-T
Recommendation X.800, “Security
architecture for open system
interconnection (OSI)”, pp 8-10
18
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.
1.2. Cơ bản về mật mã học
Các dịch vụ an ninh chỉ có thể được xây dựng trên nền tảng hệ thống mật mã
học. Với mỗi dịch vụ, mỗi mục đích khác nhau, có những phương pháp mã hóa
khác nhau được sử dụng. Trước khi đi chi tiết các phương pháp trong an ninh mạng
vô tuyến, ta cần có những khái niệm cơ bản về mật mã học và các hệ mật mã được
sử dụng phổ biến hiện nay.
Mã hóa (Encryption) là quá trình biến đổi một thông điệp theo 1 phương thức
nào đó nhằm giữ bí mật nội dung của thông điệp đó, theo đó các ký tự dễ hiểu của
bản gốc thông điệp ( bản rõ - plain text) bị thay thế bởi các ký tự có thứ tự hỗn độn
tạo ra một thông điệp có hình thức khó hiểu (bản mã - ciphertext). Quá trình ngược
lại với quá trình mã hóa được gọi là quá trình giải mã (Decrytion). Một hệ mật mã
(cryptography) bao gồm 1 phương pháp mã hóa và 1 phương pháp giải mã với một
hay nhiều khóa xác định để thực hiện thao tác mã hóa và giải mã. Thông thường, để
bảo đảm an toàn cho 1 thông điệp truyền, ta thường kết hợp nhiều phương pháp mã
hóa, ví dụ một lớp mã hóa để đảm báo thông điệp không bị đọc trộm bởi các thực
thể không được phép, và có thể dùng thêm một lớp mã hóa để “tạo chữ ký” cho
thông điệp truyền. Khi thông điệp đã được ký, nó có tác dụng đảm bảo tính toàn vẹn
của thông điệp, xác thực và chống chối bỏ. Ngoài ra, trong các thông điệp truyền,
có thể áp dụng kỹ thuật đóng dấu thời gian để chống tấn công lặp lại.
Các hệ mã hóa có thể được chia ra làm 2 loại chính: Mã hóa đối xứng và mã
hóa bất đối xứng. Ta sẽ cùng xét lần lượt 2 loại mã hóa này.
19
1.2.1. Mã hóa đối xứng
1.2.1.1. Khái niệm
Hệ mật mã đối xứng là hệ mật mã sử dụng thuật toán mã hóa khóa đối xứng,
tức là quá trình mã hóa và quá trình giải mã đều sử dụng chung một khóa. Để sử
dụng hệ mật mã đối xứng, người gửi và người nhận trước đó phải trao đổi một khóa
dùng chung, sau đó mới có thể tiến đến mã hóa và giải mã thông điệp gửi đi và nhận
lại.
Quá trình mã hóa và giải mã có thể được ký hiệu một cách hình thức như sau:
Gọi P (Plaintext) và C (Ciphertext) lần lượt là bản rõ và bản mã của một thông điệp.
K là tập các khóa. Ek và Dk lần lượt là 2 thủ tục mã hóa và giải mã với khóa k, ký
hiệu là:
Ek và Dk thỏa mãn tính chất sau:
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à 2128 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
E : P → Q
Dk( Ek(x) ) = x với x P
Ek( Dk(y) ) = y với y C
(1)
(2)
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]
a. ECB – Electronic Codebook
Chế độ ECB là chế độ đơn giản nhất trong các mô hình mã hóa khối. Chế độ
ECB sẽ chia bản rõ (plaintext) thành các khối có độ dài bằng nhau và mã hóa các
khối đó độc lập với nhau với cùng 1 khóa k. Do các khối được mã hóa độc lập với
nhau nên địch thủ có thể dễ dàng nhận ra được các khuôn mẫu của bản rõ dựa vào
sự giống nhau các khối trùng nhau (Hình 1.7).
Hình 1.7 : Chế độ ECB
Comment [u4]: William Stalling (2005)
“Cryptography and Network Security”, pp
181-189
21
b. CBC – Cipher Bock Chaining
Chế độ CBC chia nhỏ bản rõ (plaintext) thành các khối có độ dài bằng nhau.
Nhưng khác với chế độ EBC, các khối dữ liệu sau sẽ được thực hiện phép XOR với
bản mã của khối dữ liệu trước. Riêng khối dữ liệu đầu tiên sẽ được XOR với 1
vector khởi tạo (Initialize Vector - IV). Chế độ CBC đã khắc phục được nhược điểm
của ECB, do có khối sau được mã hóa dựa trên bản mã của khối trước đó nên địch
thủ không thể nhận biết được các mẫu khối bản rõ giống nhau (Hình 1.8).
c. CFB (Cipher Feedback)
Chế độ CFB có cơ chế hoạt động tương tự với chế độ CBC, nhưng thay vì
khối sau được XOR với bản mã của khối trước, CFB sử dụng thanh thêm 1 thanh
ghi dịch chuyển và 1 hàm băm để băm khối mã trước đó rồi mới XOR với bản rõ
(Hình 1.9).
Hình 1.8 : Chế độ CBC
22
d. OFB (Output Feedback)
Chế độ OFB có cơ chế hoạt động tương tự với chế độ CFB, nhưng thay vì bản
mã của khối trước được băm, OFB sử dụng mã băm của khối trước để băm tiếp ở
khối sau trước khi XOR với bản rõ của khối sau (Hình 1.10).
e. CTR (Counter)
Chế độ CTR sử dụng một biến đếm tăng dần theo số lượng khối, ở mỗi khối
biến đếm của khối đó được mã hóa bởi khóa K, bản mã của phép mã hóa này sẽ
được XOR với bản rõ của khối (Hình 1.11).
Hình 1.9 : CFB
23
Hình 1.10 : OFB
Hình 1.11 : CTR
24
1.2.2. Mã hóa bất đối xứng
1.2.2.1. Khái niệm
Mật mã bất đối xứng - hay còn gọi là mật mã công khai - có 2 loại khóa trong
không gian khóa là (PR, PU), trong đó PR là khóa bí mật, PU là khóa công khai. 2
thủ tục mã hóa E và giải mã D với lần lượt khóa PU và khóa PR được ký hiệu như
sau:
Thỏa mãn :
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
E : P → C
DPR( EPU(x) ) = x với x P
EPU( DPR(y) ) = y với y C
(3)
(4)
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).
Theo William Stalling, mã hóa khóa công khai có 3 chức năng chính [27]:
Mã hóa và giải mã
Chứ ký điện tử
Trao đổi khóa
Hình 1.12a : Chức năng mã hóa / giải mã
Hình 1.12b: Chức năng ký
Comment [u5]: William Stalling
(2005) “Cryptography and Network
Security”, pp 266-267
26
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.
1.2.2.2. Hệ mã hóa Diffie-Hellman
Hệ mã hóa Diffie-Hellman có cơ sở toán học từ bài toán 1 chiều của logarit rời
rạc. Bài toán lograrit rời rạc được phát biểu như sau: Cho số nguyên tố p, số y và g,
tìm số nguyên x thỏa mãn:
modxy g p
Việc tính ra y khi biết g, x và p là rất dễ dàng, nhưng việc tìm ra x từ y, g, và p
là rất khó.
Hệ mã hóa Diffie-Hellman được công bố lần đầu tiên bởi 2 nhà toán học
Whitfield Diffie và Martin Hellman năm 1976. Thuật toán Diffie-Hellman được
thiết kế nhằm phục vụ việc trao đổi khóa giữa 2 thực thể truyền thông qua môi
trường không an toàn. Theo đó 2 thực thể truyền thông không cần phải gặp trực tiếp
nhưng vẫn có thể thực hiện trao đổi khóa một cách an toàn và bí mật.
2 thực thể truyền thông Alice và Bob khi thực hiện trao đổi khóa Diffie-
Hellman sẽ thực hiện các bước sau:
Alice chọn 1 số nguyên tố p và một số nguyên cơ sở g. Alice chọn số
nguyên xa, sau đó tính được modaxay g p . Sau đó Alice công bố khóa
công khai (ya, p, g) và giữ lại khóa bí mật (xa,p,g), khóa công khai sẽ
được gửi cho Bob.
Bob chọn ra một số nguyên bí mật xb, sau đó tính được modbxby g p ,
sau đó gửi lại cho Alice số yb.
Alice tính toán ra được khóa chia chung modaxbaK y p , Bob cũng sẽ
tính được khóa chia chung modbxabK y p . Khóa Ka và Kb là 2 khóa chia
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
(5)
27
mod mod mod mod moda ba b ax xxx xa b bK y p g p p g p p K
1.2.2.3. Hệ mã hóa công khai RSA
Hệ mã hóa RSA có cơ sở toán học từ bài toán hàm 1 chiều phân tích thừa số
của một số nguyên rất lớn thành tích các thừa số nguyên tố.Cụ thể hệ mã hóa RSA
hoạt động như sau:
Chọn ra 2 số nguyên tố p, q có giá trị rất lớn (Cỡ 256 bit trở lên)
Tính ra tích n = p.q
Tính ra hàm Eule (Ơle) của tích n: ( ) ( 1)( 1)n p q
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 . 1(mod ( ))e d n
Hủy p,q, và ( )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): modec m n
Giải mã bản mã c : moddm c 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 ( ) (7 1) (13 1) 72n . Áp dụng thuật toán Euclid mở rộng ta tính ra
được . 5 29 1(mod 72)e d
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:
5mod ( ) 7 mod91 63ec m n
Sau khi Bob gửi cho Alice bản mã c=63, Alice sẽ dùng khóa bí mật của mình
để giải mã:
29mod ( ) 63 mod91 7dm c n
28
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ỏ.
1.3 Chữ ký điện tử
1.3.1. Khái niệm
Chữ ký điện tử là một kỹ thuật mật mã cung cấp dịch vụ xác thực, điều khiển
truy cập và chống chối bỏ. Mục tiêu của chữ ký điện tử là cung cấp khả năng để 1
thực thể truyền thông có thể đính kèm những thông tin có tính chất định danh lên
một thông điệp truyền. Quá trình ký 1 thông điệp là một quá trình sử dụng một số
thông tin bí mật của bên gửi để mã hóa thông điệp đó thành 1 chuỗi định danh để
chứng minh quan hệ không thể chối bỏ của thông điệp được ký và thực thể ký . Chữ
ký điện tử được định nghĩa như sau [13]:
M là tập các thông điệp được ký.
Comment [u6]: Noureddine Boudriga
(2009), “Security of mobile
communications”, Auerbach Publications, pp
59-60
29
S là tập các thành phần chữ ký (Thường là 1 xâu binary có độ dài cố
định).
Hàm “ký” SgA: M → S là hàm biến đổi từ tập M sang tập S của thực thể
truyền A. Phép biến đổi SgA được gọi là một thuật toán “ký”, với 1 khóa
bí mật.
Hàm xác thực : {0,1}AV M S là hàm biến đổi từ tập M S sang tập
{0,1} tương ứng với trạng thái không hợp lệ và hợp lệ. Hàm xác thực VA
sử dụng khóa công khai của thực thể A để xác thực thông điệp M được
truyền từ A.
Hàm ký SgA và hàm xác thực VA định nghĩa một mô hình chữ ký điện tử
của thực thể truyền thông A
Mô hình chứ ký điện tử (Sg, V) phải đảm bảo các tính chất sau:
Chữ ký SgA(m) là chữ ký hợp lệ của thực thể truyền thông A khi và chỉ
khi VA(m, SgA(m)) = 1.
Với một thông điệp m thuộc M, việc tính toán hàm ra hàm ký s của
thông điệp m đối với thực thể giả danh sao cho V(m,s) = 1 là một việc
không khả thi.
Các hàm ký Sg và hàm xác thực V là các hàm dễ tính.
Mô hình ký số và xác thực của chữ ký điện tử hoạt động như sau: Thực thể
truyền A khi muốn ký số vào thông điệp m của mình, A sẽ chọn 1 cặp khóa của hệ
mã hóa công khai, và 1 hàm băm H, A sẽ sử dụng khóa bí mật của mình để ký vào
giá trị băm của thông điệp m được băm bởi hàm băm H. Giá trị của chữ ký sẽ được
gửi đính kèm với thông điệp m. Khi B nhận được thông điệp m cùng với chữ ký của
A, B sẽ sử dụng hàm băm H để băm lại thông điệp m, sau đó sẽ sử dụng khóa công
khai của A để giải mã chữ ký số A gửi kèm, nếu giá trị được giải mã trùng với giá
trị băm của hàm H thì B sẽ chắc chắn thông điệp m là do A gửi chứ không phải một
bên thứ 3 nào khác.
30
Với việc áp dụng kết hợp các kỹ thuật đóng dấu thời gian (timestamp), chữ ký
điện tử cung cấp các dịch vụ an ninh sau:
Dịch vụ xác thực
Dịch vụ điểu khiển truy cập
Dịch vụ toàn vẹn dữ liệu
Chống chối bỏ
Bên cạnh những ưu điểm, chữ ký điện tử cũng có những yếu điểm, nó xuất
phát từ yếu điểm của mật mã khóa công khai. Mật mã khóa công khai cung cấp cho
các thực thể truyền công cụ để đảm bảo an toàn, xác thực và tin cậy, nhưng không
đảm bảo được việc có bên thứ 3 đứng giữa giả mạo (Tấn công người ở giữa – Man
in the middle)
1.3.2. Mô hình ký số RSA
Theo mô hình mật mã RSA, khóa bí mật của thực thể truyền thông A có dạng
là PRA=(n,d), khóa công khai có dạng PUA=(n,e). Không gian của thông điệp và
bảng mã là {1,2,3 … n} (n là một hợp số có giá trị rất lớn)
Để ký vào một thông điệp m, thực thể A sẽ sử dụng một hàm băm H để băm
thông điệp m về một bản mã có kích thước cố định, sau đó A sẽ sử dụng khóa bí
mật của mình để ký trên giá trị băm đó. Ta có thể viết:
( ) ( ( )) modds Sg m H m n
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 modes 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) = modes 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.
Hình 1.13: Mô hình ký số RSA
(6)
31
1.3.3. Mô hình ký số DSA
Mô hình ký số DSA là thuật toán ký số dựa trên độ khó của bài toán tính
logarit rời rạc, được đề xuất lần đầu bởi 2 nhà toán học ElGamal [11] và Schnorr
[20]
Thuật toán DSA được thực hiện qua các bước sau:
Khởi tạo:
Chọn số nguyên tố p có độ dài bit là 160bit
Chon số nguyên tố p nằm trong khoảng 1(2 ,2 )L L , với L là bội của 64
thỏa mãn 512 1024L .
Chọn số g có dạng ( 1)/ modp qg h p với h là số nguyên dương nằm
trong khoảng (1, p-1)
Tạo khóa bí mật:
Chọn 1 số nguyên ngẫu nhiên, hoặc giả ngẫu nhiên x với 0 < x < q. Khóa
bí mật là PR=( x )
Tạo khóa công khai :
Tính toán modxy g p . Khóa công khai là PU = (p, q, g, y)
Quá trình ký số thông điệp m của bên gửi :
Chọn ra số ngẫu nhiên hoặc giả ngẫu nhiên x với 0 < x < q
Tính ( mod )modkr g p q
Tính 1( ( ) ) mods K H m x r q
Công bố chứ ký Sg(m)=(r,s)
Quá trình xác thực của bên nhận :
Thông điệp bên nhận nhận được là ( m’|(r’,s’) )
Tính 1w=( ') mods q
Tính 1 ( ') w modu H m q
Tính 2 ( ' w) modu r q
Comment [u7]: ElGamal, T. "A
Public-Key Cryptosystem and a Signature
Scheme Based on Discrete Logarithms."
IEEE Transactions on Information
Theory, July 1985.
Comment [u8]: Schnorr, C. "Efficient
Signatures for Smart Card." Journal of
Cryptology, No. 3, 1991.
32
Tính 1 2 mod modu uv g y p q
Nếu v=r’ thì chữ ký trên thông điệp m là hợp lệ
Trong mô hình chữ ký điện tử DSA, hàm H được quy định là hàm băm SHA-1
Mô hình ký số và xác thực của DSA được mô tả trong hình vẽ 1.14a, và mô
hình truyền thông sử dụng chữ ký điện tử DSA được biểu diễn trong hình 1.14b
Hình 1.14a : Mô hình ký số và xác thực DSA
Hình 1.14b: Mô hình truyền thông, sử dụng chữ ký điện tử DSA
33
1.3.4. Thuật toán băm
Trong các hệ thống an ninh, thuật toán băm thường được sử dụng và giữ một
vai trò quan trọng trong các hệ thống mật mã. Một hàm băm H ánh xạ xâu dữ liệu
có độ dài hữu hạn tùy ý thành một xâu khác được gọi là mã băm có độ dài cố định
n, chiều dài cố định n phụ thuộc vào hàm băm H. Mã băm của một thông điệp được
băm bởi hàm H có đặc điểm là khi thay đổi, dù chỉ là 1 bit dữ liệu đầu vào, thì mã
băm bị thay đổi hoàn toàn mà không tuân theo một quy luật logic nào, so với mã
băm trước khi bị thay đổi.
Một hàm băm H có những đặc điểm sau:
Có thể áp dụng với thông báo M có độ dài bất kỳ.
Tạo ra giá trị băm có độ dài cố định.
H(M) có thể được tính dễ dàng với bất cứ thông báo M nào.
Từ mã băm h rất khó tìm lại được thông điệp M thỏa mã H(M)=h. Đây là
tính một chiều của hàm băm.
Từ thông báo M1, rất khó để tìm được thông điệp M2 thỏa mãn
H(M1)=H(M2). Tức hàm băm có tính chống xung đột yếu.
Rất khó để tìm được 2 thông điệp ( M1, M2 ) thỏa mãn H(M1)=H(M2).
Tức hàm băm có tính chống xung đột mạnh.
Hiện nay có rất nhiều loại hàm băm khác nhau như MD5, SHA-1, SHA-256,
SHA-512. Độ an toàn của hàm băm phụ thuộc vào loại hàm băm, cũng như chiều
dài kết quả băm.
Ví dụ: Xét hàm băm SHA-256
SHA(“”)= e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SHA(“mobile”)= d524c1a0811da49592f841085cc0063eb62b3001252a94542795d1ca9824a941
SHA(“mobilz”) = “0617a2dd1e4d7c1e00b15bf723c6a77baa7c2a74e1bbb8a97b817ba5a870cbb3”
SHA(“mobil”)=”403b42efc1997638d33da8f5282c7579d00a885c3e7bd0193fd2d26fd7ef72e0”
1.4. Xác thực và các các mô hình xác thực
Xác thực là quá trình nhằm xác nhận định danh của một thực thể truyền thống,
cũng nhưng các thông tin quan trọng đi kèm khác như tên, mật khẩu, và một số
34
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
Không có một bên thứ ba nào có thể giả mạo được.
Bên xác thực không thể tái sử dụng được các thông tin xác thực cũ của
thực thể cần xác thực để cung cấp khả năng giả mạo cho một bên thứ ba.
Thông báo được ký không thể được khôi phục lại từ mã của chữ ký trong
suốt quá trình xác thực.
Trong phần này, ta sẽ xét lần lượt các các mô hình xác thực và các đặc điểm
của các mô hình đó.
1.4.1. Mô hình xác thực yếu
Mô hình xác thực yếu là một mô hình xác thực, nhưng nó không cung cấp một
giải pháp xác thực hiệu quả và đầy đủ về tổng thể. Có hai loại hình xác thực yếu rất
được quan tâm bởi đó là các phương pháp xác thực tự nhiên và rất phổ biến hiện
này, đó là mô hình xác thực dựa trên mật khẩu (Password-based Authentication) và
mô hình xác thực dựa trên mã cá nhân (PIN-based Authentication)
1.4.1.1. Xác thực dựa trên mật khẩu
Xác thực dựa trên mật khẩu là phương pháp xác thực người dùng phổ biến
nhất hiện nay. Hệ xác thực dựa trên mật khẩu được xây dựng trên mô hình chia sẻ
mật khẩu giữa người sử dụng và hệ thống, hệ thống sẽ lưu các bản ghi chứa mật
khẩu chia sẻ của người dùng, mật khẩu này sẽ được người sử dụng dùng để cung
cấp cùng với tên định danh khi đăng nhập trong bước xác thực.
Các hệ xác thực dựa trên mật khẩu thường được phân biệt bởi phương thức
lưu trữ mật khẩu trong hệ thống. Ở các hệ thống thế hệ trước, mật khẩu thường
được lưu dưới dạng bản rõ (plaintext) trên hệ thống file hoặc trong một cơ sở dữ
liệu. Việc lưu như vậy khá nguy hiểm, bởi ai có thẩm quyền truy cập hệ thống
(Quản trị viên, hoặc hacker khi chiếm được quyền kiểm soát) đều có thể lấy cắp
được mật khẩu và thông tin của người dùng. Để khắc phục nhược điểm này, các hệ
thống ngày nay thường lưu mật khẩu dưới dạng mã băm sử dụng hàm băm 1 chiều
(Ví dụ là MD5, SHA-256) của mật khẩu người dùng. Theo đó, khi người dùng nhập
mật khẩu đăng nhập, mật khẩu đó sẽ được băm thành mã băm, sau đó hệ thống sẽ so
sánh mã băm đó với mã băm mật khẩu được lưu trong hệ thống. Biện pháp này đảm
bảo rằng mật khẩu nguyên gốc của người dùng không bị lộ, ngay cả khi người quản
trị hay hacker xem được bản chứa mật khẩu được lưu trong hệ thống.
Mô hình xác thực dựa trên mật khẩu hiện nay đã bộc lộ một số yếu điểm về an
ninh. Kẻ tấn công có nhiều phương pháp chiếm quyền kiểm soát của người sử dụng
bằng cách đánh cắp mật khẩu. Phương pháp đơn giản nhất là kẻ tấn công sẽ sử dụng
36
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.
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.
1.4.1.2. Xác thực dựa trên mã định danh cá nhân (PIN-based
Authentication)
Mô hình xác thực dựa trên mã định danh cá nhân sử dụng các thiết bị vật lý để
lưu trữ mã định danh cá nhân như thẻ SmartCard, hay USB Token. Mỗi người sử
dụng được cấp một mã cá nhân (PIN) có chiều dài từ 4-10 chữ số, mã cá nhân được
bảo vệ trong thiết bị vật lý bằng mật khẩu tự đặt của người sử dụng. Khi đăng nhập
vào hệ thống, ở bước xác thực, người dùng phải cắm thiết bị vào máy tính để nhập
mã PIN, thông thường khi đó thiết bị sẽ yêu cầu người sử dụng nhập mật khẩu để có
thể kích hoạt mã PIN được lưu trong thiết bị. Để đảm bảo mã PIN của người sử
dụng được an toàn ngay cả trong trường hợp người sử dụng bị mất, thiết bị token sẽ
khóa hoặc tự hủy nếu kẻ tấn công nhập sai mật khẩu sử dụng trong một số lần liên
tiếp (Thường là 3 lần hoặc 5 lần).
1.4.2. Mô hình xác thực mạnh
Thông thường, mô hình xác thực mạnh thường sử dụng các giao thức xác thực
dựa trên việc hỏi và trả lời (Challenge-Response), các giao thức đó có thể được mô
tả như sau: Một người sử dụng khi muốn truy cập vào một dịch vụ hay một hệ
thống, anh ta phải chứng minh được danh tính của mình với hệ thống bằng những
Comment [u9]: William Stalling (2005)
“Cryptography and Network Security”,
Prentice Hall Publisher, pp 338
37
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ã
39
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)
(3) A → B : E(PUB, r || m’)
1.4.2.2. Giao thức xác thực dựa trên kỹ thuật zero-knowledge
Như đã đề cập ở phần trên, các phương pháp xác thực thường bên cần xác
thực phải công bố hoặc tiết lộ một phần hoặc những thông tin liên quan tới những bí
mật của họ để được xác thực. Sẽ rất nguy hiểm nếu bên xác thực có ý đồ xấu muốn
khôi phục lại những thông tin bí mật của người cần xác thực dựa trên những thông
tin bên cần xác thực cung cấp cho ở những phiên xác thực trước. Ví dụ với giao
thức xác thực dùng mật mã khóa đối xứng, bên A sẽ bị tổn thương nếu bên B cố
tình tiết lộ khóa chia sẻ của A và B cho một bên thứ ba khác. Kỹ thuật xác thực
zero-knowledge được đề xuất cho phép người cần xác thực vẫn có thể xác thực
được mà không cần tiết lộ những thông tin bí mật liên quan tới khóa của mình cho
bên xác thực. Ngược lại, từ những thông tin bên cần xác thực cung cấp ở những
40
phiên xác thực trước, bên xác thực không thể khôi phục và tạo ra được thông tin xác
thực giả mạo cho bên thứ ba.
Về cơ bản, kỹ thuật xác thực zero-knowledge sử dụng các thông điệp trao đổi
kết hợp với các yếu tố ngẫu nhiên để xác thực. Thuật toán Fiat-Shamir [1] là một
trong những thuật toán áp dụng kỹ thuật xác thực zero-knowledge. Ta hãy xét thuật
toán Fiat-Shamir để minh họa cho kỹ thuật xác thực zero-knowledge.
Bước 1 : Bước khởi tạo
Ta xét ngữ cảnh là Alice cần xác thực với Bob, thuật toán Fiat-Shamir
yêu cầu một bên thứ ba tin cậy làm trung gian gọi là John.
Darth chọn ra 2 số nguyên tố rất lớn p và q, tính ra tích n = p.q. Darth
công bố số tích n nhưng giữ bí mật p và q.
Alice chọn một số nguyên dương s, nguyên tố cùng nhau với số n làm
khóa bí mật, tính ra c = s2 mod n và đăng ký với Darth khóa công khai
của mình là c.
Bước 2: Quá trình trao đổi thông điệp
Alice tạo ra một số ngẫu nhiên r với 0 < r <n và thực hiện trao đổi với
Bob qua giao thức sau:
(1) Alice → Bob : x= r2 mod n
(2) Bob → Alice : 1 bit ngẫu nhiên b
(3) Alice → Bob : y = r x sb mod n
Comment [u10]: [FS86] Amos Fiat and
Adi Shamir. How to prove to yourself:
practical solutions to identication and
signature problems. In Advances in
Cryptology{Crypto 86, pages 186-194,
Springer, Berlin, 1987.
41
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
1
t
i ir , tính được t giá trị 1
t
i ix và xác định được t số 1
t
i iy . Trong khi
đó Bob chọn ra được t số bit ngẫu nhiên 1
t
i ib , và nhận được t số 1
t
i ix
và t số 1
t
i iy từ Alice. Với:
2 modi ix r n
modbii iy r s n
Bước 3: Xác thực
Bob sẽ xác thực Alice nếu : 2 modbi iy x c n với i t , và yi khác 0.
Thật vậy ta có:
22 2 2mod mod mod mod mod
bib bi
i i i ix c n r n s n n r s n y
Xét thông điệp Bob gửi cho Alice ở bước (3) :
mod ; 0
( )mod ; 1
r n r by
r s n b
Ta nhận thấy nếu Bob sinh ra bit b=0 thì kết quả y Alice trả lại sẽ là r – độc
lập với s. Ngược lại nếu bit b = 1 thì kết quả y trả lại bằng y =( r x s ) mod n – là
giá trị độc lập với khóa bí mật s của Alice bởi r được sinh ngẫu nhiên, hay nói các
khác khóa bí mật s đã được che dấu bởi 1 đại lượng ngẫu nhiên.
Thuật toán Fiat-Shamir là một minh họa đơn giản và rõ nét cho kỹ thuật xác
thực zero-knowledge. Thuật toán được trình bày ở trên là một dạng cơ bản của thuật
toán Fiat-Shamir, thực tế thuật toán này đến nay đã được cải tiến rất nhiều để tăng
cường độ bảo mật của giao thức.
1.4.2.3. Giao thức xác thực dựa trên thiết bị hỗ trợ
Thông thường, người sử dụng khi tham gia một phương pháp xác thực yếu
thường bị tấn công bằng cách giả mạo, bị nghe lén, hoặc bị tấn công lặp lại. Một
phương pháp tiếp cận được xếp vào loại mô hình xác thực mạnh, đó là sử dụng một
42
thiết bị bảo mật chuyên dụng với năng lực xử lý và bộ nhớ rất hạn chế. Các thiết bị
bảo mật này tuy có năng lực xử lý hạn chế, nhưng được thiết kế để tối ưu khả năng
thực thi các giải thuật mã hóa, giải mã, nhằm xác thực và đảm bảo an ninh cho
người sử dụng trong các môi trường không an toàn. Do được thiết kế tối ưu và bảo
mật, nên không gian khóa của thiết bị thường rất lớn, nên việc tấn công bằng
phương pháp vét cạn là không khả thi. Khóa xác thực của người sử dụng (Có thể là
khóa chia sẻ, hoặc khóa bí mật ) được lưu trong bộ nhớ của thẻ, khóa này được bảo
vệ bởi mã PIN của người sử dụng.
Hiện nay, các phương pháp xác thực dựa trên thiết bị khác nhau ở rất nhiều
mặt, một số tính năng sau mô tả những khác biệt đó:
Giao diện sử dụng của thiết bị: Mỗi loại thiết bị khác nhau có giao diện sử
dụng, hay giao diện so với máy trạm là khác nhau, ví dụ như với thẻ thông
minh (SmartCard), có loại từ tiếp xúc gần, có loại tiếp xúc chạm. Hoặc USB
Token chỉ cần cắm trực tiếp vào cổng USB của máy tính là có thể sử dụng mà
không cần đầu đọc chuyên dụng.
Đồng hồ: Tham số thời gian được sử dụng trong rất nhiều ứng dụng hoặc giao
thức xác thực sử dụng con dấu thời gian. Nhưng việc hỗ trợ đồng hồ thì không
phải thiết bị nào cũng hỗ trợ.
Không gian bộ nhớ: Là bộ nhớ đọc và ghi (quyền sử dụng hợp lệ), và là bộ
nhớ lưu trữ lâu dài, lưu trữ các thông tin nhạy cảm như mật khẩu, khóa, hoặc
các số ngẫu nhiên của thuật toán mật mã.
Khả năng mã hóa : Là khả năng hỗ trợ các loại giải thuật mật mã khác nhau,
với các độ lớn khóa khác nhau.
Thông tin trao đổi : Là quy định về kích thước cũng như thông tin trao đổi
giữa thiết bị và hệ thống. Mỗi thiết bị của các hãng khác nhau thường có thông
tin trao đổi khác nhau, và thậm chí các thiết bị khác nhau của cùng 1 hãng
cũng có những thông tin trao đổi khác nhau.
1.5. Kết luận chương 1
Chương 1, luận văn đã giới thiệu các yêu cầu về an ninh mạng, các dạng tấn
công trong an ninh mạng, các bài toán cơ bản trong xác thực mạng và các kỹ thuật
xác thực đã và đang được áp dụng trong thực tế.
Các vấn đề đưa ra trong chương này làm cơ sở để phân tích và xem xét các kỹ
thuật xác thực mạng được sử dụng trong các mạng vô tuyến phổ biến hiện nay.
43
44
Chương 2: Xác thực trong các mạng vô tuyến thế
hệ sau
Ở 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.
2.1. Xác thực trong mạng GSM
2.1.1 Giới thiệu mạng GSM
Hệ thống thông tin di động toàn cầu ( Global System for Mobile
Communication ) được viết tắt là GSM, là một chuẩn công nghệ cho mạng thông tin
di động được phê chuẩn bởi Viện tiêu chuẩn viễn thông Châu Âu (European
Telecommunications Standards Institute - ETSI), GSM là một chuẩn phổ biến đã
được áp dụng và triển khai tại hơn 212 quốc gia trên khắp thế giới, với số lượng
người sử dụng là hơn 2 tỷ người.
Hình 2.1 : Hạ tầng mạng GSM
45
Các thành phần chính trong hạ tầng mạng GSM được mô tả trong hình 2.1,
bao gồm [14]:
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.
Comment [u11]: Noureddine
Boudriga (2009), “Security of mobile
communications”, Auerbach Publications,
pp 166-169
46
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
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.
2.1.2. Mô hình an ninh của mạng GSM
Mạng GSM có cung cấp cơ chế chứng thực thuê bao và mã hóa thông tin
truyền trong môi trường. Các cơ chế đó được xây dựng để đáp ứng những yêu cầu
về mặt an ninh trong mạng GSM. Trong phần tiếp theo, học viên xin trình bày các
47
yêu cầu an ninh trong mạng GSM và mô hình an ninh của GSM xây dựng để đáp
ứng các yêu cầu đó.
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.
Các yêu cầu về an ninh trong mạng GSM có thể được liệt kê như sau [15]:
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
Comment [u12]: Noureddine
Boudriga (2009), “Security of mobile
communications”, Auerbach Publications,
pp 175-179
48
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 đó.
Trong hình mô hình 2.2 :
A3: Là thuật toán mã hóa sinh mã xác thực SRES
A8: Là thuật toán mã hóa sinh khóa phiên Ks
A5: Là thuật toán mã hóa đối xứng, bảo mật thông tin trên đường truyền.
Mô hình an ninh của mạng GSM cung cấp các dịch vụ an ninh: Xác thực
người dùng, bảo mật thông tin. Ta sẽ xem xét lần lượt từng dịch vụ an ninh của
mạng GSM.
2.1.3. Dịch vụ xác thực trong mạng GSM
Xác thực các thuê bao sử dụng trong mạng là việc hết sức quan trọng, nhờ đó
mà mạng GSM xác định được thuê bao hợp lệ của mạng và phòng chống được
những thuê bao sử dụng trái phép như tin tặc hay các thuê bao từ thẻ SIM nhân bản.
Tham gia giao thức xác thực giữa mạng GSM và thuê bao di động có 2 thành phần
đó là thẻ SIM của thuê bao di động và thành phần xác thực AuC (Authentication
Center) thuộc bộ ghi địa chỉ thường trú HLR của mạng GSM.
Hình 2.2 : Mô hình an ninh mạng GSM
49
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ừ
Hình 2.3 : Mô hình xác thực trong mạng GSM
50
đ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.
2.2. Xác thực trong mạng 3G
2.2.1. Giới thiệu mạng thông tin di động 3G
Mạng thông tin di động thế hệ 3, hay con gọi là mạng 3G là thế hệ tiếp theo
của mạng di động thế hệ 2, cung cấp nhiều khả năng vượt trội mà mạng 2G chưa
làm được như chuyển vùng quốc tế trên toàn cầu (Bao gồm cả dịch vụ thoại và dịch
vụ dữ liệu), dịch vụ truyền dữ liệu tốc độ cao, và nhiều dịch vụ giá trị gia tăng trên
nền tảng 3G.
Do nhận thức rất sớm về tầm quan trọng của mạng thông tin di động 3G, việc
nghiên cứu và xây dựng mạng 3G đã được thực hiện rất sớm với sự tham gia của
nhiều tổ chức. Có rất nhiều đề xuất được đưa lên, nhưng cuối cùng liên minh viễn
thông quốc tế (ITU - International Telecommunications Union) đã tổng hợp và đưa
ra bộ đặc tả của mạng thông tin di động thế hệ thứ 3 có ký hiệu là IMT-2000
( International Mobile Telecommunications for the year 2000). IMT-2000 hướng tới
xây dựng mạng thông tin động 3G hướng tới những mục tiêu sau:
Cung cấp đa dạng các dịch vụ bằng vùng phủ sóng lớn với chất lượng
thoại tốt hơn và băng thông dữ liệu lớn hơn.
Cung cấp tốc độ truyền dữ liệu cao hơn: 2Mbps đối với môi trường cố
định, 384Kbps đối với người đi bộ, và 144Kbps đối với người di chuyển
trên xe.
Khắc phục và tăng cường mức độ an ninh so với mạng thông tin di động
thế hệ thứ 2.
Cho phép kết nối và chuyển vùng linh hoạt.
51
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]:
Hình 2.4 : Kiến trúc mạng 3G UMTS
Comment [u13]: Noureddine
Boudriga (2009), “Security of mobile
communications”, Auerbach Publications,
pp 208-212
52
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
53
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.
2.2.2. Mô hình an ninh trong mạng 3G
Tượng tự như trong phần nghiên cứu an ninh trong mạng GSM, trong phần
này ta sẽ xét phương pháp xác thực và bảo mật trọng mạng UTMS
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.
Hình 2.5 : Mô hình an ninh mạng UMTS
54
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).
2.2.3. Dịch vụ xác thực và trao đổi khóa
Khác với cơ chế xác thực trong mạng GSM, cơ chế xác thực trong mạng
UTMS là cơ chế xác thực 2 chiều. Cơ chế xác thực trong mạng UTMS được xây
dựng trên cơ sở giao thức xác thực sử dụng khóa chung chia sẻ giữa thành phần xác
thực AuC của HLR và USIM của MS. Ngoài chia sẻ một khóa chung, AuC và
USIM còn sử dụng chung 1 biến đếm, biến đếm được lưu trên AuC được gọi là
SQNHE, ứng với mỗi thuê bao AuC sẽ lưu một biến đếm cho riêng thuê bao đó. Ở
dưới MS, USIM cũng lưu và duy trì 1 biến đếm khác ký hiệu là SQNMS, biến đếm
này sẽ lưu số thứ tự đã đếm cao nhất được USIM
55
.
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.
MS VLR/SGSN AuC
1. Gửi yêu cầu kết nối
2. Y/c sinh vector xác thực
3. Các vector xác thực AVs
4. M = RAND || AUTN
Sinh vector
xác thực AVs
Chọn vector xác- thực AV = RAND ||
XRES || CP || CI || AUTN
Sinh vector xác thực, được kết quả
RES, XMAC, CP, CI.
Xác thực mạng dựa vào XMAC
5. Gửi mã xác thực RES So sánh XRES và RES
để xác thực MS
Hình 2.6 : Giao thức xác thực 2 chiều mạng UMTS
56
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 : Sinh vector xác thực tại AuC
57
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 2 ( , )XRES f RAND K
Các trường 3( , )CP f RAND K , 4 ( , )IK f RAND K
Trường cuối cùng AUTN là một trường đặc biệt
|| AMF||AUTN SQN AK MAC
Với 5( , )AK f 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, 1( , , , AMF)MAC f RAND K SQN 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.
Hình 2.7b: Thuật toán sinh xác thực tại USIM
58
Các hàm 1 2 3 4 5, , , ,f f f f f đượ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.
2.3. Xác thực trong mạng cục bộ không dây WLAN
2.3.1. Giới thiệu về mạng cục bộ không dây WLAN
Mạng cục bộ không dây WLAN (Wireless Local Area Network) hay còn gọi
là mạng không dây Wifi là hệ thống mạng cho phép có thiết bị đầu cuối có thể truy
cập mạng cục bộ, mạng Internet thông qua môi trường truyền sóng Radio.
Để các thiết bị không dây có thể kết nối nhau, và kết nối với các thiết bị trong
mạng cục bộ như một mạng cục bộ thống nhất. Tổ chức IEEE đã thiết kế chuẩn kết
nối không dây 802.11 thừa kế mô hình Ethernet – Là chuẩn kết nối mạng cục bộ có
dây đã rất thành công và phố biến được sử dụng trong mạng LAN – Theo đó IEEE
802.11 thiết kế đặc tả tầng vật lý (PHY – Physical ), và tầng điều khiển truy cập
trung gian (MAC – Medium Access Control ) nằm dưới lớp điều kiển logic (LLC –
Logical Link Control):
Tầng vật lý PHY : Đặc tả phương thức truyền dữ liệu qua sóng radio, tầng
PHY là tầng thường được thay đổi trong mỗi phiên bản sửa đổi của IEEE
802.11 nhằm nâng cao chất lượng truyền dữ liệu bằng việc cải tiến các phương
pháp truyền.
Tầng điều khiển truy cập trung gian MAC: Là tầng nằm trên tầng vật lý PHY,
chạy giao thức điều khiển truy cập cảm ứng đa sóng mang và chống tắc nghẽn
(CSMA/CA) – Đây là giao thức thiết kế riêng cho việc truyền frame dữ liệu
giữa các thiết bị không dây – Giao thức CSMA/CA là cải tiến của giao thức
CSMA/CD được sử dụng trong mạng Ethernet có dây nhằm đáp ứng được
những vấn đề trong truyền dữ liệu mạng không dây.
59
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
Hình 2.8 : Tham chiếu giữa mô hình IEEE 802.1và mô hình OSI
60
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).
2.3.2. Mô hình an ninh mạng WLAN
2.3.2.1. Các vấn đề an ninh trong mạng WLAN
Trước khi nghiên cứu các phương pháp an ninh trong mạng WLAN, ta cần
xem xét những vấn đề an ninh mang mạng WLAN có thể gặp.
Do đặc điểm truyền dữ liệu thông qua sóng radio, các vấn đền an ninh của
mạng WLAN cũng có nhiều điểm khác so với mạng LAN. Với mạng LAN, để có
tấn công được hệ thống địch thủ phải kế nối được mạng đó. Nếu địch thủ có thể
nằm vùng trong mạng thì địch thủ chỉ việc cắm đầu dây mạng vào cổng LAN của
mạng, vấn đề này thuộc về chính sách an ninh vật lý nên ta không xét ở đây. Nếu
địch thủ tấn công từ mạng bên ngoài, địch thủ sẽ phải vượt qua được hệ thống
tường lửa của doanh nghiệp trước khi xâm nhập được vào trong, điều này là cực kỳ
khó khăn. Nhưng mới mạng WLAN thì khác, địch thủ khi năm trong vùng phủ sóng
của một điểm truy cập AP, nếu không được bảo vệ địch thủ đó có thể dễ dàng xâm
nhập được vào mạng nội bộ, từ đó có thể tiến hành được nhiều cuộc tấn công nguy
hiểm khác. Mặt khác, do mạng WLAN truyền dữ liệu bằng sóng radio, nên địch thủ
càng dễ dàng có thể thực hiện các hành vi nghe trộm, hoặc giả mạo hoặc sửa đổi
thông tin truyền của các thực thể hợp lệ trrong mạng.
Do vậy mạng nội bộ không dây an toàn phải đảm bảo được những yêu cầu về
an ninh sau:
Tính xác thực : Chỉ máy trạm STA hợp lệ mới được phép truy cập vào
mạng WLAN.
Tính bảo mật : Kênh dữ liệu truyền thông giữa máy trạm STA và AP
phải được bảo mật, tức là không có bên thứ ba nào có thể nghe lén được
dữ liệu truyền.
Tính toàn vẹn : Dữ liệu truyền phải đảm bảo tính toàn vẹn, chống được
tấn công sửa đổi.
2.3.2.2. Giải pháp an ninh trong mạng WLAN
Trong chuẩn IEEE 802.11ban đầu không nêu ra một biện pháp an ninh nào áp
dụng cho mạng WLAN. Tuy nhiên một số nhà sản xuất cung cấp cơ chế lọc địa chỉ
MAC để xác định quyền truy cập của người sử dụng, theo đó thiết bị AP sẽ chỉ chấp
61
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.
62
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 tro
Các file đính kèm theo tài liệu này:
- LUẬN VĂN- XÁC THỰC TRONG CÁC MẠNG VÔ TUYẾN.pdf