CHƯƠNG 2 : AN TOÀN THÔNG TIN TRONG MẠNG LTE
2.2. Bảo mật trong mạng LTE
2.2.4. Xác thực và thỏa thuận khóa(LTE-AKA)
AKA trong mạng LTE là một giao thức bảo mật trong công nghệ LTE, được giới thiệu ở chuẩn release 9, nhằm bảo vệ luồng liên kết vô tuyến cho cả hai loại báo hiệu và dữ liệu người dùng giữa UE và eNodeB cũng như báo hiệu giữa UE và MME. LTE-AKA đảm nhiệm 3 chức năng: (1) xác thực chung giữa một UE và một MME đại diện cho HHS/AuC, (2) như một khóa thỏa thuận giữa UE và một MME cũng như giữa UE và eNodeB, (3) khắc phục điểm yếu của GSM-AKA và UMTS-
AKA. [6]
Hình 2.15: Bản tin trao đổi trong LTE-AKA
Phương thức bắt tay của LTE-AKA tương tự như UMTS-AKA. Một điểm khác biệt duy nhất giữa chúng đó là số lượng vector xác thực và hệ thống phân cấp khóa kỹ càng (sẽ nói rõ hơn trong từng lớp).MME khởi tạo việc xác thực bằng cách hỏi xác minh từ UE đang chuyển vào vùng của MME kiểm soát (bản tin (1) trong hình).UE gửi mã IMSI để hồi đáp. Hoặc UE có thể gửi GUTI của nó với thông tin vị trí mà nó đã qua nếu như UE có GUTI này rồi (MME cũ đã truyền sau thủ tục LTE-AKA).MME thông qua bản tin (2) tới HSS/AuC cùng với việc thêm mã xác minh mạng đang phục vụ (SN-ID) và loại mạng. Vector xác thực đã được tạo tại HSS/AuC bao gồm các thành phần: RAND, XRES, KASME, AUTN, nơi mà RAND là số ngẫu nhiên được tạo ra bởi HSS/AuC. KASME là một thành phần đặc biệt của LTE-AKA. KASME được dùng để trích dẫn khóa mã hóa và khóa kiểm tra tính toàn vẹn dành cho báo hiệu, user-plane và tầng non-access; XRES là bản tin được mong đợi phản hổi từ phía UE trong bản tin thứ 6, nếu như UE đó là một user có giá trị (valid UE).
Phần còn lại của AKA giống hệt UMTS-AKA. Sau khi thủ tục xác thực thành công, KRRCenc và KRRCint, sẵn có để mã hóa và để xác thực các bản tin của dữ liệu báo hiệu RRC; KNASenc và KNASint sẵn có để mã hóa và xác thực các bản tin của dữ
liệu hữu ích; KUPenc được dùng để mã hóa các bản tin user-plane. Sau LTE-AKA, MME chỉ định GUTI tới UE bằng việc gửi bản tin mã hóa sử dụng KNASenc.
Khi UE và MME hoàn thành thủ tục LTE-AKA, chúng có thể bắt đầu giao tiếp với nhau qua một giao thức bảo mật nào đó sau thủ tục SMC.Mục đích của thủ tục SMC để đưa ngữ cảnh của bảo mật LTE vào sử dụng cho báo hiệu và bảo vệ dữ liệu với các khóa được chỉ định và các thuật toán bảo mật.Trong suốt thủ tục SMC, UE thỏa thuận các thuật toán mã hóa và toàn vẹn với MME và eNodeB để bảo vệ NAS và AS. Bản tin SMC bao gồm hai đường bắt tay. Bản tin yêu cầu NAS SMC được thông báo bởi MME chứa thuật toán mã hóa và thuật toán bảo vệ tính toàn vẹn, KSIASME dùng cho việc định danh KASME. Bản tin yêu cầu NAS SMC là bản tin toàn vẹn được bảo vệ với một khóa toàn vẹn NAS (KNASint). Việc mã hóa NAS uplink và NAS downlink tại UE bắt đầu sau khi việc nhận bản tin NAS SMC hoàn tất. Bản tin yêu cầu AS SMC (được kích hoạt bởi eNodeB) bao gồm các thuật toán AS được lựa chọn cho việc bảo mật, bảo đảm tính toàn vẹn và KSIASME. RRC và việc mã hóa user plane tại eNodeB sẽ bắt đầu sau khi việc nhận bản tin AS SMC hoàn tất.
2.2.5.Phân cấp khóa trongLTE
LTE-AKA cung cấp các cơ chế mã hóa và đảm bảo tính toàn vẹn phù hợp cho bảo mật luồng báo hiệu và luồng dữ liệu người dùng.Bởi vì mỗi cơ chế dành cho mỗi luồng/ kênh trên yêu cầu một khóa bí mật độc lập nhau, LTE-AKA có thể sử dụng nhiều khóa bí mật.Kết quả là, LTE-AKA phải quản lý một hệ thống khóa. Trên thực tế, kiến trúc quản lý khóa được sử dụng bởi LTE-AKA đã được phát triển bởi các công nghệ trước đó, như UMTS-AKA, bằng cách khắc phục một số điểm yếu quan của thế hệ cuối và vận chuyển các khóa bí mật.
Trong UMTS-AKA, nhiều bộ các khóa mật được tạo ra trước bởi một server xác thực. Các khóa này được chuyển tới một mạng đang phục vụ nào đó và sau đó sử dụng một khóa một lần tại một thời điểm xác thực bởi UE trong mạng đang phục vụ nó. Điểm yếu của hệ thống này là khóa mật đó được tạo ra mà không xác định ranh giới của mạng đang phục vụ UE đó. Kết quả là UE hoặc bất kì một thành phần nào khác trong mạng đang phục vụ không thể nói chuyện nếu như khóa mật hiện tại đã được chỉ định cho một mạng đang phục vụ cụ thể. Hơn nữa, UMTS-AKA sẽ không hiệu quả trong việc sử dụng tài nguyên mạng bởi nhiều bộ khóa mật yêu cầu vùng lưu trữ vượt quá mức cho phép trong mạng và việc phân phối nó tốn băng thông trong mạng lõi. Sự không hiệu quả này tăng lên tỉ lệ thuận với việc tăng
sốlượng UE trong mạng.
Hình 2.16 : Phân cấp và quản lý khóa trong bảo mật LTE
Khi LTE-AKA thành công, UE và HSS/AuC chia sẻ một cặp khóa tạm thời (CK,IK)như hình. Bằng việc liên kết với SN-ID (Serving network identity), khóa tạm thời này trở thành một khóa chính được ký hiệu là KASME, và được cấp phát tới một MME. LTE-AKA khắc phục các nhược điểm của thủ tục UMTS-AKA đề cập trước đó bởi vì khóa gốc này chỉ có giá trị trong mạng mà nó chỉ định. Mạng lõi sau đó sẽ vận hành một cách hiệu quả hơn bởi vì số lượng khóa gốc này được giảm đi đáng kể. Như hình biểu diễn, từ khóa gốc này được đặt tại đỉnh của hệ thống phân lớp khóa LTE-AKA tại MME. Một MME sử dụng khóa gốc nội bộ này, kí hiệu là KASME, để tiếp tục lấy được ba khóa cấp hai.Việc mã hóa và kiểm tra tính toàn vẹn cho luồng báo hiệu trong NAS sử dụng hai khóa đó là: KNASenc và KNASint. Khóa thứ ba KeNodeB rút từ MME, sau việc truyền tới eNodeB, nó được dùng để lấy 3 khóa mức 3. Giữa các khóa mức ba này, hai khóa được dùng để mã hóa và kiểm tra tính toàn vẹn của luồng báo hiệu trong AS (KRRCint và KRRCenc).Khóa cuối cùng được dùng để mã hóa luồng dữ liệu người dùng trong AS (KUPenc).Chú ý là LTE-AKA không hỗ trợ việc kiểm tra tính toàn vẹn cho luồng dữ liệu người dùng trong AS.
Khóa gốc được dùng cho các khóa bảo vệ AS yêu cầu việc cập nhật bất cứ khi nào UE dùng một eNodeB khác nào trong quá trình chuyển giao giữa các eNodeB (inter-eNodeB). Bảo mật LTE thường chỉ dùng một bộ KASMS đơn và định nghĩa việc cập nhật khóa chuyển giao (handover) này giữa các eNodeB thay vì bắt đầu từ
MME. Lý do là trong kiến trúc LTE, một MME quản lý nhiều eNodeB bởi kiến trúc phân bố phẳng được áp dụng, nhưng mạng UMTS chỉ quản lý một cặp RNC. Kết quả là eNodeB nhạy cảm trong việc bị tấn công và một eNodeB bị xâm nhập có thể tiến hành tấn công DoS handover request. Mặc dù không bị tấn công, việc phân phối khóa hanvover từ một MME tạo ra một tải báo hiệu lớn vượt mức trong mạng lõi bởi tần số của việc handover tăng khi vùng phủ sóng của eNodeB nhỏ đi trong LTE. Việc tham gia của MME tại mỗi quá trình chuyển giao inter-eNodeB tạo ra một tải tính toán và báo hiệu vượt mức và gây ra trễ thông tin tại EPC.Kết quả, công nghệ LTE cho phép KeNodeBcập nhật định kỳ một cách trực tiếp giữa các eNodeB. Mặc dù thiết kế này sẽ giảm đi tính bảo mật tại eNodeB, bù vào đó bảo mật LTE sẽ cung cấp bảo mật giữa các eNodeB.
2.2.6.Quản lý chuyển giao khóa trong LTE (HANDOVER)
Một eNodeB nguồn đảm nhiệm việc phân phối KeNodeB kế tiếp tới một eNodeB nào đó.Vì vậy mà các KeNodeB được liên kết với nhau, gọi là chỗi khóa handover.Nếu như KeNodeB xuất phát mà không có sự bảo vệ nào trên cả hai phần trao đổi, một eNodeB đã thỏa hiệp tại bất kì điểm nào trong chuỗi handover có thế truy nhập tới tất cả các phần thông tin trước và sau đó.Vì vậy mà chuỗi khóa handover này sẽ có một hàm băm 1 chiều trước khi cho khóa thông qua. Để chắc chắn bảo mật, eNodeB này cần phải tận dụng các khóa mới từ MME. Như phần thảo luận phần trên, việc tham gia của một MME trong quá trình handover sẽ gây ra một tải tín hiệu và một trễ ngầm định. Tuy nhiên, ở đây MME tham gia vào sau chuyển giao giữa các eNodeB như một cách để đạt bảo mật khóa tiếp sau đó. Một MME cung cấp tài nguyên cho khóa mới tới eNodeB tiếp theo chỉ sau quá trình chuyển giao giữa các eNodeB và tài nguyên này sẽ được dùng cho quá trình handover tiếp theo. Kết quả là có hai bước chuyển tiếp bảo mật, nơi mà eNodeB có thể biết khóa trừ khi đã qua hai lần chuyển giao giữa các eNodeB. Chuỗi khóa handover bao gồm hai thành phần thêm vào như nguyên liệu để tạo ra khóa mới: Next hop key (NH) và bộ đếm chuỗi next hop key (NCC). Một MME tạo một NH, được trích từ KASME, cho mỗi lần handover.NCC là giá trị bộ đếm cho khóa NH, NCC tăng lên một mỗi lần UE thực hiện một chuyển giao giữa các eNodeB. Việc sử dụng khóa NH và khóa NCC sẽ được giải thích một cách chi tiết ở phần sau. [8]
Hình 2.17: Luồng tin chuyển giao giữa các eNodeB
Hình trên môt tả luồng bản tin của quá trình chuyển giao giữa các eNodeB. Chúng ta giả định rằng eNodeB có bộ khóa mới {NHNCC, NCC}, từ quá trình handover trước đó (bản tin 0 trong hình). NHNCC là giá trị khóa NH ở NCC. Giả định rằng sự kết hợp bảo mật hiện tại giữa một UE và eNodeB này dựa vào KeNodeB.Chuỗi khóa handover này cung cấp hai cơ chế trích dẫn khóa cho eNodeB,eNodeB nguồn sẽ tính toán giá trị KeNodeBmới cho eNodeB đích từ KeNodeB hiện tại đang hoạt động hoặc từ khóa NH được nhận từ một MME nào đó trong lần handover trước.
C là giá trị mức cell.
Chuyển giao theo chiều ngang (Horizontal handover) dành cho các trường hợp mà eNodeB nguồn không có một khóa NH mới nào sẵn có.Các trường hợp như vậy xảy ra sau khi UE vào vùng của MME lần đầu tiên.Điều này cũng xảy ra khi bộ {NH, NCC} không chuyển tới đúng lúc trước lần handover mới. Chuyển giao theo chiều dọc (Vertical handover), eNodeB nguồn sẽ có một khóa NH mới, NH này có từ MME trong lần chuyển giao giữa các eNodeB trước đó. NHNCC được trích từ giá trị NH và KASME trước; vì vậy chỉ một MME và một UE có thể trích xuất một khóa
NH.Một eNodeB đã thỏa hiệp thì không thể thỏa hiệp bất kỳ KeNodeB nào thêm nữa vì một MME tại một mức bảo mật cao hơn tham gia theo chiều dọc. Tóm lại, một bộ {NH, NCC} quyết định liệu eNodeB nguồn sẽ lấy khóa handover theo chiều dọc hay ngang.
eNodeB nguồn chuyển tiếp bộ {KeNodeB*, NCC} tới eNodeB đích trong bản tin (2) trên hình, giả định rằng eNodeB nguồn thực hiện việc rút khóa handover theo chiều dọc. Nếu eNodeB nguồn thực hiện việc rút khóa handover theo chiều ngang, nó sẽ chuyển tiếp bộ (KeNodeB*, NCC - 1) tới eNodeB đích. Chuỗi các khóa giữa một UE và eNodeB đích này được trích trực tiếp từ KeNodeB*.eNodeB đích gửi NCC tới UE, UE so sánh NCC đã nhận với giá trị NCC liên quan với sự liên kết bảo mật hiện tại.Nếu chúng giống nhau, UE sử dụng biểu thức (1) để lấy ra giá trị KeNodeB* từ KeNodeB hiện tại đang hoạt động.Nếu NCC đã nhận lớn hơn NCC hiện tại, UE sẽ đồng bộ hai giá trị này sao cho phù hợp và sau đó sử dụng biểu thức (2)để lấy KeNodeB*. Khi eNodeB đích hoàn thành việc báo hiệu handover với UE, nó sẽ gửi bản tin yêu cầu chuyển đường SI (bản tin (5) trong hình) tới một MME. MME tăng giá trị NCC lên 1, sau đó tính toán giá trị NH mới từ KASME và khóa NH hiện tại. MME chuyển tiếp bộ {NHNCC+1, NCC + 1} tới eNodeB đích cho lần handover tiếp theo. Chú ý là eNodeB đích sẽ chuyển tiếp bộ {KeNodeB*, NCC}trong trường hợp lấy khóa theo chiều ngang và {KeNodeB*, NCC + 1} trong trường hợp lấy khóa theo chiều dọc.
2.3.Điểm yếu trong bảo mật mạng LTE
2.3.1.Điểm yếu trong bảo mật truy nhập LTE
Cải tiến nổi bật nhất của LTE-AKA trong GSM/UMTS-AKA là để ngăn chặn các cuộc tấn công chuyển hướng sử dụng sai trạm gốc bằng cách tăng cường các vectơ xác thực. Tuy nhiên, LTE-AKA vẫn còn thiếu sự riêng tư của các thuê bao và các cơ chế phòng chống tấn công DoS. Trong phần này, tôi xem xét các điểm yếu tồn tại của LTE-AKA.
Hình 2.18 : Sự phân bố của IMSI và dữ liệu xác thực
2.3.2.Sự riêng tư của thuê bao
Mặc dù sử dụng GUTI, UE vẫn phải truyền tải định danh cố định (IMSI) trong bản tin khi đăng ký lần đầu tiên (xem bản tin (2) trong hình trên). Theo truyền thống, các mạng di động 3GPP không cung cấp các cơ chế p để bảo vệ định danh người dùng một cách bí mật chống lại các loại tấn công chủ động. Một kẻ tấn công chủ động với một trạm gốc giả mạo có thể gửi một tin nhắn yêu cầu nhận dạng (tức là, bản tin (1) trong GSM- / UMTS- / LTE-AKA) đến UE. UE luôn luôn đáp ứng với IMSI của nó. Như vậy, nhận dạng thuê bao không được xử lý bảo mật nữa. Tiết lộ của IMSI đem lại những cơ hội mà một kẻ gian có thể có được thông tin thuê bao, thông tin vị trí và thậm chí cả thông tin trò chuyện. Bên cạnh đó, định danh gốc ban đầu (IMSI) có thể được kết nối và suy ra định danh tạm thời (GUTI) dẫn đến sự mất an toàn trong các lần trao đổi thông tin tiếp theo của UE. [9]
3GPP định nghĩa sự phân bố của IMSI giữa hai MME như trong hình trên. Mục đích của thủ tục này là để cung cấp cho một MME mới được thăm (MMEn) với IMSI và các vectơ xác thực từ một MME được truy nhập trước đó (MMEo). MMEn gửi tin nhắn yêu cầu IMSI đến MMEo sau khi nhận GUTIo trong bản tin (1) của LTE-AKA. MMEo sẽ gửi một bản tin phản hồi IMSI bao gồm các IMSI, và các vectơ xác thực chưa sử dụng. Xét về sự riêng tư vị trí, vị trí của UE có thể bị tiết lộ trong một liên kết giao tiếp không an toàn giữa một MMEn và MMEo về nhận dạng vị trí (Tracking Area Identity - TAI) của nó. Khi vị trí riêng tư của một UE bị tiết lội, kẻ tấn công có thể nghe lén hoặc tống tiền các UE.
Các tiêu chuẩn 3GPP LTE hiện tại đã tóm tắt một số trường hợp mà IMSI được tiết lộ trên các kết nối vô tuyến như sau:
- Một UE ban đầu đăng ký trong một MME, và đã không nhận được một GUTI hợp lệ nào.
- Do sự mất động bộ trong cơ sở dữ liệu hoặc lỗi đồng bộ hóa trong một MME, IMSI có thể không được lấy ra từ GUTI.
- Sau khi chuyển vùng đến một MME mới, MME cũ có thể không được liên lạc hoặc không thể lấy IMSI.
Chú ý: Khi UE chuyển đến một MME mới, MME mới yêu cầu IMSI từ MME cũ sử
dụng TMSI và thông tin định tuyến. MME cũ tìm kiếm các thông tin UE trong cơ sở dữ liệu của nó, gửi lại IMSI của UE cho MME mới. Sau khi LTE-AKA, một
GUTI mới sẽ được cấp cho UE một cách an toàn.
Mặt khác, bản tin yêu cầu nhận dạng IMSI này là bắt buộc để phục hồi từ những trường hợp khi mạng phục vụ bị mất kết nối giữa định danh tạm thời của UE và các IMSI. 3GPP đã thảo luận một cơ chế cho phép một MME có thể phục hồi từ tình trạng trước đó trong khi cung cấp cơ chế bảo vệ chống lại các cuộc tấn công chủ động. Nhiều tài liệu đề xuất cơ chế bảo vệ dựa trên khóa công khai,như thế sẽ phải sử dụng UE với chứng nhận khóa công khai hoặc nếu không thì ít nhất các HSS/AuC phải có khóa công khai. Trong môi trường mở của các mạng LTE, cơ sở hạ tầng khóa công khai phải được trải rộng khắp tất cả các nhà khai thác với các thỏa thuận chuyển vùng lẫn nhau. Như vậy, 3GPP sẽ phải xem xét nhiều yếu tố về hiệu năng và chi phí khi bắt buộc phải sử dụng một cơ sở hạ tầng tốn kém như vậy.