Khác với cơ chế xác thực trong mạng GSM, cơ chế xác thực trong mạng UTMS là cơ chế xác thực 2 chiều. Cơ chế xác thực trong mạng UTMS đƣợc xây dựng trên cơ sở giao thức xác thực sử dụng khóa chung chia sẻ giữa thành phần xác thực AuC của HLR và USIM của MS. Ngoài chia sẻ một khóa chung, AuC và USIM còn sử dụng chung 1 biến đếm, biến đếm đƣợc lƣu trên AuC đƣợc gọi là
SQNHE, ứng với mỗi thuê bao AuC sẽ lƣu một biến đếm cho riêng thuê bao đó. Ở
dƣới MS, USIM cũng lƣu và duy trì 1 biến đếm khác ký hiệu là SQNMS, biến đếm
.
Giao thức xác thực và trao đổi khóa trong mạng UMTS (UMTS AKA –
UMTS – Authentication and Key Agreement) đƣợc minh họa ở hình 2.6 gồm các
bƣớc sau:
MS trƣớc khi truy cập mạng hoặc sử dụng các dịch vụ của mạng sẽ gửi yêu cầu kết nối.
Tùy thuộc miền sử dụng thuộc loại nào (miền chuyển mạch theo kênh, hay chuyển mạch theo gói) mà thành phần VRL hoặc SGSN gửi yêu cầu AuC sinh ra các vector xác thực cho thuê bao.
AuC căn cứ vào khóa chia sẻ và biến đếm ứng với thuê bao đó sẽ sinh ra các
vector xác thực AVs= {AV1, AV2, … AVn} và gửi lại cho VLR/SGSN. Mỗi
vector xác thực gồm các thành phần sau:
RAND: Là 1 số ngẫu nhiên có độ dài 16 byte, đƣợc AuC sinh ra dựa vào
thuật toán giả ngẫu nhiên.
MS VLR/SGSN AuC
1. Gửi yêu cầu kết nối
2. Y/c sinh vector xác thực
3. Các vector xác thực AVs 4. M = RAND || AUTN Sinh vector xác thực AVs Chọn vector xác- thực AV = RAND || XRES || CP || CI || AUTN
Sinh vector xác thực, đƣợc kết quả RES, XMAC, CP, CI.
Xác thực mạng dựa vào XMAC
5. Gửi mã xác thực RES So sánh XRES và RES để xác thực MS
XRES: Là trƣờng có độ dài từ 4 byte đến 16 byte, chứa mã xác thực cần so sánh với mã xác thực USIM gửi lên.
CK : Có chiều dài 16 byte, dùng là khóa để mã hóa.
CI : Là trƣờng có chiều dài 16 byte, sử dụng là khóa để bảo vệ tính toàn
vẹn dữ liệu truyền.
AUTN : Là trƣờng 16 byte, chứa mã xác thực giúp MS có thể xác thực
ngƣợc lại tổng đài UMTS.
Ta có thể viết AV = RAND || XRES || CK || CI || AUTN
VLR/SGSN nhận đƣợc các vector xác thực VAs sẽ chọn ngẫu nhiên 1 vector
xác thực VAi, VLR/SGSN sẽ lấy ra số RAND và AUTNgửi lại cho MS.
MS nhận đƣợc thông điệp M= RAND || AUTN, MS sẽ gửi cho USIM, USIM
sẽ chạy lại thuật toán đã chạy trên AuC với tham số là RAND và 1 phần của AUTN và cho ra các tham số vector xác thực gồm: RES, XMAC, CK và IK. Nếu XMAC trùng với 8 byte cuối của AUTN thì mạng UMTS đƣợc MS xác thực. Mã RES sẽ đƣợc gửi lại cho VLR/SGSN để xác thực với tổng đài. Các tham số CK và IK đƣợc lƣu lại và sử dụng với mục đích bảo mật và toàn vẹn các thông tin truyền sau này.
VLR/SGSN nhận đƣợc mã xác thực RES từ phía ngƣời sử dụng, sẽ so sánh
với mã xác thực XRES của vector xác thực của phiên đó. Nếu 2 mã xác thực trùng nhau thì thuê bao đƣợc xác thực.
Hình 2.7a mô tả phƣơng thức AuC sinh ra vector xác thực AV. Các thành phần của vector xác thực đƣợc sinh ra nhƣ sau:
Tham số đầu vào: Số ngẫu nhiên RAND, khóa chia sẻ K, số ngẫu nhiên SQN,
và tham số AMF (Authentication Management Field)
Số ngẫu nhiên RAND đƣợc sinh trực tiếp từ thuật toán sinh số giả ngẫu nhiên
PRNG
Trƣờng xác thực XRES f RAND K2( , )
Các trƣờng CP f RAND K3( , ),IK f RAND K4( , )
Trƣờng cuối cùng AUTN là một trƣờng đặc biệt
|| AMF ||
AUTNSQNAK MAC
Với AK f RAND K5( , )là trƣờng trung gian, AMF là trƣờng quản lý xác thực (Authentication Management Field) nhằm tăng tính hiệu quả của thuật toán xác
thực, MAC f RAND K SQN1( , , , AMF)là trƣờng mã xác thực thông báo.
Hình 3.7b mô tả phƣơng thức USIM sinh đƣợc ra các tham số xác thực AV từ
giá trị MRAND AUTN|| mà VLR/SGSN gửi cho MS.
Các hàm f f1, 2,f3,f4,f5đƣợc cài đặt chạy bởi AuC của hệ thống và ở tại USIM của các thuê bao, nên việc lựa chọn các thuật toán đó phụ thuộc vào mỗi nhà cung cấp dịch vụ, miễn là đảm bảo đƣợc những yêu cầu chung của hệ thống.