Hai thành phần chính của miền PS là nút hỗ trợ GPRS phục vụ ( SGSN ) và nút hỗ trợ cổng GPRS ( GGSN ).
Hình 1.17. Cấu trúc miền chuyển mạch gói PS
SGSN chứa các chức năng đăng ký vị trí như vậy dữ liệu được lưu giữ để sử dụng cho quá trình khởi tạo và kết thúc quá trình truyền dữ liệu gói. Những dữ liệu này là các thông tin đăng ký bao gồm IMSI, các số định dạng tạm thời, thông tin vị trí, địa chỉ giao thức dữ liệu gói…
GGSN cho phép các gói dữ liệu truy nhập thông qua đánh địa chỉ PDP. Trong miền PS có một khái niệm được sử dụng rất phổ biến đó là “PDP context”. “PDP context” là các tham số trong quá trình quản lý phiên trao đổi dữ liệu gói nó chứa thông tin mô tả kết nối thông qua các địa chỉ và thông số chất lượng dịch vụ. Để gửi dữ liệu, SGSN phải biết GGSN nào mà “PDP context” của người dùng tồn tại. Một GGSN lưu một số thông tin về thuê bao. Thông tin đó có thể là số IMSI, địa chỉ PDP, thông tin vị trí và thông tin về SGSN mà thuê bao đã đăng ký.
CHƯƠNG II : BẢO MẬT TRONG MẠNG GSM 2.1. Mô hình bảo mật trong mạng GMS
Tổng quan về bảo mật trong hệ thống GSM được nói chi tiết trong “GSM Recommendations”, “Security Aspects”, “Subscriber Identity Modules”, “Security Related Network Functions”, “Security Related Algorithms”.
Trong hệ thống mạng GSM các thành phần mang cơ sở dữ liệu cho việc bảo mật mạng bao gồm
• HRL chứa cơ sở dữ liệu thông tin quản lý của các thuê bao đăng ký trong mạng GSM cùng vói vị trí hiện thời của MS
• EIR chứa danh sách số IMEI của MS được phép truy nhập mạng.
• AuC chứa các thông tin như số nhận dạng thuê bao di động quốc tế, số nhận dạng thuê bao tạm thời, số hiệu vùng định vị, khóa chứng thực Ki
Thuê bao được chứng thực duy nhất bởi International Mobile Subcriber Identity ( IMSI ).
Cấu trúc bảo mật mạng GSM
Hình 2.1. Cấu trúc bảo mật mạng GSM Trong đó
• A3 là thuật toán sử dụng cho việc chứng thực thuê bao.
• A8 là thuật toán dùng cho để tạo ra khóa mật mã Kc.
• A5 là các thuật toán dùng để mã hóa và giải mã hóa.
• SRES là chuỗi bit đuợc tạo ra sau thuật toán A3.
Trong mạng cố định các tín hiệu đựoc truyền trên cáp để tránh khỏi các tín hiệu không mong muốn. Trên các tài khoản của hệ thống truyền tin di động phải được thực hiện bởi các kỹ thuật đặc biệt là chứng thực và mã hóa.
Quá trình mã hóa cơ bản được mô tả ở hình sau
Hình 2.2. Quá trình mã hóa cơ bản
Bản tin được mã hóa ( gọi là plaintext ) truyền qua một trung tâm chuyển đổi và được mã hóa bằng một thuật toán mã hóa.Tín hiệu ở đầu ra của quá trình mã hóa ( gọi là ciphering ) được truyền trên kênh thông tin. Ciphering là kết quả của quá trình chuyển đổi Plaintext thông qua chức năng mã hóa được mô tả bằng một khóa bình thường nó không đổi trong suốt quá trình truyền tin gọi là khóa phiên Kc. Khóa này là một chuỗi ngắn các ký tự, có thể thay đổi như yêu cầu.
Chứng thực được sử dụng để nhận dạng ngừơi sử dụng cho việc điều hành mạng. Nó sử dụng một kỹ thuật có thể mô tả như là kỹ thuật yêu cầu và đáp ứng
Hình 2.3. Quá trình nhận thực
Một số ngẫu nhiên được phát ra từ mạng và gửi đến MS. MS sử dụng chuỗi ngẫu nhiên này như là một Plaintext đầu vào cho việc mã hóa và sử dụng một khóa mật mã duy nhất chuyển đổi số này, đưa ra ngoài và gửi trả lại mạng. Mạng có thể kiểm tra MS thực sự có khóa mật mã đúng bằng cách thực hiện quá trình tương tự và so sánh với chuỗi nhận đựoc. Trong quá tình xử lý này, một chuỗi bít được biến đổi bằng toán học và các chức năng logic bên trong một chuỗi bit khác.
2.2. Mục đích của việc bảo mật
Sử dụng giao tiếp vô tuyến cho các thuê bao di động làm cho mạng di động mặt đất GSM PLMN nhạy với việc sử dụng sai tài nguyên bởi các thuê bao chưa xác thực sử dụng các máy di động bị thao túng, để cố đóng giả các thuê bao và nghe trộm thông tin được trao đổi trên đường vô tuyến. Một số đặc trưng trong GSM PLMN được cài đặt để bảo vệ:
• Truy cập tới các dịch vụ di động.
• Bất cứ thông tin nào được phơi bày tại đường dẫn vô tuyến, để bảo vệ thông tin cá nhân.
2.3. Một số đặc trưng bảo mật trong GSM
Một vài chức năng bảo mật đã được xây dựng trong GSM để bảo vệ các thông tin cá nhân của thuê bao. Các chức năng đó là :
• Xác thực các thuê bao đã đăng ký
• Đảm bảo việc truyền dữ liệu bằng mã hóa
• Bảo vệ nhận dạng thuê bao
• Các điện thoại không thể hoạt động được khi không có SIM
• Không cho phép nhân đôi SIM ở trên mạng
• Đảm bảo lưu trữ bằng khóa mật mã Ki
2.3.1. Chứng thực thuê bao
Chứng thực rất cần thiết trong hệ thống thông tin tế bào để tránh những thuê bao không được chứng thực có thể truy nhập vào mạng và đánh cắp các tài khoản của các thuê bao khác. Chính vì vậy, một vài giải pháp cần phải đựơc thực hiện trong mạng GSM.
Như đã giới thiệu ở trên, một máy di động MS có 2 bộ phận : modul nhận dạng thuê bao SIM và thiết bị di động ME. Trong ME có bộ phận thu phát radio và báo hiệu. Nhiều người sử dụng GSM đã rất quen thuộc với modul chứng thực thuê bao hay còn gọi là SIM, là một thẻ thông minh nhỏ được gắn bên trong điện thoại GSM. Vì vậy, SIM chứa các thông tin cần thiết để có thể truy nhập được tài khoản riêng. Có 2 loại thông tin cơ bản cần thiết cho việc chứng thực được lưu trữ trên SIM là :
• IMSI là số nhận dạng thuê bao di động quốc tế, nó là duy nhất cho các thuê bao trên thế giới. IMSI bao gồm các thông tin về mạng nhà của thuê bao và quốc gia phát hành. Thông tin này có thể đọc được với điều kiện là có thể truy nhập đựoc vào SIM
( thường nó được bảo vệ bởi một mã PIN ). IMSI là một chuỗi số gồm 15 số trong đó 5 hoặc 6 số đầu là mã mạng và quốc gia.
• Khóa mã hóa Ki là một chuỗi số ngẫu nhiên gồm 128 bit. Ki có độ bảo mật cao, được lưu ở trong SIM và trung tâm nhận thực AuC. Việc chứng thực và tạo ra khóa mật mã được thực hiện ở trong SIM vì SIM là một thiết bị thông minh có bộ vi xử lý nhỏ.
SIM được ví như cái khóa gắn với người sử dụng, với vai trò là thuê bao của mạng. Tấm SIM card có thể làm việc với các thiết bị ME khác nhau, tiện cho người dùng có thể thay đổi các ME theo ý thích như kiểu máy, màu sắc…SIM cũng có phần cứng và phần mềm.
Quá trình nhận thực SIM trong mạng GSM như hình sau, được thực hiện qua 3 bộ phận như sau :
Hình 2.4. Quá trình chứng thực trong SIM
• Máy di động MS
• Trung tâm chuyển mạch MSC và bộ đăng ký định vị tạm trú VLR. Hai bộ phận này có thể đặt ở các vị trí khác nhau nhưng ở đây ta coi chúng chung cùng một vị trí để đơn giản hóa.
• Bộ đăng ký định vị thường trú HLR và trung tâm nhận thực AuC. AuC có nhiệm vụ cung cấp cho HLR các tham số nhận thực và các khóa mật mã.
Bất kể MS hiện ở đâu, HLR đều lưu giữ mọi thông tin thuê bao liên quan đến việc cung cấp các dịch vụ viễn thông và vị trí hiện tại của MS. HLR là một máy tính có khả năng quản lý hàng trăm ngàn thuê bao.
2.3.1.1. Cơ chế chứng thực trong hệ thống GSM
Các thuật toán A3, A8 được thực hiện trong SIM và trong AuC. Hai thuật toán này được dùng để xác nhận thuê bao và để tạo khóa mật mã Kc. Các Triplet ( bộ ba ) nhận thực ( RAND, SRES, Kc ) trong đó RAND được phát đi từ AuC là một chuỗi bit ngẫu nhiên dài 128 bit, SRES dùng để xác nhận biết dạng của thuê bao. Với RAND và Ki ở đầu vào bằng thuật toán A3 ta được SRES ở đầu ra và bằng thuật toán A8 ta được Kc ở đầu ra. Ta dùng khóa mật mã Kc để bảo mật tin báo.
Đối với các thuê bao GSM, tất cả các thông tin cá nhân, các khóa nhận thực, các thuật ngữ nhận thực đều được lưu ở trong SIM của thuê bao
2.3.1.2 Quá trình chứng thực như sau
• Khi 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 ký IMSI vào mạng để khởi tạo quá trình nhận thực.
• 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.
• Trên IMSI nhận được, bộ HLR/AuC có thể tìm Ki 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.
• 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.
• 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à Kc 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
• Trạm BS kiểm tra, so sánh giữa SRES vừa nhận và SRES trong Triplet đã chọn, nếu chúng bằng nhau thì quá trình nhận thực thành công
Hình 2.5. Các bước từ 4 đến 6
Nếu quá trình nhận thực thành công thì MS có thể truy nhập vào hệ thống mạng GSM.
2.3.2. Mã hóa
2.3.2.1. Tạo key mã hóa Kc
GSM sử dụng key 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 khi 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 key mã hóa A8 để tạo ra key mã hóa Kc. Giải thuật A8 được lưu trên SIM. Kc đượ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.
Hình 2.6. Tạo khóa phiên Kc
Key phiên Kc đượ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 key để 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.3.2.2. Mã hóa dữ liệu
Giao tiếp đượ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ố khung được mã hóa, vì vậy tạo ra một chuỗi key khác nhau cho mỗi khung. Cùng Kc đượ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 khô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. Khi 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.
Hình 2.7. Mã hóa dữ liệu thoại.
2.2.3. Một số đặc trưng bảo mật khác
2.2.3.1. Bảo vệ nhận dạng thuê bao
IMSI (Số nhận dạng thuê bao di động quốc tế) được lưu trong SIM. Để đảm bảo nhận dạng thuê bao một cách tin cậy, TMSI (số nhận dạng thuê bao tạm thời) được sử dụng. TMSI được gởi đến máy di động sau khi thủ tục xác thực và mã hóa xảy ra. Máy di động trả lời bằng cách báo đã nhận TMSI. TMSI có giá trị trong khu vực định vị mà nó được phát ra. Để giao tiếp bên ngoài khu vực này, LAI cần được bổ sung tới TMSI.
2.3.3.2. Card thông minh
Card thông minh giống như một máy tính nhỏ mà có bộ nhớ, CPU và hệ điều hành. Bằng cách lập trình trong rom, nó có thể lưu dữ liệu nhạy cảm với mức bảo mật cao. Vì vậy nó đưa ra cách tốt để lưu trữ Ki và IMSI và các dữ liệu nhạy cảm khác.
2.4. Thuật toán nhận thực 2.4.1. Giới thiệu 2.4.1. Giới thiệu
A3 là giải thuật chứng thực trong mô hình bảo mật GSM.Giải thuật lấy RAND từ MSC và khóa bảo mật Ki từ trong SIM như là các dữ liệu đầu vào và tạo ra 32 bit ngõ ra gọi là các đáp ứng ngõ ra. Cả RAND và Ki đều có chiều dài là 128 bit. Giả thuật A3 có thể xem như là giải thuật Hash một chiều. Nói chung, hàm Hash là hàm xuất ra chuỗi bit có chiều dài cố định từ các ngõ vào ngẫu nhiên. Hàm Hash một chiều được thiết kế để mã hóa dữ liệu sao cho không cách nào có thể phát hiện ra được các giá trị đầu vào đã tạo ra giá trị Hash và không có hai giá trị đầu vào lại tạo ra cùng một giá trị Hash.
Giải thuật A8 là giải thuật tạo ra key phiên giao dịch trong mô hình bảo mật GSM. Giải thuật lấy 2 tham số nhập 128 bit và tạo ra chuỗi 64 bit từ chúng. Chuỗi này gọi là key Kc.
Hầu hết, các nhà vận hành mạng GSM đều sử dụng giải thuật COMP 128 cho cả hai thuật toán A3 và A8. COMP 128 lấy RAND và Ki làm ngõ vào để tạo ra 128 bit ngõ ra, thay vì 32 bit SRES và 64 bit Kc. Chuỗi 32 bit đầu tiên trong kết quả 128 bit đầu ra đóng vai trò là đáp ứng SRES. Chuỗi 54 bit cuối của chuỗi COMP 128 tạo thành key phiên giao dịch Kc cho đến khi MS được xác thực lại. Chiều dài của key Kc là 54 bit chứ không phải 64 bit chiều dài của key nhập vào giải thuật A5. Để tạo ra key với 64 bit thì 10 bit 0 được chèn vào cuối của chuỗi 54 bit được tạo ra bởi thuật toán COMP 128. Cả giải thuật A3 và A8 được lưu trong SIM để ngăn chặn mọi người làm giả chúng.
2.4.2. Thủ tục nhận thực
• Khi MS muốn truy nhập mạng, MS sẽ gửi số nhận dạng IMSI kèm Ki tới MSC/VLR. Sau đó, MSC/VLR sẽ gửi IMSI tới HLR và AuC và yêu cầu bộ ba chứng thực
Hình 2.8. MS gửi bản tin IMSI
• Khi HLR nhận được IMSI và yêu cầu chứng thực. Đầu tiên nó kiểm tra cơ sở dữ liệu xem IMSI có hợp lệ hay không. Nếu hợp lệ HLR sẽ gửi IMSI và yêu cầu chứng thực tới trung tâm nhận thực AuC
Hình 2.9. HLR gửi IMSI tới AuC
• AuC sẽ tìm kiếm Ki kết hợp với IMSI. Ki là khóa chứng thực thuê bao cá nhân. Nó là một số gồm 128 bit, tạo thành 1 cặp với IMSI khi SIM card được tạo ra. Ki được lưu trữ ở trên SIM card và trung tâm nhận thực AuC. AuC sẽ tạo ra một số ngẫu nhiên gồm 128 bit gọi là RAND
Hinh 2.10. AuC tạo RAND và Ki
• RAND và Ki là tín hiệu đầu vào của thuật toán A3 và đầu ra là một chuỗi 32 bit gọi là tín hiệu trả lời SRES
Hình 2.11. Tạo ra SRES trong AuC
• RAND và Ki là đầu vào của thuật toán A8 để đầu ra là một chuỗi gồm 64 bit gọi là khóa mã hóa Kc. Kc được sử dụng cho thuật toán A5 để mã hóa dữ liệu truyền
trên giao diện Um. RAND, SRES và Kc được gọi là bộ ba ( Triplets ). AuC có thể tạo ra nhiều bộ ba để gửi đến MSC