- Thuật tốn A5: Sơ đồ khối thuật tốn A5 như hình 1.7
A5 là một thuật tốn mã dịng (tạo ra dãy số giả ngẫu nhiên chất lượng tốt để
XOR với dữ liệu cần mã – Sơ đồ khối thuật tốn A5 như Hình 1.7), sử dụng các
thanh ghi dịch phản hồi tuyến tính. Có nhiều cách thực thi thuật tốn A5, nhưng hầu như chỉ có 4 phiên bản A5/0, A5/1, A5/2 và (A5/3 sử dụng cho các hệ thống 3G), trong đó A5/1 được biết là mạnh nhất và sử dụng rộng ở Châu âu và châu mỹ, A5/2 được sử dụng ở Châu Á. Trong A5/1 sử dụng 3 thanh ghi dịch LFSR (R1, R2, R3 hay gọi là m_dãy) như Hình 1.8 dưới:
Hình 1.8. Sơ đồ khối thuật tốn mã dịng A5 sử dụng 3 thanh ghi dịch phản hồi tuyến tính LFSR
A5 A8
Như hình trên, 3 thanh ghi dịch phản hồi tuyến tính trên có độ dài lần lượt là R1= 19, R2= 22 và R3=23 bits và tương ứng với 3 biểu thức trong Bảng 1.1 sau:
Bảng 1.1. Các thanh ghi LFSR
LFSR Độ dài
(bit)
Đa thức phản hồi Bít nhịp Khai thác bit 1 19 2 22 3 23 x19 x18 x17 x14 1 x22 x21 1 x23 x22 x21 x8 1 8 13,16,17,18 10 20,21 10 7,20,21,22
Nguyên tắc hoạt động bộ 3 thanh ghi dịch phản hồi tuyến tính hồn tồn theo nguyên tắc hoạt động của các m_dãy. Ở mỗi thanh ghi dịch sau mỗi chu kỳ xung nhịp, các bít có trọng số là ‘1’ của đa thức (bít khai thác) được XOR với nhau và kết quả lưu vào bít có trọng số thấp nhất (bit Zero). Cả 3 thanh ghi đều có 1 bít cố định (thanh ghi 1 là bít thứ 8 (c1), thanh ghi 2 và 3 là các bít thứ 10 (c2,c3), gọi là
“Clocking bit”) để xác định dịch hay không dịch, phụ thuộc vào sự tính tốn của hàm chức năng trong khối Clock, nếu dịch thanh ghi thì tồn bộ thanh ghi đó được dịch trái 1 bít, giá trị bít 0 được bù bằng bit từ khối Clock. Ở mỗi chu kỳ xung nhịp, từ giá trị các bit ở vị trí c1, c2, c3, hàm chức năng theo cơng thức (1.1) [7] để tìm ra giá trị bit (gọi là majority bit)
c1 * c2 ⊕ c2 * c3 ⊕ c1 * c3 (1.1)
Căn cứ vào c1, c2, c3 và giá trị Majority bit, các thanh ghi r1, r2, r3 sẽ được dịch tương ứng với giá trị ci = Majority bit [7]. Cụ thể các thanh ghi được dịch theo bảng trạng thái Bảng 1.2 sau:
Bảng 1.2. Bảng trạng thái thực hiện công thức (1.1)
c1 c2 c3
Majority
bit r1 r2 r3
0 0 1 0 Y Y N 0 1 0 0 Y N Y 0 1 1 1 N Y Y 1 0 0 0 N Y Y 1 0 1 1 Y N Y 1 1 0 1 Y Y N 1 1 1 1 Y Y Y
Quá trình thực thi A5 trong 4 bước như sau:
- Cả 3 thanh ghi (R1, R2, R3) được xóa về ‘0’, tiếp theo xử lý song song 64bit Kc từ LSB – MSB (Least Significant Bit – Most Significant Bit) được XOR với bit
LSB của cả 3 thanh ghi (như vậy cần 64 chu kỳ xung nhịp, không sử dụng xung điều khiển ở pha này).
- Giá trị hiện tại của 3 thanh ghi ở bước trên, tiếp tục xứ lý song song với giá trị 22bit Fn từ LSB – MSB được XOR với bít LSB của cả 3 thanh ghi (như vậy cần thêm 22 xung nhịp, không sử dụng xung điều khiển ở pha này). Giá trị các bít nhị phân hiện tại trên cả 3 thanh ghi này gọi là trạng thái khởi đầu của các thanh ghi dịch.
- 3 thanh ghi được kích hoạt thêm 100 xung nhịp và có các xung điều khiển, nhưng khơng sử dụng các giá trị đầu ra.
- 3 thanh ghi được kích hoạt thêm 228 xung nhịp với các xung điều khiển, tương ứng đầu ra sẽ có 228 bít. 228 bít này được chia làm 2 cho mỗi chiều/kênh (114bit cho mã hóa chiều MS-BTS, 114 bit cho giải mã chiều BTS-MS). Tín hiệu trên kênh GSM được tổ chức theo chuỗi, trong một kênh và theo một hướng, mỗi mẫu được gửi sau mỗi 4,615 mili giây chứa 114 bit thông tin.
1.2.2. Điểm yếu của bảo mật trong mạng di động GSM và một số tấn công phổbiến: biến:
Như trên đã đề cập, mạng di động GSM khơng phải là một hệ thống an tồn hoàn hảo. Do đặc thù của cơ chế dùng sóng radio để liên lạc giữa thiết bị di động đầu cuối và trạm thu phát sóng, mạng GSM có những rủi ro bảo mật như:
• Tấn cơng giả mạo thiết bị di động đầu cuối • Nghe lén cuộc gọi
• Tấn cơng dùng phương thức người thứ ba đứng giữa (man in the middle attack). Bằng các thuật tốn A3/A8/A5 để: xác thực, mã hóa các thơng tin. Trong cơ chế bảo mật GSM, các thuật toán A3, A5, A8 đều được giấu kín. Tuy nhiên, phương thức bảo mật bằng cách giấu thuật toán này sẽ khơng an tồn. Lý do là một thuật toán cho dù tốt đến đâu cũng có thể mắc lỗi và nếu khơng được cơng khai để cộng đồng kiểm chứng thì hồn tồn có thể bị mắc những lỗi nghiêm trọng. Thực tế đã chứng minh là dù được nhà sản xuất cố gắng giữ bí mật sau nhiều năm, hacker đã tìm được thơng tin khá đầy đủ về các thuật toán A3, A5 và A8 (Cụ thể vào tháng 8 năm 1999, Một nhóm các nhà nghiên cứu Mỹ cơng bố khả năng phá thuật tốn A5/2 bằng máy tính PC bình thường, thời gian phá mã là vài giây. Vào tháng 12 năm 1999, hai nhà nghiên cứu Israel cơng bố khả năng phá mã A5/1 trong vịng 2 phút sau khi lắng nghe cuộc gọi. Vào tháng 2 năm 2008, tại đại hội BlackHat (DEFCON- 15), hai nhà nghiên cứu Hulton và Steve trình bày khả năng phá bảo mật GSM với giá rẻ! Hacker hiện nay có thể chế tạo thiết bị nghe lén GSM với giá chỉ vài chục ngàn đô la với khả năng giải mã cuộc gọi trong thời gian 30 giây). Như vậy với công nghệ, kỹ thuật hiện nay, thì người thứ 3 hồn tồn có thể nghe xen giữa trên giao diện Um, hoặc các nhà mạng có thể xen vào qua các giao diện A hoặc Abit. Như trên đã nói, xét về tấn cơng mật mã thì các thuật tốn A3,A8 là rất yếu và thậm trí cả thuật tốn A5/1, cho dù các mạng có thể sử dụng phiên bản thuật tốn mã tốt nhất (A5/1, khóa Kc cũng chỉ là 64bits). Ngồi ra, hệ thống cũng chỉ có xác thực một chiều BTS-MS mà khơng có xác thực chiều ngược lại, nghĩa là một trạm BTS giả thực hiện các thao tác giống như BTS thật, thì MS vẫn trả về các giá trị SRES như thường; việc xác thực ID (người gọi, người gửi) dữ liệu và ID được truyền trên các kênh khác nhau, IMSI gửi dưới dạng rõ ở phiên kết nối đầu tiên, đây là lỗi cơ bản của hầu hết các nhà mạng, nó cho phép một tấn công xen giữa. Trước đây để thiết kế một trạm BTS là rất khó và phức tạp, nhưng với cơng nghệ hiện nay thì giá rất vừa phải, dẫn đến những tấn công trên kênh vô tuyến là khả thi không phải chỉ các tổ chức đặc biệt.
Một số tấn cơng điển hình như:
a. Tấn cơng sử dụng trạm BTS giả mạo:
Máy đối tượng Trạm BTS giả Trạm BTS thật