Các hàm và các gải thuật mật mã phải đáp ứng các yêu cầu chặt chẽ. Các hàm này phải được thiết kế để có thể tiếp tục sử dụng được ít nhất 20 năm. Các UE chứa các hàm này không bị giới hạn về xuất khẩu và sử dụng. Thiết bị mạng như RNC và AuC có thể phải chịu các hạn chế. Việc xuất khẩu các nút này phải tuân thủ thỏa thuận Wassenaar. Như vậy mỗi nhà khai thác có thể thiết lập thiết bị và giải thuật theo luật và giấp phép địa phương và người sử dụng có thể chuyển mạng bằng thiết bị của mình mỗi khi chuyển đến một hãng/nước mới. Khi không biết các khóa đầu vào, ta không thể phân biệt các hàm này với các hàm ngẫu nhiên độc lập của các đầu vào của chúng. Thay đổi một thông số đầu vào mỗi lần không thể phát hiện bất kỳ thông tin nào về khóa bí mật K hay trường cấu hình (OP) của nhà khai thác.
3.5.2. Các hàm mật mã
Các tính năng an ninh của UMTS được thực hiện bởi tập các hàm và các giải thuật mật mã. Tất cả có 10 hàm mật mã để thực hiện các tính năng này: f0-f5, f1*, f5*, f8 và f9.
F10 là hàm tạo ra hô lệnh ngẫu nhiên, 7 hàm tiếp theo là các hàm tạo khóa vì thế chúng đều là đặc thù nhà khai thác. Các khóa được sử dụng để nhận thực chỉ được tạo ra ở USIM và AuC, đây là hai miền mà cùng một nhà khai thác phải chịu trách nhiệm.
Các hàm để tạo ra các thông số AKA là: f1, f2, f3, f4 và f5 và việc lựa chọn các hàm này về nguyên tắc là tùy thuộc vào nhà khai thác. Do việc thiết kế giải thuật mật mã 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 giải thuật AKA với tên gọi là MILENAGE. Việc cấu trúc các giải thuật này dựa trên một giải thuật mật mã mạnh 128 bit được gọi là
hàm lõi cùng với trường cấu trúc bổ sung do nhà khai thác lựa chọn. AES được khuyến nghị sử dụng cho hàm lõi của các hàm f1, f2, f3, f4 và f5.
Các hàm f8, f9 sử dụng hàm lõi là bộ mật mã khối KASUMI.
Các hàm f8, f9 được sử dụng trong USIM và RNC và vì hai miền này có thể thuộc các nhà khai thác khác nhau, nên chúng không thể đặc thù nhà khai thác. Các hàm này sử dụng khóa bí mật chung quy định trước (K). Lý do là để tránh phân bố K, trên mạng và để giữ nó an toàn trong USIM và AuC. Bảng 3.1 tổng kết các hàm mật mã và sản phẩm của chúng.
Bảng 3.1. Các hàm mật mã và đầu ra của chúng
Hàm Chức năng Đầu ra
f10 Hàm tạo hô lệnh ngẫu nhiên RAND
f1 Hàm nhận thực mạng MAC-A/XMAC-A
f1* Hàm nhận thực bản tin đồng bộ lại MAC-S/XMAC-S
f2 Hàm nhận thực người sử dụng RES/XRES
f3 Hàm rút ra khóa mật mã CK
f4 Hàm rút ra khóa toàn vẹn IK
f5 Hàm rút ra khóa dấu tên AK
f5* Hàm rút ra khóa dấu tên cho hàm bản tin đồng bộ lại AK
f8 Hàm tạo luồng khóa (CK) <Khối luồng khóa>
f9 Hàm tạo dấu ấn từ khóa toàn vẹn MAC-I/XMAC-I
Các hàm f1-f5, f1*và f5* được thiết kế có thể thực hiện trên card IC sử
dụng bộ vi xử lý 8 bit hoạt động tại tần số 3,25 MHZ với 8 kB ROM và 300
kB RAM và tạo ra AK, XMAC-A, RES và IK không quá 500 ms.
Các hàm f1-f5* được gọi là các hàm tạo khóa, chúng được sử dụng trong các thủ tục AKA khởi đầu.