Lớp MAC có thể bị tấn công trong quá trình xác thực hoặc trong quá trình truyền dữ liệu trên các kết nối. Trong quá trình xác thực, BS và SS sử dụng các thông báo quản trị để trao đổi thông tin. Do đó, các thông báo này có thể bị nghe trộm hoặc bị thay đổi nội dung nếu như không được mã hóa. Trong quá trình truyền dữ liệu, luồng lưu lượng cũng có thể bị nghe trộm hoặc bị mất.
Hình 4.1. Mô hình kiến trúc bảo mật chuẩn IEEE 802.16 [7]
Một SS trước khi truyền dữ liệu phải thực hiện xác thực với BS để được cấp quyền truy nhập hệ thống. Luồng dữ liệu trước khi được truyền từ BS đến SS cần được xác thực. Sau khi được cấp quyền, dữ liệu trong phần payload của MAC PDU sẽ được mã hóa trước khi truyền. Tại máy thu cũng thực hiện xác thực dữ liệu, trao đổi các thông tin cần thiết để giải mã dữ liệu. Tất cả các quá trình này được thực hiện tại lớp con bảo mật.
Lớp con bảo mật có hai giao thức thành phần:
• Giao thức đóng gói các gói dữ liệu đã được mã hóa để truyền qua mạng. Giao thức này được định nghĩa gồm hai thành phần. Thành phần thứ nhất là một tập các bộ mã hóa (cryptographic suite) được hỗ trợ. Bộ mã hóa là một tập hợp các phương thức mã hóa dữ liệu, xác thực dữ liệu và trao đổi khóa mã hóa lưu lượng (TEK). Thành phần thứ hai là các quy tắc được áp dụng cho các thuật toán mã hóa PDU payload.
• Giao thức quản lí khóa PKM (Privacy and Key Management): cung cấp cơ chế bảo vệ quá trình phân phối khóa từ BS đến SS. Thông qua giao
thức này, BS và SS có thể đồng bộ khóa dữ liệu với nhau, ngoài ra, BS có thể sử dụng để thiết lập quyền truy cập hệ thống đối với các SS.
4.2.1. Tập hợp bảo mật
Tập hợp bảo mật - Security Association (SA) là khái niệm gồm một tập hợp các thông tin bảo mật cho các kết nối gồm các khóa và các thuật toán mã hóa. SA được chia sẻ giữa một BS và các SS nhằm bảo vệ quá trình liên lạc giữa BS và SS. Mỗi một SA chứa một danh sách các bộ mã hóa (các thuật toán mã hóa được lựa chọn), các khóa mã hóa lưu lượng TEK (Traffic Encryption Key) và các vector khởi tạo (initialization vector) và được tham chiếu bởi một giá trị định danh SAID (SA Identifier) 16 bit.
Có ba loại SA: primary SA, static SA và dynamic SA.
• Mỗi SS có một primary SA, được thiết lập tại thời điểm khởi tạo kết nối. • Static SA được BS tạo trong quá trình khởi tạo SS, BS có thể cung cấp
nhiều dịch vụ, mỗi dịch vụ tương ứng với một static SA.
• Dynamic SA được tạo ra khi một luồng lưu lượng mới xuất hiện và bị hủy bỏ khi luồng lưu lượng bị hủy.
Static SA và Dynamic SA có thể chia sẻ cho nhiều SS.
Kết nối quản trị basic và primary không được ánh xạ sang các SA tương ứng, nhưng các thông báo truyền trên hai kết nối này có thể được bảo vệ. Mỗi một kết nối quản trị secondary được ánh xạ thành một Primary SA. Tất cả các kết nối Transport luôn được ánh xạ thành các SA có sẵn, riêng kết nối multicast Transport được ánh xạ thành static SA hay dynamic SA bất kỳ.
4.2.2. Giao thức quản lí khóa PKM
Chuẩn IEEE 802.16 sử dụng giao thức PKM để thiết lập liên kết bảo mật giữa BS và SS. SS sử dụng giao thức PKM để yêu cầu BS chứng thực và một khóa thực để trao đổi. Ngoài ra, giao thức PKM còn hỗ trợ SS thực hiện yêu cầu chứng thực lại (reauthorization) và cập nhật khóa. PKM sử dụng chứng thực X.509, thuật toán mã
hóa public key RSA, và các thuật toán mã hóa mạnh để thực hiện trao đổi khóa giữa BS và SS.
Giao thức PKM sử dụng mô hình client-server. Trạm SS đóng vai trò là các client gửi yêu cầu chứng thực đến BS, đóng vai trò là server có trách nhiệm đáp ứng yêu cầu mà các client gửi đến. Mô hình này bảo đảm mỗi một SS chỉ có duy nhất một khóa thực đã được chứng thực. Các thông báo quản trị lớp MAC (PKM-REQ và PKM-RES) được sử dụng trong giao thức PKM.
4.3.QUY TRÌNH BẢO MẬT
Quy trình bảo mật trong hệ thống WiMAX gồm ba bước [7]
Hình 4.2. Quy trình bảo mật
• Xác thực (Authentication)
Trạm SS thực hiện xác thực với BS bằng cách gửi thông báo yêu cầu xác thực (chứng thực X.509). BS thực hiện xác thực SS và thương lượng khả năng bảo mật với SS (các thuật toán mã hóa mà SS hỗ trợ), sau khi thương lượng, một SA được tạo và được tham chiếu bởi giá trị SAID. Tiếp đó, SS gửi thông báo Authorization Request yêu cầu cấp quyền truy cập. BS sẽ kiểm tra và gửi lại thông báo Authorization Reply chứa khóa AK (Authentication Key) cho SS được sử dụng trong quá trình trao đổi khóa. Quá trình xác thực hoàn tất khi cả BS và SS đều giữ khóa AK.
• Traođổi khóa dữ liệu (Data Key Exchange)
Trạm SS gửi thông báo TEK Key Request yêu cầu BS cấp cho một khóa mã hóa lưu lượng TEK (Traffic Encryption Key), được sử dụng trong quá trình mã hóa dữ liệu. BS sau khi kiểm tra lại các thông tin được SS gửi đến, nếu các thông tin hợp lệ, BS sẽ tạo ngẫu nhiên một khóa TEK và gửi lại cho SS thông báo TEK Key Respond chứa khóa TEK. Quá trình trao đổi khóa dữ liệu hoàn tất khi cả BS và SS đều giữ khóa TEK.
• Mã hóa dữ liệu
Sau khi quá trình trao đổi khóa dữ liệu đã thực hiện xong, SS tiến hành mã hóa dữ liệu trước khi truyền. Quá trình mã hóa chỉ được thực hiện cho phần payload của MAC PDU. Các thông báo quản trị không được mã hóa.
4.3.1. Xác thực
Quá trình xác thực được trình bày trên hình
Hình 4.3. Quá trình xác thực SS với BS
Đầu tiên, SS gửi thông báo Authentication Information chứa chứng thực X.509 (RFC 3280) của nhà sản xuất SS [8]. Chứng thực này gồm một public key và một địa
chỉ MAC của SS. Tiếp đó, SS gửi thông báo Authorization Request cho BS, thông báo này yêu cầu BS cấp cho một khóa AK và các giá trị SAID định danh các Static SA tương ứng với các dịch vụ mà SS đã đăng kí. Thông báo Authorization Request bao gồm:
o Một chứng thực X.509 của nhà sản xuất SS.
o Một bộ mã hóa (Cryptographic Suite) mà SS hỗ trợ. Mỗi một đơn vị trong bộ mã hóa bao gồm một cặp thuật toán mã hóa và xác thực gói dữ liệu mà SS hỗ trợ.
o Một giá trị SAID tương ứng với Primary SA.
Sau khi nhận được thông báo Authorization Request, BS tiến hành xác thực SS dựa vào các thông tin trong thông báo Authorization Request. Sau khi đã định danh được SS là hợp pháp và xác định được các thuật toán mã hóa và các giao thức được SS hỗ trợ, BS sẽ sử dụng public key của SS để tạo khóa AK (128 bit). Sau đó BS gửi thông báo Authorization Reply cho SS, thông báo Authorization Reply bao gồm:
o Một khóa AK.
o Một số tuần tự khóa (0-15) để phân biệt các khóa AK với nhau.
o Một giá trị thời gian sống (life-time) của khóa AK. Giá trị này trong khoảng 1-70 ngày, mặc định là 7 ngày.
o Một giá trị SAID tương ứng với Primary SA và một hoặc nhiều giá trị SAID định danh các Static SA tương ứng với các dịch vụ SS đã đăng kí. Sau một thời gian nhất định, SS thực hiện quá trình yêu cầu cấp quyền lại (Reauthorization) để cập nhật khóa AK. Quá trình Reauthorization tương tự như quá trình Authorization ngoại trừ việc SS không gửi thông báo Authentication Information.
Mỗi khóa AK có một thời gian sống nhất định. Vì cả BS và SS đều hỗ trợ đồng thời hai khóa AK tồn tại cùng một lúc nên thời gian sống này có thể chồng lên nhau giữa các AK nhằm tránh tình trạng các dịch vụ bị tạm ngừng đột ngột do giá trị life- time của khóa hết hạn.
tấn công từ các SS giả danh.
4.3.2. Trao đổi khóa dữ liệu
Quá trình trao đổi khóa dữ liệu được mô tả bên dưới [7]
Hình 4.4. Quá trình trao đổi khóa dữ liệu
Quá trình trao đổi khóa được thực hiện tương ứng với từng dịch vụ mà SS đã đăng kí trong quá trình thiết lập kết nối. Mỗi dịch vụ tương ứng với một Static SA và được định danh bởi một giá trị SAID tương ứng.
Sau khi đã nhận được thông báo Authorization Reply, SS sử dụng giá trị khóa AK để tạo hai khóa gồm: khóa mã hóa khóa (KEK – Key Encryption Key) 128 bit được sử dụng để mã hóa khóa TEK trong suốt quá trình truyền và khóa xác thực thông báo (HMAC - Hash functionbased Message Authentication Code) 160 bit. Tiếp đó SS gửi thông báo TEK Request để yêu cầu BS cấp cho một khóa mã hóa lưu lượng TEK, khóa này được dùng để mã hóa dữ liệu. Thông báo TEK Request gồm:
o Số tuần tự khóa AK được cấp trong quá trình xác thực.
SS đã đăng kí.
o Một giá trị HMAC-SHA1.
Sau khi nhận thông báo TEK Key Request từ SS, BS sử dụng thông tin trong thông báo TEK Key Request để kiểm tra giá trị khóa AK, nếu phù hợp sẽ tiến hành tạo ngẫu nhiên một khóa TEK (128 bit). Khóa TEK được tạo bởi các phương thức Triple-DES (sử dụng 128 bit KEK), hoặc phương thức RSA (sử dụng public key của SS), hoặc phương thức AES (sử dụng 128 bit KEK). Các phương thức mã hóa này được chỉ thị bởi giá trị của một đơn vị trong bộ mã hóa. Sau đó, BS gửi thông báo TEK Key Reply cho SS, thông báo TEK Key Request gồm:
o Số tuần tự khóa AK được cấp trong quá trình xác thực.
o Một giá trị SAID tương ứng với một Static SA của một dịch vụ cụ thể mà SS đã đăng kí.
o Một khóa TEK đã mã hóa.
o Một giá trị thời gian sống (life-time) của khóa TEK.
o Giá trị CBC-IV (CBC – Inittialization Vector) để mã hóa dữ liệu.
o Một giá trị HMAC-SHA1 để xác thực các thông báo.
Quá trình trao đổi khóa dữ liệu hoàn tất khi cả BS và SS đều giữ khóa TEK.
4.3.3. Mã hóa dữ liệu
Sau khi thực hiện xong quá trình trao đổi khóa, phần dữ liệu payload sẽ được mã hóa trước khi truyền sử dụng khóa TEK. Riêng các thông báo quản trị thì không được mã hóa.
Hình 4.5. Định dạng payload trước và sau khi mã hóa
Khối dữ liệu payload sau khi mã hóa được bổ sung hai trường: trường PN (Packet Number) có độ dài 4 byte biểu thị số tuần tự gói sau khi mã hóa, được tăng lên một đơn vị mỗi khi một MAC PDU được truyền. Trường Ciphertext ICV (Ciphertext Integrity Check Value) mô tả giá trị kiểm tra tính toàn vẹn phần payload đã được mã hóa.
Chuẩn IEEE 802.16 hỗ trợ hai thuật toán mã hóa dữ liệu:
o Thuật toán DES (Data Encryption Standard).
o Thuật toán AES (Advanced Encryption Standard).
4.4.HẠN CHẾ CỦA KIẾN TRÚC BẢO MẬT IEEE 802.16
Kiến trúc bảo mật chuẩn IEEE 802.16 sử dụng cơ chế xác thực dựa trên chứng thực X.509 và các cơ chế mã hóa khóa hiệu quả, nhưng cũng có một số hạn chế sau: • Không hỗ trợ cơ chế xác thực BS: Cơ chế xác thực chỉ thực hiện theo một chiều
từ SS đến BS. Không có cơ chế để các SS có thể xác thực BS mà nó kết nối tới. Điều này có thể dẫn đến nguy cơ xuất hiện một BS giả danh một BS hợp pháp gây nên sự nhầm lẫn cho các SS khi thực hiện kết nối đến BS. Các phương thức tấn công theo kiểu giả danh này lại phụ thuộc vào kiểu mạng. Ví dụ, đối với mạng
WiFi 802.11, sử dụng phương thức đa truy nhập cảm nhận sóng mang, một kẻ tấn công (acttacker) có được ID của AP (Access Point) và tạo một thông báo với ID hợp pháp, acttacker sẽ chờ cho đến khi môi trường mạng nhàn rỗi và khi đó truyền thông báo, điều này có thể gây ra sự nhầm lẫn. Tuy nhiên đối với mạng WiMAX, phương thức trên lại khó thực hiện do hệ thống sử dụng phương thức đa truy cập phân chia theo thời gian, BS giả danh cũng có thể tạo các thông báo với định danh của BS thực. BS giả danh phải chờ cho đến khe thời gian được cấp phát cho BS và truyền cùng thời điểm với BS thực, tuy nhiên nó phải điều chỉnh cường độ của tín hiệu truyền phải lớn hơn cường độ của tín hiệu truyền của BS thực. Các trạm SS sẽ nhận và giải mã tín hiệu được gửi từ một BS giả danh thay cho BS thực.
Do đó, có thể bổ sung vào một chứng thực BS được sử dụng để một SS xác định chính xác BS mà nó sẽ kết nối tới.
• Không hỗ trợ cơ chế mã hóa các thông báo quản trị: Các thông báo quản trị không được mã hóa, nhưng được xác thực. Cơ chế xác thực thông báo quản trị được sử dụng là HMAC (Hashed Message Authentication Code) có nhiều nhược điểm, do đó nguy cơ bị mất thông tin từ các thông báo bị tấn công sẽ ảnh hưởng đến hoạt động liên lạc giữa các trạm với nhau.
• Không hỗ trợ một cơ chế hiệu quả chống lại hình thức tấn công từ chối dịch vụ DoS (Denial of Service): Các attacker có thể sử dụng SS thực hiện gửi yêu cầu xác thực đến BS với số lượng nhiều và liên tục, làm cho BS mất khả năng xử lí.
4.5. KẾT LUẬN CHƯƠNG
Chương 4 này đã trình bày cơ bản về kiến trúc bảo mật và các quy trình thực hiện bảo mật giữa BS và SS. Ngoài ra, chương này còn nêu lên được các điểm còn hạn chế của kiến trúc bảo mật IEEE 802.16 dựa trên chứng thực X.509.
Chương 5
MÔ PHỎNG HOẠT ĐỘNG HỆ THỐNG WiMAX
5.1.GIỚI THIỆU CHƯƠNG
Việc mô phỏng hoạt động của hệ thống WiMAX nhằm mục đích kiểm chứng lại những lí thuyết đã nghiên cứu như quá trình truy nhập hệ thống, cơ chế yêu cầu và cấp phát băng thông, cơ chế lập lịch dịch vụ và quá trình trao đổi một số các thông báo báo hiệu như UL-MAP, DL-MAP, UCD và DCD, các thông báo ranging (RNGREQ và RNGRES)...
5.2.MÔI TRƯỜNG MÔ PHỎNG
Môi trường thực hiện mô phỏng là NS-2 (Network Simulator) phiên bản 2.29. NS-2 là một công cụ mã nguồn mở cho phép mô phỏng mạng chuyển mạch gói, hỗ trợ mô phỏng các giao thức như TCP, UDP, các giao thức định tuyến, giao thức lớp MAC trên môi trường mạng vô tuyến và hữu tuyến như wireless LANs, Mobile Ad hoc Networks (MANETs), mạng vệ tinh…
NS-2 là một đơn vị mô phỏng hướng đối tượng. Cấu trúc ngôn ngữ bao gồm hai thành phần: ngôn ngữ hướng đối tượng C++ và OTCL được phân biệt theo 2 mức điều khiển và mức xử lí gói. C++ được sử dụng để xử lí mức gói trong khi OTCL được sử dụng để định nghĩa các thông số cấu hình mô phỏng như topology mạng, kiểu đơn vị lập lịch, thời điểm khởi đầu và kết thúc luồng dữ liệu, kiểu luồng với định danh nút nguồn và đích…
Tuy nhiên, phiên bản NS-2 mới nhất 2.29 chỉ hỗ trợ mô phỏng lớp LL (Link Layer), lớp MAC và lớp vật lý của chuẩn IEEE 802.11, không hỗ trợ mô phỏng các thành phần của chuẩn IEEE 802.16. Do đó, trong đồ án này sử dụng module
WiMAX for NS-2 (gọi tắt là module WiMAX) thực thi chuẩn IEEE 802.16 trong NS-2 (phiên bản 2.29).
Module WiMAX for NS-2 được thiết kế và phát triển bởi các thành viên của Networks and Distributed Systems Laboratory (NDSL) và Computer Science and
Information Engineering thuộc đại học Chang Gung, Đài Loan. Tất cả các phiên bản của module WiMAX được dowload hoàn toàn miễn phí tại địa chỉ http://ndsl.csie.cgu.edu.tw.
Vị trí của module WiMAX trong kiến trúc NS-2 được trình bày bên dưới.
Hình 5.1. Module WiMAX trong kiến trúc NS-2 [13]
Module WiMAX được tích hợp vào kiến trúc sẵn có của một nút wireless trong NS-2.
Trong kiến trúc trên, một nút wireless bao gồm các thành phần: Traffic Generating Agent (address classifier, port classifier, agent protocol, agent routing), lớp LL (Link Layer), lớp MAC, hàng đợi và kênh vật lý. Các classifier chịu trách nhiệm phân phối các gói tương ứng với các agent. Agent protocol biểu diễn cho lớp application và agent routing biểu diễn cho lớp IP. Khi một packet đi từ agent protocol