Cải tiến của giao thức xác thực và thỏa thuận khóa trong mạng di động 5G AKA
GIỚI THIỆU
Trong số những thách thức của mạng 5G, bảo mật là một trong những vấn đề quan trọng nhất và nó đặt ra những ràng buộc cụ thể đối với các nhà phát triển mạng 5G để đưa ra các thiết kế tương thích với công nghệ mới.
Dự án đối tác thế hệ thứ 3 (3rd Generation Partnership Project - 3GPP) đã phát triển các tiêu chuẩn cho 3G, 4G và 5G, đặc biệt chú ý đến các vấn đề về bảo mật như quyền riêng tư của thuê bao và bảo vệ dữ liệu nhạy cảm. 3GPP đã xuất bản một loạt tài liệu về kiến trúc và quy trình bảo mật của hệ thống 5G, nội dung tập trung thảo luận về các vấn đề bao gồm: yêu cầu bảo mật và các tính năng cho thiết bị người dùng (User Equipment - UE), mạng cá nhân (Home Network - HN) và mạng dịch vụ (Serving Network - SN) để xác thực, bảo vệ quyền riêng tư của người dùng và giảm tác động của các cuộc tấn công chủ động/thụ động. Tuy nhiên, trong thực tế khi phân tích giao thức các nhà nghiên cứu lại phát hiện ra mạng 5G vẫn còn tồn tại các vấn đề liên quan đến tính riêng tư, rò rỉ thông tin từ tham số SQN dẫn đến các cuộc tấn công giám sát được thực hiện. Chính vì vậy, bài báo này sẽ đi phân tích những điểm yếu của giao thức 5G AKA tiêu chuẩn để đưa ra cách thức khắc phục và cải tiến cho giao thức.
GIAO THỨC 5G AKA TIÊU CHUẨN
Các thành phần và chức năng tham gia giao thức 5G AKA tiêu chuẩn đã được tác giả giới thiệu chi tiết trong bài viết đăng Tạp chí An toàn thông tin số 03 (061) 2021.
Hình 1 mô tả mức cao các bước khác nhau trong giao thức 5G AKA tiêu chuẩn. Kênh bảo mật giữa HN và SN mục đích để nhấn mạnh các tham số nhạy cảm (SUCI, KSEAF, hxRes,…) được gửi qua kênh an toàn.
Một số điểm yếu chính của phiên bản 5G AKA tiêu chuẩn được tổng hợp như sau:
- Khai thác các lý do lỗi khác nhau như: giá trị MAC hoặc việc đồng bộ hóa có thể dẫn tới truy vết thuê bao được nhắm mục tiêu, điều này vi phạm quyền riêng tư của người dùng.
- Cơ chế ẩn SQN không được bảo vệ đúng cách [2], dẫn đến rò rỉ các số SQN làm xảy ra các cuộc tấn công giám sát được thực hiện.
- Như lưu ý trong tài liệu [3], một vòng xác nhận khóa thành công được yêu cầu sau khi thực hiện giao thức. Đặc biệt, người dùng phải đảm bảo được rằng SN sở hữu đúng nguyên liệu khóa. Tuy nhiên, 5G AKA tiêu chuẩn không chỉ ra các vòng xác nhận khóa bổ sung, cũng không chỉ định rằng thuê bao phải chờ việc này. Mạo danh một SN hợp pháp bằng cách sử dụng một SN độc hại, nếu việc xác thực không được kiểm tra đầy đủ bởi UE. Lỗ hổng này có hai tình huống được chỉ ra trong bản tiêu chuẩn.
+ Thứ nhất, SN có thể khởi tạo các thay đổi khóa trên đường đi.
+ Thứ hai, có thể chuyển đổi bối cảnh bảo mật bao gồm các khóa và các thông số [1].
Hình 1. Các bước của giao thức 5G AKA
- Một cuộc tấn công làm ảnh hưởng đến SN có thể dẫn đến vi phạm quyền riêng tư của người dùng. Điều này cho phép SN độc hại thu thập các yêu cầu xác thực từ UE và sau đó chặn bắt tham số RES do UE gửi trên kênh không bảo mật ở giai đoạn sau. Kết hợp dữ liệu (SUCI, RES) và gửi nó đến HN để lấy kết quả trong truy xuất SUPI. Mặc dù chỉ cần bảo mật SUPI trong các cuộc tấn công thụ động, tuy nhiên vẫn phải xem xét các cuộc tấn công chủ động để tính đến mối đe dọa thực tế từ nó.
GIAO THỨC ĐỀ XUẤT
Cơ sở lý luận của thiết kế
Giao thức đề xuất được thiết kế bằng cách thay đổi phiên bản 5G AKA tiêu chuẩn cơ sở, nhưng có khả năng giải quyết 4 điểm yếu trên.
Để giải quyết hai điểm yếu đầu tiên, giao thức 5G AKA đề xuất thay đổi giao thức tiêu chuẩn, cụ thể các số thứ tự SQN được thay thế bằng số ngẫu nhiên. Trước đây, việc sinh số ngẫu nhiên mạnh không thể thực hiện trên USIM, nhưng trong thế hệ di động hiện tại, điều này không còn là vấn đề. USIM hiện tại có thể thực hiện các hoạt động mã hóa bất đối xứng ngẫu nhiên. Số ngẫu nhiên được bao gồm trong yêu cầu xác thực của SN và phản hồi tương ứng của thuê bao. Dựa trên những số ngẫu nhiên, một số ngẫu nhiên mới được sinh ra từ HN và được sử dụng để dẫn xuất các tham số xác thực cuối cùng. Do đó, không có thông báo lỗi nào khác được gửi liên quan đến lỗi đồng bộ hóa, điều này tránh được khả năng truy vết hoặc lộ lọt.
Để tránh hai điểm yếu cuối cùng, giao thức 5G AKA đề xuất tạo cơ chế cho phép UE xác minh tính hợp lệ từ phản hồi xác thực, đến từ cả SN và HN (không chỉ HN như phiên bản tiêu chuẩn). Hơn nữa, SN nhận được thông tin đã mã hóa của SUPI và các khóa từ HN, thông tin này có thể được giải mã nhờ thông tin được gửi từ UE sau khi cơ chế xác thực UE thành công. Do đó, điều này cho phép rút ngắn giao thức của phiên bản tiêu chuẩn với hai giai đoạn bổ sung (giữa HN và SN). Mặt khác, vòng xác nhận khóa giờ không cần thiết.
Hình 2. Các bước của giao thức đề xuất
Quy trình các bước của giao thức đề xuất
Có hai pha chính là pha khởi tạo và pha xác thực thực thể. Trong giai đoạn pha xác thực, có thể phân thành 3 bước khác nhau. Hình 2 cũng mô tả các pha và các bước khác nhau.
Pha khởi tạo
Trong pha khởi tạo, SN bắt đầu gửi ngoài tên còn có số ngẫu nhiên R1, khác so với bản tiêu chuẩn, vì bản tiêu chuẩn không có giá trị số ngẫu nhiên trong yêu cầu khởi tạo. Giá trị R1 sẽ giúp UE xác thực được SN nhờ vào sự hỗ trợ của HN ngay từ bước đầu của giao thức, điều này tránh được tấn công giả mạo SN. Đồng thời, R1 còn giúp xác định tính mới của SUCI, do đó tránh được việc dùng lại SUCI ở phiên liên lạc trước.
Khi nhận được yêu cầu này, UE chọn một số ngẫu nhiên khác R2 và thực hiện mã hóa bất đối xứng giá trị SUPI, cùng với hai giá trị ngẫu nhiên R1, R2 và SNName. Kết hợp đầu ra của mã hóa này, cùng với danh tính HN hiện tại tạo thành SUCI mới, giá trị này được gửi tới SN dưới dạng phản hồi về yêu cầu xác thực. SN chuyển tiếp SUCI cùng với tên của nó và tham số ngẫu nhiên R1 tới HN.
Khi HN nhận được thông báo, nó giải mã SUCI, và có thể xác minh ngay tính hợp lệ của yêu cầu, cả đối với phiên (R1) như với các thực thể (UE bằng SUPI và SN bằng SNName).
Lưu ý, giá trị ngẫu nhiên R2 là không được gửi dưới dạng rõ tới SN. Nó đóng vai trò là số thứ tự SQN của giao thức AKA và sẽ sử dụng để tạo khóa cuối cùng.
Pha xác thực
Các hành động do HN thực hiện Sau khi kiểm tra các khả năng, HN dẫn xuất một tham số mới ký hiệu là O, dựa vào đầu vào của tham số ngẫu nhiên R1 và R2, đã xác định tương ứng bởi UE và SN. Mục đích gửi xác nhận tới UE về giá trị của SN, HN dẫn xuất. Tiếp theo, HN dẫn xuất hai tham số khác là xRes, hxRes, hai tham số này về sau UE sẽ sử dụng trong giao thức để chứng minh với SN rằng UE là người dùng hợp pháp. Điều này xuất phát từ thực tế UE là người dùng duy nhất có thể tính xRes và bằng cách chia sẻ hxRes (giá trị băm trên xRes) với SN. Cuối cùng, khóa phiên KSEAF được dẫn xuất, dựa vào đầu vào chỉ được biết bởi UE. HN gửi khóa phiên KSEAF và SUPI, giá trị này đã được mã hóa trong thông báo EK bằng tham số xRes. Do đó, UE có quyền kích hoạt khóa phiên và tiết lộ danh tính của nó tới SN sau này trong trường hợp xác thực thành công. Kết quả là thông báo xMAC, hxRes, EK được gửi tới SN, SN chuyển tiếp xMAC tới UE.
Các hành động UE thực hiện
Khi nhận được giá trị xMAC, người dùng khởi động tính toán O và nếu kết quả này không bằng kết quả nhận được xMAC, phiên này sẽ hủy ngay lập tức. Với trường hợp bằng UE thì tính Res và KSEAF. giá trị Res sẽ được gửi tới SN.
Các hành động SN thực hiện
Khi nhận được giá trị Res, SN kiểm tra nếu SHA256(R1,Res) bằng tham số hxRes đã lưu trữ. Nếu đúng, nó sử dụng Res như khóa để giải mã để xác nhận người dùng và khóa phiên.
CÁC ĐIỂM KHÁC CỦA GIAO THỨC ĐỀ XUẤT SO VỚI 5G AKA TIÊU CHUẨN
Vòng xác nhận khóa là không cần thiết trong giao thức đề xuất bởi vì một số lý do như sau:
- HN có thể xác minh tính duy nhất của phiên tại cùng thời điểm kết nối các thực thể SN và UE, vì tham số SUCI cũng chứa giá trị ngẫu nhiên R1và SNName.
- Trong giao thức AKA tiêu chuẩn, trong trường hợp mạo danh tấn công vào SN, UE và HN sẽ không nhận ra bất kỳ vấn đề nào trừ khi một vòng xác nhận khóa được thực hiện [3]. Do đó, nó sẽ hấp dẫn hơn nếu xây dựng việc bảo vệ như vậy ngay từ đầu của giao thức.
- Quá trình tích hợp SNName, R1, R2 trong tham số MAC, UE có thể liên kết xác thực với phiên ban đầu. Trong giao thức 5G AKA tiêu chuẩn, tham số MAC không chứa bất cứ thông tin nào liên quan tới SN và một lần nữa UE và HN không nhận thức được bất cứ vấn đề nào trừ khi một vòng xác nhận khóa được thực hiện [3].
- SN có thể kích hoạt khóa phiên và nhận dạng thuê bao sau khi nhận được phản hồi Res từ UE, UE cũng chính là người kiểm tra tính hợp lệ của phiên. Do đó, UE chắc chắn rằng chỉ SN hợp pháp (HN đã kiểm tra) là có thể dẫn xuất khóa phiên và định danh của UE. Trong giao thức AKA tiêu chuẩn, tham số Res được sử dụng để yêu cầu HN cung cấp SUPI mà không ràng buộc yêu cầu này với một trong các tham số sử dụng trong phiên. Do đó, nó dễ dàng mạo danh SN theo cách này.
Việc sử dụng số thứ tự SQN không chỉ không thực tế, yêu cầu nhiều bộ nhớ hơn mà còn dẫn đến một số lỗ hổng như khả năng xảy các cuộc tấn công theo dõi được thực hiện hoặc thậm chí có khả năng truy vết thuê bao mục tiêu [2]. Do đó, giao thức đề xuất thay thế những số thứ tự bằng số ngẫu nhiên. Tuy nhiên, lý do chính để sử dụng những số thứ tự trong giao thức 5G AKA tiêu chuẩn là tránh các cuộc tấn công phát lại. Do đó, để kiểm tra khả năng chống lại các cuộc tấn công phát lại cần một số lý do như sau:
- HN thiết lập nguyên liệu khóa EK; hxRes; xMAC, các tham số này bị ràng buộc vào một phiên cố định được xác định bằng cách khởi tạo tham số R1 và R2 được xác định độc lập với SN và UE tương ứng.
- Phản hồi Res của UE được liên kết với phiên tương ứng vì nó bao gồm tham số R1 và R2.
SO SÁNH GIAO THỨC AKA TIÊU CHUẨN VỚI GIAO THỨC ĐỀ XUẤT
Độ phức tạp tính toán Đối với độ phức tạp tính toán, nhận thấy giao thức 5G AKA tiêu chuẩn và giao thức đề xuất là cùng loại và gần giống nhau về số lượng hoạt động được thực hiện. Khác biệt đó là:
- Tại UE trong pha khởi tạo, giao thức đề xuất sử dụng hàm AE để mã hóa SUPI với các tham số R1, R2 và SNName: xét về mặt thực thi, thì giao thức đề xuất đã làm tăng độ phức tạp của hàm AE so với bản tiêu chuẩn, vì đầu vào hàm AE của giao thức đề xuất có thêm biến R1. Điều này góp phần gia tăng tính bảo mật cho giao thức đề xuất, nhưng đổi lại thời gian thực thi tính toán hàm AE của giao thức đề xuất sẽ lớn hơn so với bản tiêu chuẩn. Tuy nhiên, hiện nay hầu hết các điện thoại di động đều có cấu hình mạnh nên thời gian tính toán với các hàm phức tạp cũng không có quá nhiều chênh lệnh.
- Tại HN, có một hàm một chiều để thu được O, thay vì sinh số ngẫu nhiên R và mã hóa khóa đối xứng bổ sung để mã hóa khóa phiên và danh tính của thuê bao. Tại SN có giải mã khóa đối xứng bổ sung. Vì cả HN và SN đều là những máy chủ mạnh nên kết quả tác động của những khác biệt này là không đáng kể.
Độ phức tạp liên lạc
Ưu điểm của giao thức đề xuất dễ nhận thấy nhất là độ phức tạp liên lạc, vì tổng số luồng thông tin liên lạc của giao thức đề xuất là ít hơn tổng số luồng thông tin của giao thức tiêu chuẩn.
KẾT LUẬN
Bài báo đã trình bày một số thay đổi cơ bản của giao thức 5G AKA tiêu chuẩn, mục đích để giải quyết những điểm yếu đã công bố và những điểm yếu mới được phát hiện gần đây. Một thay đổi quan trọng của giao thức là việc thay thế các số thứ tự SQN bằng các số ngẫu nhiên. Đồng thời, phân tích những ưu điểm của giao thức đề xuất với giao thức tiêu chuẩn nhằm có những cải tiến phù hợp để chống lại được các cuộc tấn công chủ động trong mạng 5G.
TÀI LIỆU THAM KHẢO 1. Security Architecture and Procedures for 5G System, document 3GPP, TS 33.501. Accessed: Jan. 26, 2019. [Online]. Available: https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3169 2. R. Borgaonkar, L. Hirschi, S. Park, and A. Shaik. New Privacy Threaton 3G, 4G, and Upcoming 5G AKA Protocols. Accessed: Jan. 26, 2019. [Online]. Available: https://eprint.iacr.org/2018/1175.pdf 3. D. Basin, J. Dreier, L. Hirschi, S. Radomirovic, R. Sasse, and V. Stettler,‘‘A Formal Analysis of 5G Authentication,’’ in Proc. ACM SIGSAC Conf. Comput. Commun. Secur. New York, NY, USA: ACM, 2018, pp. 1383–1396. |
ThS. Trần Thị Ngà (Học viện Kỹ thuật mật mã)