Nhận thực và thỏa thuận khóa

Một phần của tài liệu Bảo mật dữ liệu đầu vào cho mạng 3G (Trang 85)

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)

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.

Một phần của tài liệu Bảo mật dữ liệu đầu vào cho mạng 3G (Trang 85)