Các thuật toán xác thực trong SIM/USIM

Một phần của tài liệu Nghiên cứu thẻ thông minh và ứng dụng vào an toàn trong thông tin di động (Trang 67)

Hình 2.: Vết SPA từ hai phép tính trên thẻ thông minh chỉ xuất hiện ở vòng thứ

3.3.2. Các thuật toán xác thực trong SIM/USIM

3.3.2.1. Thuật toán A3 xác thực thiết bị di động

Thuật toán A3 là thuật toán xác thực trong mô hình bảo mật GSM. Thuật toán này nhận số ngẫu nhiên RAND từ trung tâm chuyển mạch di động (MSC) và khoá bí mật Ki từ SIM làm đầu vào, tạo đầu ra 32 bit phản hồi SRES. Các giá trị RAND và Ki đều có độ dài 128 bit.

Thuật toán A3 có thể được dùng như là hàm băm một chiều. Nhìn chung, hàm băm một chiều cho đầu ra có độ dài cố định với đầu vào tuỳ ý. Gần như tất cả các nhà cung cấp mạng GSM trên thế giới dùng thuật toán gọi là COMP128 cho cả thuật toán A3 và A8. Đó là thuật toán tham chiếu được hiệp hội GSM đưa ra. COMP128 lấy đầu vào RAND và Ki, nhưng tạo ra 128 bit đầu ra thay cho 32 bit SRES. 32 bit đầu tiên của 128 bit tạo nên phản hồi SRES. Số ngẫu nhiên RAND phải khác nhau ở thời điểm khác nhau. Nếu RAND giống nhau, kẻ tấn công có thể giả mạo người dùng bằng cách gửi cùng SRES.

Hình 3.: Mạng xác thực thiết bị di động

Đầu tiên mạng tạo ra số ngẫu nhiên RAND và tính SRES cho thuê bao đó.  Một số kết nối được cố gắng thực hiện giữa thiết bị di động và mạng.  Thiết bị di động đưa ra định dạng của nó. Các thông điệp được sử dụng

khi bắt đầu thiết lập kết nối, chứa một trường định danh.

Nếu như có thể, nó tránh việc gửi IMSI ở dạng bản rõ (để tránh kẻ nghe trộm biết một phần thông tin của thuê bao khi cố gắng thiết lập kết nối). Thay vào đó, nó sử dụng TMSI (số định danh thuê bao tạm thời).

 Mạng gửi thông điệp yêu cầu xác thực (Authentication Request) chứa số ngẫu nhiên RAND.

 Thiết bị di động nhận RAND và chuyển nó cho SIM.

 SIM thực hiện thuật toán A3 và trả về SRES cho thiết bị di động.

 Thiết bị di động truyền SRES tới mạng trong thông điệp đáp ứng xác thực (authentication response).

 Mạng so sánh SRES nhận được với SRES’ của bản thân nó. Nếu SRES = SRES’, thì việc xác thực đã xong, giao dịch có thể được tiến hành.

 Ngược lại, mạng có thể quyết định lặp lại quá trình xác thực với IMSI nếu TMSI đã được dùng, hoặc là trả về thông điệp từ chối xác thực (authentication reject).

3.3.2.2. Thuật toán A8 tạo khoá mã hoá

Thuật toán A8 tạo khoá phiên trong hệ GSM. Nó lấy đầu vào RAND và Ki (đều có độ dài 128 bit) và tạo ra khoá phiên Kc (64 bit).

Như đã mô tả ở trên, COMP128 được dùng cho cả thuật toán A3 và A8 trong hầu hết các mạng GSM. COMP128 tạo ra cả đáp ứng SRES và khoá phiên Kc trong một lần thực hiện. 54 bit cuối cùng đầu ra của COMP128 chính là khoá phiên Kc cho đến khi trạm di động được xác thực lại. Ở đây độ dài khoá là 54 bit (thay cho 64 bit). Mười bit 0 sẽ được gắn thêm vào khoá, tạo ra bởi thuật toán COMP128. Cuối cùng ta có khoá 64 bit với 10 bit cuối cùng là bit 0.

Tất cả được thực hiện bởi thuật toán A8, bao gồm cả những hệ thống không dùng COMP128 để tạo khoá, và đây là đặc điểm cần cân nhắc khi sử dụng thuật toán A8.

Cả hai thuật toán A3 và A8 được lưu trong SIM để ngăn chặn can thiệp bất hợp pháp. Điều đó có nghĩa là nhà cung cấp có thể quyết định thuật toán nào được dùng một cách độc lập với phần cứng và các nhà cung cấp mạng khác.

Việc xác thực ở các nước khác cũng tương tự, vì mạng địa phương sẽ hỏi nhà đăng ký vùng chủ (Home Location Register – HLR) về mạng chủ của thuê bao. Như vậy mạng địa phương không biết gì về thuật toán A3 và A8 được dùng.

Phiên bản mới khắc phục nhược điểm của phiên bản cũ đã có (được gọi là COMP128-2).

3.3.2.3. Thuật toán A5 mã hoá dữ liệu

Thuật toán A5 được dùng để mã hoá việc truyền tin qua không gian. Hiện nay, thuật toán A5/1 hoặc A5/2 được dùng trong mạng GSM để bảo mật dữ liệu. Điều này do chuẩn GSM được thiết kế cho vùng Tây Âu, và quy tắc xuất

khẩu không cho phép dùng kỹ thuật nguyên bản ngoài châu Âu. Việc sử dụng các thuật toán này trong cơ sở hạ tầng của nhà cung cấp mạng theo quy tắc sau:

 Thuật toán A5/1 được dùng trong các nước thành viên của CEPT (Hiệp hội quản trị bưu chính viễn thông châu Âu).

 Thuật toán A5/2 dùng cho tất cả các nhà cung cấp nào ở các nước không thuộc hiệp hội trên.

 Thuật toán A5/3 có độ bảo mật cao hơn dùng cho mạng thế hệ 3G.

Các thuật toán A5 sau A5/1 được đặt tên là A5/x. Hầu hết thuật toán A5/x được xem như yếu hơn A5/1, nó có độ phức tạp là cao nhất là 2^54. Độ phức tạp của các thuật toán A5/2 là thấp, vào cỡ 2^16.

Thực thi của các thuật toán A5 khác không được tiết lộ. Thông tin về chúng chủ yếu dựa trên việc ước đoán và các giả thiết.

Những thông tin mới nhất cho biết thuật toán bảo mật mới với tên gọi A5/3 đã được phát triển với mức bảo mật cao, chống lại nghe trộm tốt hơn các thuật toán hiện dùng.

A5/3 được phát triển bởi sự hợp tác giữa hiệp hội bảo mật GSM và 3rd Generation Partnership Project (3GPP™), để sử dụng trong các hệ thống GSM thương mại. A5/3 dựa trên thuật toán Kasumi, được 3GPP phát triển cho các hệ thống di động thế hệ thứ ba như là nền tảng của các thuật toán bảo mật và toàn vẹn dữ liệu.

Mã dòng A5/1

A5/x là họ mã dòng, trong đó A5/1 là tốt nhất, dùng trong điện thoại di động GSM.

Luồng tín hiệu thoại digital trong GSM được chia thành các frames, mỗi frame gồm 228 bits và dài 4.6 ms. Với 64 bits mầm, qua bộ sinh A5 có các khối 228 bits khóa dùng để mã hóa cho từng frames (Hình 3.6).

Hình 3.: Mã dòng A5/1

A5/1 thuộc bộ sinh m-dãy, gồm 3 bộ LFSRs có chu kỳ , và :

LFSR 1: LFSR 2: LFSR 2:

Các bits lấy ra tương ứng là C1, C2 và C3 đưa đến bộ đa số, đầu ra m của bộ đa số phản ánh giá trị của đa số các bits Ck. Ví dụ có từ 2 bits trở lên có giá trị 0 thì và tương tự nếu từ 2 bits trở lên có giá trị 1 thì . Nếu thì LFSR tương ứng được dịch. Tại mỗi chu kỳ clock, các bits ra của các LFSR được XOR với nhau để cho ra một bit khóa. Sơ đồ nguyên lý phần cứng của A5/1 như Hình 3.7.

1219− 222−1 219− 222−1 1 223− ( ) 19 5 2 1 1 x =x +x +x +x+ f ( ) 22 1 2 x =x +x+ f ( ) 23 15 2 1 3 x =x +x +x +x+ f 0 = m m=1 m Ck =

Hình 3.: Sơ đồ nguyên lý bộ sinh khóa A5/1

A5/1 thực chất để sinh khóa phục vụ cho mã dòng, nằm trong máy điện thoại, không phải trong SIM.

Một phần của tài liệu Nghiên cứu thẻ thông minh và ứng dụng vào an toàn trong thông tin di động (Trang 67)