Kỹ thuật bảo mật trong thông tin di động - Pdf 25


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRẦN DUY NGỌC

KỸ THUẬT BẢO MẬT TRONG THÔNG TIN DI ĐỘNG
LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ ĐIỆN TỬ - VIỄN THÔNG Hà Nội - 2014

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

học Quốc gia Hà Nội, tôi đã hoàn thành bản luận văn này.
Trước hết cho tôi xin gửi lời cảm ơn chân thành tới PGS.TS. Trịnh Anh Vũ,
người thầy đã tận tình hướng dẫn, giúp đỡ, tạo mọi điều kiện tốt nhất cho tôi trong
suốt thời gian tôi làm luận văn.
Và xin được cảm ơn các thầy, cô, anh, chị, các bạn trong khoa Điện tử Viễn
thông đã tạo điều kiện giúp đỡ, chỉ bảo và cho tôi những lời khuyên vô cùng quý
giá. Học viên Trần Duy Ngọc

2

LỜI CAM ĐOAN
Tôi xin cam đoan các kết quả trình bày trong luận văn là do tôi nghiên cứu
dưới sự hướng dẫn của PGS.TS. Trịnh Anh Vũ. Các số liệu kết quả nêu trong luận
văn là trung thực và chưa được công bố trong bất kỳ công trình nào khác. Hà Nội, ngày 10 tháng 02 năm 2014
Người viết Trần Duy Ngọc

3


2.2.3 Bảo vệ tính toàn vẹn của các bản tin báo hiệu 28
4

2.2.4 Bảo toàn tín hiệu - Data confidentiality 30
2.2.5 Thuật toán Kasumi 32
CHƯƠNG 3. MÔ HÌNH HÓA VÀ CÁC VẤN ĐỀ GIÁM SÁT, AN TOÀN
CHO NGƯỜI DÙNG 34
3.1 Mô hình mô phỏng mã bảo mật RSA 34
3.1.1 Lý thuyết mã bảo mật RSA 34
3.1.2 Mô phỏng mã bảo mật RSA trên Matlab 36
3.2 Giải pháp nâng cao bảo mật thông tin trong ứng dụng thanh toán điện tử 41
KẾT LUẬN 44
TÀI LIỆU THAM KHẢO 45
PHỤ LỤC 46
5

DANH MỤC HÌNH VẼ
Hình 1.1 Kiến trúc GSM 9
Hình 1.2 Kiến trúc mạng UMTS 10
Hình 1.3 MS yêu cầu xác thực đến HLR 12
Hình 1.4 HLR yêu cầu bộ ba xác thực gồm RAND, SRES, Kc 12
Hình 1.5 AuC tạo RAND và Ki từ IMSI 13
Hình 1.6 AuC tạo SRES và Kc bằng thuật toán A3, A8 13
Hình 1.7 Bộ 3 mã hóa được tạo tại AuC 14

DANH MỤC CÁC TỪ VIẾT TẮT
Ký hiệu
Từ viết tắt
Nghĩa
3GPP
3
rd
Generation Partnership Project
Đề án đối tác thế hệ ba
AuC
Authentication Center
Trung tâm xác thực
AUTN
Authentication Token
Thẻ xác thực
AV
Authentication Vector
Véc tơ xác thực
BAM
Backend administration module
Module quản trị tại tổng đài
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ế
ECC
Elliptic Curve Cryptographic
Mật mã đường cong Elíp

International Data Encryption
Algorithm
Thuật toán mật mã số liệu quốc
tế
IEEE
Institute of Electrical and Electronic
Engineers
Viện kỹ thuật điện và điện tử
IMEI
International Mobile Equipment
Identifier
Bộ nhận dạng thiết bị di động
quốc tế
IMSI
International Mobile Subscriber
Identity
Mã định danh di động quốc tế
IMT-
2000
International Mobile
Telecomunications-2000
Viễn thông di động thế giới-
2000
7

IMUI
International Mobile User Identifier
Bộ nhận dạng người sử dụng di
động thế giới
ITU

Kết nối tầm gần
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
RFC
Request For Comments
Yêu cầu phê bình
SN
Serving Node
Node phục vụ
SPI
Security Parameters Index
Chỉ mục các tham số an ninh
SQN
Sequence Number
Số thứ tự
SRES
Signed Response
Đáp ứng đăng ký
TMSI
Temporary Mobile Subscriber Identity
Định danh thuê bao di động
tạm thời
UMTS

- Đánh giá các lỗ hổng trong bảo mật thông tin di động hệ GSM và UMTS.
- Mô hình hóa và phân tích một số giải pháp để tăng tính an toàn và bảo mật cho
thông tin trong kênh vô tuyến.
4. Phương pháp nghiên cứu
Đề tài sử dụng phương pháp đi từ cái chung đến cái riêng, phương pháp phân
tích, tổng hợp về thực trạng về việc bị khai thác các lỗ hổng bảo mật trong thông tin di
động tại Việt Nam.
5. Kết cấu của luận văn
Đề tài được chia thành 3 chương:
Chương 1: Tổng quan về an ninh trong thông tin di động
Chương 2: Các lỗ hổng trong thủ tục xác thực ở GSM và biện pháp khắc phục ở
UMTS.
Chương 3: Mô hình hóa và Các vấn đề giám sát, an toàn người dùng.
9

CHƯƠNG 1. TỔNG QUAN AN NINH TRONG HỆ THỐNG
THÔNG TIN DI ĐỘNG
1.1. Giới thiệu hệ thống thông tin di động
1.1.1. Kiến trúc GSM
Mạng thông tin di động GSM gồm có 3 thành phần chính: Thiết bị di động
(Mobile Station) được người sử dụng mang theo. Hệ thống trạm gốc (Base Station) gồm
có hai phần Trạm thu phát gốc (Base Transceiver Station) và Trạm điều khiển gốc (Base
Station Controller), điều khiển kết nối vô tuyến với thiết bị di động. Hệ thống mạng với
bộ phận chính là Trung tâm chuyển mạch dịch vụ di động (Mobile Switching Center),
thực hiện việc chuyển mạch cuộc gọi giữa các thuê bao và giữa thuê bao di động với
thuê bao của mạng cố định. Trong đó Trung tâm MSC được kết nối với Home Location
Register - chứa các thông tin vị trí của thuê bao, chi tiết liên quan đến hợp đồng thuê
bao của người dùng như các dịch vụ, định danh, thông số Ki dùng trong quá trình bảo
mật và xác thực với Authentication Center. Bên cạnh đó Visitor Location Register chứa
các thông tin mang tính tạm thời, bao gồm các thông tin liên quan đến thuê bao (lấy

và bảo mật đầu cuối.
11

1.2. Cơ chế bảo mật trong GSM
1.2.1. Cơ chế xác thực và mã hóa thông tin người dùng
- Thủ tục Xác thực (Authentication) được thực hiện khi một thiết bị di động yêu
cầu truy nhập vào mạng, lúc này hệ thống bắt buộc nó phải thực hiện quá trình xác thực
để xác định danh tính và sự hợp lệ của Simcard với hệ thống và để chắc rằng thuê bao
được cho phép truy nhập vào hệ thống.
- Mật mã hóa (Encyption) là quá trình tạo các thủ tục xác thực và mã hóa thông
tin (ciphering) sử dụng các khóa đặc biệt (Ki và RAND trong GSM, K và SQN trong
UMTS) và các thuật toán mã hóa (A3, A5 và A8 trong GSM, F1 đến F5, F8 và F9 trong
UMTS). Ciphering là quá trình mã hóa thông tin số liệu của người sử dụng thành thông
tin mã hóa bằng các khóa đặc biệt và thuật toán mã hóa.
- Vai trò của xác thực trong kiến trúc an ninh:
Trong thế giới an ninh thông tin, xác thực nghĩa là hành động hoặc quá trình
chứng minh rằng một cá thể hoặc một thực thể là ai hoặc chúng là cái gì. Theo Burrows,
Abadi và Needham: “Mục đích của xác 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 xác 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”. Nhà cung cấp hệ thống thông tin di
động muốn xác thực máy điện thoại đang truy nhập vào hệ thống vô tuyến để thiết lập
rằng các máy điện thoại thuộc về những người sử dụng có tài khoản là mới nhất và là
các máy điện thoại không được thông báo là bị đánh cắp.
- Vị trí của xác thực trong các dịch vụ an ninh mạng:
Xác thực là một trong các thành phần thuộc về một tập hợp các dịch vụ cấu thành
nên một phân hệ an ninh trong cơ sở hạ tầng thông tin hoặc tính toán hiện đại. Các dịch
vụ cụ thể cấu thành nên tập hợp đầy đủ có thể hơi khác phụ thuộc vào mục đích, nội
dung thông tin và mức độ quan trọng của hệ thống . William Stallings, trong quyển sách
của ông Cryptography and Network Security (Mật mã và an ninh mạng) cung cấp các

Khi HLR nhận IMSI và yêu cầu xác thực, HLR sẽ kiểm tra trong cơ sở dữ liệu
xem IMSI có chính xác và tồn tại không. Khi đã kiểm tra đúng thì HLR sẽ chuyển tiếp
số IMSI và yêu cầu xác thực đến Trung tâm xác thực Authentication Center (AuC).

Hình 1.4 HLR yêu cầu bộ ba xác thực gồm RAND, SRES, Kc
13

AuC sẽ sử dụng IMSI để tìm khóa Ki (khóa xác thực dành riêng cho từng thuê
bao). Ki là một dãy số nhị phân 128-bit và Ki là duy nhất với từng IMSI. Ki được lưu
trữ tại hai nơi là Simcard và AuC, và không được truyền tải qua bất cứ liên kết nào.
Ngoài ra AuC cũng tạo một dãy số RAND ngẫu nhiên 128-bit.

Hình 1.5 AuC tạo RAND và Ki từ IMSI
Sau đó, dãy RAND và Ki được cho vào thuật toán mã hóa A3, đầu ra là dãy SRES
32-bit (Signed Response). Thuật toán A3 được tích hợp trong Simcard và AuC.
Dãy RAND và Ki còn được đưa vào thuật toán mã hóa A8, đầu ra là khóa mã hóa
Kc 64-bit (Ciphering key). Kc được sử dụng để mã hóa và giải mã thông tin người dùng
bằng thuật toán mã hóa A5 khi truyền trên giao diện vô tuyến Um. A5 là thuật toán mã
hóa được chuẩn hóa và được tích hợp và MS và BTS. A5 có 3 phiên bản:
A5/1 (mã hóa dòng) - chuẩn hiện hành cho mạng US và Châu Âu.
A5/2 (mã hóa dòng) - chuẩn dành cho các quốc gia khác ngoài Phương Tây.
A5/3 (mã hóa khối) - chuẩn mới chưa được áp dụng rộng rãi. [3, 10]

Hình 1.6 AuC tạo SRES và Kc bằng thuật toán A3, A8
14

Tập hợp RAND, SRES và Kc được hiểu như bộ ba mã hóa. AuC có thể tạo ra
nhiều tập Triplets và gửi ngược lại MSC/VLR. Mỗi tập Triplets là duy nhất đối với một
IMSI.


của người dùng vào thuật toán A5 (A5 được tích hợp vào MS, không lưu trữ trên
Simcard). [3, 10]

Hình 1.13 Thông tin được truyền qua kênh đã mã hóa bằng A5
Tóm lại, quá trình xác thực và mã hóa thông tin được tổng hợp lại như Hình 1.14
[3]:

Hình 1.14 Tổng hợp quá trình xác thực và mã hóa thông tin
Cơ chế xác thực giữa thiết bị di động với mạng được thực hiện dựa trên các thuật
toán A3 và A8, dựa trên phương pháp mã hóa khóa công khai với Ki được giữ bí mật
tại Simcard và tại HLR, không được truyền qua kênh thông tin, khóa công khai RAND
được HLR/AuC tạo để phục vụ cho việc xác thực. Việc giữ bí mật Ki cũng như các thuật
toán A3, A8 và A5 là một yêu cầu quan trọng trong việc đảm bảo tính xác thực của thuê
bao.
17

Tuy nhiên bên cạnh những ưu điểm trên, quá trình xác thực trong hệ thống GSM
tồn tại một số điểm yếu dễ bị khai thác như tấn công giả mạo BTS, quá trình truyền các
thông tin bảo mật và xác thực trên một số kênh không được mã hóa dễ bị khai thác,
không bảo vệ tính toàn vẹn của dữ liệu, hay không dự phòng cho việc nâng cấp bảo mật
trong tương lai.
1.3. Cơ chế bảo mật trong hệ thống UMTS
Việc nâng cấp hệ thống lên UMTS 3G là để cung cấp các dịch vụ đa phương tiện
chất lượng cao đến nhiều thuê bao hơn, với tốc độ cao hơn. Tuy nhiên việc này làm tăng
sự ảnh hưởng lẫn nhau giữa các thuê bao và các nhà cung cấp dịch vụ, cũng như làm
tăng nguy cơ của các cuộc tấn công từ bên ngoài. UMTS tập trung vào việc xác định các
yếu điểm của GSM như đã đề cập ở phần trên để khắc phục và tăng cường các điểm
mạnh sẵn có.
Bảo mật UMTS cung cấp thêm các đặc trưng và dịch vụ bảo mật một phần từ
việc khắc phục, nâng cấp các điểu yếu của hệ thống GSM. Mục đích của kiến trúc bảo

toàn để trao đổi khóa sao cho khóa phải được giữ bí mật chỉ có người gửi và người nhận
biết. Điều này tỏ ra không hợp lý khi mà ngày nay, khối lượng thông tin luân chuyển
trên khắp thế giới là rất lớn. Việc thiết lập một kênh an toàn như vậy sẽ tốn kém về mặt
chi phí và chậm trễ về mặt thời gian.
- Tính bí mật của khóa: không có cơ sở quy trách nhiệm nếu khóa bị tiết lộ. [1]
Vào năm 1976 Whitfield Diffie và Martin Hellman đã tìm ra một phương pháp
mã hóa khác mà có thể giải quyết được hai vấn đề trên, đó là mã hóa khóa công khai
(public key cryptography) hay còn gọi là mã hóa bất đối xứng (asymetric cryptography).
Đây có thể xem là một bước đột phá quan trọng nhất trong lĩnh vực mã hóa.
Xét một mô hình mã hóa đối xứng như Hình 1.16.
Ứng dụng người dùng Ứng dụng nhà cung cấp dịch vụ
Mức ứng dụng
Module nhận dạng
các dịch vụ người
dùng (USIM)
Thiết bị đầu cuối
(Handset)
Môi trường nhà
(HE)
Mạng phục vụ (SN)
Mobile Termination
Mạng truy nhập
Mức Home/Serving
Mức truyền tải
ADS
UDS
NAS
NAS
NAS
NAS

20

- Để tránh nhầm lẫn với khóa bí mật của mã đối xứng, khóa bí mật trong mô hình
trên được gọi là khóa riêng (private key) và ký hiệu là KR.
- Khóa công khai (public key) được ký hiệu là KU.
- Bản rõ được ký hiệu là M, còn bản mã giữ nguyên ký hiệu là C
Vấn đề còn lại ở đây là liệu có tồn tại một mô hình mã hóa và giải mã dùng hai
khóa khác nhau như vậy không? Dĩ nhiên là hai khóa KU và KR không thể nào hoàn
toàn độc lập với nhau. Phải có một mối quan hệ nào đó giữa KU và KR thì mới có thể
tiến hành giải mã hóa và giải mã được. Có nghĩa là KR = f(KU). Tuy nhiên một yêu cầu
rất quan trọng là việc tính KR = f(KU) phải là bất khả thi về mặt thời gian. Nếu nguyên
tắc này bị vi phạm thì việc giữ bí mật khóa KR không còn ý nghĩa vì từ khóa công khai
KU có thể tính được KR. Để có được cặp khóa KR và KU như trên, người ta thường
dùng các hàm một chiều (oneway function). Các hàm một chiều có tính chất là hàm
nghịch đảo của chúng rất khó thực hiện. Sau đây là ví dụ về hàm một chiều: việc sinh
ra hai số nguyên tố lớn p, q và tính tích N = pq thì thực hiện dễ dàng. Tuy nhiên nếu
chỉ cho trước N và thực hiện phân tích N để tìm lại hai số nguyên tố p, q là việc hoàn
toàn bất khả thi về mặt thời gian.
Có nhiều phương pháp mã hóa thuộc loại mã hóa khóa công khai. Đó là các
phương pháp Knapsack, RSA, Elgaman, và phương pháp đường cong elliptic ECC….
Mỗi phương pháp có cách thức ứng dụng hàm một chiều khác nhau.
Phương pháp mã hóa khóa công khai có những điểm mạnh của mật mã hóa như
đã phân tích ở phần trên. Tuy nhiên, khi ứng dụng vào thực tiễn xác thực và mã hóa
thông tin di động vẫn còn tồn tại một số lỗ hổng, thiếu sót khá nghiêm trọng. Trong
Chương 2 của Luận văn sẽ đề cập đến vấn đề này.
21

CHƯƠNG 2. CÁC LỖ HỔNG TRONG THỦ TỤC XÁC THỰC Ở
GSM VÀ BIỆN PHÁP KHẮC PHỤC Ở UMTS
2.1. Các lỗ hổng trong thủ tục xác thực ở GSM

22

2.1.2 Khai thác lỗ hổng trong A3/A8 – Ống hẹp
Việc thực hiện các thuật toán A3 và A8 được kết hợp thành một thuật toán
COMP128, với đầu ra là dãy Kc 64-bit và dãy SRES 32-bit từ đầu vào RAND 128-bit
và Ki 128-bit.

Hình 2.1 Thuật toán COMP128
Thuật toán chứa lỗ hổng khá nghiêm trọng, khi chọn cẩn thận giá trị RAND thì
có thể đủ thông tin để tìm ra khóa Ki không đến 2128 lần thử. Lỗ hổng xuất hiện tại
vòng thứ 2 của thuật toán, một ống hẹp (narrow pipe) xuất hiện gây nguy cơ bị lấy thông
tin 2 byte Ki và 2 byte RAND, khi đó có thể tiến hành tấn công gây xung đột [3, 7].

Hình 2.2 Ống hẹp narrow pipe
Có thể chia nhỏ nhóm giá trị đầu vào RAND trong quá trình dò tìm Ki. Tức là
chia nhỏ quá trình dò tìm Ki-128 bit (16 byte) thành bốn pha, mỗi pha chỉ dò tìm 32 bit
(hay 8 byte) của giá trị Ki. Và như vậy thời gian hoàn tất cho việc dò Ki sẽ theo kiểu 2R
này sẽ giảm số RAND xuống khoảng 217 lần. [7]
Dejan Kaljevic đã viết một công cụ khá nổi tiếng là Sim Scan sử dụng các cơ chế
vét cạn 2R, 3R, 4R and 5R để có được các giá trị byte cần thiết của Ki, trong vòng trung
bình 18,000 giá trị RAND. Ki có thể được tìm ra trong vòng 1 giờ tùy thuộc vào tốc độ
của Sim card.
Tuy phương pháp tấn công này không đạt hiệu quả nhiều do kẻ tấn công phải tiếp
xúc được với Sim card và mật mã sim nếu cần, nhưng đây cũng là một nguy cơ tiềm
tàng trong việc nhân bản Sim card với mục đích xấu.
23

2.1.3 Khai thác lỗ hổng trong A3/A8 do khóa Kc có 10 bit giá trị 0
Thuật toán COMP128 còn tồn tại một lỗ hổng khác, khóa Kc có độ dài 64 bit
nhưng 10 bit thấp được đặt giá trị 0. Việc này làm giảm độ mạnh của khóa còn 54 bit


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status