2.4.1. Nhậnthực.
Hình 2.10: Quá trình nhận thực và mã hóa trong mạng GSM.
2.4.2. Mã hóa.
Bước 1: hi người sử dụng cấp nguồn đầy đủ cho máy di động MS, máy di động MS này được gắn Card SIM sẽ tìm mạng GSM và gửi thông báo đăng ý IMSI vào mạng để khởi tạo quá trình nhận thực.
Bước 2: Hệ thống trạm gốc BS sẽ chuyển bản tin IMSI vừa nhận được từ MS đến HLR/AuC để hỏi Triplet có hợp pháp hay không.
Bước 3: Trên IMSI nhận được, bộ HLR/AuC có thể tìm i tương ứng đến thuê bao. Bằng thuật toán A3 và A8 bộ HLR/AuC tạo ra nhiều Triplet thị thực và gửi trả lại trạm gốc.
Bước 4: Sau khi nhận được các Triplet nhận thực, BS chọn một Triplet và gửi RAND đến MS thông qua đường truyến vô tuyến.
Nghiên cứu giải pháp an toàn tín hiệu thoại theo công nghệ GSM. Page 55 Bước 5: Với Ki trong SIM và bằng thuật toán A3, A8 thiết bị di động MS có thể tính ra SRES và c tương ứng với RAND mà nó vừa nhận được từ BS. Máy MS gửi SRES trở lại trạm BS và cho biết rằng thuê bao đã ghép với IMSI Bước 6: Trạm BS kiểm tra, so sánh giữa SRES vừa nhận và SRES trong
Tri let đã chọn, nếu chúng bằng nhau thì quá trình nhận thực thành công. Các bước từ 4 đến 6 được biểu diễn theo hình dưới.
Thuật toán A3 Thuật toán A8 SRES Kc RAND, SRES, Kc So sánh SRES(MS) và SRES(AuC) RAND SRES Ki T h à n h c ô n g / H ỏn g Trạm gốc Di động Hình 2.11: Các bước từ 4 đến 6.
2.4.2.1. Tạo key mã hóa Kc.
GSM sử dụng ey mã h a để bảo vệ dữ liệu người dùng và báo hiệu trên các giao tiếp vô tuyến. Mỗi hi người dùng được xác thực, RAND được phát từ mạng cùng với Ki từ SIM được gửi qua giải thuật tạo ey mã h a A8 để tạo ra key mã hóa Kc. Giải thuật A8 được lưu trên SIM. c được tạo bởi giải thuật A8 sau đ được sử dụng trong giải thuật A5 để mã hóa và giải mã dữ liệu.
Nghiên cứu giải pháp an toàn tín hiệu thoại theo công nghệ GSM. Page 56
A8
Ki (128 bit), RAND (128 bit)
Kc (64 bit)
Hình 2.12: Tạo khóa phiên Kc.
ey hiên c được tạo ra trong SIM của máy di động. Mạng có thể sử dụng cùng tập Ki, RAND và cùng giải thuật để tạo cùng ey để giải mã dữ liệu.
Phần lớn các nhà khai thác GSM sử dụng một giải thuật (gọi là COMP128) cho cả xác thực và tạo key Kc.
2.4.2.2. Mã hóa dữ liệu.
Giao tiế được mã h a được khởi động bởi lệnh yêu cầu chế độ mã hóa từ mạng GSM. Khi nhận lệnh này, máy di động bắt đầu mã hóa và giải mã dữ liệu. Mỗi khung trong dữ liệu vô tuyến được mã hóa với một chuỗi key khác nhau. Giải thuật A5 sử dụng để mã hóa dữ liệu với Kc và số hung được mã hóa, vì vậy tạo ra một chuỗi key khác nhau cho mỗi khung. Cùng c được sử dụng cho đến khi MSC xác thực MS lại, trong trường hợp này một Kc mới được tạo ra. Thực tế, cùng một Kc có thể được sử dụng vài ngày. Xác thực MS là một thủ tục tùy chọn khi bắt đầu cuộc gọi, nhưng thường hông được thực hiện. Vì vậy phổ biến là Kc sẽ không trao đổi trong các cuộc gọi. hi n được tắt, máy di động lưu trữ TMSI trên SIM để chắc rằng nó có sẵn khi mở lại.
Giải thuật A5 được cài đặt trong phần cứng của máy di động để mã hóa và giải mã dữ liệu.
Nghiên cứu giải pháp an toàn tín hiệu thoại theo công nghệ GSM. Page 57 MS BTS Thuật toán A5 Thuật toán A5 Dữ liệu Dữ liệu Yêu cầu chế độ mã hóa Kc Kc
Nghiên cứu giải pháp an toàn tín hiệu thoại theo công nghệ GSM. Page 58
CHƯƠNG 3. MỘT SỐ KIỂU TẤN CÔNG VÀ GIẢI PHÁP BẢO MẬT TRONG GSM.
3.1. MỘT SỐ SỰ KIỆN VỀ BẢO MẬT GSM.
Từ hi ra đời, chuẩn GSM liên tục được các nhà nghiên cứu bảo mật, hacker tìm cách tấn công và hàng loạt các điểm yếu của bảo mật GSM đã được công bố, dưới đây là một số ví dụ đáng lưu ý:
Vào tháng 4 năm 1998, hiệp hội Phát triển Thẻ thông minh (SDA) và hai nhà nghiên cứu tại đại học Berkeley công bố đã há được thuật toán COMP128 được lưu trữ trên SIM nhằm bảo vệ số Ki. Bằng cách gửi hàng loạt số thử đến modul xác thực trên SIM, họ có thể dò tìm được số Ki trong vài giờ. Đây là nguyên lý làm việc của các thiết bị nhân bản sim.
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 toá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 há mã A5/1 trong vòng 2 phút sau khi lắng nghe cuộc gọi. Tuy nhiên thuật toán A5/1 mà họ giải mã là loại A5/1 chuẩn lý thuyết và trên thực tế, nhà cung cấp có thể dùng các thuật toán A5/1 có sửa đổi.
Vào tháng 2 năm 2008, tại đại hội BlackHat, hai nhà nghiên cứu Hulton và Steve trình bày khả năng há 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 nghìn Dollars. Thực tế thì phải cần đến gần 100 nghìn USD mới có thể chế tạo một thiết bị nghe lén GSM có giá trị hữu dụng với khả năng giải mã cuộc gọi trong thời gian 30 giây. Tuy nhiên bài trình bày này cho thấy khả năng chế tạo các thiết bị nghe lén GSM rẻ tiền là có thực.
Một nhóm mã nguồn mở đã tung ra hần mềm có khả năng bẻ gãy thuật toán mã h a A5/1 được sử dụng bởi một số mạng GSM. Được gọi là Kraken, phần mềm này sử dụng các bảng bẻ khóa mật mã mới rất hiệu quả cho phép nó phá mã A5/1 nhanh hơn nhiều so với trước đây. Phần mềm này là bước then chốt hướng tới việc nghe lén các cuộc đàm thoại ĐTDĐ trên các mạng GSM. Kể từ khi các mạng GSM là xương sống của 3G, chúng cũng cung cấp cho những kẻ tấn công một “đại lộ” thâm nhập vào các thiết bị cầm tay thế hệ mới. Trong tháng 12/2009, nh m đã hát hành một bộ các bảng mã được thiết kế để tăng tốc quá trình phá mã A5/1, nhưng
Nghiên cứu giải pháp an toàn tín hiệu thoại theo công nghệ GSM. Page 59 các thành phần phần mềm chưa hoàn thiện. Bây giờ phần mềm đã hoàn thành, và các bảng hiệu quả hơn nhiều so với trước đây.
3.2. CÁC KIỂU TẤN CÔNG TRONG MẠNG GSM. 3.2.1. Tấn công ăn cắp nhân bản SIM. 3.2.1. Tấn công ăn cắp nhân bản SIM.
3.2.1.1. Các lỗ hổng bảo mật trên SIM.
Một trong những tấn công nguy hiểm là nhân bản thẻ SIM. Hacker có thể nhân bản thẻ SIM khi không có SIM nguyên gốc (bằng cách nghe lén) hoặc khi có SIM nguyên gốc. Thẻ SIM có chứa hai thông tin quan trọng, đ là số IMSI dùng để nhận dạng thuê bao và số i dùng để mã hóa. Hacker sử dụng một đầu đọc SIM kết nối vào máy PC và sử dụng phần mềm bẻ h a để cố gắng lấy hai số này. Khi có hai số này, hacker có thể dùng một thẻ SIM trắng để ghi hai số này vào và sẽ có một thẻ SIM nhân bản 100% giống như thẻ SIM gốc.
Hình 3.1: Thẻ SIM là một máy tính độc lập.
Vấn đề là làm thế nào hacker có thể lấy được thông tin bí mật từ SIM? Để hiểu rõ hơn, chúng ta cần biết cách thức hoạt động của thẻ SIM và các hương thức được thiết kế bảo vệ các thông tin nằm trong SIM. Thẻ SIM đơn thuần chỉ là một thẻ thông minh được lập trình cho mục đích định danh và xác thực trên môi trường di động GSM. Về mặt kiến trúc, thẻ SIM giống như là một máy tính thu nhỏ có các chức năng:
Tính toán (CPU), có khả năng tính toán các thuật toán bí mật như A3, A8, cả hai thuật toán này đều dựa trên thuật toán COMP128. Ngoài ra, thẻ SIM còn có thể được lậ trình để c các tính năng đặc thù riêng.
Lưu trữ (Memory), có khả năng lưu trữ các thông tin như số IMSI, Ki, sổ điện thoại… và các thông tin hác.
Bất cứ ai với đầu đọc SIM đều có thể lấy được số IMSI này. Đối với số Ki, thẻ SIM giấu trong bộ nhớ ROM và không cho truy xuất trực tiếp. Từ phía ngoài, hacker chỉ có thể đưa vào một số ngẫu nhiên và thẻ SIM sẽ cung cấp phản hồi lại
Nghiên cứu giải pháp an toàn tín hiệu thoại theo công nghệ GSM. Page 60 số SRES, là kết quả của thuật toán COMP128 với đầu vào là số ngẫu nhiên và số Ki. Đây chính là chìa h a của vấn đề. Bằng cách sử dụng rất nhiều lần số ngẫu nhiên và ghi nhận lại kết quả SRES, hacker có thể giải mã được số Ki. Đây là tấn công lợi dụng điểm yếu của thuật toán COMP128 được tìm ra năm 1998 bởi hai nhà nghiên cứu đại học Berkeley. Thực tế thì cần đến 150 ngàn lần hỏi thẻ SIM để có thể lấy đủ thông tin phá mã Ki. Thông thường một đầu đọc SIM có khả năng truy xuất 6, 25 lần một giây và để lấy được số Ki sẽ cần 8 tiếng, như vậy chỉ cần 8 tiếng hacker có thể nhân bản một SIM dùng hương há trên. Tuy nhiên vào năm 2002, một đội nghiên cứu bảo mật của IBM đã hát hiện một hương thức tìm số Ki chỉ trong vòng vài phút.
3.2.1.2. Giải pháp chống nhân bản SIM.
Để khắc phục điểm yếu trên, từ năm 2002, các nhà sản xuất SIM đã đưa ra hương thức mã hóa mới tên là COMP128-2. Phương thức này đã hắc phục được điểm yếu của COMP128-2 và cho đến nay, hacker vẫn chưa tìm được hương thức giải mã Ki trên thẻ SIM dùng COMP128-2. Ngoài hương thức dùng COMP128-2 để bảo mật SIM tốt hơn, nhà sản xuất thẻ SIM còn có thể sử dụng chức năng giới hạn số lần hỏi thông tin liên tục. Một số thẻ SIM có chức năng này sẽ tự khóa hoặc tự hủy nếu bị hỏi số SRES vượt quá hạn định cho phép.
Hiện nay, chúng ta đã c thuật thoán COMP128-3 (Version 3) có khả năng chống nhân bản SIM (Anti Cloning SIM). Các hacker sẽ không sử dụng được các thiết bị nhân bản SIM để giải mã Ki và số SRES.
Như vậy, nếu thẻ SIM của bạn là thẻ SIM được cấ trước năm 2002 thì hả năng lớn là thẻ SIM này có thể bị nhân bản dễ dàng, các thiết bị nhân bản SIM kiểu này hiện đang được bày bán công khai trên Internet với giá dưới 10 Dollar. Ở Việt Nam, theo như thông tin báo chí phản ánh thì thực tế đã xảy ra các cuộc tấn công SIM nhân bản để ăn cắ cước di động. Người dùng nếu nghi ngờ SIM bị nhân bản cần liên hệ với nhà cung cấp dịch vụ để đổi SIM mới.
Để biết được SIM đang dùng là SIM cũ dùng COMP128-1 hay là SIM mới dùng COMP128-2 hoặc COMP128-3? Nhìn bên ngoài thì không thể phân biệt được và chỉ có thể dùng đầu đọc SIM mới biết. Tuy nhiên các bạn có thể tự tin SIM đang dùng là SIM COMP128-2 hoặc COMP128-3 nếu như:
Nghiên cứu giải pháp an toàn tín hiệu thoại theo công nghệ GSM. Page 61 SIM có khả năng lưu trên 250 số trong sổ điện thoại.
Một trong những cách thức bảo mật cơ bản giú người dùng có thể đảm bảo thẻ SIM không bị nhân bản dễ dàng là sử dụng số PIN. Khi có SIM gốc mà không có số PIN thì hacker không thể nhân bản được SIM này.
Tuy việc nhân bản SIM dùng COMP128-1 há đơn giản, thẻ SIM nhân bản có một số hạn chế sau:
Hình 3.2: Thiết bị nhân bản SIM “giá rẻ”.
Máy điện thoại di động dùng SIM gốc và SIM nhân bản có thể cùng gửi tin nhắn SMS, nhưng chỉ một trong hai có thể thi hành cuộc gọi thoại. Mặc dù vậy, rõ ràng là nếu ai đ c SIM nhân bản, họ có thể thi hành các cuộc gọi và cước sẽ được tính vào h a đơn của chủ thuê bao di động đ .
Chỉ một trong hai máy có thể nhận cuộc gọi.
Không phải tất cả các máy điện thoại di động đều chấp nhận SIM nhân bản. Một số model như No ia 9210 và đa số các máy mới có chức năng 3G đều không chấp nhận SIM nhân bản.
3.2.1.3. Cách dò tìm Ki.
Dò tìm Ki trên lý thuyết:
Thuật toán COMP128 là sự gộp chung giữa hai thuật toán A3 và A8, thuật toán này cho phép tạo ra hai mã là: Mã Kc 64-bit và mã SRES 32-bit từ một số ngẫu nhiên RAND 128 bit và số 128-bit Ki.
Nghiên cứu giải pháp an toàn tín hiệu thoại theo công nghệ GSM. Page 62 Ở đây ta thấy:
Ki là số chưa biết thông tin. RAND là số ngẫu nhiên.
Kc là thông tin Output khỏi SIM, có thể xác định được giá trị.
SRES tương tự, là thông tin Output khỏi SIM, có thể xác định được giá trị. Như vậy hoàn toàn có thể đặt ra vấn đề là có thể tồn tại một hàm xác định Ki dựa trên ba thông số RAND, Kc và SRES, Ki=f(RAND, Kc, SRES).
Như vậy ta có thể coi Ki~ f(RAND).
Nếu lựa chọn theo thứ tự (chứ không phải là ngẫu nhiên) một lọat các số RAND 128 bit, liệu có thể suy luận được ra chính xác giá trị của i được không?
Câu trả lời là được nếu tồn tại một cách tìm Ki từ Ki~ f (RAND) sau một lọat các phép thử dạng vét cạn (Brute-Force attack). Số lượng phép thử vét cạn với thời gian tương ứng như trong bảng sau:
Bảng 2: Thống kê thuật toán vét cạn với các giá trị tương ứng Độ dài khóa
bits
Số lần phải thực hiện tương ứng:
Thời gian để kiểm tra tòan bộ các lần thực hiện tương ứng 32 232 1. 19 hours 40 240 12, 7 days 56 256 2 291 years 64 264 584 542 years 128 2128 10, 8 * 1024 years
(Theo: GSM Security and Encryption, David Musgrave).
Như vậy, nếu theo lý thuyết thì thời gian để dò tìm được Ki sẽ mất là 10.8*1024 years, một con số cực kỳ lớn và không khả thi.
Dò Ki trong thực tế:
Trong thực tế để dò tìm i người ta hông dùng cách như vậy mà dựa trên một số lỗ hổng của thuật toán Comp128. Lỗ hổng này cho phép dò tìm Ki với giá trị nhỏ hơn 2128 và như vậy sẽ cho phép thực hiện Ki trong khỏang thời gian có thể chấp nhận được.
Tháng 4 năm1998, hai nhà nghiên cứu Wagner/Goldberg đã lần đầu tiên công bố hương há dò tìm i dựa trên lỗ hổng của Com 128 trên điểm yếu của
Nghiên cứu giải pháp an toàn tín hiệu thoại theo công nghệ GSM. Page 63 cơ chế nén trong lần nén thứ hai, hương há này được gọi phổ thông là Narrow Pipe.
Hai ông đã hát hiện thấy rằng, có thể chia nhỏ nhóm giá trị đầu vào RAND trong quá trình dò tìm Ki, Có thể mô tả kỹ hơn là c thể chia nhỏ quá trình dò tìm Ki 128 bit, 16 byte thành bốn Phase. Mỗi Phase chỉ dò tìm 32 bit hay 8 byte của giá trị Ki. Và như vậy thời gian hòan tất cho việc dò Ki sẽ theo kiểu 2R này sẽ giảm số RAND xuống khoảng 217 lần.
Trên cơ sở phát hiện về lỗ hổng này các nhà nghiên cứu đã liên tục công bố và thiết kế các chương trình hai thác lỗ hổng. Một người có tên là Dejan Kaljevic đã viết một công cụ khá nổi tiếng là Sim Scan sử dụng các cơ chế vét cạn 2R, 3R, 4R and 5R để c được các giá trị byte cần thiết của Ki, trong vòng giá trị trung bình là 18, 000.
Thực tế với công cụ Sim scan, người ta thống ê được, nó có khả năng tìm