Bảo mật truy cập mạng là một lớp thiết yếu của chức năng bảo mật trong kiến trúc an ninh 3G. Nó có liên quan đến thiết lập cơ chế bảo mật cung cấp cho người dùng di động truy cập an toàn tới các dịch vụ 3G, cũng như bảo vệ chống lại các cuộc tấn công trên giao diện vô tuyến. Cơ chế này bao gồm: bí mật nhận dạng người dùng, chứng thực và thỏa thuận khóa, bảo mật dữ liệu, và bảo vệ sự toàn vẹn của thông điệp báo hiệu. Bảo mật truy cập mạng diễn ra một cách độc lập trong từng lĩnh vực dịch vụ.
4.1.2.1. Bảo mật nhận dạng ngƣời sử dụng
Bảo mật nhận dạng người sử dụng cho phép nhận dạng của một người dùng truy cập mạng vô tuyến liên kết bằng phương tiện của nhận dạng thuê bao di động tạm thời (TMSI). Có nghĩa rằng các bí mật danh tính người dùng được bảo vệ, hầu như luôn luôn, chống nghe lén thụ động. Việc đăng ký ban đầu là một trường hợp đặc biệt, một nhận dạng tạm thời không sử dụng được, từ mạng không thể biết được nhận dạng thường trực của người dùng. Nhận dạng cấp tạm thời được chuyển cho người sử dụng khi mã hóa được bật. Một TMSI trong miền CS (hoặc P-TMSI trong miền PS) chỉ có ý nghĩa địa phương duy nhất trong khu vực địa điểm hoặc khu vực các định tuyến, trong đó người sử dụng được đăng ký. Sự kết hợp giữa nhận thực người sử dụng thường xuyên và người dùng tạm thời được lưu trữ trong các VLR / SGSN. Mặt khác, nếu người sử dụng điện thoại di động đến vào một khu vực mới, sau đó sự kết hợp giữa
các đặc tính thường xuyên và tạm thời có thể thu được từ vị trí cũ hoặc khu vực định tuyến. Nếu địa chỉ của khu vực cũ là không biết hoặc kết nối không thể được thành lập thì nhận dạng người dùng thường xuyên phải được yêu cầu từ người sử dụng điện thoại di động.
Để tránh người dùng truy xuất nguồn gốc, điều này có thể dẫn đến những thỏa hiệp giữ bí mật danh tính của người sử dụng và vị trí người dùng theo dõi, người dùng không nên được kết hợp trong một thời gian dài với cùng một nhận dạng tạm thời. Hơn nữa, các dữ liệu tín hiệu hoặc người sử dụng có thể được sử dụng để tiết lộ danh tính của người sử dụng phải được mã hoá vào liên kết truy cập vô tuyến. Các tính năng bảo mật sau đây liên quan đến bí mật danh tính người dùng được bảo đảm:
- Bảo mật nhận dạng người dùng: nhận dạng thường trú (IMSI) của một người sử dụng điện thoại di động mà một dịch vụ được cung cấp được bảo vệ chống lại nghe trộm vào liên kết truy cập vô tuyến.
- Bảo mật vị trí người sử dụng: sự hiện diện trong một khu vực hay sự xuất hiện của một người sử dụng trong một khu vực nhất định được bảo vệ chống lại nghe trộm trong các liên kết truy cập vô tuyến.
- Không truy xuất nguồn gốc của người dùng: một kẻ xâm nhập không thể suy ra, bằng cách nghe trộm trên liên kết truy cập vô tuyến, cho dù dịch vụ cụ thể được giao cho cùng một người dùng.
Để đạt được các mục tiêu nói trên, người sử dụng thường được xác định trên liên kết truy cập vô tuyến bởi một nhận dạng tạm thời mà ta được biết tại các mạng lưới phục vụ. Để tránh người dùng truy xuất nguồn gốc, có thể dẫn đến những thỏa hiệp giữ bí mật nhận thực của người sử dụng điện thoại di động, người sử dụng không nên được xác định trong một thời gian dài điều này tương tự như nhận thực tạm thời. Ngoài ra, nó là yêu cầu bất kỳ bản tin báo hiệu hoặc gói tin người dùng nào cho biết nhận dạng người dùng trên kênh truy cập vô tuyến. Những tính năng này giống hệt các tiêu chuẩn GSM. Nó bảo vệ chống lại các cuộc tấn công thụ động, nhưng không chống lại cuộc tấn công đang hoạt động.
- Xác định các thiết bị di động: Tính năng này giống như trong GSM. Trong trường hợp nhất định, mạng lưới phục vụ có thể yêu cầu các trạm điện thoại di động để gửi nhận dạng thiết bị di động quốc tế của nó (IMEI). Tuy nhiên, cả GSM và UMTS đều đưa ra một phương pháp chứng thực để nhận dạng thiết bị di động. Điều này có nghĩa rằng bất kỳ tính năng mạng dựa trên số IMEI, chẳng hạn như chặn cuộc gọi của điện thoại bị đánh cắp, dựa vào các thiết bị đầu cuối cung cấp số IMEI hợp pháp vào mạng UMTS. Các tiêu chuẩn UMTS do đó áp đặt các yêu cầu về thiết bị đầu cuối để bảo vệ sự toàn vẹn của IMEI để nó không thể giả mạo hoặc sửa đổi.
- Nhận thực người dùng với USIM: Tính năng này giống như trong mạng GSM. Nó cung cấp đặc tính truy cập vào các USIM bị hạn chế cho đến khi USIM đã
nhận thực người dùng. Qua đó, nó đảm bảo rằng việc truy cập với USIM có thể được giới hạn người dùng có thẩm quyền hoặc một số người dùng được phép. Để thực hiện chức năng này, người sử dụng và các USIM phải chia sẻ một bí mật (số nhận dạng cá nhân) được lưu trữ an toàn trong USIM. Người sử dụng muốn truy cập vào phần USIM thì phải biết được bí mật này.
- Nhận thực của USIM - liên kết đầu cuối: Tính năng này đảm bảo rằng các quyền truy cập vào một thiết bị đầu cuối hoặc các thiết bị di động của người dùng khác có thể được hạn chế một USIM có thẩm quyền. Các mạng USIM và thiết bị đầu cuối phải chia sẻ một bí mật được lưu trữ an toàn trong USIM và các thiết bị di động. Nếu một nút USIM không chứng minh được là nó biết bí mật này thì nó sẽ bị từ chối truy cập vào các thiết bị di động.
4.1.2.2. Nhận thực và thỏa thuận khóa
Việc nhận thực và cơ chế thỏa thuận khóa dẫn tới việc nhận thực lẫn nhau giữa người sử dụng điện thoại di động và SN về chia sẻ khóa bí mật. Chúng cũng cho phép nguồn gốc của mã hóa và khóa toàn vẹn cho việc thiết lập phiên. Thuật toán nhận thực gồm giao thức Các phương pháp thẩm định bao gồm các giao thức hỏi/đáp (như được mô tả bằng hình 4.2), và là lựa chọn để đạt được khả năng tương thích tối đa với kiến trúc an ninh GPRS/GSM. Điều này sẽ giúp tạo thuận lợi cho chuyển từ GSM/GPRS lên UMTS. Hơn nữa, USIM và các thiết bị cá nhân theo dõi bằng hai bộ đếm, biểu hiện bằng SQNMS và SQNHE, để hỗ trợ xác thực mạng. Số thứ tự SQNHE là biểu thị số truy cập cá nhân cho mỗi người dùng, trong khi SQNMS các biểu thị số thứ tự cao nhất mà các USIM đã chấp nhận.
Nhận thực và thỏa thuận khóa trong UMTS (UMTS AKA) là một cơ chế bảo mật để đạt được nhận thực và cung cấp tất cả các tính năng thỏa thuận khóa đã được mô tả. Cơ chế này dựa trên các cơ chế hỏi/đáp tương tự như giao thức xác thực để chứng thực thuê bao và thành lập khóa trong GSM. Điều này làm cho việc chuyển đổi từ mạng GSM sang mạng UMTS được thực hiện dễ dàng. Giao thức hỏi/đáp là một biện pháp an ninh được thiết lập cho một thực thể để xác minh danh tính của một tổ chức khác mà không để lộ mật khẩu bí mật được chia sẻ bởi hai thực thể. Khóa là mật khẩu mà nó không được tiết lộ hay truyền. Hình 4.2 mô tả thỏa thuận khóa AKA trong mạng 3G.
Hình 4.2: Nhận thực và thỏa thuận khóa trong 3G
Quá trình nhận thực và thỏa thuận khóa trong UMTS được thực hiện bởi mạng dịch vụ sau khi đăng ký đầu tiên của người sử dụng, một yêu cầu dịch vụ, yêu cầu cập nhật vị trí, yêu cầu kết nối, yêu cầu tách hoặc tái lập kết nối. Ngoài ra, các thông tin liên quan về người sử dụng phải được chuyển giao từ mạng nhà của người dùng với mạng phục vụ để hoàn thành quá trình yêu cầu. Các mạng nhà HLR/AuC cung cấp mạng phục vụ VLR/SGSN với véc tơ nhận thực (AVs), mỗi người nắm giữ các trường thông tin được mô tả như sau: khi nhận yêu cầu từ VLR/SGSN, trung tâm nhận thực của mạng nhà (HN/AuC) ra lệnh chuyển một mảng của vectơ nhận thực (AV) cho VLR/SGSN. Mỗi AV bao gồm: số ngẫu nhiên RAND, mã nhận thực XRES, khóa mật mã CK, khóa toàn vẹn IK, thẻ nhận thực AUTN.
Hình 4.3 cho thấy quá trình tạo ra AV bởi HE/AuC. HE/AuC bắt đầu với việc tạo ra một dãy số mới SQN, việc này giúp cho người sử dụng thấy rằng các AV tạo ra đã không được sử dụng trước và một yêu cầu không đoán trước RAND. Sau đó, bằng cách sử dụng khóa bí mật K, nó tính toán các thành phần sau đây bằng cách sử dụng các hàm cụ thể : f1, f2, f3, f4, và f5:
Thành phần đầu tiên là mã nhận thực bản tin (MAC) được tính bởi công thức:
MAC = f1 (K, SQN, RAND, AMF),
Với f1 là hàm nhận thực bản tin và nhận thực và trường quản lý khóa AMF được sử dụng để tinh chỉnh hiệu suất hoặc mang lại một khóa nhận thực mới đã được lưu trong USIM.
Hình 4.3: Tạo ra véc tơ nhận thực
- Thành phần thứ hai là đáp ứng mong đợi XRES, được tạo bởi hàm:
f2(K, RAND), với f2 là một hàm nhận thực bản tin.
- Ba thành phần: khóa mật mã CK, khóa toàn vẹn IK và khóa dấu tên AK được tính bởi các hàm sau:
CK = f3 (K, RAND), IK = f4 (K, RAND), AK = f5 (K, RAND),
với f3, f4, và f5 là các hàm tạo khóa riêng biệt.
- Thành phần cuối cùng là thẻ nhận thực AUTN, được tính bằng cách sử dụng các biểu thức sau đây:
AUTN = (SQN AK, AMF, MAC)
Năm hàm f1, f2, f3, f4, f5 được sử dụng bởi AuC và trong USIM, được kiểm soát, lựa chọn bởi nhà khai thác dịch vụ. Do việc thiết kế thuật toán mã hoá 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 thuật toán AKA với tên gọi là MILENAGE.
Khi VLR/SGSN bắt đầu thủ tục nhận thực và thoả thuận quan trọng, nó sẽ chọn các AV kế tiếp từ những vector của AVs, và chuyển tiếp các thông số RAND và AUTN cho người dùng. Dựa trên cùng một khóa bí mật K, USIM tính toán khóa AK bằng cách sử dụng f5(K, RAND) và khôi phục các SQN bằng cách áp dụng công thức:
Sau đó, nó tính XMAC = f1 (K, SQN, RAND, AMF) và kiểm tra xem AUTN đã nhận và lấy giá trị SQN đã thực sự được tạo ra trong AuC. Nếu đây là trường hợp, USIM tính toán RES = f2 (k, RAND) và kích hoạt MS để gửi lại một nhận thực người dùng. Cuối cùng, USIM tính toán các khóa CK và IK bằng cách sử dụng công thức:
CK = f3 (k, RAND) và
IK = F4 (k, RAND).
VLR/SGSN so sánh RES nhận được với trường XRES của AV. Nếu chúng phù hợp, nó xem xét việc trao đổi nhận thực và thỏa thuận khóa đã được hoàn tất thành công. Cuối cùng, USIM và VLR/SGSN chuyển mã hóa được thành lập và khóa bảo vệ toàn vẹn (CK và IK) tới thiết bị di động và bộ điều khiển mạng vô tuyến, tương ứng, cho phép chúng sử dụng mã hóa và các hàm toàn vẹn.
4.1.2.3. Bảo mật dữ liệu và bảo vệ toàn vẹn của tin nhắn báo hiệu
Một khi người sử dụng và mạng đã nhận thực với nhau, chúng bắt đầu đảm bảo việc truyền dữ liệu mà đã thiết lập giữa chúng. Các gói tin người dùng và tin nhắn báo hiệu được gửi qua giao diện vô tuyến có thể mã hóa bằng cách sử dụng hàm f8: quá trình mã hóa/giải mã diễn ra trong MS và RNC ở phía mạng. Hàm f8 là thuật toán đối xứng đồng bộ dòng được sử dụng để mã hóa khung có độ dài biến. Các đầu vào chính cho hàm f8 là một khóa mật mã CK 128-bit mã khóa. Các đầu vào được sử dụng để đảm bảo rằng hai khung hình được mã hóa bằng cách sử dụng các khóa dòng khác nhau, chúng được hình thành bởi một giá trị 32-bit gọi là COUNT, một giá trị 5-bit được biểu diễn bởi BEARER, và giá trị 1-bit được gọi là DIRECTION. Khóa dòng và mã hóa được tính bởi công thức sau đây:
keystreamBlock = f8 (CK, BEARER, DIRECTION, length) Cipher-text = keystreamBlock plaintextBlock
Đầu ra là một dãy các bit (hoặc khóa dòng) của cùng độ dài như khung. Khung hình được mã hóa bằng phép XOR dữ liệu với khóa dòng. Thực hiện hàm f8 cơ bản dựa trên thuật toán Kasumi. Các tính năng bảo mật sau đây được đảm bảo bởi UMTS và có liên quan đến bảo mật dữ liệu trên các liên kết truy cập mạng:
Thỏa thuận thuật toán mã hóa: trạm điện thoại di động và mạng UMTS có thể thỏa thuận an toàn thuật toán mã hóa mà họ muốn sử dụng để thiết lập việc truyền thông.
Thỏa thuận khóa mã hóa: MS và mạng UMTS nên đồng ý khóa mật mã, chúng có thể sử dụng để bảo vệ việc truyền thông mà nó được thiết lập.
Bảo mật dữ liệu người dùng và tin nhắn báo hiệu: cả những gói tin người dùng và tin nhắn báo hiệu đề có thể có thể được nghe trên giao diện không dây.
Hai tính năng bảo mật đầu tiên cũng được cung cấp bởi các mạng GSM. Tuy nhiên, các thực thể từ đó bảo vệ được cung cấp là khác nhau. Trong UMTS, bảo vệ mở rộng cho các RNC, để liên kết vi sóng giữa các trạm gốc và các RNC cũng được. Mặt khác, giao diện vô tuyến điện trong các hệ thống di động 3G cũng đã được thiết kế để hỗ trợ bảo vệ toàn vẹn trên các kênh truyền tín hiệu. Điều này cho phép các đơn vị tiếp nhận để xác minh rằng các tin nhắn báo hiệu đã không được thay đổi một cách trái phép và chúng đã được gửi đi. Hơn nữa, nó đảm bảo rằng nguồn gốc của dữ liệu nhận được tín hiệu thực sự là một tuyên bố.
Cơ chế bảo vệ toàn vẹn không được áp dụng cho các máy bay sử dụng vì lý do hiệu suất. Một hàm gọi là f9, được sử dụng để xác nhận tính toàn vẹn và xuất xứ của tin nhắn báo hiệu giữa MS và RNC trong UMTS. Nó tính toán một mã tin xác thực 32- bit MAC, được thêm vào khung và được kiểm tra bởi người nhận. Các đầu vào chính là thuật toán khóa toàn vẹn bí mật IK 128-bit và độ dài biến khung, được ký hiệu bằng MESSAGE. đầu vào bổ sung được thêm vào để đảm bảo rằng các MACs liên quan đến hai khung hình có nội dung giống hệt nhau (ví dụ, MESSAGE) là khác nhau, ví dụ. Những đầu vào này bao gồm một COUNT giá trị 32-bit, một FRESH giá trị 32-bit, và một DIRECTION giá trị 1-bit. Giá trị MAC được tính bởi công thức:
MAC = f9 (IK, COUNT-I, MESSAGE, DIRECTION, FRESH).
UMTS thực hiện tạo hàm f9 dựa trên thuật toán Kasuma.
4.2. Chƣơng trình mô phỏng an ninh mạng UMTS
Chương trình mô phỏng thủ tục nhận thực và thỏa thuận khóa AKA miêu tả trong an ninh mạng UMTS theo các phương pháp mã hóa, giải thuật và giao thức mạng nêu ra tại các chương trên đây được chỉ ra trong hình 4.4. Chương trình được viết trên nền Visual C++
được dịch ra File chạy chương trình là: umts-aka-crypto.exe
trên nền Window.
Chương trình vận hành theo các bước sau đây:
Sau khi khởi động chương trình sẽ có giao diện như hình 4.4.
Các nút OP, K, SQN, AMF, RAND để tạo các thông số cần thiết. Khi đó UE cũng sẽ nhận được các thông số K, SQN.
Chọn "Tạo AV", khi đó sẽ nhận được các thông số của MAC-A, CK, IK, AK. Nhấn chọn nút "Gửi AV tới VLR/SGSN" để gửi các thông số của AV tới VLR/SGSN.
Nhấn nút "Gửi RAND, AUTN tới UE, khi đó UE sẽ nhận được các thông số RAND, SQN AK, AMF, MAC-A.
Tiếp theo nhấn chọn "Tính toán thông số nhận thực", khi đó sẽ nhận được các