Tải bản đầy đủ (.pdf) (50 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.15 MB, 50 trang )


ĐẠ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Ệ





TRẦN DUY NGỌC


KỸ THUẬT BẢO MẬT TRONG THÔNG TIN DI ĐỘNG


Ngành: Công nghệ Điện tử - Viễn thông
Chuyên ngành: Kỹ thuật Điện tử
Mã số: 60.52.02.03



LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ ĐIỆN TỬ - VIỄN THÔNG


CÁN BỘ HƯỚNG DẪN: PGS. TS. Trịnh Anh Vũ





Hà Nội - 2014
1

LỜI CẢM ƠN
Sau quá trình học tập và nghiên cứu, dưới sự giảng dạy và hướng dẫn của
các giảng viên thuộc Khoa Điện tử Viễn Thông, Trường Đại học Công nghệ, Đại

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


MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
MỤC LỤC 3
DANH MỤC HÌNH VẼ 5
DANH MỤC CÁC TỪ VIẾT TẮT 6
CHƯƠNG 1. TỔNG QUAN AN NINH TRONG HỆ THỐNG THÔNG TIN DI
ĐỘNG 9
1.1. Giới thiệu hệ thống thông tin di động 9
1.1.1. Kiến trúc GSM 9
1.1.2. Kiến trúc UMTS 9
1.2. Cơ chế bảo mật trong GSM 11
1.2.1. Cơ chế xác thực và mã hóa thông tin người dùng 11
1.2.2. Thủ tục xác thực một thuê bao 12
1.2.3. Thủ tục mã hóa thông tin 15
1.3. Cơ chế bảo mật trong hệ thống UMTS 17
1.4. Thuật toán mã hóa 18
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 21
2.1. Các lỗ hổng trong thủ tục xác thực ở GSM 21
2.1.1 Xác thực một chiều - Hệ thống không xác thực với thiết bị di động 21
2.1.2 Khai thác lỗ hổng trong A3/A8 – Ống hẹp 22
2.1.3 Khai thác lỗ hổng trong A3/A8 do khóa Kc có 10 bit giá trị 0 23
2.1.4 Lỗ hổng trong cơ chế bảo mật nhận dạng thuê bao 23
2.1.5 Bẻ khóa Ki trên kênh vô tuyến 23
2.1.6 Mã hóa Ciphering xảy ra sau sửa lỗi FEC 25
2.1.7 Các lỗ hổng trong thuật toán A5/1 và A5/2 26
2.2 Các khắc phục về thủ tục xác thực ở UMTS 26
2.2.1 Kiến trúc bảo mật UMTS 26
2.2.2 Xác thực và khóa thỏa thuận 26

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

Hình 1.8 AuC chuyển bộ 3 mã hóa và IMSI về HLR và MSC 14
Hình 1.9 MSC gửi RAND đến MS 14
Hình 1.10 MS tính SRES và Kc bằng A3, A8 từ dãy RAND nhận được 15
Hình 1.11 Quá trình xác thực hoàn tất 15
Hình 1.12 BTS và MS chuyển sang chế độ mã hóa 15
Hình 1.13 Thông tin được truyền qua kênh đã mã hóa bằng A5 16
Hình 1.14 Tổng hợp quá trình xác thực và mã hóa thông tin 16
Hình 1.15 Sơ đồ minh họa 5 miền an ninh UMTS trong các mối quan hệ giữa
các thành phần của toàn bộ môi trường mạng UMTS 18
Hình 1.16 Mô hình mã hóa đối xứng 19
Hình 2.1 Thuật toán COMP128 22
Hình 2.2 Ống hẹp narrow pipe 22
Hình 2.3 Tấn công giả mạo BTS 23
Hình 2.4 Bẻ khóa Ki trên kênh vô tuyến 24
Hình 2.5 Thủ tục xác thực và khóa thỏa thuận 27
Hình 2.6 Thuật toán của hàm f9 28
Hình 2.7 Thuật toán f9 29
Hình 2.8 Thuật toán f8 mã hóa qua liên kết vô tuyến 30
Hình 2.9 Bộ tạo dòng khóa f8 31
Hình 2.10: Cấu tạo của thuật toán Kasumi 33
Hình 3.1: Sơ đồ mã và giải mã RSA 35
Hình 3.2: Lưu đồ thuật toán chương trình chính RSA 36
Hình 3.3: Lưu đồ thuật toán hàm thiết lập bảo mật INITIALIZE (p,q) 37
Hình 3.4: Lưu đồ thuật toán hàm mã hóa CRYPT (M, N e) 38
Hình 3.5 Mạng giải pháp thanh toán di động sử dụng khóa điện tử tách rời 41
Hình 3.6 Thủ tục thanh toán điện tử 42


6


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

eKey
External electronic security key
Khóa bảo mật điện tử tách rời
ESP
Encapsulating Security Protocol
Giao thức an ninh đóng gói
FA
Foreign Agent
Tác nhân khách
FAM
Frontend administration module
Module quản trị tại người dùng
FEC
Forward Error Correction
Hiệu chỉnh lỗi tiến
GPRS
General Packet Radio Service
Dịch vụ vô tuyến gói tổng hợp
GSM
Global Systems for Mobile
Communications
Hệ thống thông tin di động toàn
cầu
HA
Home Agent
Tác nhân nhà
HLR
Home Location Register
Thanh ghi vị trí gốc
IDEA

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

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ộ
LFSR
Linear-Feedback Shift Register
Thanh ghi hồi tiếp tuyến tính
MAC
Message Authentication Code
Mã nhận thực bản tin
MH
Mobile Host
Máy di động
MNC
Mobile Network Code
Mã mạng di động
MS
Mobile Station
Trạm di động
MSC
Mobile Switching Center
Trung tâm chuyển mạch di
động
NFC
Near Field Communication

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

Universal Mobile
Telecommunications System
Hệ thống viễn thông di động
toàn cầu
USIM
UMTS Subscriber Identity Module
Mô đun nhận dạng thuê bao
UMTS

8

MỞ ĐẦU
1. Tính cấp thiết của đề tài
Sự phát triển thông tin di động trên cơ sở nền tảng hệ thống GSM và UMTS ở
nước ta trong những năm gần đây đã đang là một vấn đề lớn trong xã hội, với nhiều tiện
ích đem lại trong cuộc sống hàng ngày. Cùng với các kỹ thuật điều chế, đa truy nhập,
hiệu suất truyền tin và sự phân chia tài nguyên mạng, thì một vấn đề cấp thiết đi kèm là
độ bảo mật, an toàn trong việc trao đổi thông tin, liên lạc giữa hệ thống và thuê bao di
động.
Nhiều lỗ hổng đã được các nhà khoa học chỉ ra, cùng với đó là các công cụ, phần
mềm hỗ trợ cho việc đánh cắp dữ liệu, nghe lén, định vị trái phép gây ảnh hưởng không
nhỏ quyền bảo mật thông tin cá nhân cũng như ảnh hưởng đến an ninh và trật tự an toàn
xã hội. Tuy nhiên trong công tác bảo vệ Quốc phòng và giữ gìn an ninh trật tự, đấu tranh
với các loại tội phạm, thì việc nghiên cứu các phương pháp phục vụ việc giám sát, theo
dõi đối tượng theo quy định của Pháp luật được đặt ra hết sức cấp thiết.
2. Đối tượng và phạm vi nghiên cứu
Đối tượng và phạm vi nghiên cứu của đề tài là thực trạng các lỗ hổng trong thông
tin di động GSM và UMTS trên kênh truyền vô tuyến, dựa trên cơ sở phương pháp mã
hóa khóa công khai.
3. Mục tiêu nghiên cứu của đề tài

- Đá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

từ HLR) và vị trí chính xác của thiết bị di động trong vùng VLR đó quản lý. Hình 1.1
mô tả khái quát về kiến trúc một hệ thống mạng GSM [7].

Hình 1.1 Kiến trúc GSM
1.1.2. Kiến trúc UMTS
Trên nền tảng của hệ thống GSM (có sự nâng cấp lên GPRS), hạ tầng cơ sở viễn
thông ở nước ta hiện nay đang hoạt động trên cơ sở UMTS băng rộng W-CDMA. Hệ
10

thống viễn thông di động toàn cầu (Universal Mobile Telecommunication System -
UMTS) là một cơ cấu tổ chức được phối hợp bởi Liên minh viễn thông quốc tế (ITU)
để hỗ trợ các dịch vụ thông tin vô tuyến thế hệ ba. UMTS là một phần của một cơ cấu
tổ chức lớn hơn là IMT-2000.

Hình 1.2 Kiến trúc mạng UMTS
Về cơ bản hệ thống UMTS kế thừa và phát huy những ưu điểm từ GSM. UMTS
nâng tốc độ lên trên 2 Mbps là sự thay đổi ở giao thức vô tuyến giữa thiết bị di động và
các trạm gốc bằng cách thay đổi kỹ thuật đa truy cập thành W-CDMA trên dải tần
khoảng 1870GHz đến 2030GHz. Ngoài ra UMTS còn có một số nâng cấp trong việc
bảo mật, xác thực và quản lý việc chuyển giao của các thiết bị di động [7].
Nhiều công trình nghiên cứu kiến trúc an ninh cho UMTS đã được tiến hành trong
một số các dự án nghiên cứu được tài trợ bởi Liên minh Châu Âu và các chương trình
quốc gia Châu Âu. Những dự án này bao gồm ASPeCT (Advanced Security for Personal
Communications Technology), MONET và Nghiên cứu an ninh hệ thống viễn thông di
động thế hệ ba (Third Generation Mobile Telecommunications System Security Studies)
theo chương trình UK LINK. Một dự án gần đây hơn – Kiến trúc an ninh UMTS (UMTS
Security Architecture) được nghiên cứu tại Vodafone định nghĩa một tập đầy đủ các
giao thức an ninh và các thủ tục cho môi trường UMTS. Phạm vi của dự án là rộng, bao
gồm các nghiên cứu sáu miền con: các đặc điểm và yêu cầu bảo mật, các cơ chế bảo
mật, kiến trúc bảo mật, cơ sở hạ tầng khoá công cộng, mô đun thông tin thuê bao (USIM)

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

dịch vụ bảo mật lõi có giá trị tham khảo lâu dài để đặt xác thực trong ngữ cảnh hệ thống
chính xác:
+ Tính tin cậy (Confidentiality): Đảm bảo rằng thông tin trong hệ thống máy tính
và thông tin được truyền đi chỉ có thể truy nhập được để đọc bởi các bên có thẩm quyền.
+ Xác thực (Authentication): Đảm bảo rằng khởi nguồn của một bản tin hoặc văn
bản điện tử được nhận dạng chính xác và đảm bảo việc nhận dạng là không bị lỗi.
+ Tính toàn vẹn (Integrity): Đảm bảo rằng chỉ những bên có thẩm quyền mới có
thể sửa đổi tài nguyên hệ thống máy tính và các thông tin được truyền.
12

+ Không thoái thác (Non-repudiation): Yêu cầu rằng cả bên nhận lẫn bên gửi
không được từ chối truyền dẫn.
+ Điều khiển truy nhập (Access Control): Yêu cầu rằng truy nhập tới tài nguyên
thông tin có thể được điều khiển bởi hoặc cho hệ thống quan trọng.
+ Tính sẵn sàng (Availability): Yêu cầu rằng tài nguyên hệ thống máy tính khả
dụng đối với các bên có thẩm quyền khi cần thiết.
Mô tả của Stallings đề xuất rằng những chức năng bảo mật hệ thống này cho
những người sử dụng hệ thống. Như được chỉ ra bởi chú thích Burrows, Abadi và
Needham, quan trọng để hiểu rằng khi điều này là chân thực thì các chức năng này cũng
có thể áp dụng cho các thiết bị vật lý (xác thực một máy điện thoại tổ ong) hoặc áp dụng
với hệ thống máy tính (xác thực một server mạng không dây).
Xác thực trong các mạng hữu tuyến thông thường đã thu hút các công trình nghiên
cứu và nỗ lực thực hiện trong suốt hai thập kỷ qua. Phạm vi luận văn này chỉ nghiên cứu
và trình bày chi tiết về các giao thức xác thực cho môi trường liên mạng vô tuyến.
1.2.2. Thủ tục xác thực một thuê bao
Khi thiết bị di động yêu cầu truy nhập vào mạng, nó gửi thông số TMSI hoặc
IMSI đến MSC/VLR để đề nghị xác thực. MSC sẽ chuyển tiếp IMSI đến HLR và yêu
cầu bộ ba xác thực Authentication Triplets (gồm RAND, SRES và Kc).

Hình 1.3 MS yêu cầu xác thực đến HLR

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.


Hình 1.7 Bộ 3 mã hóa được tạo tại AuC
Khi AuC tạo Triplets (hoặc nhiều tập Tripltes) xong, AuC sẽ gửi chúng đến HLR
và HLR chuyển tiếp đến MSC/VLR.

Hình 1.8 AuC chuyển bộ 3 mã hóa và IMSI về HLR và MSC
MSC sẽ giữ lại Kc và dãy SRES, nhưng sẽ gửi dãy ngẫu nhiên RAND đến MS
và yêu cầu thiết bị di động xác thực.

Hình 1.9 MSC gửi RAND đến MS
15

Tại thiết bị di động, trong Simcard có lưu trữ sẵn khóa Ki, các thuật toán mã hóa
A3 và A8. Tại đây, tương tự như tại AuC, RAND và Ki được cho vào các thuật toán A3
và A8 để được SRES và Kc.

Hình 1.10 MS tính SRES và Kc bằng A3, A8 từ dãy RAND nhận được
Kc lưu trong Simcard và gửi SRES trở lại cho MSC. MSC sẽ so sánh 2 dãy SRES
nhận được từ AuC và thiết bị di động, nếu chúng giống nhau thì quá trình xác thực thành
công.

Hình 1.11 Quá trình xác thực hoàn tất
1.2.3. Thủ tục mã hóa thông tin
Khi MS đã được xác thực, MSC sẽ gửi khóa Kc đến BSS và BTS đang kết nối
với MS, và yêu cầu BTS và MS chuyển sang chế độ mã hóa (Cipher Mode). Kc chỉ được
lưu tại BTS, không gửi đến MS qua liên kết vô tuyến Um.

Hình 1.12 BTS và MS chuyển sang chế độ mã hóa
16

BTS sẽ mã hóa thông tin người dùng bằng cách cho khóa Kc và thông tin dữ liệu

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

mật 3G là xây dựng một hệ thống mềm dẻo phù hợp với những nâng cấp trong tương
lai. Các lỗi bảo mật của hệ GSM đã được khắc phục khá hoàn hảo ở hệ thống UMTS.
Một số kiểu tấn công vào hệ thống UMTS có thể xảy ra gồm: nghe lén, mạo danh thuê
bao, mạo danh mạng, tấn công trung gian, tấn công từ chối dịch vụ,…
Trên cơ sở các đặc điểm của hệ thống GSM, tổ chức 3GPP đã đưa ra các tiêu
chuẩn cho kiến trúc an ninh trong hệ thống 3G gồm 5 lớp bảo mật để cung cấp các dịch
vụ bảo mật thích hợp:
- Lớp bảo mật truy nhập mạng (Network access security): đảm bảo bảo mật định
danh thuê bao, các thông tin thuê bao và báo hiệu, tính toàn vẹn của thông tin báo hiệu
quan trọng, xác thực giữa thuê bao và tổng đài, và định danh thiết bị di động (Mobile
Equipment).
- Lớp bảo mật miền mạng (Network domain security): cho phép các node trong
mạng trao đổi thông tin báo hiệu được đảm bảo an toàn, và chống xâm nhập vào mạng
lõi.
- Lớp bảo mật miền thuê bao (User domain security): chặn các truy cập đến USIM
và máy điiện thoại di động không mong muốn.
- Lớp bảo mật miền ứng dụng (Application domain security): bảo mật bổ sung
cho lớp ứng dụng đảm bảo an toàn cho việc thông tin của các ứng dụng ở thuê bao và
các lớp dịch vụ.
- Lớp bảo mật khả kiến và khả cấu hình (Visibility and configurability of
security): thông bao cho thuê bao về các đặc điểm bảo mật khác nhau và tính khả dụng
của các đặc điểm đó đối với các dịch vụ khác nhau.
18


Hình 1.15 Sơ đồ minh họa 5 miền an ninh UMTS trong các mối quan hệ giữa các
thành phần của toàn bộ môi trường mạng UMTS
1.4. Thuật toán mã hóa
Mã hóa đối xứng tồn tại hai điểm yếu:
- Vấn đề trao đổi khóa giữa người gửi và người nhận: Cần phải có một kênh an

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

NAS
NDS
19


Hình 1.16 Mô hình mã hóa đối xứng
Để khắc phục điểm yếu của mã hóa đối xứng người ta tập trung vào nghiên cứu
theo hướng: có phương pháp nào để việc mã hóa và giải mã dùng hai khóa khác nhau?
Nếu thực hiện được như vậy thì chúng ta sẽ có 2 phương án áp dụng:
Phương án 1: người nhận (ví dụ Bob) giữ bí mật khóa K2, còn khóa K1 thì công
khai cho tất cả mọi người biết. Alice (ví dụ) muốn gởi dữ liệu cho Bob thì dùng khóa
K1 để mã hóa. Bob dùng K2 để giải mã. Ở đây Trudy (ví dụ người thứ 3) cũng biết khóa
K1, tuy nhiên không thể dùng chính K1 để giải mã mà phải dùng K2. Do đó chỉ có duy
nhất Bob mới có thể giải mã được. Điều này bảo đảm tính bảo mật của quá trình truyền
dữ liệu. Ưu điểm của phương án này là không cần phải truyền khóa K1 trên kênh an
toàn.
Phương án 2: người gửi (Alice) giữ bí mật khóa K1, còn khóa K2 thì công khai
cho tất cả mọi người biết. Alice muốn gởi dữ liệu cho Bob thì dùng khóa K1 để mã hóa.
Bob dùng K2 để giải mã. Ở đây Trudy cũng biết khóa K2 nên Trudy cũng có thể giải
mã được. Do đó phương án này không đảm bảo tính bảo mật. Tuy nhiên lại có tính chất
quan trọng là đảm bảo tính chứng thực và tính không từ chối. Vì chỉ có duy nhất Alice
biết được khóa K1, nên nếu Bob dùng K2 để giải mã ra bản tin, thì điều đó có nghĩa là
Alice là người gửi bản mã. Nếu Trudy cũng có khóa K1 để gửi bản mã thì Alice sẽ bị
quy trách nhiệm làm lộ khóa K1. Trong phương án này cũng không cần phải truyền K2
trên kênh an toàn.
Vì vậy nếu kết hợp phương án 1 và phương án 2, thì mô hình đề xuất của chúng
ta khắc phục được các nhược điểm của mã hóa đối xứng.
Trong cả hai phương án, một khóa được giữ bí mật chỉ một người biết, còn khóa
kia được công khai. Do đó mô hình mã hóa trên được gọi là mã hóa khóa công khai (hay
mã hóa bất đối xứng). Để thuận tiện ta quy ước lại các ký hiệu như sau:

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

Một số lỗ hổng chính có thể khái quát trong hệ thống GSM gồm:
- Chỉ có MS phải xác thực với hệ thống, trong khi hệ thống không cần xác thực
với MS, có thể hiểu như xác thực 1 chiều, đây là 1 lỗ hổng có thể bị khai thác để tìm mã
Ki.
- BS quyết định khi nào cần chuyển sang chế độ mã hóa thông tin dữ liệu người
sử dụng, trong khi MS không có chế độ cảnh báo việc này. Tạo kẻ hở cho kẻ tấn công
tạo một BS giả không sử dụng chế độ thông tin mã hóa để tấn công.
- Thuật toán COMP128 bị bẻ khóa, tuy nhiên để nâng cấp hoặc thay thế thuật
toán A5 cũ thì không thể, buộc phải thay thiết bị mới.
- Bộ 3 xác thực gồm RAND, SRES và Kc được truyền trên mạng báo hiệu SS7,
nó có thể bị truy cập bởi hàng ngàn nhà mạng.
- MS không có khả năng từ chối một yêu cầu xác thực nào đó, do đó MS không
được bảo vệ chống lại một hệ thống giả mạo yêu cầu xác thực.
- IMSI được MS gửi đến BS khi có yêu cầu, kẻ tấn công có thể lợi dùng cách này
để nắm số IMSI và theo dõi cũng như mạo danh thuê bao.
- Số IMEI của thiết bị MS không được xác thực, nó có thể bị thay đổi để tránh bị
truy tìm khi MS bị đánh cắp.
2.1.1 Xác thực một chiều - Hệ thống không xác thực với thiết bị di động
Đây là lỗi nghiêm trọng nhất trong hệ thống xác thực GSM. Thủ tục xác thực
không yêu cầu hệ thống cung cấp thông tin về dãy Ki, hay bất cứ thông tin xác thực nào
đến MS [7].
Giả định một kẻ tấn công (attacker) cài đặt một BTS giả mạo có cùng mã Mobile
Network Code (MNC) với thuê bao. Vì thủ tục xác thực do phía mạng xác lập, Mạng
giả mạo này có thể không yêu cầu xác thực đầy đủ, hoặc đơn giả chỉ gửi dãy RAND và
bỏ qua hồi đáp. Nó cũng không kích hoạt chế độ truyền mã hóa (ciphering). Kẻ tấn công
có thể đặt thông số tái chọn cell (cell reselection paramaters) để đảm bảo MS sẽ kết nối
đến nó – ví dụ như chỉ số CELL_RESELECT_OFFSET cao.
MS do đó cũng không thể nhận ra được việc các cuộc gọi hay tin nhắn bị chặn
bằng phương pháp tấn công này (phương pháp man-in-the-middle attack), hoặc mạng
giả mạo có thể định tuyến cuộc gọi ra mạng thoại công cộng [3, 7].

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

(giảm độ mạnh đi 2
10
lần). Lỗ hổng này cũng xuất hiện trong thuật toán COMP128-2 [3,
7].
2.1.4 Lỗ hổng trong cơ chế bảo mật nhận dạng thuê bao
Việc sử dụng số TMSI thay cho IMSI trong liên lạc (SMS, cuộc gọi, cập nhật vị
trí,…) giúp giảm nguy cơ thuê bao bị kẻ tấn công xác định vị trí trong quá trình kết nối
với hệ thống.
Nếu một thời điểm nào đó, hệ thống mất theo dõi một số TMSI nào đó, và không
thể xác định được thuê bao đó qua TMSI, nó phải yêu cầu thuê bao cung cấp số IMSI
qua liên kết vô tuyến bằng cách sử dụng cơ chế IDENTITY REQUEST và IDENTITY
RESPONSE. Rõ ràng, kết nối này không được mã hóa nếu hệ thống không định danh
được thuê bao, và lúc này số IMSI được gửi mà không được mã hóa [7].

Hình 2.3 Tấn công giả mạo BTS
Kết hợp với lỗ hổng trên là hệ thống không cần xác thực với thiết bị di động, kẻ
tấn công có thể sử dụng cách này để ghép một số TMSI với số IMSI của nó bằng cách
bắt chước một BTS hợp pháp trong mạng mà thuê bao đó đang hoạt động, và theo dõi
thuê bao đó bằng số IMSI của nó. Thiết bị di động của thuê bao đó sẽ thiết lập một kết
nối vô tuyến, và kẻ tấn công có thể đơn giản gửi một yêu cầu IDENTITY REQUEST
(Identity Type = IMSI), và thiết bị di động sẽ phúc đáp bằng số IMSI của nó [3].
2.1.5 Bẻ khóa Ki trên kênh vô tuyến
Những lỗ hổng đã đề cập ở phần trên khi kết hợp lại có thể tạo ra một cách tấn
công nguy hiểm hơn nhiều.

×