KẾT LUẬN
Hiện nay, thuật ngữ 3G đã không còn xa lạ với những tổ chức liên quan
đến lĩnh vực viễn thông và cả những người sử dụng dịch vụ viễn thông trên
toàn thế giới. Với những ưu điểm vượt trội về công nghệ và những dịch vụ
tiện ích phong phú, phù hợp với nhu cầu người dùng, công nghệ 3G đã được
đón nhận một cách nhanh chóng.
Sau một thời gian nghiên cứu, tìm hiểu em đã hoàn thành xong Đồ án
“Công nghệ 3G và vấn đề an ninh bao mật”. Nội dung được đề cập trong Đồ án là:
Chương 1. Tổng quát về các hệ thống thông tin di động nói về vấn đề
lịch sử phát triển của hệ thông thông tin di động, các đặc điểm cơ bản của hệ
thông thông tin di động, các đặc điểm truyền sóng, hệ thông thông tin di động
thế hệ thư ba
Chương 2. Hệ thông thông tin di động thế hệ thứ ba nói về xu thế chung
của công nghệ di động là phải đáp ứng nhu cầu ngày càng cao về chất lượng,
dung lượng, tính tiện lợi, giá cả, tính đa dạng về dịch vụ của người sử dụng. Vì
vậy sau khi tồn tại một thời gian thì các công nghệ 2G đã bộc lộ các điểm yếu là
không thể đáp ứng được yêu cầu trên mà phải đợi đến công nghệ 3G.
Chương 3. Vấn đề bảo mật trong 3G. Phần 1 trình bày về năm yêu tố để
thiết lập một môi trương an ninh, các đe dọa an ninh, các công nghệ an
ninh.Phần 2 trinh bày về mô hình kiến trúc an ninh 3G UMTS, các hàm mật
mã, các thông số nhận thực,nhận thực và thỏa thuận khóa AKA, thủ tục đồng bộ lại AKA
91 trang |
Chia sẻ: linhlinh11 | Lượt xem: 941 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đồ án Công nghệ 3G và vấn đề bảo mật, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ai đến phía thu. Phía thu có
thể giải mật mã chúng bằng khóa riêng của mình. Thông thƣờng chứng nhận
số bao gồm:
Tên ngƣời sử dụng, thông tin nhận dạng duy nhất ngƣời này;
Khóa công khai của ngƣời sở hữu;
Thời gian chứng nhận có hiệu lực;
Chữ ký số từ CA để dễ dàng phát hiện nếu truyền dẫn bị làm giả.
Ngƣời sử dụng sở hữu chứng nhận số cũng có thể tự ký chứng nhận số
để trởthành CA. Khi đó CA này là đáng tin cậy nếu đƣợc ký nhận bởi một
khóa đáng tin cậy khác. Khuôn dạng hàng đầu cho các chứng nhận số là
X.509 (tiêu chuẩn để nhận thực). Các chứng nhận này thƣờng xuất hiện trong
các ứng dụng Internet. Trong giao diện vô tuyến, một dạng khác của giao diện
vô tuyến đƣợc sử dụng là chứng nhận an ninh lớp truyền tải (WLTS).
3.1.3.7. Hạ tầng khóa công khai PKI
PKI là một thuật ngữ dùng để mô tả một tổ chức hoàn thiện của các hệ
thống, quy tắc để xác định một hệ thống an ninh. Nhóm đặc trách kỹ thuật
Internet (IEFT) X.509 định nghĩa PKI nhƣ sau: “PKI là một tập bao gồm phần
cứng, phần mềm, con ngƣời và các thủ tục cần thiết để tạo lập, quản lý, lƣu
trữ và hủy các chứng nhận số dựa trên mật mã khóa công khai”.
PKI gồm:
+ Thẩm quyền chứng nhận (CA): Có nhiệm vụ phát hành và hủy các
57
chứng chỉ số
+ Thẩm quyền đăng ký: Có nhiệm vụ ràng buộc khóa công khai với các
nhận dạng của các sở hữu khóa
+ Các sở hữu khóa: Là những ngƣời sử dụng đƣợc cấp chứng nhận số
và sử dụng các chứng chỉ số này để kí các tài liệu số
+ Kho lƣu các chứng nhận số và danh sách hủy chứng nhận
+ Chính sách an ninh: Quy định hƣớng dẫn mức cao nhất của tổ chức về an
ninh.
PKI là một khái niệm an ninh quan trọng, các khóa công khai đƣợc sử
dụng để kiểm tra các chữ ký số (chứng chỉ số) trong kết nối mạng số liệu. Bản
thân nó không mang bất cứ thông tin gì về thực thể cung cấp các chữ ký.
Công nghệ nối mạng số liệu thừa nhận vấn đề này và tiếp nhận các chứng
nhận an ninh, để ràng buộc khóa công khai và nhận dạng thực thể phát hành
khóa. Thực thể phát hành khóa lại đƣợc kiểm tra bằng cách sử dụng một khóa
công khai đƣợc tin tƣởng đã biết, bằng cách sử dụng một chứng nhận đƣợc
phát đi từ CA ở phân cấp cao hơn. Các chứng nhận đƣợc phát hành và thi
hành bởi một thẩm quyền chứng nhận (CA). CA này đƣợc phép cung cấp các
dịch vụ cho các thực thể đƣợc nhận dạng hợp lệ, khi chúng yêu cầu. Để thực
hiện đƣợc các chức năng đó các CA phải đƣợc tin tƣởng bởi các thực thể (các
thành viên của PKI) dựa trên các dịch vụ mà nó cung cấp.
Tất cả các chứng nhận đƣợc ký bởi một khóa riêng của CA, ngƣời sử
dụng chứng nhận có thể xem, kiểm tra thông tin của chứng nhận đó có hợp lệ
hay không? Bằng cách giải mật mã chữ ký bằng một khóa kiểm tra công khai,
có thể kiểm tra, xem nó có phù hợp với MD của nội dung nhận đƣợc trong
chứng nhận hay không? Chữ ký thƣờng là một MD đƣợc mật mã hóa.
Các thành viên PKI có thể thỏa thận thời gian hiệu lực tiêu chuẩn cho
một chứng nhận. Vì thế, có thể xác định khi nào một chứng nhận bị hết hạn.
Mặt khác thẩm quyền chứng nhận (CA) có thể công bố một danh sách hủy
chứng nhận (CRL) để các thành viên PKI biết chứng nhận không còn hợp lệ với CA
nữa.
Các quan hệ tin tƣởng giữa CA và các thành viên PKI khác phải đƣợc
thiết lập trƣớc khi diễn ra giao dịch PKI. Các quan hệ này thƣờng nằm ngoài
58
phạm vi PKI và vì thế cũng nằm ngoài phạm vi công nghệ nối mạng. Các
quan hệ tin tƣởng PKI có thể đƣợc thiết lập trên cơ sở địa lý, chính trị, xã hội,
dân tộc và có thể mở rộng cho các nền công nghiệp, các nƣớc, các nhóm dân
cƣ hay các thực thể khác đƣợc ràng buộc bởi các mối quan tâm chung. Về mặt
lý thuyết thì các mô hình tin tƣởng PKI có thể dựa trên một CA duy nhất,
đƣợc sử dụng để tạo lập PKI trên toàn cầu giống nhƣ Internet hay một phân
cấp phân bố các CA.
Quá trình trao đổi bí mật (khóa chia sẻ phiên hay thông tin để tạo ra
khóa này) giữa hai phía A và B đƣợc minh họa ở hình sau:
Hình 3.3. Nhận thực bằng chữ ký điện tử
Ngƣời ký A nhận đƣợc khóa công khai từ chứng nhận B. Vì chứng
nhận B đƣợc ký bởi khóa riêng của thẩm quyền chứng nhận bên B, nên nó có
thể đƣợc kiểm tra tại thẩm quyền chứng nhận bên B bằng khóa công khai mà
B nhận đƣợc từ thẩm quyền chứng nhận của mình. Đồng thời chứng nhận CA
của B lại đƣợc kiểm tra bằng khóa công khai nhận đƣợc từ CA gốc và khóa
này đƣợc đảm bảo là hợp lệ. Vì nó đã đƣợc chuyển thành mã của PKI Client
trong modem phần mềm của A. Sau khi đã có đƣợc khóa công khai của B, A
mật mã hóa bí mật bằng cách sử dụng khóa này. Và sau đó bản tin đƣợc mật
mã này đƣợc gửi đến B cùng với chứng nhận CA của A và tóm tắt bản tin
59
MD của bí mật đƣợc mật mã hóa, đƣợc tính toán theo khóa riêng của A. Khi
nhận đƣợc bản tin này, B kiểm tra nhƣ sau: trƣớc hết B giải mật mã hóa bản
tin bằng khóa riêng của mình, tính toàn MD từ kết quả nhận đƣợc, sử dụng
khóa công khai của A để giải mật mã MD nhận đƣợc từ A, rồi sau đó so sánh
MD’ với MD. Nếu bằng thì nhận thực thành công và bí mật nhận đƣợc sau
khi giải mật mã là bí mật cần truyền.
Chứng nhận có thể đƣợc gửi đi ở các khuôn dạng khác nhau, tiêu chuẩn
an ninh đƣợc tiếp nhận rộng rãi là X.509 do ITU định nghĩa. Các thực thể công
cộng và riêng dựa trên các dịch vụ tin tƣởng do một CA chung cung cấp và tiếp
nhận do CA cung cấp. Do vậy, các thành viên của PKI chỉ cần thiết lập quan hệ
tin tƣởng an ninh với một thành viên của PKI với CA chứ không phải với các
thành viên khác. Vì thế có thể định nghĩa PKI ngắn gọn nhƣ sau: “PKI nhƣ
một thực thể ảo kết hợp nhiều thực thể vật lý bởi một tập các chính sách và các
quy tắc ràng buộc các khóa chung với các nhận dạng của các thực thể phát
hành khóa, thông qua việc sử dụng một thẩm quyền chứng nhận CA”.
PKI gồm ba chức năng chính:
+ Chứng nhận: Chứng nhận hay ràng buộc một khóa với một nhận
dạng bằng một chữ ký đƣợc thực hiện bởi một thẩm quyền chứng nhận CA.
Quá trình chứng nhận bao gồm việc tạo ra một cặp khóa gồm khóa công khai
và khóa riêng, do ngƣời sử dụng tạo ra và tính toán cho CA trong một phần
của yêu cầu hay do CA thay mặt ngƣời sử dụng tạo ra.
+ Công nhận hợp lệ: Công nhận có hợp lệ hay chuyên môn hơn là
kiểm tra nhận thực chứng nhận đƣợc thực hiện bởi một thực thể PKI bất kỳ.
Quá trình công nhận hợp lệ bao gồm việc kiểm tra chữ ký do CA phát hành,
đối chiếu với danh sách hủy chứng nhận (CRL) và khóa công khai của CA.
+ Hủy: Hủy một chứng nhận hiện có, trƣớc khi nó hết hạn cũng đƣợc
thực hiện bởi CA. Sau khi chứng nhận bị hủy, CA cập nhật thông tin mới cho
CRL. Trong một kịch bản điển hình, khi ngƣời sử dụng cần nhận hay công
nhận một chứng nhận đƣợc trình bày hợp lệ, nó sẽ gửi yêu cầu này đến CA.
Sau khi chứng nhận đƣợc yêu cầu đƣợc phát đi hay tính hợp lệ của nó đƣợc
kiểm tra, thông tin tƣơng ứng đƣợc CA gửi vào một kho chứng nhận, trong đó
có cả CRL.
60
3.1.3.8. Nhận thực bằng bản tin nhận thực
Nhận thực bằng bản tin nhận thực là một phƣơng pháp đảm bảo toàn
vẹn số liệu và nhận thực nguồn gốc số liệu. Một sơ đồ phổ biến của phƣơng
pháp này là sử dụng mã nhận thực bản tin MAC
Hình 3.4. Phương pháp nhận thực sử dụng MAC
Ngƣời gửi tin nhắn chạy nó thông qua một thuật toán MAC để sản xuất
một thể dữ liệu MAC. Thông điệp và các từ khóa MAC sau đó đƣợc gửi đến
ngƣời nhận. Thu lần lƣợt chạy phần tin nhắn của truyền thông qua các thuật
toán cùng MAC bằng cách sử dụng cùng một chìa khóa, sản xuất một MAC
thứ hai dữ liệu thẻ. Ngƣời nhận sau đó so sánh các từ khóa MAC đầu tiên
nhận đƣợc trong truyền tải đến các từ khóa thứ hai MAC tạo ra. Nếu giống
nhau, ngƣời nhận có thể thừa nhận rằng sự toàn vẹn của thông điệp không bị
tổn hại, và thông điệp không bị thay đổi hoặc giả mạo trong quá trình truyền.
Một phƣơng pháp phổ biến nhất để tạo ra MAC là sử dụng MD5. MD5
nhận bản tin có độ dài bất kỳ và tạo ra ở đầu ra 128 bit MD. Phía phát sẽ gửi bản
tin gốc cùng với MD đến phía thu, phía thu tính MD từ bản tin gốc nhận đƣợc và
so sánh với MD thu đƣợc để nhận định bản tin còn nguyên vẹn hay không?
Giải thuật SHA-1 cũng có thể đƣợc sử dụng để tính toán MD giống nhƣ
MD5. Tuy nhiên MD ở đầu ra của nó chỉ là 120bit.
61
Bằng cách sử dụng hàm làm rối (hàm Hash) một máy tính có thể nhận
thực một ngƣời sử dụng mà không cần lƣu trữ mật khẩu trong văn bản thô.
Sau khi tạo ra một tài khoản (account) ngƣời sử dụng gõ mật khẩu, máy tính
sử dụng hàm Hash một chiều với đầu vào là mật khẩu, để tạo ra giá trị làm rối
(giá trị Hash) và lƣu giữ giá trị này. Lần sau khi ngƣời sử dụng đăng nhập vào
máy tính, máy tính sẽ sử dụng hàm Hash với đầu vào là mật khẩu mà ngƣời
sử dụng gõ vào để tính ra giá trị Hash và so sánh giá trị này với giá trị đƣợc
lƣu. Nếu kết quả giống nhau thì ngƣời sử dụng đó đƣợc quyền đăng nhập. Do
mật khẩu không đƣợc lƣu trong văn bản thô nên rất khó bị lộ.
Cả MD5 và SHA-1 đều là các hàm Hash không khóa, nghĩa là không
có khóa bí mật giữa các bên tham gia thông tin. Các giải thuật này không sử
dụng khóa bí mật làm đầu vào hàm Hash. Giải thuật mã nhận thực bản tin rối
HMAC sử dụng hàm Hash với một khóa chia sẻ bí mật để nhận thực bản tin.
Mục đích chính của HMAC bao gồm:
Sử dụng các hàm Hash hiện có mà không cần thay đổi chúng, ví
dụ có thể sử dụng các chƣơng trình phần mềm của các hàm Hash đang
đƣợc sử dụng rộng rãi và miễn phí;
Duy trì hoạt động nguyên gốc của hàm Hash mà không làm giảm
đáng kể chất lƣợng
3.1.4. Mô hình an ninh tổng quát của một hệ thống thông tin di động
Hình 3.5. Kiến trúc an ninh tổng quát của một hệ thống thông tin di động
User application provider application
TE USI
M
HN
MT AN
SN
Application Stratum
Home Stratum
Tranport
Stratum
1 1
1
2
3
4
62
TE: Thiết bị đầu cuối
UMTS: User Identity Module Dịch vụ
SN: Phục vụ mạng
HN: Nhà mạng
MT: Điện thoại di động kết cuối
AN: Truy cập mạng
Nhìn vào hinh ve ta thấy đƣợc UMTS bao gồm năm nhóm tính năng bảo
mật:
Nhóm 1: cho ngƣời dùng truy cập an toàn tới các dịch vụ
UMTS và bảo vệ lại các cuộc tấn công vào liên kết truy nhập vô tuyến.
Nhóm 2: bảo vệ chống lại các cuộc tấn công mạng có dây và
cho phép các nút trong lĩnh vực cung cấp dịch vụ để trao đổi dữ liệu
báo hiệu an toàn.
Nhóm 3:cung cấp an toàn cho trạm di động.
nhóm 4: cho phép trao đổi an toàn thông tin giữa các ứng dụng
cho ngƣời sử dụng và trong lĩnh vực cung cấp dịch vụ.
Nhóm 5: Bảo mật cho phép ngƣời dùng để quan sát xem là
tính năng bảo mật đang hoạt động và nếu một số dịch vụ phụ thuộc vào
tính năng bảo mật.
An ninh trong GSM
3.1.5. Nhận thực thuê bao GSM
Môi trƣờng an ninh trên giao diện vô tuyến GSM đƣợc đảm bảo bởi hai
quá trình: nhận thực và mật mã.
Ở GSM chỉ có mạng nhận thực MS. AuC đƣợc sử dụng để nhận thực
SIM card của thuê bao, AuC tạo ra bộ ba thông số {RAND||SRES||Kc}.
Trong đó, RAND (128bit); Kc (128bit); SRES (32bit). Tiếp theo, RAND
đƣợc gửi xuống SIM, SRES đƣợc gửi xuống VLR đang quản lý thuê bao
thông qua HLR. Các thông số này đƣợc lƣu tại VLR và đƣợc sử dụng cho
từng cuộc gọi. Sau khi nhận đƣợc hô lệnh mạng ngẫu nhiên (RAND), SIM sử
dụng nó cùng với khóa nhận thực thuê bao Ki đƣợc lƣu tại đây làm đầu vào
cho giải thuật A3 để tạo ra giá trị trả lời đƣợc ký (SRES). Sau đó SIM gửi giá
trị này trở lại mạng (VLR) để mạng kiểm tra bằng cách so sánh nó với SRES
63
tƣơng ứng đƣợc tạo ra ở AuC, nếu chúng trùng nhau thì nhận thực thành công
và MS đó hợp lệ.
3.1.6. Mật mã hóa ở GSM
Mục đích của mật mã hóa là đảm bảo tính riêng tƣ cho thông tin ngƣời
sử dụng trên đƣờng truyền vô tuyến. Sau khi nhận thực ngƣời sử dụng thành
công, tại SIM giải thuật A8 sử dụng khóa nhận thực Ki cùng với hô lệnh ngẫu
nhiên (RAND) để tạo ra khóa mật mã Kc (64bit). Tiếp theo giải thuật A5
đƣợc sử dụng với đầu vào là văn bản thô, số khung Count (24bit) và khóa mật
mã Kc, để cho ra vản bản đã đƣợc mật mã, và gửi chúng lên giao diện vô
tuyến để truyền đi. Tại phía mạng phục vụ khóa Kc tƣơng ứng đƣợc tạo ra ở
AuC bằng giải thuật A8 và đƣợc gửi đến BTS thông qua VLR, tại đây bằng
cách sử dụng giải thuật A5 với đầu vào là Kc, số khung count (24bit) để
chống phát lại và văn bản đã đƣợc mã hóa nhận đƣợc từ MS gửi đến. Cho ra
văn bản thô ở đầu ra. Có thể nói hai quá trình này là quá trình mật mã và giải
mật mã hóa số liệu. Luồng mật mã tại đầu này phải đƣợc đồng bộ với luồng
giải mật mã ở đầu kia để luồng bit mật mã hóa và luồng bit giải mật mã trùng
khớp với nhau.
3.1.7. Các hạn chế trong an ninh GSM
An ninh GSM dựa trên nhận thực và bảo mật đã thể hiện ƣu điểm vƣợt
trội so với hệ thống thông tin di động tƣơng tự (1G). Tuy nhiên, nó cũng tồn
tại không ít các hạn chế:
+Cả hai giải thuật A3 và A8 đều đƣợc sử dụng để nhận thực ngƣời sử
dụng và tạo ra các khóa phiên đều đƣợc thực hiện bởi các nhà cung cấp dịch
vụ bằng giải thuật COMP128. COMP128 đã đƣợc tính toán đảo tại Berkeley
vào năm 1998 và các phân tích về mật mã học của các nhà nghiên cứu
Berkeley chỉ ra rằng, giải thuật này có thể bị phá vỡ sau 219 lần hỏi từ một
BTS giả mạo đến SIM card trong vòng 8 giờ. Phân tích kỹ hơn về ứng dụng
COMP128 của GSM cũng phát hiện rằng bản thân giải thuật này cũng bị thực
hiện yếu. Giải thuật đòi hỏi khóa 64bit, nhƣng 10bit trong số đó luôn đƣợc đặt
bằng 0, vì thế giảm đáng kể tính an ninh của ứng dụng A8. Nếu khóa Kc bị
tổn hại, kẻ xâm phạm có thể đóng giả VLR hợp pháp mà không cần định kỳ
nhận thực. Ngoài ra việc lƣu giữ bộ tam {RAND, SRES và Kc} trong VLR để
64
đợi sử dụng sẽ tăng thêm khả năng bị lộ nhất là đối với xâm phạm từ bên
trong.
+ Dƣới sự điều khiển của giao thức nhận thực GSM, BTS nhận thực
MS yêu cầu phiên thông tin. Tuy nhiên không có nhận thực ngƣợc lại từ MS
đến mạng, nên MS không đƣợc đảm bảo rằng nó không bị thông tin với một
BTS giả mạo. Điều này lại trở nên tồi tệ hơn khi chính hô lệnh ngẫu nhiên
(RAND) đƣợc dùng để nhận thực lại là hạt giống để tạo ra mã phiên khi sử
dụng làm đầu vào cho giải thuật A8. Ngoài ra giao thức bản tin hô lệnh-trả lời
lại không chứa nhãn thời gian. Vì thế nếu một BTS giả mạo thành công nó có
thể tìm đƣợc một khóa phiên để giải mã mọi bản tin sử dụng cùng khóa trong
thời gian khá dài.
+ Nhận thực GSM nói riêng và an ninh GSM nói chung bảo vệ đƣờng
truyền vô tuyến giữa MS và BTS phục vụ nó. Cơ chế an ninh này không bảo
vệ truyền dẫn thông tin giữa AuC và mạng phục vụ. Việc thiếu an ninh trong
mạng hữu tuyến là khả năng chính để lộ ở GSM, nhất là hiện trạng truyền dẫn
giữa các BTS và mạng hữu tuyến thƣờng là các đƣờng viba số dẫn đến thông
tin dễ bị chặn.
+ Trong số hai phƣơng án của giải thuật mật mã hóa số liệu (A5/1 và
A5/2), giải thuật yếu hơn là A5/2 và có thể đƣợc xuất khẩu trên toàn thế giới
không hạn chế. Theo Bruce Schneier, A5/2 đƣợc phát triển với sự hỗ trợ của
NSA và có thể bị phá vỡ trong thời gian thực với hệ số phá vỡ là khoảng 216.
A5/1 mạnh hơn và có khả năng chịu đựng tấn công với hệ số phá vỡ là 220.
Nghĩa là nếu kẻ tấn công sử dụng phần cứng đặc biệt có thể gây tổn hại gần
nhƣ ở thời gian thực
3.2. Giải pháp an ninh trong 3G UMTS
3.2.1. Mô hình kiến trúc an ninh 3G UMTS
Nhận thực
Nhận thực để xác nhận nhận dạng câu một thực thể. Một nút muốn
nhận thực đến một ngƣời (A) thì phải trình diện số nhận dạng của mình. Quá
trình này đƣợc thực hiện bằng cách chỉ ra đƣợc mọt bí mật mà chỉ có hai nút
mạng mới biết hoặc một nút trung gian đƣợc cả hai nút tin tƣởng giao cho để
xác nhận các nhận dạng của chúng. Nhận thực trong 3G UMTS đƣợc chia
thành 2 phần:
65
+ Mạng nhận thực ngƣời
+ Ngƣời nhận thực mạng
Thử tục mạng nhận thực ngƣời và ngƣời nhận thực mạng , trong quá
trình trao đổi bản tin xẩy ra cùng một lúc. Thủ tục này gọi là “nhận thực một
lần gửi” để giảm các bản tin cần truyền.Sau các thủ tục này, ngƣời sử dụng sẽ
tin tƣởng mạng đƣợc cung cấp đến.Đồng thời, mạng cũng tin tƣởng nhận
dạng của ngƣời sử dụng là hợp lệ.
Bảo mật
Bảo mật để bảm bảo an ninh thông tin không bị rò rỉ ra bên ngoài.Khi
mà số lƣợng thuê bao không ngừng tăng cho cả các cuộc gọi cá nhận lẫn
doanh nghiệp(ví dụ trực tuyến nhƣ trao đổi ngân hàng ) thì nhu cầu bảo mật
thông tin ngày càng trở nên bức thiết.
Bảo mật trong 3G UMTS đạt đƣợc bằng cách mật mã hóa các cuộc
truyền hông giữa thuê bao và mạng, bằng cách sử dụng nhận thực tạm thời
TMSI thay cho sử dụng nhận dạng toàn cầu IMSI. Mật mã hóa đƣợc thực hiện
giữa USIM và RNC, bảo mật ngƣời sử dụng đƣợc thực hiện giữa USIM và
VLR/SGSN. Các thuộc tính cần bảo mật:
Nhận dạng thuê bao
Vị trí hiện thời của thuê bao
Số liệu ngƣời sử dụng
Số liệu báo hiệu
Nếu mạng phục vụ không hỗ trợ bảo mật số liệu ngƣời sử dụng thì thuê
bao cần đƣợc thông báo về khả năng này bị từ chối
Toàn vẹn
Đôi khi bản tin mà chúng ta có thể nhận đƣợc từ từ một phía nhận
thực tin cậy,nhƣng co thể bị giả mạo.Bởi vậy để tránh vấn đề này cần có bảo
vệ toàn vẹn, với mục đích không chỉ bảo mật bản tin mà cần bảo đảm đây là
bản tin chính thống. Tạo ra các con dấu bổ sung cho các bản tin là phƣơng
pháp tối ƣu nhất để bảo vệ toàn vẹn trong 3G UMTS.Từ một khóa chủ biết
trƣớc (K), các con dấu có thể đƣợc tạo ra tại các nút biết đƣợc các khóa.Bảo
vệ toàn vẹn đặc biệt cần thiết, vì mạng phục vụ thƣờng đƣợc khai thác bởi
66
một nhà khai thác khác với nhà khai thác của thuê bao. Thuộc tính cần đƣợc
bảo vệ toàn vẹn là các bản tin báo hiệu.
Cần lƣu ý rằng tại lớp vật lý, các bit đƣợc kiểm tra tính toàn vẹn bằng
cách kiểm tra tổng CRC (kiểm tra vòng dƣ). Xong các biện pháp này chỉ đƣợc
thực hiện để đạt đƣợc các cuộc truyền thông số liệu không mắc lỗi trên giao
diện vô tuyến, chứ không giống nhƣ toàn vẹn mức truyền tải.
3.2.2. Các hàm mật mã
3.2.2.1. Yêu cầu đối với các giải thuật và các hàm mật mã
Các giải thuật và các hàm mật mã phải đáp ứng các yêu cầu chặt chẽ.
Các hàm này phải đƣợc thiết kế để có thể tiếp tục đƣợc sử dụng ít nhất 20
năm. Các UE chứa các hàm này không bị giới hạn về xuất khẩu và sử dụng.
Các thiết bị mạng nhƣ RNC và AuC có thể phải chịu các hạn chế. Việc xuất
khẩu các nút này phải tuân thủ thỏa thuận Wassenaar. Nhƣ vậy nhà khai thác
có thể thiết lập thiết bị và giải thuật theo luật và giấy phép địa phƣơng và
ngƣời sử dụng có thể chuyển mạng bằng thiết bị của mình mỗi khi chuyển
đến một mạng hay một nƣớc khác. Khi không biết các khóa đầu vào, ta không
thể phân biệt các hàm này với các hàm ngẫu nhiên độc lập của các đầu vào
của chúng. Thay đổi một thông số đầu vào mỗi lần không thể phát hiện bất kỳ
thông tin nào về khóa chủ (K) hay trƣờng cầu hình của nhà khai thác
3.2.2.2. Các hàm mật mã
Các tính năng an ninh của 3G UMTS đƣợc thực hiện bởi tập các hàm
và các giải thuật mật mã. Tất cả có mƣời hàm mật mã để thực hiện tính năng
này : f0, f1, f2, f3, f4, f5, f1*, f5*, f8 và f9. Trong đó, f0 để tạo ra hô lệnh
ngẫu nhiên (RAND), bẩy hàm tiếp theo là các hàm tạo khóa. Chúng đều là
đặc thù nhà khai thác, vì các khóa đƣợc sử dụng để nhận thực chỉ đƣợc tạo ra
ở USIM và AuC. Đây là hai miền mà cùng một nhà khai thác phải chịu trách
nhiệm. Các hàm để tạo ra các thông số AKA là: f1, f2, f3, f4, f5, f1* và f5*.
Việc lựa chọn các hàm này về nguyên tắc là tùy thuộc vào nhà khai thác. Do
việc thiết kế giải thuật mật mã mạnh cho các hàm này rất khó, nên 3GPP đã
cung cấp một tập mẫu các giải thuật AKA với tên gọi là MILENAGE. Việc
cấu trúc các giải thuật này dựa trên một giải thuật mật mã mạnh 128bit đƣợc
gọi là hàm lõi cùng với trƣờng cấu trúc bổ sung do nhà khai thác lựa chọn.
Tiêu chuẩn mật mã hóa tiên tiến (AES) đƣợc khuyến nghị sử dụng cho hàm
67
lõi của các hàm f1, f2, f3, f4 và f5. Hàm f1* và f5* đƣợc sử dụng để tạo khóa
phục vụ quá trình đồng bộ lại. Các hàm f8 và f9 sử dụng hàm lõi là bộ mật mã
khối KASUMI. Các hàm f8 và f9 đƣợc sử dụng trong USIM và RNC, vì hai
miền này có thể thuộc hai nhà khai thác khác nhau, nên chúng không thể đặc
thù nhà khai thác. Các hàm này sử dụng khóa chủ (K). Lý do là để tránh phân
bổ khóa này trên mạng và để giữ nó an toàn trong USIM và AuC
Bảng 4. Các hàm mật mã.
Hàm Đầu vào Đầu ra Chức năng
f0 RAND Tạo hô lệnh ngẫu
nhiên cho mạng
f1 K, SQN, AMF, RAND,
MAC-A/XMAC-A Nhận thực mạng
f2 K, RAND XRES VÀ RES Nhận thực ngƣời
dử dụng
f 3 K, RAND
CK Tạo khóa mật mã
f 4 K, RAND
IK Tạo khóa toàn vẹn
f 5 K, RAND
AK Tạo khóa dấu tên
f 1* K, RAND, MAC-S Nhận thực bản tin
đồng bộ lại
f 5* K,RAND AK Tạo khóa dấu tên
cho bản tin đồng
bộ lại
f 8 CK, COUNT-C,
BEARER,
DICRECTION,
LENGTH
KS
Tạo luồng khóa để
mật mã hóa và giải
mật mã hóa số liệu
f 9 Bản tin báo hiệu phát/
thu, DICRECTION, IK,
COUNT-I, FREESH
MAC-I VÀ
XMAC-I
Tạo mã nhận thực
toàn vẹn bản tin
Hàm f8
Số liệu ngƣời sử dụng và một số phần tử thông tin báo hiệu đƣợc coi là
nhậy cảm và phải đƣợc bảo mật. Để bảo mật nhận dạng, số nhận dạng thuê
bao di động tạm thời gói (P-TMSI) phải đƣợc truyền trong chế độ bảo mật tại
thời điểm cấp phát và tại các thời điểm khác, khi các thủ tục báo hiệu cho
68
phép nó. Hàm mật mã đảm bảo chế độ truyền dẫn có bảo vệ trên các kênh
truy nhập vô tuyến giữa UE và RNC. Chúng ta dùng hàm mật mã f8 để tiến
hành mật mã hóa và giải mật mã hóa số liệu (hình 3.6 )
Hình 3.6. Quá trình mật mã hóa và giải mật mã hóa bằng hàm f8
Các thông số đầu vào của hàm f8 bao gồm: Số trình tự mật mã hóa
(COUNT-C) (32bit), số này tăng mỗi khi gửi đi hoặc thu về một bản tin đƣợc
bảo mật. Có hai bộ đếm cho đƣờng lên và đƣờng xuống. Khóa mật mã (CK)
(128bit) đƣợc tạo ra ở AuC và đƣợc gửi đến VLR/SGSN trong các vec-tơ
nhận thực (AV). Sau khi quá trình nhận thực thành công, khóa này đƣợc gửi
đến RNC. USIM tạo ra các khóa này trong thời gian nhận thực, khi thực hiện
chuyển giao khóa mật mã (CK) đƣợc truyền từ RNC hiện thời đến RNC mới
để đảm bảo tiếp tục truyền thông. CK không thay đổi khi chuyển giao. Sẽ có
hai khóa CK, một CKcs đƣợc thiết lập giữa miền dịch vụ chuyển mạch kênh
với ngƣời sử dụng và CKps đƣợc thiết lập giữa miền dịch vụ chuyển mạch gói
với ngƣời sử dụng.
Nhận dạng kênh mang (BEARER) (5bit) đƣợc sử dụng để phân biệt
các kênh mang vô tuyến logic khác nhau liên kết với cùng một ngƣời sử dụng
trên cùng một kênh vật lý. Điều này đƣợc thực hiện để tránh xảy ra cùng một
thông số đầu vào dẫn đến cùng một luồng khóa cho các kênh mang vô tuyến
khác nhau.
69
Nhận dạng hƣớng (DIRECTION) (1bit) đƣợc sử dụng để phân biệt các
bản tin phát với các bản tin thu nhằm tránh sử dụng cùng một thông số đầu
vào cho hàm.
Nhận dạng hƣớng có kích cỡ 1bit, với “0” cho các bản tin ở đƣờng lên
(xuất phát từ USIM) và “1” cho các bản tin ở đƣờng xuống (xuất phát từ
RNC). Thông số này cùng với COUNT-C đảm bảo rằng các thông số đầu vào
thay đổi trong một kết nối. Thông số chiều dài (LENGTH) (16bit) đƣợc sử
dụng để đặt độ dài cho luồng khóa (KS). Bản thân thông số này không làm
thay đổi các bit trong KS, nhƣng nó ảnh hƣởng tới số bit trong luồng này.
Thông số ở đầu ra của hàm là luồng khóa KS, luồng khóa này đƣợc
thực hiện XOR với văn bản thô rồi phát lên giao diện vô tuyến. Luồng khóa
KS của bộ mật mã hóa là duy nhất đối với từng khối. Với các thông số đầu
vào khác nhau ta sẽ thu đƣợc ở đầu ra các KS khác nhau. Vì thế cả phía phát
lẫn phía thu phải đồng bộ bằng cùng một bộ đếm tại mọi thời điểm để tạo ra
cùng một COUNT-C, bằng không không thể giải mật mã hóa đƣợc. Đồng
thời, cả USIM và RNC phải sử dụng đồng thời cùng một giải thuật mật mã.
USIM thông báo cho RNC về các giải thuật mật mã mà nó hỗ trợ, RNC sau
đó chọn giải thuật mật mã sẽ sử dụng theo ƣu tiên của nhà khai thác và quy
định địa phƣơng. Quá trình này đƣợc gọi là nhận dạng giải thuật mật mã
(UEA).
Khi cần bảo vệ toàn vẹn, bảo mật chỉ là tùy chọn, tuy nhiên ngƣời sử
dụng phải đƣợc thông báo về việc có cho phép mật mã hóa hay không.
Hàm f9
Hầu hết các thông tin báo hiệu điều khiển đƣợc gửi giữa UE và mạng
đều đƣợc coi là nhậy cảm và cần đƣợc bảo vệ toàn vẹn. Hàm toàn vẹn (f9)
đƣợc sử dụng để bảo vệ toàn vẹn các bản tin đó. Trái lại số liệu của ngƣời sử
dụng không đƣợc bảo vệ toàn vẹn và nó chỉ đƣợc bổ sung ở các giao thức bậc
cao hơn nếu cần. Bảo vệ toàn vẹn là bắt buộc trong 3G UMTS cho các bản tin
báo hiệu, hàm f9 đƣợc sử dụng giống nhƣ AUTN và AUTS. Nó bổ sung “các
dấu ấn” vào các bản tin để đảm bảo rằng các bản tin này đƣợc tạo ra tại nhận
dạng hợp lệ. Nó cũng đảm bảo rằng bản tin không phải là giả mạo. Quá trình
kiểm tra toàn vẹn bản tin bằng hàm toàn vẹn f9 đƣợc mô tả trong hình 3.7.
70
Hình 3.7. Lưu đồ thuật toán hàm f9
Các thông số đầu vào của hàm f9 bao gồm:
Số trình tự toàn vẹn (COUNT-I) (32bit), số này tăng mỗi khi gửi đi
hoặc thu về một bản tin đƣợc bảo vệ toàn vẹn. Có hai bộ đếm cho đƣờng lên
và đƣờng xuống.
Khóa toàn vẹn (IK) (128bit) đƣợc tạo ra ở cả AuC lẫn USIM.
VLR/SGSN nhận IK trong AV từ AuC gửi đến, sau quá trình nhận thực thành
công nó đƣợc gửi đến RNC. Khi xảy ra chuyển giao, khóa toàn vẹn IK đƣợc
chuyển từ RNC hiện thời đến RNC mới, khóa này không đổi khi chuyển giao.
Số nhận dạng hƣớng (DIRECTION) (1bit) đƣợc sử dụng để phân biệt bản tin
phát và bản tin thu. Điều này cần thiết để tránh việc hàm sử dụng cùng một
thông số cho các bản tin phát đi và thu về. Số nhận dạng hƣớng là 1bit, với
“0” cho bản tin ở đƣờng lên (xuất phát từ USIM) và “1” cho bản tin ở đƣờng
xuống (xuất phát từ RNC). Thông số làm tƣơi (FRESH) đƣợc sử dụng để
chống các tấn công phát lại. Một giá trị FRESH đƣợc ấn định cho từng ngƣời
sử dụng, RNC tạo ra thông số này khi thiết lập kết nối. Sau đó, nó gửi thông
số này đến ngƣời sử dụng bằng “lệnh chế độ an ninh”. Thời hạn hiệu lực của
thông số này là một kết nối và giá trị FRESH mới sẽ đƣợc tạo ra tại kết nối
sau. Ngoài ra, khi chuyển giao, FRESH sẽ đƣợc đặt lại vào giá trị mới.
Một thông số quan trọng nhất cho hàm là “bản tin báo hiệu”. Nhờ hàm
71
này mà bản tin báo hiệu đƣợc bảo vệ toàn vẹn. Nếu trong quá trình truyền
thông mà bản tin này bị thay đổi thì sẽ không có các giá trị ở đầu ra (MAC-I
và XMAC-I) trùng nhau, vì thế nơi nhận sẽ từ chối bản tin này.
Thông số ở đầu ra của hàm f9 là mã nhận thực bản tin toàn vẹn số liệu
(MAC-I) và XMAC-I (giá trị kỳ vọng) đƣợc sử dụng sau khi kết thúc các thủ
tục AKA, MAC-I đƣợc tạo ra ở phía phát (USIM hoặc RNC) và đƣợc so sánh
với XMAC-I tại phía thu (RNC hoặc USIM). Phía phát tạo ra MAC-I với bản
tin đầu vào và phía thu sử dụng chính bản tin đi kèm cho hàm của chính nó để
tạo ra XMAC-I. Nếu chúng trùng nhau chứng tỏ rằng bản tin không bị thay
đổi và gốc của nó đƣợc nhận thực. Nếu không trùng nhau thì bản tin sẽ bị từ
chối.
Cũng tƣơng tự nhƣ ở hàm f8 cả phía phát lẫn phía thu phải đồng bộ
bằng cùng một bộ đếm tại mọi thời điểm để tạo ra cùng một COUNT-I. Đồng
thời, do giải thuật toàn vẹn UMTS xảy ra ở cả USIM và RNC, nên chúng có
thể ở các miền của các nhà khai thác khác nhau. Vì thế, các nút có thể hỗ trợ
các giải thuật khác nhau. Để nhận dạng các giải thuật khác nhau đƣợc sử
dụng, mỗi giải thuật toàn vẹn UMTS (UIA) có một nhận dạng riêng 4bit.
USIM sẽ cung cấp cho RNC thông tin về các UIA mà nó hỗ trợ, sau đó RNC
quyết định sẽ sử dụng UIA nào.
3.2.2.3. Sử dụng các hàm mật mã để tạo AV trong AuC
Vec-tơ nhận thực (AV) bao gồm các thông số: hô lệnh ngẫu nhiên
(RAND); trả lời kỳ vọng từ ngƣời sử dụng (XRES); khóa mật mã (CK); khóa
toàn vẹn (IK); và thẻ nhận thực mạng (AUTN). Hình 3.8. mô tả quá trình sử
dụng các hàm mật mã để tạo ra các AV trong AuC
Nhƣ trên ta đã biết chức năng của các hàm mật mã. Hàm f0 tạo ra hô
lệnh ngẫu nhiên (RAND). Hàm f1 với các thông số đầu vào là: RAND;
trƣờng quản lý nhận thực (AMF); số trình tự SQN và khóa chủ (K) đƣợc lƣu
sẵn trong AuC sẽ cho ra ở đầu ra mã nhận thực bản tin dành cho nhận thực
(MAC-A), các hàm tiếp theo từ f2 đến f5 với cùng các thông số đầu vào là
RAND và K sẽ cho ra ở đầu ra các thông số lần lƣợt nhƣ sau: XRES; CK; IK;
AK. AK đƣợc tạo ra sau đó đƣợc XOR với SQN để tạo ra SQN AK. Đến
đây ta đã đƣợc đầy đủ các thông số của AV.
72
Hình 3.8. Quy trình tạo các AC trong AuC
3.2.2.4. Sử dụng các hàm mật mã để tạo các thông số an ninh trong USIM
Để tạo ra các khóa đầu ra trong USIM, nó chỉ có một trong số bốn
thống số mà AuC có, đó là khóa chủ (K).Các thông số còn lại phải nhận từ
AuC. Hình 3.9. mô tả quá trình tạo các thông số an ninh trong USIM.
Hình3.9. Quy trình tạo các thông số trong USIM
Khi USIM nhận đƣợc cặp (RAND||AUTN), nó bắt đầu tạo ra khóa dấu
tên (AK) bằng hàm f5 dựa trên số ngẫu nhiên RAND thu đƣợc. Bằng cách
XOR AK với SQN AK có đƣợc từ thẻ nhận thực AUTN ta thu đƣợc SQNHE
của AuC. Sau đó, hàm f1 đƣợc sử dụng với các đầu vào là K, RAND, AMF,
SQN cho ra ở đầu ra mã nhận thực bản tin kỳ vọng (XMAC-A). Nó tiến hành
73
so sánh số này với MAC-A có trong AUTN. Nếu hai số này trùng nhau,
USIM nhận thực rằng bản tin (cặp RAND||AUTN) nhận đƣợc từ chính HE
đang quản lý nó. Quá trình đƣợc tiếp tục bằng các hàm tạo khóa khác. Nếu
hai số này không trùng nhau thì bản tin “từ chối nhận thực của ngƣời sử dụng
kèm theo nguyên nhân” đƣợc gửi trở lại VLR/SGSN. Nếu nhận thực thành
công, USIM tiến hành kiểm tra SQNHE có nằm trong dải của SQNMS. Nếu số
trình tự này nằm trong dải quy định, USIM sẽ tiến hành tạo ra các thông số
tiếp theo bằng cách sử dụng các hàm f2 (tạo ra RES), f3 (tạo ra CK), f4 (tạo ra
IK), f5 (tạo ra AK).
3.2.2.5. Sử dụng các hàm để đồng bộ lại tại USIM
Khi USIM nhận thấy chuỗi trình tự SQNHE nhận đƣợc nằm ngoài dải
của SQNMS, các chức năng tạo khóa bình thƣờng bị hủy và USIM bắt đầu tạo
ra thẻ đồng bộ lại AUTS. Quá trình đƣợc miêu tả cụ thể trong hình 3.10.
Hình 3.10. Tạo các AuTS trong USIM
Bằng hàm f1* với các thông số đầu vào là hô lệnh ngẫu nhiên (RAND),
khóa chủ (K) và trƣờng quản lý nhận thực (AMF, đặt bằng 0). Ta đƣợc ở đầu
ra của hàm mã nhận thực bản tin đồng bộ lại (MAC-S). Tiếp theo hàm f5*
đƣợc sử dụng với hai thông số đầu vào là K và RAND ta đƣợc thông số đầu ra
là AK. AK đƣợc XOR với SQNMS để tạo thành SQNMS AK. Sau đó,
SQNMS AK và MAC-S đƣợc ghép vào thẻ đồng bộ lại AUTS. Cuối cùng
bản tin “sự cố đồng bộ” cùng với thông số AUTS đƣợc gửi tới VLR/SGSN.
Các hàm f1* và f5* chỉ đƣợc sử dụng cho thủ tục đồng bộ lại. Các hàm này
74
đƣợc xây dựng sao cho các giá trị của chúng không làm lộ các hàm khác.
3.2.2.6 Sử dụng các hàm để đồng bộ lại tại AuC
Hình 3.11. Thủ tục đồng bộ tại AuCc
AuC nhận thực cặp RAND||AUTS từ VLR/SGSN và thực hiện thử tục
đồng bộ lại. Quá trình đƣợc miêu tả trong hình 3.11.
Hàm f1* sử dụng các thông số đầu vào là K, AMF và RAND để tạo ra
mã nhận thực đồng bộ lại kỳ vọng (XMAC-S). Sau đó, XMAC-S đƣợc so
sánh với MAC-S, nếu trùng nhau thì thủ tục đƣợc tiếp tục diễn ra.
Hàm f5* sử dụng các thông số đầu vào là K và RAND để tạo ra khóa
dấu tên (AK) và giá trị này đƣợc XOR với SQNMS AK ta thu đƣợc SQNMS
của USIM. AuC tiến hành so sánh hai số trình tự (SQNMS với SQNHE). Nếu nó
nhận thấy AV đƣợc tạo ra tiếp theo sẽ đƣợc USIM tiếp nhận, nó sẽ gửi các
AV này trở lại VLR/SGSN. Nếu không có AV nào nằm trong dải đƣợc USIM
tiếp nhận, AuC phải đặt SQNHE=SQNMS. VLR/SGSN sẽ tạo ra XMAC-S và so
sánh nó với MAC-S nhận đƣợc từ AUTS (thẻ nhận thực đồng bộ lại). Quá
trình này đƣợc thực hiện để nhận thực thuê bao, nếu thành công số trình tự
của AuC (SQNHE) sẽ đƣợc đặt lại bằng giá trị SQNMS. Sau đó, AuC tạo ra một
tập các AV mới. Nhƣ đã nói ở trên, việc tạo ra nhiều AV trong thời gian thực
có thể làm AuC quá tải. Vì thế có thể AuC chỉ gửi đến VLR/SGSN một AV
trong lần gửi đầu tiên.
SQNMS AK
K
AMF
f5* f1*
SQNMS XMAC-S
AK
RAND
75
3.2.2.7 Thứ tự tạo khóa
Thứ tự tạo khóa có thể không đƣợc thực hiện nhƣ đã mô tả ở trên. Thứ
tự đƣợc mô tả ở trên là logic, nhƣng thực hiện có thể khác, nếu việc thực hiện
này hiệu quả hơn. Điều quan trọng là các khóa phải sẵn sàng theo thứ tự trình
bày ở trên.
3.2.3 Các thông số nhận thực
Các thông số đƣợc sử dụng trong thủ tục AKA bao gồm:
3.2.3.1 Các thông số của vec-tơ nhận thực (AV)
Các AV đƣợc tạo ra ở AuC và đƣợc tập trung gửi đến mạng phục vụ
(SN), nơi chúng sẽ đƣợc sử dụng cho nhận thực. Khi nhận thực đƣợc thực
hiện, các khóa mật mã và nhận thực của AV đƣợc lƣu tại RNC. Các thông số
của AV bao gồm: RAND, XRES, AUTN, CK, IK.
3.2.3.2 Thẻ nhận thực mạng (AUTN)
Thẻ nhận thực mạng đƣợc tạo ra tại AuC và đƣợc gửi cùng với RAND
từ VLR/SGSN đến USIM. AUTN bao gồm: SQNHE AK||AMF||MAC-A.
3.2.3.3 Trả lời của người sử dụng và giá trị kỳ vọng (RES&XRES)
RES đƣợc mạng sử dụng để nhận thực thuê bao. Trƣớc hết XRES đƣợc
tạo ra ở AuC và đƣợc gửi đến VLR/SGSN trong AV. Sau đó, USIM tạo ra
RES (bằng hàm f2) và gửi nó đến VLR/SGSN, tại đây chúng đƣợc so sánh
với nhau. Nếu chúng trùng nhau thì ngƣời sử dụng đƣợc nhận thực.
3.2.3.4 Mã nhận thực bản tin dành cho nhận thực và giá trị kỳ vọng (MAC-
A&XMAC-A)
Hai thông số này đƣợc sử dụng trong AKA để USIM nhận thực mạng.
USIM nhận đƣợc MAC-A trong AV và so sánh với XMAC-A do nó tạo ra
bằng hàm f1. Nếu hai mã này trùng nhau thì mạng đƣợc USIM nhận thực.
3.2.3.5 Thẻ đồng bộ lại (AUTS)
AUTS đƣợc tạo ra ở USIM (bằng hàm f1*&f5*) khi SQNHN không
nằm trong dải của SQNMS. Sau đó nó gửi AUTS (có kèm theo SQNMS) đến
AuC để tiến hành thủ tục đồng bộ lại.
3.2.3.6 Mã nhận thực bản tin dành cho đồng bộ lại và giá trị kỳ vọng
(MAC-S&XMAC-S)
Hai thông số này đƣợc sử dụng để nhận thực USIM trƣớc khi đặt lại số
76
trình tự của AuC. Khi USIM nhận ra sự cố đồng bộ, nó tạo ra MAC-S và gửi
nó trong AUTS đến AuC. AuC tự tạo ra giá trị kỳ vọng XMAC-S và so sánh
hai thông số này với nhau. Hai thông số này đƣợc tạo ra bằng hàm f1*. Nếu
chúng trùng nhau, bản tin sự cố đồng bộ đƣợc nhận thực và SQNHE đƣợc đặt
vào vị trí của SQNMS.
3.2.3.7 Kích cỡ của các thông số nhận thực
Dƣới đây là bảng thống kê các thông số nhận thực với các kích cỡ kèm
theo.
Bảng 5. Bảng kích cỡ các thông số nhận thực
3.2.4. Mô hình an ninh cho giao diện vô tuyến 3G UMTS
Nhận thực ở 3G UMTS đƣợc thực hiện ở cả hai chiều: mạng nhận thực
ngƣời sử dụng và ngƣợc lại. Để làm đƣợc điều đó, mạng phải gửi đến UE một
bản tin yêu cầu nhận thực có chứa mã nhận thực MAC-A. Sau đó, USIM sẽ
tính toán con dấu kiểm tra nhận thực XMAC-A và so sánh hai mã này nếu
trùng nhau thì quá trình nhận thực thành công.
Mật mã bản tin đƣợc thực hiện ở cả hai chiều bằng luồng khóa (KS). Tại
RNC, KS đƣợc tạo ra từ khóa mật mã (CK)
trong AV do AuC gửi xuống. Còn trong USIM, KS đƣợc tạo ra từ CK
Thông số Định nghĩa Số bit
K Khóa chủ (Master Key) 128
RAND Hô lệnh ngẫu nhiên 128
SQN Số trình tự 48
AK Khóa nặc danh 48
AMF Trƣờng quản lý nhận thực 16
MAC Mã nhận thực bản tin 64
CK Khóa mật mã 128
IK Khóa toàn vẹn 128
RES Trả lời của ngƣời sử dụng 32-128
X-RES Trả lời kỳ vọng của ngƣời sử dụng 32-128
AUTN Thẻ nhận thực mạng 128
AUTS Thẻ đồng bộ lại 96-128
MAC-I Mã nhận thực bản tin cho toàn vẹn số liệu 32
77
mà CK lại đƣợc tính toán từ RAND và AUTN (do mạng gửi đến).
Bảo vệ toàn vẹn cũng đƣợc thực hiện ở cả hai chiều bằng nhận thực bản
tin toàn vẹn, đƣợc truyền giữa RNC và UE. Để đƣợc nhận thực bản tin phát
(từ UE hoặc RNC) phải đƣợc đóng dấu bằng mã nhận thực bản tin dành cho
toàn vẹn (MAC-I). Phía thu (RNC hoặc UE) tính toán ra XMAC-I để kiểm
tra.
Các thành phần quan trọng nhất liên quan đến an ninh là khóa chủ biết
trƣớc (K) và một số thông số khác đƣợc lƣu trong USIM và AuC, chúng
không bao giờ đƣợc truyền ra ngoài khỏi hai vị trí này. Cũng cần đảm bảo
rằng các thông số nói trên đồng bộ với nhau ở cả hai phía.
Mô hình an ninh tổng quát cho giao diện vô tuyến ở 3G UMTS đƣợc
minh họa ở hình 3.12.
Hình 3.12. Mô hình an ninh cho giao diện vô tuyến 3G UMTS
3.2.4.1 Mạng nhận thực người sử dụng
Để đảm bảo nhận thực mạng UMTS ta cần xét đến ba thực thể:
VLR/SGSN; USIM; HE. VLR/SGSN kiểm tra nhận dạng thuê bao giống nhƣ
ở GSM, còn USIM đảm bảo rằng VLR/SGSN đƣợc HE quản lý nó cho phép
thực hiện điều này.
Nhận thực đƣợc thực hiện ngay sau khi mạng phục vụ (SN) nhận dạng
thuê bao. Quá trình này đƣợc thực hiện khi VLR (trong miền CS) hoặc SGSN
(trong miền PS) gửi yêu cầu nhận thực đến AuC. Tiếp đến VLR/SGSN gửi
78
bản tin yêu cầu nhận
thực ngƣời sử dụng đến UE. Trong bản tin này có chứa RAND và AUTN.
Khóa chủ (K) trong USIM sẽ đƣợc sử dụng kết hợp với hai thông số
(RAND&AUTN) để tính toán ra thông số trả lời của ngƣời sử dụng (RES)
bằng cách sử dụng hàm mật mã f2. RES có độ dài (32-128bit), sau khi đƣợc
tạo ra ở USIM nó đƣợc gửi ngƣợc trở lại VLR/SGSN. Tại đây nó đƣợc so
sánh với giá trị kỳ vọng XRES do AuC tạo ra và gửi đến. Nếu hai thông số
này trùng nhau, thì nhận thực thành công. Quá trình đƣợc mô tả ở hình 3.13.
Hình 3.13. Nhận thực người sử dụng tại VLR/SGSN
3.2.4.2. USIM nhận thực mạng
Nhƣ trên đã nêu, để đƣợc nhận thực bởi USIM, mạng phải gửi đến
USIM mã nhận thực bản tin dành cho nhận thực (MAC-A). Mã này có trong
thẻ nhận thực mạng AUTN cùng với RAND mà mạng gửi đến. Sau đó USIM
sẽ sử dụng hàm f1 với đầu vào là khóa chủ K cùng với AUTN và RAND để
tính ra XMAC-A (giá trị kỳ vọng).
Tiếp đến nó tiến hành so sánh XMAC-A và MAC-A, nếu chúng giống nhau
thì nhận thực thành công. Quá trình đƣợc minh họa ở hình 3.14.
Nhận đƣợc
thành công =?
đúng XRES
f2
VLR/SGSN
f2
K
RAND,AUTN
RAND
AUTN
K
RES
RAND
AUTN
USIM
79
Hình 3.14. Nhận thực tại mạng USIM
3.2.4.3. Mật mã hóa UTRAN
Sau khi nhận thực cả ngƣời sử dụng lẫn mạng (nhận thực qua lại) thành
công, quá trình thông tin an ninh bắt đầu. Để cóthể thực hiện mật mã, cả hai
phía phải thỏa thuận với nhau về giải thuật mật mã sẽ đƣợc sử dụng. Quá trình
mật mã đƣợc thựchiện tại UE và RNC. Để thực hiện mật mã cả USIM lẫn
RNC phải tạo ra các luồngkhóa (KS). Quá trình này đƣợc minh họa trong
hình 3.15.
Hình 3.15. Bộ mật mã luồng khóa trong UMTS
Theo đó ta thấy các thông số đầu vào của hàm f8 là: khóa mật mã
(CK); số trình tự mật mã hóa (COUNT-C); nhận dạng kênh mang vô tuyến
(BEARER); phƣơng truyền (DIRECTION) và độ dài thực tế của luồng khóa
(LENGTH). RNC nhận đƣợc CK trong vec-tơ nhận thực (AV) đƣợc gửi tới từ
AuC. Còn tại USIM, CK đƣợc tính toán bằng hàm f3 với đầu vào là K và
RAND nhận đƣợc từ mạng. Sau khi có đƣợc CK ở cả hai phía, RNC chuyển
Nhận đƣợc
thành công =?
đúng MAC-A
f1
VLR/SGSN
f1
K
RAND,AUTN
RAND
AUTN
K
XMAC-A
RAND
AUTN
USIM
80
vào chế độ mật mã bằng cách gửi đi lệnh an ninh RRC (kết nối tài nguyên vô
tuyến) đến UE.
Trong quá trình mật mã UMTS, số liệu văn bản gốc đƣợc cộng từng bit
với số liệu mặt nạ giả ngẫu nhiên của KS (hình 3.14). Ƣu điểm lớn nhất của
phƣơng pháp này là có thể tạo ra số liệu mặt nạ trƣớc khi nhận đƣợc văn bản
thô. Vì thế quá trình mật mã hóa đƣợc tiến hành nhanh hơn. Quá trình giải
mật mã đƣợc tiến hành theo cách tƣơng tự nhƣ mật mã hóa, xong theo chiều
ngƣợc lại.
3.2.4.4. Bảo vệ toàn vẹn báo hiệu RRC
Mục đích của bảo vệ toàn vẹn là để nhận thực các bản tin điều khiển.
Quá trình này đƣợc thực hiện trên lớp kết nối tài nguyên vô tuyến (RRC) giữa
UE và RNC. Để nhận thực toàn vẹn bản tin, phía phát (USIM hoặc RNC)
phải tạo ra mã nhận thực bản tin dành cho toàn vẹn (MAC-I), gắn vào bản tin
đã đƣợc mật mã và gửi tới phía thu (RNC hoặc USIM). Tại phía thu mã
XMAC-I đƣợc tính toán và so sánh với MAC-I nhận đƣợc. Nếu hai mã này
trùng nhau thì bản tin đƣợc coi là toàn vẹn. Quá trình tạo ra MAC-I và
XMAC-I đƣợc thực hiện bằng hàm f9 và đƣợc minh họa ở hình 3.16.
Hình 3.16. Nhận thực toàn vẹn bản tin.
Theo đó ta thấy các thông số đầu vào của hàm f9 bao gồm: bản tin báo
hiệu thu/phát; phƣơng truyền (DIRECTION); khóa toàn vẹn (IK); số trình tự
mật mã (COUNT-I) và làm tƣơi (FRESH). Trong đó, thông số COUNT-I
giống nhƣ bộ đếm đƣợc sử dụng để mật mã hóa, thông số FRESH đƣợc sử
dụng để chống lại kẻ xấu chọn giá trị khởi đầu cho COUNT-I. RNC nhận
81
đƣợc IK và CK trong lệnh chế độ an ninh. Còn trong USIM, IK đƣợc tính
bằng hàm f4 với thông số đầu vào là K và RAND do mạng gửi đến.
3.2.5. Nhận thực và thỏa thuận khóa AKA
Thủ tục nhận thực và thỏa thận khóa AKA đƣợc thực hiện khi:
Đăng ký người sử dụng trong mạng phục vụ: khi một thuê bao lần đầu
tiên nối đến mạng phục vụ (mới bật máy hay di chuyển sang nƣớc khác) nó
phải tiến hành đăng ký với mạng phục vụ.
Sau mỗi yêu cầu dịch vụ: là khả năng để thuê bao ứng dụng các giao
thức cao hơn vì thế phải thực hiện AKA.
Yêu cầu cập nhật vị trí: khi đầu cuối thay đổi vùng định vị nó cần cập
nhật vị trí của mình vào HLR và VLR.
Yêu cầu đăng nhập và hủy đăng nhập: đây là các thủ tục kết nối và hủy
kết nối thuê bao đến mạng phục vụ.
Yêu cầu thiết lập lại kết nối: yêu cầu này đƣợc thực hiện khi số lƣợng
các nhận thực địa phƣơng đƣợc thực hiện cực đại.
Yêu cầu thiết lập lại kết nối: yêu cầu này đƣợc thực hiện khi số lƣợng
các nhận thực địa phƣơng đƣợc thực hiện cực đại.
3.2.5.1. Tổng quan về AKA
Nhận thực và thỏa thuận khóa (AKA) là một trong các tính năng quan
trọng của hệ thống 3G UMTS. Tất cả các dịch vụ khác đều phụ thuộc vào
AKA, vì không thể sử dụng bất cứ dịch vụ nào cao hơn mà không phải nhận
thực ngƣời sử dụng. Để thực hiện các quá trình này trong 3G UMTS, AuC
phải tạo ra các vec-tơ nhận thực (AV) dựa trên bốn thông số: số ngẫu nhiên
(RAND); khóa chủ (K); số trình tự (SQN) và trƣờng quản lý nhận thực
(AMF). AV nhận đƣợc sẽ bao gồm: mã nhận thực bản tin để nhận thực mạng
(MAC-A); chữ ký kỳ vọng từ ngƣời sử dụng để nhận thực ngƣời này (X-
RES), khóa mật mã (CK); khóa toàn vẹn (IK); khóa dấu tên (AK) và một số
thông số khác đƣợc sử dụng để chống phát lại. Mạng cũng sẽ phát các thông
số RAND và AUTN=(SQN AK, AMF, MAC-A) đến USIM để nó tạo ra
mã nhận thực bản tin kỳ vọng để nhận thực mạng(X-MACA), chữ ký để nhận
thực nó với mạng (RES), CK, IK, AK và SQN.
82
3.2.5.2. Các thủ tục AKA
Hình 3.16 đã miêu tả cụ thể các quá trình nhận thực thỏa thuận khóa
AKA.
Hình 3.17. Tổng quan quá trình nhận thực và thỏa thuận khóa AKA
Các thủ tục AKA xảy ra tại USIM, SGSN/VLR và HLR/AuC. Vì mạng
phục vụ đƣợc chia thành các miền CS và PS. Các thủ tục đƣợc nhận thực
giống nhau và độc lập trong cả hai miền.Tiếp theo chúng ta sẽ đi tìm hiểu quá
trình nhận thực AKA đƣợc minh họa ở hình 3.17.
Nhận thực và thỏa thuận khóa AKA đƣợc quản lý bởi LR/SGSN mà
thuê bao nối tới. Trƣớc hết VLR/SGSN phụ trách máy di động gửi bản tin
“yêu cầu số liệu nhận thực IMSI” đến HLR (1). Sau khi nhận đƣợc bản tin
này HLR sẽ định vị tới AuC (nơi chứa số liệu thuê bao) và yêu cầu các AV từ
trung tâm này. Nếu AuC đã lƣu các AV cho thuê bao nó sẽ trả lời bằng cách
gửi một hay nhiều AV trở lại VLR/SGSN (2). Thông thƣờng nhiều AV đƣợc
gửi đi một lần (có tới 5AV), nhờ vậy giảm bớt đƣợc số lần yêu cầu AuC và
giảm thiểu lƣu lƣợng mạng. Tuy nhiên, nếu tải AuC cao nó có thể chỉ gửi đi
một AV. Nếu chƣa có sẵn AV trong cơ sở dữ liệu của mình AuC sẽ tiến hành
tạo ra các AV mới.
Sau khi đã nhận đƣợc các AV từ HLR gửi đến, VLR/SGSN sẽ lƣu
chúng trong cơ sở dữ liệu của mình và chọn một trong số chúng kèm theo hai
thông số RAND và AUTN để gửi tới USIM trong bản tin gọi là “yêu cầu
nhận thực RAND(i)||AUTN(i)” (3) thông qua UTRAN.
Sau khi nhận đƣợc bản tin này, USIM tiến hành kiểm tra thẻ nhận thực
mạng AUTN để nhận thực mạng. Bằng cách mở thẻ AUTN ra và tiến hành so
sánh MAC-A với XMAC-A do nó tạo ra. Nếu hai thông số này không trùng
USIM
ME NUTB RNC
MSC/VLC
SGSN
HLR/AuC
UE UTRAN CN HE
1
2
4
3
83
nhau thì nhận thực mạng bị từ chối. Điều này có nghĩa là khóa chủ (K) ở cả
hai miền không giống nhau. Vì thế bản tin này không bắt nguồn từ môi
trƣờng nhà (HE) của thuê bao. Khi đó, nó hủy thủ tục nhận thực mạng và gửi
đi bản tin “từ chối nhận thực của ngƣời sử dụng, kèm theo lý do” về phía
VLR/SGSN. Nhận đƣợc bản tin này VLR/SGSN gửi “báo cáo nhận thực thất
bại kèm lý do” tới HLR. Và có thể khởi đầu lại các thủ tục AKA. Quá trình
này đƣợc gọi là USIM từ chối trả lời. Nếu MAC-A và XMAC-A trùng nhau
thì quá trình nhận thực mạng thành công.
Tiếp theo USIM tiến hành tạo ra các trả lời từ ngƣời sử dụng để nhận
thực mạng (RES) và gửi nó ngƣợc trở lại VLR/SGSN (4). Tại đây RES sẽ
đƣợc so sánh với X-RES (có trong AV do HLR gửi đến). Nếu chúng giống
nhau thì thuê bao đƣợc nhận thực. Nhƣ vậy hai nửa nhận thực đã hoàn tất.
Khi đó VLR/SGSN nhận các khóa mật mã và toàn vẹn (CK, IK) từ AV và gửi
chúng đến HE đang quản lý thuê bao. Các khóa này đƣợc sử dụng để mật mã
hóa truyền thông và kiểm tra sự toàn vẹn của bản tin.
Tƣơng tự nhƣ thế, USIM cũng đồng thời tạo ra các khóa này.
3.2.6. Thủ tục đồng bộ lại AK
Hình 3. 18. Thủ tục đồng bộ lại
84
VLR/SGSN gửi đi “yêu cầu nhận thực ngƣời sử dụng
RAND(i)||AUTN(i)” đến USIM (1). Sau khi nhận đƣợc bản tin này USIM tiến
hành kiểm tra tính xác thực của bản tin. Nếu đây là bản tin đƣợc tạo ra tại HE
quản lý nó thì hai số trình tự SQNHE và SQNMS phải nằm trong một giải, nếu
SQNHE nằm ngoài dải của SQNMS thì thủ tục đồng bộ lại đƣợc tiến hành. Khi
đó USIM sẽ tạo ra một thẻ đồng bộ lại (AUTS) và gửi nó đến VLR/SGSN (2).
Sau khi nhận đƣợc sự cố đồng bộ VLR/SGSN tìm một hô lệnh ngẫu nhiên
thích hợp từ bộ nhớ của mình và bổ sung nó vào bản tin “yêu cầu số liệu nhận
thực” và gửi bản tin này (“yêu cầu số liệu nhận thực RAND(i)||AUTS”) đến
HLR/AuC đang quản lý thuê bao (3). Khi AuC nhận đƣợc AUTS từ bản tin
trên, nó tiến hành so sánh hai số trình tự. Nếu thấy rằng AV tạo ra tiếp theo có
thể tiếp nhận đƣợc, nó sẽ gửi AV này đến VLR/SGSN (4). Nếu không có AV
nào trong số các AV đƣợc lƣu nằm trong dải đƣợc USIM tiếp nhận, AuC sẽ
tiến hành kiểm tra sự toàn vẹn của bản tin. Quá trình này để đảm bảo rằng
chính USIM muốn thủ tục đồng bộ lại, nếu nhận thực này thành công, chuỗi
SQNHE đƣợc đặt vào SQNMS. Sau đó, AuC sẽ xóa các AV cũ đồng thời tạo
ra các AV mới. Vì việc tạo ra nhiều AV trong thời gian thực có thể chiếm tải
lớn đối với AuC, nên có thể chỉ một AV đƣợc gửi đi trong lần trả lời đầu tiên.
Khi đó, AV mới đƣợc gửi đến từ AuC sẽ đƣợc gắn thêm thông số Qi.
Khi VLR/SGSN nhận đƣợc các AV mới đƣợc gửi đến từ AuC, nó sẽ
xóa tất cả các AV cũ để đảm bảo rằng các AV này không dẫn đến sự cố đồng
bộ lại khác. Sau đó, VLR/SGSN lại thực hiện lại từ đầu thủ tục AKA bằng
cách gửi “yêu cầu nhận thực ngƣời sử dụng RAND(i)||AUTN(i)” đến USIM
(1)..
Tiếp theo ta đi tìm hiểu về sử dụng lại các AV do USIM từ chối do
kiểm tra số trình tự. Việc sử dụng lại các AV này cản trở mạng thực hiện
AKA với sử dụng lặp lại một AV.
Tuy nhiên, việc sử dụng lại Av lại cần thiết, ví dụ khi VLR/SGSN gửi
bản tin “yêu cầu nhận thực ngƣời sử dụng” đến USIM, nhƣng lại không nhận
đƣợc trả lời của USIM do mạng bị sự cố. Khi vƣợt quá thời gian tạm dừng để
chờ trả lời, VLR/SGSN sẽ tìm cách gửi lại USIM cặp (RAND(i)||AUTN(i))
một lần nữa. Nếu thực chất USIM đã nhận đƣợc AV này lần đầu, nó coi rằng
số trình tự nhận đƣợc nằm ngoài dải. Trong trƣờng hợp này để khởi đầu thủ
85
tục đồng bộ lại, USIM khởi đầu bằng cách so sánh hô lệnh ngẫu nhiên vừa
nhận đƣợc (RAND) với RAND nhận đƣợc trƣớc đó. Nếu chúng trùng nhau,
nó chỉ cần gửi đi trả lời của ngƣời sử dụng (RES) đƣợc lƣu lại lần cuối cùng.
Vì thế cần lƣu tất cả các thông số đƣợc đặt ra tại USIM.
Trong 3G UMTS ngay cả khi thực hiện cuộc gọi khẩn cũng cần thực
hiện thủ tục nhận thực. Nhƣng nếu nhận thực bị sự cố (do không có USIM
hoặc do không có thỏa thuận chuyển mạng) kết nối vẫn sẽ đƣợc thiết lập.
Cuộc gọi sẽ chỉ bị hủy nếu bảo mật và toàn vẹn thất bại.
86
KẾT LUẬN
Hiện nay, thuật ngữ 3G đã không còn xa lạ với những tổ chức liên quan
đến lĩnh vực viễn thông và cả những ngƣời sử dụng dịch vụ viễn thông trên
toàn thế giới. Với những ƣu điểm vƣợt trội về công nghệ và những dịch vụ
tiện ích phong phú, phù hợp với nhu cầu ngƣời dùng, công nghệ 3G đã đƣợc
đón nhận một cách nhanh chóng.
Sau một thời gian nghiên cứu, tìm hiểu em đã hoàn thành xong Đồ án
“Công nghệ 3G và vấn đề an ninh bao mật”. Nội dung đƣợc đề cập trong Đồ
án là:
Chƣơng 1. Tổng quát về các hệ thống thông tin di động nói về vấn đề
lịch sử phát triển của hệ thông thông tin di động, các đặc điểm cơ bản của hệ
thông thông tin di động, các đặc điểm truyền sóng, hệ thông thông tin di động
thế hệ thƣ ba
Chƣơng 2. Hệ thông thông tin di động thế hệ thứ ba nói về xu thế chung
của công nghệ di động là phải đáp ứng nhu cầu ngày càng cao về chất lƣợng,
dung lƣợng, tính tiện lợi, giá cả, tính đa dạng về dịch vụ của ngƣời sử dụng. Vì
vậy sau khi tồn tại một thời gian thì các công nghệ 2G đã bộc lộ các điểm yếu là
không thể đáp ứng đƣợc yêu cầu trên mà phải đợi đến công nghệ 3G.
Chƣơng 3. Vấn đề bảo mật trong 3G. Phần 1 trình bày về năm yêu tố để
thiết lập một môi trƣơng an ninh, các đe dọa an ninh, các công nghệ an
ninh.Phần 2 trinh bày về mô hình kiến trúc an ninh 3G UMTS, các hàm mật
mã, các thông số nhận thực,nhận thực và thỏa thuận khóa AKA, thủ tục đồng
bộ lại AKA
Cuối cùng, em xin gửi lời cảm ơn chân thành đến toàn thể các Thầy – Cô,
các bạn và gia đình đã giúp đỡ, ủng hộ em rất nhiều trong suốt thời gian qua.
Đặc biệt, lời cảm ơn chân thành và sâu sắc nhất em xin đƣợc gửi tới
thầy giáo ThS. Mai Văn Lập – ngƣời đã định hƣớng đề tài, cung cấp các tài
liệu quan trọng và tận tình hƣớng dẫn, chỉ bảo em trong suốt quá trình hoàn
thành Đồ án tốt nghiệp.
Em xin chân thành cảm ơn!
Hải Phòng, ngày 25 tháng 10 năm 2010
NGÔ THỊ PHƢƠNG HOA
87
TÀI LIỆU THAM KHẢO
1. Vũ Đức Thọ(2001), tính toán mạng thông tin di động số, Nhà xuất bản
giáo dục.
2. TS. Nguyễn Phạm Anh Dũng, Giáo trình thông tin di động thế hệ ba, Học
viện Bƣu chính viễn thông, Nhà xuất bản bƣu điện.
3. Các tài liệu khác trên mạng.
Các file đính kèm theo tài liệu này:
- 17.NgoThiPhuongHoa_DT1001.pdf