Đồ án Công nghệ 3G và vấn đề bảo mật

KẾT LUẬN Hiện nay, thuật ngữ 3G đã không còn xa lạ với những tổ chức liên quan đến lĩnh vực viễn thông và cả những người sử dụng dịch vụ viễn thông trên toàn thế giới. Với những ưu điểm vượt trội về công nghệ và những dịch vụ tiện ích phong phú, phù hợp với nhu cầu người dùng, công nghệ 3G đã được đón nhận một cách nhanh chóng. Sau một thời gian nghiên cứu, tìm hiểu em đã hoàn thành xong Đồ án “Công nghệ 3G và vấn đề an ninh bao mật”. Nội dung được đề cập trong Đồ án là: Chương 1. Tổng quát về các hệ thống thông tin di động nói về vấn đề lịch sử phát triển của hệ thông thông tin di động, các đặc điểm cơ bản của hệ thông thông tin di động, các đặc điểm truyền sóng, hệ thông thông tin di động thế hệ thư ba Chương 2. Hệ thông thông tin di động thế hệ thứ ba nói về xu thế chung của công nghệ di động là phải đáp ứng nhu cầu ngày càng cao về chất lượng, dung lượng, tính tiện lợi, giá cả, tính đa dạng về dịch vụ của người sử dụng. Vì vậy sau khi tồn tại một thời gian thì các công nghệ 2G đã bộc lộ các điểm yếu là không thể đáp ứng được yêu cầu trên mà phải đợi đến công nghệ 3G. Chương 3. Vấn đề bảo mật trong 3G. Phần 1 trình bày về năm yêu tố để thiết lập một môi trương an ninh, các đe dọa an ninh, các công nghệ an ninh.Phần 2 trinh bày về mô hình kiến trúc an ninh 3G UMTS, các hàm mật mã, các thông số nhận thực,nhận thực và thỏa thuận khóa AKA, thủ tục đồng bộ lại AKA

pdf91 trang | Chia sẻ: linhlinh11 | Lượt xem: 941 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đồ án Công nghệ 3G và vấn đề bảo mật, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ai đến phía thu. Phía thu có thể giải mật mã chúng bằng khóa riêng của mình. Thông thƣờng chứng nhận số bao gồm: Tên ngƣời sử dụng, thông tin nhận dạng duy nhất ngƣời này; Khóa công khai của ngƣời sở hữu; Thời gian chứng nhận có hiệu lực; Chữ ký số từ CA để dễ dàng phát hiện nếu truyền dẫn bị làm giả. Ngƣời sử dụng sở hữu chứng nhận số cũng có thể tự ký chứng nhận số để trởthành CA. Khi đó CA này là đáng tin cậy nếu đƣợc ký nhận bởi một khóa đáng tin cậy khác. Khuôn dạng hàng đầu cho các chứng nhận số là X.509 (tiêu chuẩn để nhận thực). Các chứng nhận này thƣờng xuất hiện trong các ứng dụng Internet. Trong giao diện vô tuyến, một dạng khác của giao diện vô tuyến đƣợc sử dụng là chứng nhận an ninh lớp truyền tải (WLTS). 3.1.3.7. Hạ tầng khóa công khai PKI PKI là một thuật ngữ dùng để mô tả một tổ chức hoàn thiện của các hệ thống, quy tắc để xác định một hệ thống an ninh. Nhóm đặc trách kỹ thuật Internet (IEFT) X.509 định nghĩa PKI nhƣ sau: “PKI là một tập bao gồm phần cứng, phần mềm, con ngƣời và các thủ tục cần thiết để tạo lập, quản lý, lƣu trữ và hủy các chứng nhận số dựa trên mật mã khóa công khai”. PKI gồm: + Thẩm quyền chứng nhận (CA): Có nhiệm vụ phát hành và hủy các 57 chứng chỉ số + Thẩm quyền đăng ký: Có nhiệm vụ ràng buộc khóa công khai với các nhận dạng của các sở hữu khóa + Các sở hữu khóa: Là những ngƣời sử dụng đƣợc cấp chứng nhận số và sử dụng các chứng chỉ số này để kí các tài liệu số + Kho lƣu các chứng nhận số và danh sách hủy chứng nhận + Chính sách an ninh: Quy định hƣớng dẫn mức cao nhất của tổ chức về an ninh. PKI là một khái niệm an ninh quan trọng, các khóa công khai đƣợc sử dụng để kiểm tra các chữ ký số (chứng chỉ số) trong kết nối mạng số liệu. Bản thân nó không mang bất cứ thông tin gì về thực thể cung cấp các chữ ký. Công nghệ nối mạng số liệu thừa nhận vấn đề này và tiếp nhận các chứng nhận an ninh, để ràng buộc khóa công khai và nhận dạng thực thể phát hành khóa. Thực thể phát hành khóa lại đƣợc kiểm tra bằng cách sử dụng một khóa công khai đƣợc tin tƣởng đã biết, bằng cách sử dụng một chứng nhận đƣợc phát đi từ CA ở phân cấp cao hơn. Các chứng nhận đƣợc phát hành và thi hành bởi một thẩm quyền chứng nhận (CA). CA này đƣợc phép cung cấp các dịch vụ cho các thực thể đƣợc nhận dạng hợp lệ, khi chúng yêu cầu. Để thực hiện đƣợc các chức năng đó các CA phải đƣợc tin tƣởng bởi các thực thể (các thành viên của PKI) dựa trên các dịch vụ mà nó cung cấp. Tất cả các chứng nhận đƣợc ký bởi một khóa riêng của CA, ngƣời sử dụng chứng nhận có thể xem, kiểm tra thông tin của chứng nhận đó có hợp lệ hay không? Bằng cách giải mật mã chữ ký bằng một khóa kiểm tra công khai, có thể kiểm tra, xem nó có phù hợp với MD của nội dung nhận đƣợc trong chứng nhận hay không? Chữ ký thƣờng là một MD đƣợc mật mã hóa. Các thành viên PKI có thể thỏa thận thời gian hiệu lực tiêu chuẩn cho một chứng nhận. Vì thế, có thể xác định khi nào một chứng nhận bị hết hạn. Mặt khác thẩm quyền chứng nhận (CA) có thể công bố một danh sách hủy chứng nhận (CRL) để các thành viên PKI biết chứng nhận không còn hợp lệ với CA nữa. Các quan hệ tin tƣởng giữa CA và các thành viên PKI khác phải đƣợc thiết lập trƣớc khi diễn ra giao dịch PKI. Các quan hệ này thƣờng nằm ngoài 58 phạm vi PKI và vì thế cũng nằm ngoài phạm vi công nghệ nối mạng. Các quan hệ tin tƣởng PKI có thể đƣợc thiết lập trên cơ sở địa lý, chính trị, xã hội, dân tộc và có thể mở rộng cho các nền công nghiệp, các nƣớc, các nhóm dân cƣ hay các thực thể khác đƣợc ràng buộc bởi các mối quan tâm chung. Về mặt lý thuyết thì các mô hình tin tƣởng PKI có thể dựa trên một CA duy nhất, đƣợc sử dụng để tạo lập PKI trên toàn cầu giống nhƣ Internet hay một phân cấp phân bố các CA. Quá trình trao đổi bí mật (khóa chia sẻ phiên hay thông tin để tạo ra khóa này) giữa hai phía A và B đƣợc minh họa ở hình sau: Hình 3.3. Nhận thực bằng chữ ký điện tử Ngƣời ký A nhận đƣợc khóa công khai từ chứng nhận B. Vì chứng nhận B đƣợc ký bởi khóa riêng của thẩm quyền chứng nhận bên B, nên nó có thể đƣợc kiểm tra tại thẩm quyền chứng nhận bên B bằng khóa công khai mà B nhận đƣợc từ thẩm quyền chứng nhận của mình. Đồng thời chứng nhận CA của B lại đƣợc kiểm tra bằng khóa công khai nhận đƣợc từ CA gốc và khóa này đƣợc đảm bảo là hợp lệ. Vì nó đã đƣợc chuyển thành mã của PKI Client trong modem phần mềm của A. Sau khi đã có đƣợc khóa công khai của B, A mật mã hóa bí mật bằng cách sử dụng khóa này. Và sau đó bản tin đƣợc mật mã này đƣợc gửi đến B cùng với chứng nhận CA của A và tóm tắt bản tin 59 MD của bí mật đƣợc mật mã hóa, đƣợc tính toán theo khóa riêng của A. Khi nhận đƣợc bản tin này, B kiểm tra nhƣ sau: trƣớc hết B giải mật mã hóa bản tin bằng khóa riêng của mình, tính toàn MD từ kết quả nhận đƣợc, sử dụng khóa công khai của A để giải mật mã MD nhận đƣợc từ A, rồi sau đó so sánh MD’ với MD. Nếu bằng thì nhận thực thành công và bí mật nhận đƣợc sau khi giải mật mã là bí mật cần truyền. Chứng nhận có thể đƣợc gửi đi ở các khuôn dạng khác nhau, tiêu chuẩn an ninh đƣợc tiếp nhận rộng rãi là X.509 do ITU định nghĩa. Các thực thể công cộng và riêng dựa trên các dịch vụ tin tƣởng do một CA chung cung cấp và tiếp nhận do CA cung cấp. Do vậy, các thành viên của PKI chỉ cần thiết lập quan hệ tin tƣởng an ninh với một thành viên của PKI với CA chứ không phải với các thành viên khác. Vì thế có thể định nghĩa PKI ngắn gọn nhƣ sau: “PKI nhƣ một thực thể ảo kết hợp nhiều thực thể vật lý bởi một tập các chính sách và các quy tắc ràng buộc các khóa chung với các nhận dạng của các thực thể phát hành khóa, thông qua việc sử dụng một thẩm quyền chứng nhận CA”. PKI gồm ba chức năng chính: + Chứng nhận: Chứng nhận hay ràng buộc một khóa với một nhận dạng bằng một chữ ký đƣợc thực hiện bởi một thẩm quyền chứng nhận CA. Quá trình chứng nhận bao gồm việc tạo ra một cặp khóa gồm khóa công khai và khóa riêng, do ngƣời sử dụng tạo ra và tính toán cho CA trong một phần của yêu cầu hay do CA thay mặt ngƣời sử dụng tạo ra. + Công nhận hợp lệ: Công nhận có hợp lệ hay chuyên môn hơn là kiểm tra nhận thực chứng nhận đƣợc thực hiện bởi một thực thể PKI bất kỳ. Quá trình công nhận hợp lệ bao gồm việc kiểm tra chữ ký do CA phát hành, đối chiếu với danh sách hủy chứng nhận (CRL) và khóa công khai của CA. + Hủy: Hủy một chứng nhận hiện có, trƣớc khi nó hết hạn cũng đƣợc thực hiện bởi CA. Sau khi chứng nhận bị hủy, CA cập nhật thông tin mới cho CRL. Trong một kịch bản điển hình, khi ngƣời sử dụng cần nhận hay công nhận một chứng nhận đƣợc trình bày hợp lệ, nó sẽ gửi yêu cầu này đến CA. Sau khi chứng nhận đƣợc yêu cầu đƣợc phát đi hay tính hợp lệ của nó đƣợc kiểm tra, thông tin tƣơng ứng đƣợc CA gửi vào một kho chứng nhận, trong đó có cả CRL. 60 3.1.3.8. Nhận thực bằng bản tin nhận thực Nhận thực bằng bản tin nhận thực là một phƣơng pháp đảm bảo toàn vẹn số liệu và nhận thực nguồn gốc số liệu. Một sơ đồ phổ biến của phƣơng pháp này là sử dụng mã nhận thực bản tin MAC Hình 3.4. Phương pháp nhận thực sử dụng MAC Ngƣời gửi tin nhắn chạy nó thông qua một thuật toán MAC để sản xuất một thể dữ liệu MAC. Thông điệp và các từ khóa MAC sau đó đƣợc gửi đến ngƣời nhận. Thu lần lƣợt chạy phần tin nhắn của truyền thông qua các thuật toán cùng MAC bằng cách sử dụng cùng một chìa khóa, sản xuất một MAC thứ hai dữ liệu thẻ. Ngƣời nhận sau đó so sánh các từ khóa MAC đầu tiên nhận đƣợc trong truyền tải đến các từ khóa thứ hai MAC tạo ra. Nếu giống nhau, ngƣời nhận có thể thừa nhận rằng sự toàn vẹn của thông điệp không bị tổn hại, và thông điệp không bị thay đổi hoặc giả mạo trong quá trình truyền. Một phƣơng pháp phổ biến nhất để tạo ra MAC là sử dụng MD5. MD5 nhận bản tin có độ dài bất kỳ và tạo ra ở đầu ra 128 bit MD. Phía phát sẽ gửi bản tin gốc cùng với MD đến phía thu, phía thu tính MD từ bản tin gốc nhận đƣợc và so sánh với MD thu đƣợc để nhận định bản tin còn nguyên vẹn hay không? Giải thuật SHA-1 cũng có thể đƣợc sử dụng để tính toán MD giống nhƣ MD5. Tuy nhiên MD ở đầu ra của nó chỉ là 120bit. 61 Bằng cách sử dụng hàm làm rối (hàm Hash) một máy tính có thể nhận thực một ngƣời sử dụng mà không cần lƣu trữ mật khẩu trong văn bản thô. Sau khi tạo ra một tài khoản (account) ngƣời sử dụng gõ mật khẩu, máy tính sử dụng hàm Hash một chiều với đầu vào là mật khẩu, để tạo ra giá trị làm rối (giá trị Hash) và lƣu giữ giá trị này. Lần sau khi ngƣời sử dụng đăng nhập vào máy tính, máy tính sẽ sử dụng hàm Hash với đầu vào là mật khẩu mà ngƣời sử dụng gõ vào để tính ra giá trị Hash và so sánh giá trị này với giá trị đƣợc lƣu. Nếu kết quả giống nhau thì ngƣời sử dụng đó đƣợc quyền đăng nhập. Do mật khẩu không đƣợc lƣu trong văn bản thô nên rất khó bị lộ. Cả MD5 và SHA-1 đều là các hàm Hash không khóa, nghĩa là không có khóa bí mật giữa các bên tham gia thông tin. Các giải thuật này không sử dụng khóa bí mật làm đầu vào hàm Hash. Giải thuật mã nhận thực bản tin rối HMAC sử dụng hàm Hash với một khóa chia sẻ bí mật để nhận thực bản tin. Mục đích chính của HMAC bao gồm: Sử dụng các hàm Hash hiện có mà không cần thay đổi chúng, ví dụ có thể sử dụng các chƣơng trình phần mềm của các hàm Hash đang đƣợc sử dụng rộng rãi và miễn phí; Duy trì hoạt động nguyên gốc của hàm Hash mà không làm giảm đáng kể chất lƣợng 3.1.4. Mô hình an ninh tổng quát của một hệ thống thông tin di động Hình 3.5. Kiến trúc an ninh tổng quát của một hệ thống thông tin di động User application provider application TE USI M HN MT AN SN Application Stratum Home Stratum Tranport Stratum 1 1 1 2 3 4 62 TE: Thiết bị đầu cuối UMTS: User Identity Module Dịch vụ SN: Phục vụ mạng HN: Nhà mạng MT: Điện thoại di động kết cuối AN: Truy cập mạng Nhìn vào hinh ve ta thấy đƣợc UMTS bao gồm năm nhóm tính năng bảo mật: Nhóm 1: cho ngƣời dùng truy cập an toàn tới các dịch vụ UMTS và bảo vệ lại các cuộc tấn công vào liên kết truy nhập vô tuyến. Nhóm 2: bảo vệ chống lại các cuộc tấn công mạng có dây và cho phép các nút trong lĩnh vực cung cấp dịch vụ để trao đổi dữ liệu báo hiệu an toàn. Nhóm 3:cung cấp an toàn cho trạm di động. nhóm 4: cho phép trao đổi an toàn thông tin giữa các ứng dụng cho ngƣời sử dụng và trong lĩnh vực cung cấp dịch vụ. Nhóm 5: Bảo mật cho phép ngƣời dùng để quan sát xem là tính năng bảo mật đang hoạt động và nếu một số dịch vụ phụ thuộc vào tính năng bảo mật. An ninh trong GSM 3.1.5. Nhận thực thuê bao GSM Môi trƣờng an ninh trên giao diện vô tuyến GSM đƣợc đảm bảo bởi hai quá trình: nhận thực và mật mã. Ở GSM chỉ có mạng nhận thực MS. AuC đƣợc sử dụng để nhận thực SIM card của thuê bao, AuC tạo ra bộ ba thông số {RAND||SRES||Kc}. Trong đó, RAND (128bit); Kc (128bit); SRES (32bit). Tiếp theo, RAND đƣợc gửi xuống SIM, SRES đƣợc gửi xuống VLR đang quản lý thuê bao thông qua HLR. Các thông số này đƣợc lƣu tại VLR và đƣợc sử dụng cho từng cuộc gọi. Sau khi nhận đƣợc hô lệnh mạng ngẫu nhiên (RAND), SIM sử dụng nó cùng với khóa nhận thực thuê bao Ki đƣợc lƣu tại đây làm đầu vào cho giải thuật A3 để tạo ra giá trị trả lời đƣợc ký (SRES). Sau đó SIM gửi giá trị này trở lại mạng (VLR) để mạng kiểm tra bằng cách so sánh nó với SRES 63 tƣơng ứng đƣợc tạo ra ở AuC, nếu chúng trùng nhau thì nhận thực thành công và MS đó hợp lệ. 3.1.6. Mật mã hóa ở GSM Mục đích của mật mã hóa là đảm bảo tính riêng tƣ cho thông tin ngƣời sử dụng trên đƣờng truyền vô tuyến. Sau khi nhận thực ngƣời sử dụng thành công, tại SIM giải thuật A8 sử dụng khóa nhận thực Ki cùng với hô lệnh ngẫu nhiên (RAND) để tạo ra khóa mật mã Kc (64bit). Tiếp theo giải thuật A5 đƣợc sử dụng với đầu vào là văn bản thô, số khung Count (24bit) và khóa mật mã Kc, để cho ra vản bản đã đƣợc mật mã, và gửi chúng lên giao diện vô tuyến để truyền đi. Tại phía mạng phục vụ khóa Kc tƣơng ứng đƣợc tạo ra ở AuC bằng giải thuật A8 và đƣợc gửi đến BTS thông qua VLR, tại đây bằng cách sử dụng giải thuật A5 với đầu vào là Kc, số khung count (24bit) để chống phát lại và văn bản đã đƣợc mã hóa nhận đƣợc từ MS gửi đến. Cho ra văn bản thô ở đầu ra. Có thể nói hai quá trình này là quá trình mật mã và giải mật mã hóa số liệu. Luồng mật mã tại đầu này phải đƣợc đồng bộ với luồng giải mật mã ở đầu kia để luồng bit mật mã hóa và luồng bit giải mật mã trùng khớp với nhau. 3.1.7. Các hạn chế trong an ninh GSM An ninh GSM dựa trên nhận thực và bảo mật đã thể hiện ƣu điểm vƣợt trội so với hệ thống thông tin di động tƣơng tự (1G). Tuy nhiên, nó cũng tồn tại không ít các hạn chế: +Cả hai giải thuật A3 và A8 đều đƣợc sử dụng để nhận thực ngƣời sử dụng và tạo ra các khóa phiên đều đƣợc thực hiện bởi các nhà cung cấp dịch vụ bằng giải thuật COMP128. COMP128 đã đƣợc tính toán đảo tại Berkeley vào năm 1998 và các phân tích về mật mã học của các nhà nghiên cứu Berkeley chỉ ra rằng, giải thuật này có thể bị phá vỡ sau 219 lần hỏi từ một BTS giả mạo đến SIM card trong vòng 8 giờ. Phân tích kỹ hơn về ứng dụng COMP128 của GSM cũng phát hiện rằng bản thân giải thuật này cũng bị thực hiện yếu. Giải thuật đòi hỏi khóa 64bit, nhƣng 10bit trong số đó luôn đƣợc đặt bằng 0, vì thế giảm đáng kể tính an ninh của ứng dụng A8. Nếu khóa Kc bị tổn hại, kẻ xâm phạm có thể đóng giả VLR hợp pháp mà không cần định kỳ nhận thực. Ngoài ra việc lƣu giữ bộ tam {RAND, SRES và Kc} trong VLR để 64 đợi sử dụng sẽ tăng thêm khả năng bị lộ nhất là đối với xâm phạm từ bên trong. + Dƣới sự điều khiển của giao thức nhận thực GSM, BTS nhận thực MS yêu cầu phiên thông tin. Tuy nhiên không có nhận thực ngƣợc lại từ MS đến mạng, nên MS không đƣợc đảm bảo rằng nó không bị thông tin với một BTS giả mạo. Điều này lại trở nên tồi tệ hơn khi chính hô lệnh ngẫu nhiên (RAND) đƣợc dùng để nhận thực lại là hạt giống để tạo ra mã phiên khi sử dụng làm đầu vào cho giải thuật A8. Ngoài ra giao thức bản tin hô lệnh-trả lời lại không chứa nhãn thời gian. Vì thế nếu một BTS giả mạo thành công nó có thể tìm đƣợc một khóa phiên để giải mã mọi bản tin sử dụng cùng khóa trong thời gian khá dài. + Nhận thực GSM nói riêng và an ninh GSM nói chung bảo vệ đƣờng truyền vô tuyến giữa MS và BTS phục vụ nó. Cơ chế an ninh này không bảo vệ truyền dẫn thông tin giữa AuC và mạng phục vụ. Việc thiếu an ninh trong mạng hữu tuyến là khả năng chính để lộ ở GSM, nhất là hiện trạng truyền dẫn giữa các BTS và mạng hữu tuyến thƣờng là các đƣờng viba số dẫn đến thông tin dễ bị chặn. + Trong số hai phƣơng án của giải thuật mật mã hóa số liệu (A5/1 và A5/2), giải thuật yếu hơn là A5/2 và có thể đƣợc xuất khẩu trên toàn thế giới không hạn chế. Theo Bruce Schneier, A5/2 đƣợc phát triển với sự hỗ trợ của NSA và có thể bị phá vỡ trong thời gian thực với hệ số phá vỡ là khoảng 216. A5/1 mạnh hơn và có khả năng chịu đựng tấn công với hệ số phá vỡ là 220. Nghĩa là nếu kẻ tấn công sử dụng phần cứng đặc biệt có thể gây tổn hại gần nhƣ ở thời gian thực 3.2. Giải pháp an ninh trong 3G UMTS 3.2.1. Mô hình kiến trúc an ninh 3G UMTS Nhận thực Nhận thực để xác nhận nhận dạng câu một thực thể. Một nút muốn nhận thực đến một ngƣời (A) thì phải trình diện số nhận dạng của mình. Quá trình này đƣợc thực hiện bằng cách chỉ ra đƣợc mọt bí mật mà chỉ có hai nút mạng mới biết hoặc một nút trung gian đƣợc cả hai nút tin tƣởng giao cho để xác nhận các nhận dạng của chúng. Nhận thực trong 3G UMTS đƣợc chia thành 2 phần: 65 + Mạng nhận thực ngƣời + Ngƣời nhận thực mạng Thử tục mạng nhận thực ngƣời và ngƣời nhận thực mạng , trong quá trình trao đổi bản tin xẩy ra cùng một lúc. Thủ tục này gọi là “nhận thực một lần gửi” để giảm các bản tin cần truyền.Sau các thủ tục này, ngƣời sử dụng sẽ tin tƣởng mạng đƣợc cung cấp đến.Đồng thời, mạng cũng tin tƣởng nhận dạng của ngƣời sử dụng là hợp lệ. Bảo mật Bảo mật để bảm bảo an ninh thông tin không bị rò rỉ ra bên ngoài.Khi mà số lƣợng thuê bao không ngừng tăng cho cả các cuộc gọi cá nhận lẫn doanh nghiệp(ví dụ trực tuyến nhƣ trao đổi ngân hàng ) thì nhu cầu bảo mật thông tin ngày càng trở nên bức thiết. Bảo mật trong 3G UMTS đạt đƣợc bằng cách mật mã hóa các cuộc truyền hông giữa thuê bao và mạng, bằng cách sử dụng nhận thực tạm thời TMSI thay cho sử dụng nhận dạng toàn cầu IMSI. Mật mã hóa đƣợc thực hiện giữa USIM và RNC, bảo mật ngƣời sử dụng đƣợc thực hiện giữa USIM và VLR/SGSN. Các thuộc tính cần bảo mật: Nhận dạng thuê bao Vị trí hiện thời của thuê bao Số liệu ngƣời sử dụng Số liệu báo hiệu Nếu mạng phục vụ không hỗ trợ bảo mật số liệu ngƣời sử dụng thì thuê bao cần đƣợc thông báo về khả năng này bị từ chối Toàn vẹn Đôi khi bản tin mà chúng ta có thể nhận đƣợc từ từ một phía nhận thực tin cậy,nhƣng co thể bị giả mạo.Bởi vậy để tránh vấn đề này cần có bảo vệ toàn vẹn, với mục đích không chỉ bảo mật bản tin mà cần bảo đảm đây là bản tin chính thống. Tạo ra các con dấu bổ sung cho các bản tin là phƣơng pháp tối ƣu nhất để bảo vệ toàn vẹn trong 3G UMTS.Từ một khóa chủ biết trƣớc (K), các con dấu có thể đƣợc tạo ra tại các nút biết đƣợc các khóa.Bảo vệ toàn vẹn đặc biệt cần thiết, vì mạng phục vụ thƣờng đƣợc khai thác bởi 66 một nhà khai thác khác với nhà khai thác của thuê bao. Thuộc tính cần đƣợc bảo vệ toàn vẹn là các bản tin báo hiệu. Cần lƣu ý rằng tại lớp vật lý, các bit đƣợc kiểm tra tính toàn vẹn bằng cách kiểm tra tổng CRC (kiểm tra vòng dƣ). Xong các biện pháp này chỉ đƣợc thực hiện để đạt đƣợc các cuộc truyền thông số liệu không mắc lỗi trên giao diện vô tuyến, chứ không giống nhƣ toàn vẹn mức truyền tải. 3.2.2. Các hàm mật mã 3.2.2.1. Yêu cầu đối với các giải thuật và các hàm mật mã Các giải thuật và các hàm 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 đƣợc sử dụng í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. Các 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 nhà khai thác có thể thiết lập thiết bị và giải thuật theo luật và giấy 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 mạng hay một nƣớc khác. 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 chủ (K) hay trƣờng cầu hình của nhà khai thác 3.2.2.2. Các hàm mật mã Các tính năng an ninh của 3G 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ó mƣời hàm mật mã để thực hiện tính năng này : f0, f1, f2, f3, f4, f5, f1*, f5*, f8 và f9. Trong đó, f0 để tạo ra hô lệnh ngẫu nhiên (RAND), bẩy hàm tiếp theo là các hàm tạo khóa. Chúng đều là đặc thù nhà khai thác, vì 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, f5, f1* và f5*. 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 128bit đƣợ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. Tiêu chuẩn mật mã hóa tiên tiến (AES) đƣợc khuyến nghị sử dụng cho hàm 67 lõi của các hàm f1, f2, f3, f4 và f5. Hàm f1* và f5* đƣợc sử dụng để tạo khóa phục vụ quá trình đồng bộ lại. Các hàm f8 và f9 sử dụng hàm lõi là bộ mật mã khối KASUMI. Các hàm f8 và f9 đƣợc sử dụng trong USIM và RNC, vì hai miền này có thể thuộc hai 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 chủ (K). Lý do là để tránh phân bổ khóa này trên mạng và để giữ nó an toàn trong USIM và AuC Bảng 4. Các hàm mật mã. Hàm Đầu vào Đầu ra Chức năng f0 RAND Tạo hô lệnh ngẫu nhiên cho mạng f1 K, SQN, AMF, RAND, MAC-A/XMAC-A Nhận thực mạng f2 K, RAND XRES VÀ RES Nhận thực ngƣời dử dụng f 3 K, RAND CK Tạo khóa mật mã f 4 K, RAND IK Tạo khóa toàn vẹn f 5 K, RAND AK Tạo khóa dấu tên f 1* K, RAND, MAC-S Nhận thực bản tin đồng bộ lại f 5* K,RAND AK Tạo khóa dấu tên cho bản tin đồng bộ lại f 8 CK, COUNT-C, BEARER, DICRECTION, LENGTH KS Tạo luồng khóa để mật mã hóa và giải mật mã hóa số liệu f 9 Bản tin báo hiệu phát/ thu, DICRECTION, IK, COUNT-I, FREESH MAC-I VÀ XMAC-I Tạo mã nhận thực toàn vẹn bản tin Hàm f8 Số liệu ngƣời sử dụng và một số phần tử thông tin báo hiệu đƣợc coi là nhậy cảm và phải đƣợc bảo mật. Để bảo mật nhận dạng, số nhận dạng thuê bao di động tạm thời gói (P-TMSI) phải đƣợc truyền trong chế độ bảo mật tại thời điểm cấp phát và tại các thời điểm khác, khi các thủ tục báo hiệu cho 68 phép nó. Hàm mật mã đảm bảo chế độ truyền dẫn có bảo vệ trên các kênh truy nhập vô tuyến giữa UE và RNC. Chúng ta dùng hàm mật mã f8 để tiến hành mật mã hóa và giải mật mã hóa số liệu (hình 3.6 ) Hình 3.6. Quá trình mật mã hóa và giải mật mã hóa bằng hàm f8 Các thông số đầu vào của hàm f8 bao gồm: Số trình tự mật mã hóa (COUNT-C) (32bit), số này tăng mỗi khi gửi đi hoặc thu về một bản tin đƣợc bảo mật. Có hai bộ đếm cho đƣờng lên và đƣờng xuống. Khóa mật mã (CK) (128bit) đƣợc tạo ra ở AuC và đƣợc gửi đến VLR/SGSN trong các vec-tơ nhận thực (AV). Sau khi quá trình nhận thực thành công, khóa này đƣợc gửi đến RNC. USIM tạo ra các khóa này trong thời gian nhận thực, khi thực hiện chuyển giao khóa mật mã (CK) đƣợc truyền từ RNC hiện thời đến RNC mới để đảm bảo tiếp tục truyền thông. CK không thay đổi khi chuyển giao. Sẽ có hai khóa CK, một CKcs đƣợc thiết lập giữa miền dịch vụ chuyển mạch kênh với ngƣời sử dụng và CKps đƣợc thiết lập giữa miền dịch vụ chuyển mạch gói với ngƣời sử dụng. Nhận dạng kênh mang (BEARER) (5bit) đƣợc sử dụng để phân biệt các kênh mang vô tuyến logic khác nhau liên kết với cùng một ngƣời sử dụng trên cùng một kênh vật lý. Điều này đƣợc thực hiện để tránh xảy ra cùng một thông số đầu vào dẫn đến cùng một luồng khóa cho các kênh mang vô tuyến khác nhau. 69 Nhận dạng hƣớng (DIRECTION) (1bit) đƣợc sử dụng để phân biệt các bản tin phát với các bản tin thu nhằm tránh sử dụng cùng một thông số đầu vào cho hàm. Nhận dạng hƣớng có kích cỡ 1bit, với “0” cho các bản tin ở đƣờng lên (xuất phát từ USIM) và “1” cho các bản tin ở đƣờng xuống (xuất phát từ RNC). Thông số này cùng với COUNT-C đảm bảo rằng các thông số đầu vào thay đổi trong một kết nối. Thông số chiều dài (LENGTH) (16bit) đƣợc sử dụng để đặt độ dài cho luồng khóa (KS). Bản thân thông số này không làm thay đổi các bit trong KS, nhƣng nó ảnh hƣởng tới số bit trong luồng này. Thông số ở đầu ra của hàm là luồng khóa KS, luồng khóa này đƣợc thực hiện XOR với văn bản thô rồi phát lên giao diện vô tuyến. Luồng khóa KS của bộ mật mã hóa là duy nhất đối với từng khối. Với các thông số đầu vào khác nhau ta sẽ thu đƣợc ở đầu ra các KS khác nhau. Vì thế cả phía phát lẫn phía thu phải đồng bộ bằng cùng một bộ đếm tại mọi thời điểm để tạo ra cùng một COUNT-C, bằng không không thể giải mật mã hóa đƣợc. Đồng thời, cả USIM và RNC phải sử dụng đồng thời cùng một giải thuật mật mã. USIM thông báo cho RNC về các giải thuật mật mã mà nó hỗ trợ, RNC sau đó chọn giải thuật mật mã sẽ sử dụng theo ƣu tiên của nhà khai thác và quy định địa phƣơng. Quá trình này đƣợc gọi là nhận dạng giải thuật mật mã (UEA). Khi cần bảo vệ toàn vẹn, bảo mật chỉ là tùy chọn, tuy nhiên ngƣời sử dụng phải đƣợc thông báo về việc có cho phép mật mã hóa hay không. Hàm f9 Hầu hết các thông tin báo hiệu điều khiển đƣợc gửi giữa UE và mạng đều đƣợc coi là nhậy cảm và cần đƣợc bảo vệ toàn vẹn. Hàm toàn vẹn (f9) đƣợc sử dụng để bảo vệ toàn vẹn các bản tin đó. Trái lại số liệu của ngƣời sử dụng không đƣợc bảo vệ toàn vẹn và nó chỉ đƣợc bổ sung ở các giao thức bậc cao hơn nếu cần. Bảo vệ toàn vẹn là bắt buộc trong 3G UMTS cho các bản tin báo hiệu, hàm f9 đƣợc sử dụng giống nhƣ AUTN và AUTS. Nó bổ sung “các dấu ấn” vào các bản tin để đảm bảo rằng các bản tin này đƣợc tạo ra tại nhận dạng hợp lệ. Nó cũng đảm bảo rằng bản tin không phải là giả mạo. Quá trình kiểm tra toàn vẹn bản tin bằng hàm toàn vẹn f9 đƣợc mô tả trong hình 3.7. 70 Hình 3.7. Lưu đồ thuật toán hàm f9 Các thông số đầu vào của hàm f9 bao gồm: Số trình tự toàn vẹn (COUNT-I) (32bit), số này tăng mỗi khi gửi đi hoặc thu về một bản tin đƣợc bảo vệ toàn vẹn. Có hai bộ đếm cho đƣờng lên và đƣờng xuống. Khóa toàn vẹn (IK) (128bit) đƣợc tạo ra ở cả AuC lẫn USIM. VLR/SGSN nhận IK trong AV từ AuC gửi đến, sau quá trình nhận thực thành công nó đƣợc gửi đến RNC. Khi xảy ra chuyển giao, khóa toàn vẹn IK đƣợc chuyển từ RNC hiện thời đến RNC mới, khóa này không đổi khi chuyển giao. Số nhận dạng hƣớng (DIRECTION) (1bit) đƣợc sử dụng để phân biệt bản tin phát và bản tin thu. Điều này cần thiết để tránh việc hàm sử dụng cùng một thông số cho các bản tin phát đi và thu về. Số nhận dạng hƣớng là 1bit, với “0” cho bản tin ở đƣờng lên (xuất phát từ USIM) và “1” cho bản tin ở đƣờng xuống (xuất phát từ RNC). Thông số làm tƣơi (FRESH) đƣợc sử dụng để chống các tấn công phát lại. Một giá trị FRESH đƣợc ấn định cho từng ngƣời sử dụng, RNC tạo ra thông số này khi thiết lập kết nối. Sau đó, nó gửi thông số này đến ngƣời sử dụng bằng “lệnh chế độ an ninh”. Thời hạn hiệu lực của thông số này là một kết nối và giá trị FRESH mới sẽ đƣợc tạo ra tại kết nối sau. Ngoài ra, khi chuyển giao, FRESH sẽ đƣợc đặt lại vào giá trị mới. Một thông số quan trọng nhất cho hàm là “bản tin báo hiệu”. Nhờ hàm 71 này mà bản tin báo hiệu đƣợc bảo vệ toàn vẹn. Nếu trong quá trình truyền thông mà bản tin này bị thay đổi thì sẽ không có các giá trị ở đầu ra (MAC-I và XMAC-I) trùng nhau, vì thế nơi nhận sẽ từ chối bản tin này. Thông số ở đầu ra của hàm f9 là mã nhận thực bản tin toàn vẹn số liệu (MAC-I) và XMAC-I (giá trị kỳ vọng) đƣợc sử dụng sau khi kết thúc các thủ tục AKA, MAC-I đƣợc tạo ra ở phía phát (USIM hoặc RNC) và đƣợc so sánh với XMAC-I tại phía thu (RNC hoặc USIM). Phía phát tạo ra MAC-I với bản tin đầu vào và phía thu sử dụng chính bản tin đi kèm cho hàm của chính nó để tạo ra XMAC-I. Nếu chúng trùng nhau chứng tỏ rằng bản tin không bị thay đổi và gốc của nó đƣợc nhận thực. Nếu không trùng nhau thì bản tin sẽ bị từ chối. Cũng tƣơng tự nhƣ ở hàm f8 cả phía phát lẫn phía thu phải đồng bộ bằng cùng một bộ đếm tại mọi thời điểm để tạo ra cùng một COUNT-I. Đồng thời, do giải thuật toàn vẹn UMTS xảy ra ở cả USIM và RNC, nên chúng có thể ở các miền của các nhà khai thác khác nhau. Vì thế, các nút có thể hỗ trợ các giải thuật khác nhau. Để nhận dạng các giải thuật khác nhau đƣợc sử dụng, mỗi giải thuật toàn vẹn UMTS (UIA) có một nhận dạng riêng 4bit. USIM sẽ cung cấp cho RNC thông tin về các UIA mà nó hỗ trợ, sau đó RNC quyết định sẽ sử dụng UIA nào. 3.2.2.3. Sử dụng các hàm mật mã để tạo AV trong AuC Vec-tơ nhận thực (AV) bao gồm các thông số: hô lệnh ngẫu nhiên (RAND); trả lời kỳ vọng từ ngƣời sử dụng (XRES); khóa mật mã (CK); khóa toàn vẹn (IK); và thẻ nhận thực mạng (AUTN). Hình 3.8. mô tả quá trình sử dụng các hàm mật mã để tạo ra các AV trong AuC Nhƣ trên ta đã biết chức năng của các hàm mật mã. Hàm f0 tạo ra hô lệnh ngẫu nhiên (RAND). Hàm f1 với các thông số đầu vào là: RAND; trƣờng quản lý nhận thực (AMF); số trình tự SQN và khóa chủ (K) đƣợc lƣu sẵn trong AuC sẽ cho ra ở đầu ra mã nhận thực bản tin dành cho nhận thực (MAC-A), các hàm tiếp theo từ f2 đến f5 với cùng các thông số đầu vào là RAND và K sẽ cho ra ở đầu ra các thông số lần lƣợt nhƣ sau: XRES; CK; IK; AK. AK đƣợc tạo ra sau đó đƣợc XOR với SQN để tạo ra SQN AK. Đến đây ta đã đƣợc đầy đủ các thông số của AV. 72 Hình 3.8. Quy trình tạo các AC trong AuC 3.2.2.4. Sử dụng các hàm mật mã để tạo các thông số an ninh trong USIM Để tạo ra các khóa đầu ra trong USIM, nó chỉ có một trong số bốn thống số mà AuC có, đó là khóa chủ (K).Các thông số còn lại phải nhận từ AuC. Hình 3.9. mô tả quá trình tạo các thông số an ninh trong USIM. Hình3.9. Quy trình tạo các thông số trong USIM Khi USIM nhận đƣợc cặp (RAND||AUTN), nó bắt đầu tạo ra khóa dấu tên (AK) bằng hàm f5 dựa trên số ngẫu nhiên RAND thu đƣợc. Bằng cách XOR AK với SQN AK có đƣợc từ thẻ nhận thực AUTN ta thu đƣợc SQNHE của AuC. Sau đó, hàm f1 đƣợc sử dụng với các đầu vào là K, RAND, AMF, SQN cho ra ở đầu ra mã nhận thực bản tin kỳ vọng (XMAC-A). Nó tiến hành 73 so sánh số này với MAC-A có trong AUTN. Nếu hai số này trùng nhau, USIM nhận thực rằng bản tin (cặp RAND||AUTN) nhận đƣợc từ chính HE đang quản lý nó. Quá trình đƣợc tiếp tục bằng các hàm tạo khóa khác. Nếu hai số này không trùng nhau thì bản tin “từ chối nhận thực của ngƣời sử dụng kèm theo nguyên nhân” đƣợc gửi trở lại VLR/SGSN. Nếu nhận thực thành công, USIM tiến hành kiểm tra SQNHE có nằm trong dải của SQNMS. Nếu số trình tự này nằm trong dải quy định, USIM sẽ tiến hành tạo ra các thông số tiếp theo bằng cách sử dụng các hàm f2 (tạo ra RES), f3 (tạo ra CK), f4 (tạo ra IK), f5 (tạo ra AK). 3.2.2.5. Sử dụng các hàm để đồng bộ lại tại USIM Khi USIM nhận thấy chuỗi trình tự SQNHE nhận đƣợc nằm ngoài dải của SQNMS, các chức năng tạo khóa bình thƣờng bị hủy và USIM bắt đầu tạo ra thẻ đồng bộ lại AUTS. Quá trình đƣợc miêu tả cụ thể trong hình 3.10. Hình 3.10. Tạo các AuTS trong USIM Bằng hàm f1* với các thông số đầu vào là hô lệnh ngẫu nhiên (RAND), khóa chủ (K) và trƣờng quản lý nhận thực (AMF, đặt bằng 0). Ta đƣợc ở đầu ra của hàm mã nhận thực bản tin đồng bộ lại (MAC-S). Tiếp theo hàm f5* đƣợc sử dụng với hai thông số đầu vào là K và RAND ta đƣợc thông số đầu ra là AK. AK đƣợc XOR với SQNMS để tạo thành SQNMS AK. Sau đó, SQNMS AK và MAC-S đƣợc ghép vào thẻ đồng bộ lại AUTS. Cuối cùng bản tin “sự cố đồng bộ” cùng với thông số AUTS đƣợc gửi tới VLR/SGSN. Các hàm f1* và f5* chỉ đƣợc sử dụng cho thủ tục đồng bộ lại. Các hàm này 74 đƣợc xây dựng sao cho các giá trị của chúng không làm lộ các hàm khác. 3.2.2.6 Sử dụng các hàm để đồng bộ lại tại AuC Hình 3.11. Thủ tục đồng bộ tại AuCc AuC nhận thực cặp RAND||AUTS từ VLR/SGSN và thực hiện thử tục đồng bộ lại. Quá trình đƣợc miêu tả trong hình 3.11. Hàm f1* sử dụng các thông số đầu vào là K, AMF và RAND để tạo ra mã nhận thực đồng bộ lại kỳ vọng (XMAC-S). Sau đó, XMAC-S đƣợc so sánh với MAC-S, nếu trùng nhau thì thủ tục đƣợc tiếp tục diễn ra. Hàm f5* sử dụng các thông số đầu vào là K và RAND để tạo ra khóa dấu tên (AK) và giá trị này đƣợc XOR với SQNMS AK ta thu đƣợc SQNMS của USIM. AuC tiến hành so sánh hai số trình tự (SQNMS với SQNHE). Nếu nó nhận thấy AV đƣợc tạo ra tiếp theo sẽ đƣợc USIM tiếp nhận, nó sẽ gửi các AV này trở lại VLR/SGSN. Nếu không có AV nào nằm trong dải đƣợc USIM tiếp nhận, AuC phải đặt SQNHE=SQNMS. VLR/SGSN sẽ tạo ra XMAC-S và so sánh nó với MAC-S nhận đƣợc từ AUTS (thẻ nhận thực đồng bộ lại). Quá trình này đƣợc thực hiện để nhận thực thuê bao, nếu thành công số trình tự của AuC (SQNHE) sẽ đƣợc đặt lại bằng giá trị SQNMS. Sau đó, AuC tạo ra một tập các AV mới. Nhƣ đã nói ở trên, việc tạo ra nhiều AV trong thời gian thực có thể làm AuC quá tải. Vì thế có thể AuC chỉ gửi đến VLR/SGSN một AV trong lần gửi đầu tiên. SQNMS AK K AMF f5* f1* SQNMS XMAC-S AK RAND 75 3.2.2.7 Thứ tự tạo khóa Thứ tự tạo khóa có thể không đƣợc thực hiện nhƣ đã mô tả ở trên. Thứ tự đƣợc mô tả ở trên là logic, nhƣng thực hiện có thể khác, nếu việc thực hiện này hiệu quả hơn. Điều quan trọng là các khóa phải sẵn sàng theo thứ tự trình bày ở trên. 3.2.3 Các thông số nhận thực Các thông số đƣợc sử dụng trong thủ tục AKA bao gồm: 3.2.3.1 Các thông số của vec-tơ nhận thực (AV) Các AV đƣợc tạo ra ở AuC và đƣợc tập trung gửi đến mạng phục vụ (SN), nơi chúng sẽ đƣợc sử dụng cho nhận thực. Khi nhận thực đƣợc thực hiện, các khóa mật mã và nhận thực của AV đƣợc lƣu tại RNC. Các thông số của AV bao gồm: RAND, XRES, AUTN, CK, IK. 3.2.3.2 Thẻ nhận thực mạng (AUTN) Thẻ nhận thực mạng đƣợc tạo ra tại AuC và đƣợc gửi cùng với RAND từ VLR/SGSN đến USIM. AUTN bao gồm: SQNHE AK||AMF||MAC-A. 3.2.3.3 Trả lời của người sử dụng và giá trị kỳ vọng (RES&XRES) RES đƣợc mạng sử dụng để nhận thực thuê bao. Trƣớc hết XRES đƣợc tạo ra ở AuC và đƣợc gửi đến VLR/SGSN trong AV. Sau đó, USIM tạo ra RES (bằng hàm f2) và gửi nó đến VLR/SGSN, tại đây chúng đƣợc so sánh với nhau. Nếu chúng trùng nhau thì ngƣời sử dụng đƣợc nhận thực. 3.2.3.4 Mã nhận thực bản tin dành cho nhận thực và giá trị kỳ vọng (MAC- A&XMAC-A) Hai thông số này đƣợc sử dụng trong AKA để USIM nhận thực mạng. USIM nhận đƣợc MAC-A trong AV và so sánh với XMAC-A do nó tạo ra bằng hàm f1. Nếu hai mã này trùng nhau thì mạng đƣợc USIM nhận thực. 3.2.3.5 Thẻ đồng bộ lại (AUTS) AUTS đƣợc tạo ra ở USIM (bằng hàm f1*&f5*) khi SQNHN không nằm trong dải của SQNMS. Sau đó nó gửi AUTS (có kèm theo SQNMS) đến AuC để tiến hành thủ tục đồng bộ lại. 3.2.3.6 Mã nhận thực bản tin dành cho đồng bộ lại và giá trị kỳ vọng (MAC-S&XMAC-S) Hai thông số này đƣợc sử dụng để nhận thực USIM trƣớc khi đặt lại số 76 trình tự của AuC. Khi USIM nhận ra sự cố đồng bộ, nó tạo ra MAC-S và gửi nó trong AUTS đến AuC. AuC tự tạo ra giá trị kỳ vọng XMAC-S và so sánh hai thông số này với nhau. Hai thông số này đƣợc tạo ra bằng hàm f1*. Nếu chúng trùng nhau, bản tin sự cố đồng bộ đƣợc nhận thực và SQNHE đƣợc đặt vào vị trí của SQNMS. 3.2.3.7 Kích cỡ của các thông số nhận thực Dƣới đây là bảng thống kê các thông số nhận thực với các kích cỡ kèm theo. Bảng 5. Bảng kích cỡ các thông số nhận thực 3.2.4. Mô hình an ninh cho giao diện vô tuyến 3G UMTS Nhận thực ở 3G UMTS đƣợc thực hiện ở cả hai chiều: mạng nhận thực ngƣời sử dụng và ngƣợc lại. Để làm đƣợc điều đó, mạng phải gửi đến UE một bản tin yêu cầu nhận thực có chứa mã nhận thực MAC-A. Sau đó, USIM sẽ tính toán con dấu kiểm tra nhận thực XMAC-A và so sánh hai mã này nếu trùng nhau thì quá trình nhận thực thành công. Mật mã bản tin đƣợc thực hiện ở cả hai chiều bằng luồng khóa (KS). Tại RNC, KS đƣợc tạo ra từ khóa mật mã (CK) trong AV do AuC gửi xuống. Còn trong USIM, KS đƣợc tạo ra từ CK Thông số Định nghĩa Số bit K Khóa chủ (Master Key) 128 RAND Hô lệnh ngẫu nhiên 128 SQN Số trình tự 48 AK Khóa nặc danh 48 AMF Trƣờng quản lý nhận thực 16 MAC Mã nhận thực bản tin 64 CK Khóa mật mã 128 IK Khóa toàn vẹn 128 RES Trả lời của ngƣời sử dụng 32-128 X-RES Trả lời kỳ vọng của ngƣời sử dụng 32-128 AUTN Thẻ nhận thực mạng 128 AUTS Thẻ đồng bộ lại 96-128 MAC-I Mã nhận thực bản tin cho toàn vẹn số liệu 32 77 mà CK lại đƣợc tính toán từ RAND và AUTN (do mạng gửi đến). Bảo vệ toàn vẹn cũng đƣợc thực hiện ở cả hai chiều bằng nhận thực bản tin toàn vẹn, đƣợc truyền giữa RNC và UE. Để đƣợc nhận thực bản tin phát (từ UE hoặc RNC) phải đƣợc đóng dấu bằng mã nhận thực bản tin dành cho toàn vẹn (MAC-I). Phía thu (RNC hoặc UE) tính toán ra XMAC-I để kiểm tra. Các thành phần quan trọng nhất liên quan đến an ninh là khóa chủ biết trƣớc (K) và một số thông số khác đƣợc lƣu trong USIM và AuC, chúng không bao giờ đƣợc truyền ra ngoài khỏi hai vị trí này. Cũng cần đảm bảo rằng các thông số nói trên đồng bộ với nhau ở cả hai phía. Mô hình an ninh tổng quát cho giao diện vô tuyến ở 3G UMTS đƣợc minh họa ở hình 3.12. Hình 3.12. Mô hình an ninh cho giao diện vô tuyến 3G UMTS 3.2.4.1 Mạng nhận thực người sử dụng Để đảm bảo nhận thực mạng UMTS ta cần xét đến ba thực thể: VLR/SGSN; USIM; HE. VLR/SGSN kiểm tra nhận dạng thuê bao giống nhƣ ở GSM, còn USIM đảm bảo rằng VLR/SGSN đƣợc HE quản lý nó cho phép thực hiện điều này. Nhận thực đƣợc thực hiện ngay sau khi mạng phục vụ (SN) nhận dạng thuê bao. Quá trình này đƣợc thực hiện khi VLR (trong miền CS) hoặc SGSN (trong miền PS) gửi yêu cầu nhận thực đến AuC. Tiếp đến VLR/SGSN gửi 78 bản tin yêu cầu nhận thực ngƣời sử dụng đến UE. Trong bản tin này có chứa RAND và AUTN. Khóa chủ (K) trong USIM sẽ đƣợc sử dụng kết hợp với hai thông số (RAND&AUTN) để tính toán ra thông số trả lời của ngƣời sử dụng (RES) bằng cách sử dụng hàm mật mã f2. RES có độ dài (32-128bit), sau khi đƣợc tạo ra ở USIM nó đƣợc gửi ngƣợc trở lại VLR/SGSN. Tại đây nó đƣợc so sánh với giá trị kỳ vọng XRES do AuC tạo ra và gửi đến. Nếu hai thông số này trùng nhau, thì nhận thực thành công. Quá trình đƣợc mô tả ở hình 3.13. Hình 3.13. Nhận thực người sử dụng tại VLR/SGSN 3.2.4.2. USIM nhận thực mạng Nhƣ trên đã nêu, để đƣợc nhận thực bởi USIM, mạng phải gửi đến USIM mã nhận thực bản tin dành cho nhận thực (MAC-A). Mã này có trong thẻ nhận thực mạng AUTN cùng với RAND mà mạng gửi đến. Sau đó USIM sẽ sử dụng hàm f1 với đầu vào là khóa chủ K cùng với AUTN và RAND để tính ra XMAC-A (giá trị kỳ vọng). Tiếp đến nó tiến hành so sánh XMAC-A và MAC-A, nếu chúng giống nhau thì nhận thực thành công. Quá trình đƣợc minh họa ở hình 3.14. Nhận đƣợc thành công =? đúng XRES f2 VLR/SGSN f2 K RAND,AUTN RAND AUTN K RES RAND AUTN USIM 79 Hình 3.14. Nhận thực tại mạng USIM 3.2.4.3. Mật mã hóa UTRAN Sau khi nhận thực cả ngƣời sử dụng lẫn mạng (nhận thực qua lại) thành công, quá trình thông tin an ninh bắt đầu. Để cóthể thực hiện mật mã, cả hai phía phải thỏa thuận với nhau về giải thuật mật mã sẽ đƣợc sử dụng. Quá trình mật mã đƣợc thựchiện tại UE và RNC. Để thực hiện mật mã cả USIM lẫn RNC phải tạo ra các luồngkhóa (KS). Quá trình này đƣợc minh họa trong hình 3.15. Hình 3.15. Bộ mật mã luồng khóa trong UMTS Theo đó ta thấy các thông số đầu vào của hàm f8 là: khóa mật mã (CK); số trình tự mật mã hóa (COUNT-C); nhận dạng kênh mang vô tuyến (BEARER); phƣơng truyền (DIRECTION) và độ dài thực tế của luồng khóa (LENGTH). RNC nhận đƣợc CK trong vec-tơ nhận thực (AV) đƣợc gửi tới từ AuC. Còn tại USIM, CK đƣợc tính toán bằng hàm f3 với đầu vào là K và RAND nhận đƣợc từ mạng. Sau khi có đƣợc CK ở cả hai phía, RNC chuyển Nhận đƣợc thành công =? đúng MAC-A f1 VLR/SGSN f1 K RAND,AUTN RAND AUTN K XMAC-A RAND AUTN USIM 80 vào chế độ mật mã bằng cách gửi đi lệnh an ninh RRC (kết nối tài nguyên vô tuyến) đến UE. Trong quá trình mật mã UMTS, số liệu văn bản gốc đƣợc cộng từng bit với số liệu mặt nạ giả ngẫu nhiên của KS (hình 3.14). Ƣu điểm lớn nhất của phƣơng pháp này là có thể tạo ra số liệu mặt nạ trƣớc khi nhận đƣợc văn bản thô. Vì thế quá trình mật mã hóa đƣợc tiến hành nhanh hơn. Quá trình giải mật mã đƣợc tiến hành theo cách tƣơng tự nhƣ mật mã hóa, xong theo chiều ngƣợc lại. 3.2.4.4. Bảo vệ toàn vẹn báo hiệu RRC Mục đích của bảo vệ toàn vẹn là để nhận thực các bản tin điều khiển. Quá trình này đƣợc thực hiện trên lớp kết nối tài nguyên vô tuyến (RRC) giữa UE và RNC. Để nhận thực toàn vẹn bản tin, phía phát (USIM hoặc RNC) phải tạo ra mã nhận thực bản tin dành cho toàn vẹn (MAC-I), gắn vào bản tin đã đƣợc mật mã và gửi tới phía thu (RNC hoặc USIM). Tại phía thu mã XMAC-I đƣợc tính toán và so sánh với MAC-I nhận đƣợc. Nếu hai mã này trùng nhau thì bản tin đƣợc coi là toàn vẹn. Quá trình tạo ra MAC-I và XMAC-I đƣợc thực hiện bằng hàm f9 và đƣợc minh họa ở hình 3.16. Hình 3.16. Nhận thực toàn vẹn bản tin. Theo đó ta thấy các thông số đầu vào của hàm f9 bao gồm: bản tin báo hiệu thu/phát; phƣơng truyền (DIRECTION); khóa toàn vẹn (IK); số trình tự mật mã (COUNT-I) và làm tƣơi (FRESH). Trong đó, thông số COUNT-I giống nhƣ bộ đếm đƣợc sử dụng để mật mã hóa, thông số FRESH đƣợc sử dụng để chống lại kẻ xấu chọn giá trị khởi đầu cho COUNT-I. RNC nhận 81 đƣợc IK và CK trong lệnh chế độ an ninh. Còn trong USIM, IK đƣợc tính bằng hàm f4 với thông số đầu vào là K và RAND do mạng gửi đến. 3.2.5. Nhận thực và thỏa thuận khóa AKA Thủ tục nhận thực và thỏa thận khóa AKA đƣợc thực hiện khi: Đăng ký người sử dụng trong mạng phục vụ: khi một thuê bao lần đầu tiên nối đến mạng phục vụ (mới bật máy hay di chuyển sang nƣớc khác) nó phải tiến hành đăng ký với mạng phục vụ. Sau mỗi yêu cầu dịch vụ: là khả năng để thuê bao ứng dụng các giao thức cao hơn vì thế phải thực hiện AKA. Yêu cầu cập nhật vị trí: khi đầu cuối thay đổi vùng định vị nó cần cập nhật vị trí của mình vào HLR và VLR. Yêu cầu đăng nhập và hủy đăng nhập: đây là các thủ tục kết nối và hủy kết nối thuê bao đến mạng phục vụ. Yêu cầu thiết lập lại kết nối: yêu cầu này đƣợc thực hiện khi số lƣợng các nhận thực địa phƣơng đƣợc thực hiện cực đại. Yêu cầu thiết lập lại kết nối: yêu cầu này đƣợc thực hiện khi số lƣợng các nhận thực địa phƣơng đƣợc thực hiện cực đại. 3.2.5.1. Tổng quan về AKA Nhận thực và thỏa thuận khóa (AKA) là một trong các tính năng quan trọng của hệ thống 3G UMTS. Tất cả các dịch vụ khác đều phụ thuộc vào AKA, vì không thể sử dụng bất cứ dịch vụ nào cao hơn mà không phải nhận thực ngƣời sử dụng. Để thực hiện các quá trình này trong 3G UMTS, AuC phải tạo ra các vec-tơ nhận thực (AV) dựa trên bốn thông số: số ngẫu nhiên (RAND); khóa chủ (K); số trình tự (SQN) và trƣờng quản lý nhận thực (AMF). AV nhận đƣợc sẽ bao gồm: mã nhận thực bản tin để nhận thực mạng (MAC-A); chữ ký kỳ vọng từ ngƣời sử dụng để nhận thực ngƣời này (X- RES), khóa mật mã (CK); khóa toàn vẹn (IK); khóa dấu tên (AK) và một số thông số khác đƣợc sử dụng để chống phát lại. Mạng cũng sẽ phát các thông số RAND và AUTN=(SQN AK, AMF, MAC-A) đến USIM để nó tạo ra mã nhận thực bản tin kỳ vọng để nhận thực mạng(X-MACA), chữ ký để nhận thực nó với mạng (RES), CK, IK, AK và SQN. 82 3.2.5.2. Các thủ tục AKA Hình 3.16 đã miêu tả cụ thể các quá trình nhận thực thỏa thuận khóa AKA. Hình 3.17. Tổng quan quá trình nhận thực và thỏa thuận khóa AKA Các thủ tục AKA xảy ra tại USIM, SGSN/VLR và HLR/AuC. Vì mạng phục vụ đƣợc chia thành các miền CS và PS. Các thủ tục đƣợc nhận thực giống nhau và độc lập trong cả hai miền.Tiếp theo chúng ta sẽ đi tìm hiểu quá trình nhận thực AKA đƣợc minh họa ở hình 3.17. Nhận thực và thỏa thuận khóa AKA đƣợc quản lý bởi LR/SGSN mà thuê bao nối tới. Trƣớc hết VLR/SGSN phụ trách máy di động gửi bản tin “yêu cầu số liệu nhận thực IMSI” đến HLR (1). Sau khi nhận đƣợc bản tin này HLR sẽ định vị tới AuC (nơi chứa số liệu thuê bao) và yêu cầu các AV từ trung tâm này. Nếu AuC đã lƣu các AV cho thuê bao nó sẽ trả lời bằng cách gửi một hay nhiều AV trở lại VLR/SGSN (2). Thông thƣờng nhiều AV đƣợc gửi đi một lần (có tới 5AV), nhờ vậy giảm bớt đƣợc số lần yêu cầu AuC và giảm thiểu lƣu lƣợng mạng. Tuy nhiên, nếu tải AuC cao nó có thể chỉ gửi đi một AV. Nếu chƣa có sẵn AV trong cơ sở dữ liệu của mình AuC sẽ tiến hành tạo ra các AV mới. Sau khi đã nhận đƣợc các AV từ HLR gửi đến, VLR/SGSN sẽ lƣu chúng trong cơ sở dữ liệu của mình và chọn một trong số chúng kèm theo hai thông số RAND và AUTN để gửi tới USIM trong bản tin gọi là “yêu cầu nhận thực RAND(i)||AUTN(i)” (3) thông qua UTRAN. Sau khi nhận đƣợc bản tin này, USIM tiến hành kiểm tra thẻ nhận thực mạng AUTN để nhận thực mạng. Bằng cách mở thẻ AUTN ra và tiến hành so sánh MAC-A với XMAC-A do nó tạo ra. Nếu hai thông số này không trùng USIM ME NUTB RNC MSC/VLC SGSN HLR/AuC UE UTRAN CN HE 1 2 4 3 83 nhau thì nhận thực mạng bị từ chối. Điều này có nghĩa là khóa chủ (K) ở cả hai miền không giống nhau. Vì thế bản tin này không bắt nguồn từ môi trƣờng nhà (HE) của thuê bao. Khi đó, nó hủy thủ tục nhận thực mạng và gửi đi bản tin “từ chối nhận thực của ngƣời sử dụng, kèm theo lý do” về phía VLR/SGSN. Nhận đƣợc bản tin này VLR/SGSN gửi “báo cáo nhận thực thất bại kèm lý do” tới HLR. Và có thể khởi đầu lại các thủ tục AKA. Quá trình này đƣợc gọi là USIM từ chối trả lời. Nếu MAC-A và XMAC-A trùng nhau thì quá trình nhận thực mạng thành công. Tiếp theo USIM tiến hành tạo ra các trả lời từ ngƣời sử dụng để nhận thực mạng (RES) và gửi nó ngƣợc trở lại VLR/SGSN (4). Tại đây RES sẽ đƣợc so sánh với X-RES (có trong AV do HLR gửi đến). Nếu chúng giống nhau thì thuê bao đƣợc nhận thực. Nhƣ vậy hai nửa nhận thực đã hoàn tất. Khi đó VLR/SGSN nhận các khóa mật mã và toàn vẹn (CK, IK) từ AV và gửi chúng đến HE đang quản lý thuê bao. Các khóa này đƣợc sử dụng để mật mã hóa truyền thông và kiểm tra sự toàn vẹn của bản tin. Tƣơng tự nhƣ thế, USIM cũng đồng thời tạo ra các khóa này. 3.2.6. Thủ tục đồng bộ lại AK Hình 3. 18. Thủ tục đồng bộ lại 84 VLR/SGSN gửi đi “yêu cầu nhận thực ngƣời sử dụng RAND(i)||AUTN(i)” đến USIM (1). Sau khi nhận đƣợc bản tin này USIM tiến hành kiểm tra tính xác thực của bản tin. Nếu đây là bản tin đƣợc tạo ra tại HE quản lý nó thì hai số trình tự SQNHE và SQNMS phải nằm trong một giải, nếu SQNHE nằm ngoài dải của SQNMS thì thủ tục đồng bộ lại đƣợc tiến hành. Khi đó USIM sẽ tạo ra một thẻ đồng bộ lại (AUTS) và gửi nó đến VLR/SGSN (2). Sau khi nhận đƣợc sự cố đồng bộ VLR/SGSN tìm một hô lệnh ngẫu nhiên thích hợp từ bộ nhớ của mình và bổ sung nó vào bản tin “yêu cầu số liệu nhận thực” và gửi bản tin này (“yêu cầu số liệu nhận thực RAND(i)||AUTS”) đến HLR/AuC đang quản lý thuê bao (3). Khi AuC nhận đƣợc AUTS từ bản tin trên, nó tiến hành so sánh hai số trình tự. Nếu thấy rằng AV tạo ra tiếp theo có thể tiếp nhận đƣợc, nó sẽ gửi AV này đến VLR/SGSN (4). Nếu không có AV nào trong số các AV đƣợc lƣu nằm trong dải đƣợc USIM tiếp nhận, AuC sẽ tiến hành kiểm tra sự toàn vẹn của bản tin. Quá trình này để đảm bảo rằng chính USIM muốn thủ tục đồng bộ lại, nếu nhận thực này thành công, chuỗi SQNHE đƣợc đặt vào SQNMS. Sau đó, AuC sẽ xóa các AV cũ đồng thời tạo ra các AV mới. Vì việc tạo ra nhiều AV trong thời gian thực có thể chiếm tải lớn đối với AuC, nên có thể chỉ một AV đƣợc gửi đi trong lần trả lời đầu tiên. Khi đó, AV mới đƣợc gửi đến từ AuC sẽ đƣợc gắn thêm thông số Qi. Khi VLR/SGSN nhận đƣợc các AV mới đƣợc gửi đến từ AuC, nó sẽ xóa tất cả các AV cũ để đảm bảo rằng các AV này không dẫn đến sự cố đồng bộ lại khác. Sau đó, VLR/SGSN lại thực hiện lại từ đầu thủ tục AKA bằng cách gửi “yêu cầu nhận thực ngƣời sử dụng RAND(i)||AUTN(i)” đến USIM (1).. Tiếp theo ta đi tìm hiểu về sử dụng lại các AV do USIM từ chối do kiểm tra số trình tự. Việc sử dụng lại các AV này cản trở mạng thực hiện AKA với sử dụng lặp lại một AV. Tuy nhiên, việc sử dụng lại Av lại cần thiết, ví dụ khi VLR/SGSN gửi bản tin “yêu cầu nhận thực ngƣời sử dụng” đến USIM, nhƣng lại không nhận đƣợc trả lời của USIM do mạng bị sự cố. Khi vƣợt quá thời gian tạm dừng để chờ trả lời, VLR/SGSN sẽ tìm cách gửi lại USIM cặp (RAND(i)||AUTN(i)) một lần nữa. Nếu thực chất USIM đã nhận đƣợc AV này lần đầu, nó coi rằng số trình tự nhận đƣợc nằm ngoài dải. Trong trƣờng hợp này để khởi đầu thủ 85 tục đồng bộ lại, USIM khởi đầu bằng cách so sánh hô lệnh ngẫu nhiên vừa nhận đƣợc (RAND) với RAND nhận đƣợc trƣớc đó. Nếu chúng trùng nhau, nó chỉ cần gửi đi trả lời của ngƣời sử dụng (RES) đƣợc lƣu lại lần cuối cùng. Vì thế cần lƣu tất cả các thông số đƣợc đặt ra tại USIM. Trong 3G UMTS ngay cả khi thực hiện cuộc gọi khẩn cũng cần thực hiện thủ tục nhận thực. Nhƣng nếu nhận thực bị sự cố (do không có USIM hoặc do không có thỏa thuận chuyển mạng) kết nối vẫn sẽ đƣợc thiết lập. Cuộc gọi sẽ chỉ bị hủy nếu bảo mật và toàn vẹn thất bại. 86 KẾT LUẬN Hiện nay, thuật ngữ 3G đã không còn xa lạ với những tổ chức liên quan đến lĩnh vực viễn thông và cả những ngƣời sử dụng dịch vụ viễn thông trên toàn thế giới. Với những ƣu điểm vƣợt trội về công nghệ và những dịch vụ tiện ích phong phú, phù hợp với nhu cầu ngƣời dùng, công nghệ 3G đã đƣợc đón nhận một cách nhanh chóng. Sau một thời gian nghiên cứu, tìm hiểu em đã hoàn thành xong Đồ án “Công nghệ 3G và vấn đề an ninh bao mật”. Nội dung đƣợc đề cập trong Đồ án là: Chƣơng 1. Tổng quát về các hệ thống thông tin di động nói về vấn đề lịch sử phát triển của hệ thông thông tin di động, các đặc điểm cơ bản của hệ thông thông tin di động, các đặc điểm truyền sóng, hệ thông thông tin di động thế hệ thƣ ba Chƣơng 2. Hệ thông thông tin di động thế hệ thứ ba nói về xu thế chung của công nghệ di động là phải đáp ứng nhu cầu ngày càng cao về chất lƣợng, dung lƣợng, tính tiện lợi, giá cả, tính đa dạng về dịch vụ của ngƣời sử dụng. Vì vậy sau khi tồn tại một thời gian thì các công nghệ 2G đã bộc lộ các điểm yếu là không thể đáp ứng đƣợc yêu cầu trên mà phải đợi đến công nghệ 3G. Chƣơng 3. Vấn đề bảo mật trong 3G. Phần 1 trình bày về năm yêu tố để thiết lập một môi trƣơng an ninh, các đe dọa an ninh, các công nghệ an ninh.Phần 2 trinh bày về mô hình kiến trúc an ninh 3G UMTS, các hàm mật mã, các thông số nhận thực,nhận thực và thỏa thuận khóa AKA, thủ tục đồng bộ lại AKA Cuối cùng, em xin gửi lời cảm ơn chân thành đến toàn thể các Thầy – Cô, các bạn và gia đình đã giúp đỡ, ủng hộ em rất nhiều trong suốt thời gian qua. Đặc biệt, lời cảm ơn chân thành và sâu sắc nhất em xin đƣợc gửi tới thầy giáo ThS. Mai Văn Lập – ngƣời đã định hƣớng đề tài, cung cấp các tài liệu quan trọng và tận tình hƣớng dẫn, chỉ bảo em trong suốt quá trình hoàn thành Đồ án tốt nghiệp. Em xin chân thành cảm ơn! Hải Phòng, ngày 25 tháng 10 năm 2010 NGÔ THỊ PHƢƠNG HOA 87 TÀI LIỆU THAM KHẢO 1. Vũ Đức Thọ(2001), tính toán mạng thông tin di động số, Nhà xuất bản giáo dục. 2. TS. Nguyễn Phạm Anh Dũng, Giáo trình thông tin di động thế hệ ba, Học viện Bƣu chính viễn thông, Nhà xuất bản bƣu điện. 3. Các tài liệu khác trên mạng.

Các file đính kèm theo tài liệu này:

  • pdf17.NgoThiPhuongHoa_DT1001.pdf
Tài liệu liên quan