Bảo mật trong thông tin di động
THUẬT NGỮ VIẾT TẮT
3GPP 3
rd
Generation Partnership Project Đề án đối tác thế hệ ba
AH Authentication Header Mào đầu nhận thực
AMF Authentication and Key Management
Field
Trường quản lý khoá và nhận
thực
AuC Authentication Center Trung tâm nhận thực
AUTN Authentication Token Thẻ nhận thực
AV Authentication Vector Véc tơ nhận thực
CA Certification Authority Chính quyền chứng nhận
CAPI Cryptographic Application Program
Interface
Giao diện chương trình ứng
dụng
CCITT Consultative Committee for International
Telephony and Telegraphy
Uỷ ban tư vấn về điện báo và
điện thoại quốc tê
CH Corresponding Host Máy đối tác
COA Care of Address Chăm sóc địa chỉ
CRL Certificate Revocation List Danh sách thu hồi chứng nhận
CS Certificate Server Server chứng nhận
DARPA Defense Advanced Research Projects
Agency
Cơ quan các dự án nghiên cứu
tiên tiến quốc phòng
DES Data Encryption Standard Chuẩn mật mã dữ liệu
IMUI International Mobile User Identifier Bộ nhận dạng người sử dụng di
động thế giới
IPSec Internet Protocol Security An ninh giao thực Internet
ISAKMP Internet Security Association and Key
Management Protocol
Giao thức quản lý khoá và liên
kết an ninh Internet
ITU International Telecommunications Union Liên minh viễn thông quốc tế
KDC Key Distribution Center Trung tâm phân phối khoá
LAN Local Area Network Mạng nội bộ
MAC Message Authentication Code Mã nhận thực bản tin
MH Mobile Host Máy di động
MoIPS Mobile IP Security An ninh an ninh di động
MSR Modular Square Root Modul căn bậc hai
PDA Personal Digital Assistant Trợ giúp số cá nhân
PKI Public-Key Infrastructure Cơ sở hạ tầng khoá công cộng
RAND Random number Số ngẫu nhiên
RCE Radio Control Equipment Thiết bị điều khiển vô tuyến
RFC Request For Comments Yêu cầu phê bình
RPC Remote Procedure Call Cuộc gọi thủ tục xa
SN Serving Node Node phục vụ
SNBS Serving Network Base Station Trạm gốc mạng phục vụ
SPD Security Policy Database Cơ sở dữ liệu chính sách an
ninh
SPI Security Parameters Index Chỉ mục các tham số an ninh
UMTS Universal Mobile Telecommunications
System
Hệ thống viễn thông di động
toàn cầu
USIM UMTS Subscriber Identity Module Modul nhận dạng thuê bao
cắp.
1.1: MỤC ĐÍCH
- Tìm hiểu kỹ thuật bảo mật trong thông tin di động
- Bảo mật mạng thông tin 2G và 3G
- Mục đích của nhận thực có thể được phát biểu khá đơn giản nhưng không hình thức
và không chính xác. Sau khi nhận thực, hai thành phần chính (con người, máy tính,
dịch vụ) phải được trao quyền để được tin rằng chúng đang liên lạc với nhau mà
không phải là liên lạc với những kẻ xâm nhập
- Bảo mật đuợc thông tin qua hình thức xữ lý thông tin hay một quá trình xũ lý khác
- Đảm bảo tính bảo mật cho người sữ dụng
- Tăng khả năng phát triển của thông tin di động
1.2 . ĐỐI TƯỢNG NGHIÊN CỨU
- Nghiên cứu các thế trong thông tin di động như 2G và 3G
- Các phương pháp đa truy cập trong mạng 2G và 3G
- Các hệ thống chuyển mạch 2G,3G
- Phương pháp khóa công cộng
- Nhận thực thuê bao
1.3: PHẠM VI NGHIÊN CỨU
- Các giao thức bảo mật cho mạng 2 G, 3 G
Trang: 4
Bảo mật trong thông tin di động
- Nhận thực thuê bao cho mạng 2G
- Hoạt động của gioa thức nhận thực GSM
- Các phương pháp bảo mật mạng thông tin di động
1.4: Ý NGHĨA ĐỀ TÀI
- Giúp cho chúng ta bí mật hơn trong thông tin mà người sữ dụng cần bảo mật
- Tăng tính chất bảo mật cho khách hàng
- Không làm ảnh hưởng cho người sử dụng khi đang thông tin với nhau qua thông tin
di đông. Người sử dụng dể dàng liên lạc với nhau mà không sợ người khác nghe
được. Dù công nghệ thông tin đến thời điểm hiện nay rất phát triển và phát triển lên
tiên sử dụng phổ tần 25MHz ở dải tần 900MHz. FDMA được sử dụng để chia băng tần
25MHz thành 124 kênh tần số vô tuyến (độ rộng kênh là 200kHz). Với mỗi tần số lại sử
dụng khung TDMA với 8 khe thời gian. Ngày nay các hệ thống GSM hoạt động ở băng
tần 900MHz và 1.8GHz trên toàn thế giới (ngoại trừ Mỹ hoạt động trên băng tần 1.9GHz)
Cùng với GSM, một công nghệ tương tự được gọi là PDC (Personal Digital
Communications), sử dụng công nghệ TDMA nổi lên ở Nhật. Từ đó, một vài hệ thống
khác sử dụng công nghệ TDMA đã được triển khai khắp thế giới với khoảng 89 triệu
người sử dụng. Trong khi GSM được phát triển ở Châu Âu thì công nghệ CDMA được
phát triển mạnh ở Bắc Mỹ. CDMA sử dụng công nghệ trải phổ và đã được thực hiện trên
khoảng 30 nước với ước tính khoảng 44 triệu thuê bao.
Trong khi GSM và các hệ thống sử dụng TDMA khác trở thành công nghệ vô
tuyến 2G vượt trội, công nghệ CDMA cũng đã nổi lên với chất lượng thoại rõ hơn, ít
nhiễu hơn, giảm rớt cuộc gọi, dung lượng hệ thống và độ tin cậy cao hơn. Các mạng di
động 2G trên đây chủ yếu vẫn sử dụng chuyển mạch kênh. Các mạng di động 2G sử dụng
công nghệ số và có thể cung cấp một số dịch vụ ngoài thoại như fax hay bản tin ngắn ở
tốc độ tối đa 9.6 kbps, nhưng vẫn chưa thể duyệt web và các ứng dụng đa phương tiện.
Hình vẽ dưới đây thể hiện tổng quan về ba công nghệ TDMA, FDMA và CDMA.
Trang: 6
Bảo mật trong thông tin di động
Hình 1.1: Các phương pháp đa truy nhập.
1.3 Cấu trúc mạng GSM
1.3.1: Sơ đồ khối
Mạng GSM được chia làm bốn phần chính:
• Máy di động MS.
• Hệ thống trạm gốc BSS.
• Hệ thống chuyển mạch SS.
• Trung tâm vận hành, bảo dưỡng OMC.
Trang: 7
Bảo mật trong thông tin di động
Hình 1.2: Cấu trúc mạng GSM.
• Thanh ghi định vị thường trú - HLR.
• Thanh ghi định vị tạm trú - VLR.
• Trung tâm nhận thực - AuC.
• Thanh ghi nhận dạng thiết bị - EIR.
MSC:
Thành phần trung tâm của khối SS. Thực hiện các chức năng chuyển mạch của
mạng. Nó còn cung cấp kết nối đến các mạng khác.
GMSC:
Là điểm kết nối giữa hai mạng. Cổng MSC là nơi giao tiếp giữa mạng di động và
mạng cố định. Nó chịu trách nhiệm định tuyến cuộc gọi từ mạng cố định đến mạng GSM.
HLR:
Là cơ sở dữ liệu quan trọng lưu trữ các thông tin về thuê bao thuộc vùng phủ sóng
của MSC. Nó còn lưu trữ vị trí hiện tại của các thuê bao cũng như các dịch vụ mà thuê
bao đang được sử dụng.
Trang: 9
Bảo mật trong thông tin di động
VLR:
Lưu trữ các thông tin cần thiết để cung cấp dịch vụ thuê bao cho các máy di động
từ xa. Khi một thuê bao vào vùng phủ sóng của MSC mới, VLR sẽ kết hợp với MSC yêu
cầu thông tin về thuê bao này từ HLR tương ứng, lúc này VLR sẽ có đủ thông tin để đảm
bảo cung cấp dịch vụ thuê bao mà không cần hỏi lại HLR mỗi lần thiết lập cuộc gọi. VLR
luôn đi kèm với một MSC.
AuC:
Thanh ghi AuC được dùng cho mục đích bảo mật. Nó cung cấp các tham số cần
thiết cho chức năng nhận thực và mã hoá. Các tham số này giúp xác minh sự nhận dạng
thuê bao.
EIR:
EIR được dùng cho mục đích bảo mật. Nó là một thanh ghi lưu trữ các thông tin về
các thiết bị mobile. Cụ thể hơn là nó lưu trữ danh sách các đầu cuối hợp lệ. Một đầu cuối
được nhận dạng bằng một IMEI. EIR cho phép cấm các cuộc gọi từ các đầu cuối bị đánh
trung tâm nhận thực, được lưu trữ đầu tiên trong HLR, và gửi tới VLR khi một thuê bao
tìm cách thiết lập một phiên làm việc trong khi thuê bao đang chuyển vùng.
1.4.4: Các thành phần của bộ ba
• RAND: RAND là một số ngẫu nhiên 128 bit được sinh ra bởi trung tâm nhận
thực. Nó luôn được sử dụng trong giai đoạn đầu thực hiện thủ tục Challenge-
Response của chuỗi nhận thực GSM.
• SRES (Signed Response) : Là một số 32 bit, SRES là kết quả khi sử dụng thuật
toán A
3
GSM cho RAND 128 bit.
• K
c
(Session Key): K
c
là một khoá phiên 64 bit, K
c
sử dụng để mã hóa và giải mã
hóa dữ liệu truyền giữa handset và BS trong một phiên truyền thông GSM đơn
giản. K
c
được sinh ra trong SIM về phía handset bằng cách cung cấp RAND 128
bit và khoá nhận dạng duy nhất của thuê bao K
i
cho thuật toán A
8
. Do đó K
c
là
khóa duy nhất đối với cả thuê bao cá nhân.
Trang: 11
. Thêm vào đó, AuC đã tính được khoá phiên K
c
trong
một cách tương tự, sử dụng thuật toán A
8
.
4. HLR gửi (RAND) đến MS như một yêu cầu.
5. MS tính toán ra (SRES’) từ RAND do HLR gửi đến và K
i
trên SIM. SIM trên
MS sử dụng thuật A
3
và khoá K
i
để thực hiện thuật toán A
3
sinh ra SRES riêng
của nó (SRES’).
6. MS gửi (SRES’) về HLR (đáp lại yêu cầu của bước 4).
7. HLR đối chiếu SRES tự tạo và SRES’ do MS gửi về: Nếu trùng khớp thì nhận
thực thành công, còn không thì từ chối MS hoặc yêu cầu nhận thực bằng IMSI
(nếu đang dùng TMSI).
Hình1.4: Sơ đồ tổng quát nhận thực trong GSM.
Trang: 13
Bảo mật trong thông tin di động
Hình 15: Sơ đồ chi tiết quá trình nhận thực trong GSM.
Hình 1.6. Mô hình an ninh cho giao diện vô tuyến GSM
Trang: 14
Bảo mật trong thông tin di động
Hình 1.7: Luồng thông tin trong chuỗi nhận thực thuê bao GSM.
8
đều được thực hiện trên SIM.
• Các Operator có thể chọn lựa các thuật toán theo mong muốn.
• Việc ứng dụng các thuật toán A
3
, A
8
không phụ thuộc vào nhà sản xuất phần
cứng và các Operator.
• Thực tế hai thuật toán A
3
, A
8
được thực hiện đồng thời qua COMP128.
1.5.2: Mã hoá thông tin đường truyền (Ciphering)
Trang: 15
Bảo mật trong thông tin di động
Mục tiêu: Bảo vệ dữ liệu trên đường truyền vô tuyến.
• Bảo vệ các thông tin cá nhân của thuê bao.
• Bảo vệ thông tin báo hiệu.
• Ngăn ngừa việc nghe trộm.
Kỹ thuật: Sử dụng K
c
để mã hóa và khôi phục dữ liệu. Được thực hiện trên máy đầu cuối.
Thuật toán mã hóa được sử dụng là thuật toán A
5
. Thuật toán A
5
được lưu trữ bằng
phần cứng trên thiết bị di động, bộ xử lý của ĐTDĐ sẽ chịu trách nhiệm thực hiện.
dư của phép chia số hiệu khung cho 51, T3 là phép dư của phép chia số hiệu khung cho
26. Hàm Fn được dùng cho thuật toán mã hoá dữ liệu A
5
.
Trang: 16
Bảo mật trong thông tin di động
Hình 1.10: Cấu trúc Fn.
Thuật toán A
5
/1:
Thuật toán A5/1 gồm hai giai đoạn:
• Giai đoạn 1: Tạo ra 228 bit giả mã cho mỗi khung dữ liệu.
• Giai đoạn 2: 228 bit (một khung dữ liệu) bản mã = 228 bit dữ liệu giả mã XOR
228 bit (một khung dữ liệu) bản rõ.
Trạm thu phát cũng khởi tạo 228 bit dữ liệu như vậy và XOR chúng với bản mã
được, để giải mã dữ liệu.
Hệ mã hóa dòng A
5
/1 là phép XOR đầu ra của ba thanh ghi dịch chuyển đầu ra
tuyến tính (linear feedback shift registers) R1, R2 và R3 có độ dài lần lượt là 19, 22 và 23
bit như hình 3.10 và 22 bit đếm Fn.
Mỗi thanh ghi được dịch chuyển từ phải sang trái, được quyết định bởi hàm đa số
(majority function).
Hàm đa số được xác định bởi ba bit C1, C2 và C3. Trong đó C1 là bit thứ 8 của
R1, C2 là bit thứ 10 của R2, C3 là bit thứ 10 của R3, trong đó các bit được đánh thứ tự từ
phải sang bắt đầu từ 0.
Trong các bit C1, C2 và C3 nếu hai hoặc nhiều hơn trong chúng là 0 thì hàm đa số
m = 0.
Tương tự nếu hai hoặc nhiều hơn trong chúng là 1 thì hàm đa số m = 1.
Nếu C1=m thì R1 được dịch, nếu C2=m thì R2 được dịch, và nếu C3=m thì R3
4. Bước 4: 228 vòng lặp khác được thực hiện để nhận được 228 bit giả mã.
Giai đoạn 2: Bản mã = bản rõ XOR giả mã.
Thuật toán A
5
/2:
Trang: 18
Bảo mật trong thông tin di động
Hình 1.12 : Cấu trúc thuật toán A
5
/2.
Thuật toán mã hoá A
5
/2 dùng khoá K
c
(64 bit) và giá trị khởi tạo IV (22 bit) Fn.
A
5
/2 được thực hiện bởi bốn thanh ghi dịch chuyển đầu ra tuyến tính (Linear
Feedback Shift Registers – LFSRs): R1, R2, R3, R4 với độ dài lần lượt là 19, 22, 23, 17
bit, với đầu ra tuyến tính như ở hình 3.11.
Trước khi một thanh ghi bị khoá lại (tạm thời không dùng), đầu ra đã được tính
(khi tiến hành XOR các giá trị). Sau đó, thanh ghi được dịch một bit sang phải (trừ bit bên
phải nhất) và đầu ra được lưu trong vị trí bên trái nhất (vị trí 0).
A
5
/2 được khởi tạo với K
c
và Fn theo bốn bước, trong đó bit thứ i của K
c
được ký
bằng cách XOR bit phải nhất của chúng với ba giá trị hàm đa số của mỗi thanh ghi.
99 bit đầu tiên của đầu ra được bỏ qua và 228 bit tiếp theo được dùng làm đầu ra
của thuật toán.
Giai đoạn 1: tạo các bit dữ liệu giả mã (pseudo-code) từ khoá K
c
và Fn
1. Đầu tiên, cả bốn thanh ghi đều được gán giá trị 0. R1 = R2 = R3 = R4 = 0.
64 bit K
c
sẽ được đưa vào 4 thanh ghi đồng thời. Trong mỗi vòng lặp, các bit từ K
c
được lưu vào thanh ghi bằng cách thực hiện XOR với bit 0 của mỗi thanh ghi.
For i = 0 to 63
R1[i] = R1[0] ⊕ Kc[i], R2[i] = R2[0] ⊕ Kc[i],
R3[i] = R3[0] ⊕ Kc[i], R4[i] = R4[0] ⊕ Kc[i]
2. 22 bit đếm sẽ được lưu vào thanh ghi giống như K
c
trong bước 1.
For i = 0 to 21
R1[i] = R1[0] ⊕ Fn[i], R2[i] = R2[0] ⊕ Fn[i],
R3[i] = R3[0] ⊕ Fn[i], R4[i] = R4[0] ⊕ Fn[i]
3. Gán các bit R1[15] = 1, R2[16] = 1, R3[18] = 1, R4[10] = 1.
4. Thực hiện 99 vòng lặp dùng hàm đa số, kết quả bước 3 không phải là đầu ra cuối
cùng của thuật toán nhưng là đầu vào của bước 4.
5. Thực hiện 228 vòng lặp và lấy kết quả đầu ra 228 bit.
Đầu ra gồm 228 bit (được gọi là giả mã) được chia làm hai nửa.
Trang: 20
Bảo mật trong thông tin di động
-Nửa đầu tiên gồm 114 bit được dùng như giả mã để mã hoá liên kết từ mạng tới thiết
bị di động.
/2, trong khi với A
5
/1 lấy từ R1, R2 và R3.
3.3.4 Sử dụng IMSI tạm (TMSI) thay cho IMSI
IMSI (International Mobile Subscriber Identity): Số nhận dạng thuê bao di động
quốc tế.
IMSI là số nhận dạng duy nhất được gán cho từng thuê bao di động giúp cho việc
nhận dạng chính xác các thuê bao di động trên các đường truyền sóng vô tuyến và thông
qua mạng. IMSI được sử dụng cho việc báo hiệu trong mạng PLMN (mạng thông tin di
động mặt đất - Public Land Mobile Network). IMSI được lưu trữ trong SIM, HLR và
VLR.
Hình 1.13: Cấu trúc IMSI.
Trang: 21
Bảo mật trong thông tin di động
IMSI bao gồm các thành phần sau:
• MCC (Mobile Country Code): Mã quốc gia
• MNC (Mobile Network Code): Mã mạng di động
• MSIN (Mobile Station Identification Number): Số nhận dạng thiết bị di động
TMSI (Temporary Mobile Subscriber Identity): Số nhận dạng thuê bao di động
tạm thời.
TMSI là một số IMSI tạm thời được cấp cho một MS khi đăng nhập vào mạng.
TMSI được sử dụng để bảo mật thuê bao động trên giao tiếp không khí. TMSI có ý nghĩa
cục bộ trong phạm vi MSC/VLR đang phục vụ và nó được thay đổi theo thời gian hay khi
có một sự kiện nào đó xảy ra như việc cập nhật vị trí (Location update). Cấu trúc của
TMSI được quyết định bởi nhà khai thác dịch vụ nhưng chiều dài không vượt quá 8 ký tự.
Mục tiêu: Bảo vệ IMSI trên đường truyền vô tuyến bằng cách hạn chế đến đối đa
việc trao đổi giữa Network-MS bằng IMSI.
Kỹ thuật: Sử dụng TMSI (IMSI tạm).
• TMSI sẽ được gán cho IMSI sau lần giao tiếp với Network lần đầu tiên. Các lần
sau sẽ dùng TMSI thay cho IMSI.
• Lỗ hổng nghiêm trọng của COMP là: Với các giá trị chọn lọc RAND đầu vào,
có thể tìm ra K
i
với số lần thử ít hơn theo lý thuyết (khoảng 2
13
-2
15
thay vì 2
128
lần).
• Theo cách thuật toán COMP128 đã thực hiện thì thực chất chiều dài khóa bảo
mật chỉ có 54 bit vì 10 bit trọng số thấp được defaut bằng “0”.
Kỹ thuật sử dụng TMSI thay IMSI àquá yếu
• Khi mạng không nhận thực thành công với MS bằng TMSI, nó có thể yêu cầu
MS nhận thực qua IMSI: Identity_Request (Identity Type=IMSI). Khi đó MS sẽ
gửi IMSI về mạng qua vô tuyến, thông tin không hề được mã hóa.
Lỗ hổng trong thuật toán A
5
/1 hoăc A
5
/2
Trang: 23
Bảo mật trong thông tin di động
• “A
5
/1 có thể bị crack trong vòng 1 giây bằng máy tính thông thường” - theo
nhận xét của 2 chuyên gia bảo mật Alex Biryukov và Adi Shamir.
• A
5
/2 thậm chí còn yếu hơn cả A
2.1.1: Thuật toán MSR
Thuật toán MSR được giới thiệu bởi M.O.Rabin năm 1979, và sau đó được nghiên
cứu cho tiềm năng trong các hệ thống thông tin cá nhân bởi Beller, Chang và Yacobi đầu
những năm 1990. Giống như hầu hết các thuật toán mật mã, phương pháp ở đây là dựa
trên số học modul và phụ thuộc vào sự phức tạp của việc phân tích ra thừa số những số
lớn.
Nói chung, MSR hoạt động như sau. Khóa công cộng là một modul, N, là tích của
hai số nguyên tố lớn, p và q (trong đó, khi thực hiện trong thực tế, p và q điển hình là
những số nhị phân có độ dài từ 75 đến 100 bít). Tổ hợp p và q tạo thành thành phần khóa
riêng của thuật toán. Nếu Principal A muốn chuyển bản tin tin cậy M tới Principal B, đầu
tiên A tính C≡M
2
mod N, trong đó C là đoạn văn bản mật mã phát sinh và M
2
là giá trị nhị
phân của bản tin M đã được bình phương. Chú ý rằng đây là phép toán modul vì thế lấy
giá trị phần dư modul N. Khi nhận được đoạn văn bản mã hóa C, principal B, người biết p
và q có thể đảo ngược quá trình này bằng cách lấy ra modul căn bậc 2 của C để lấp ra M
(nghĩa là M≡SQRT(C) mod N). Đối với phía không có quyền truy nhập đến các giá trị
của p và q, thực hiện giải pháp bị cản trở do sự khó khăn của thừa số N – không có thuật
toán độ phức tạp đa thức.
Ngoài sự thật rằng nó trợ giúp mật mã khóa riêng/khóa công cộng và chế độ truyền
bản tin, MSR có một ưu điểm lớn thứ hai khi nó được sử dụng cho môi trường vô tuyến.
Việc tải thuật toán có sử dụng máy điện toán là bất đối xứng. Tính modul bình phương
cần cho mật mã yêu cầu ít tính toán hơn nhiều (chỉ một phép nhân modul) so với lấy
Trang: 25