để tạo ra một dãy kí tự mà đảm bảo không lặp lại trong thời gian dài mặc dù bộ đếm thực sự thì đơn giản và phổ biến nhất.
CTR mode rất phù hợp cho hoạt động của bộ máy đa xử lý, các khối có thể được mật mã một cách song song.
Hình 3.8 Quá trình mã hoá và giải mã theo chế độ Counter
Nếu như bộ nhận dạng thuật toán mã hoá dữ liệu trong một MBS GSA bằng 0x80 thì dữ liệu trong các kết nối có liên quan đến SA này sẽ sử dụng thuật toán AES chế độ CTR để mã hoá MAC PDU payload. Trong MBS , kích thước khối AES và kích thước bộ đếm cipher là 128 bits.
Counter mode yêu cầu bộ đếm khởi tạo là duy nhất và cặp khoá trao đổi tất cả các bản tin. Một bộ đếm khởi tạo 128-bit có cấu trúc từ 24-bit PHY synchronization field hoặc frame number và một bộ đếm vòng lặp Rollover counter (ROC) 8-bit . Khi xử lý một PDU mới thì sẽ có 1 frame number mới do đó bộ đếm phải khởi tạo lại. Khi frame number tiến tới 0x000000(từ 0xFFFFFF) thì tăng ROC.
Tải PDU cho mã hoá AES-CTR sẽ được chèn vào phía trước 8-bit ROC , nó là 8 MSBs của 32-bit nonce. ROC sẽ không đươc mã hoá.
Giá trị { AES Counter, KEY} sẽ không được sử dụng nhiều hơn một lần cho mục đích mã hoá khối.SS và BS phải chắc chắn rằng một MGTEK mới được yêu cầu và truyền đi trước khi ROC tiến đến OxFF.
Một nonce 32-bit: NONCE=n0|n1|n2|n3 ( n0 là MSByte và n3 là LSByte) được tạo từ ROC và 24 bits frame number theo cách sau: n0=ROC và n1,n2,n3 là đại diện cho những bit của frame number trong MSB đầu tiên. NONCE sẽ được lặp lại 4 lần để tạo 128-bit counter block được yêu cầu bởi AES-128 cipher.(initial counter= NONCE|NONCE|NONCE|NONCE). Có nhiều nhất 2^32 PDUs có thể được mã hoá cùng với một MTK Plaintext PDU sẽ được mã hoá bằng cách kích hoạt MBS_Traffic_key (MTK) được nhận từ MAK và MGTEK theo định dạng của CTR mode. Một giá trị 128-bit couter khác được dùng để mã hoá mỗi khối 128-bit bên trong một PDU
Quá trình này làm cho tải sau khi mật mã dài hơn 8 bit so với ban đầu.
Rollover Counter (ROC) | MBS Stream | CRC |
Có thể bạn quan tâm!
- Các Băng Tần Được Đề Xuất Cho Wimax Trên Thế Giới
- Bảng Tóm Tắt Các Khoá Mã Hoá Được Dùng Với Sa
- Ý Nghĩa Các Ký Hiệu Trong Bản Tin Giao Thức Pkm Authorization
- Tìm hiểu về an ninh trong công nghệ WiMAX - 7
- Tìm hiểu về an ninh trong công nghệ WiMAX - 8
Xem toàn bộ 70 trang tài liệu này.
8 bits
Encrypted MBS Traffic
Hình 3.9 Cấu trúc MBS MAC PDU sau khi mật mã
3.2.4.3 Mã hoá dữ liệu với AES-CCM
CCM mode là một chế độ hoạt động của mật mã khối dữ liệu. Nó là một thuật toán mật mã chứng thực được thiết kế để cung cấp cho cả quá trình chứng thực và bảo mật dữ liệu. CCM mode chỉ được định nghĩa cho khối mật mã có chiều dài 128 bits.
CCM là sự kết hợp của chế độ mật mã của bộ đếm(Counter) và chế độ chứng thực của CBC-MAC. Cả hai có thể dùng chung khoá miễn là giá trị bộ đếm được sử dụng cho mã hoá không xung đột với IV được sử dụng trong chứng thực.
Nếu bộ nhận dạng thuật toán mã hoá dữ liệu trong SA tương đương với 0x02 thì dữ liệu trong các liên kết liên quan tới SA sẽ sử dụng thuật toán AES-CCM để mã hoá tải MAC PDU. Tải sau khi mã hoá được thêm vào 2 trường : chỉ số gói (PN-packet
number): có độ dài 4 bytes và không được mã hoá . Giá trị kiểm tra tính toàn vẹn (ICV- integrity check value) : Có độ dài 8 bytes và được mã hoá.
Payload before encryption L bytes
Plaintext payload
4bytes
Payload after encrytion L+12 bytes
8 bytes
Ciphertex Payload | ICV |
Hình 3.10 PDU sau khi được mật mã
CBC-MAC (Cipher Block Chaining Message Authentication Code) là một kỹ thuật để cấu trúc lên một mã chức thực bản tin (MAC) sử dụng thuật toán mã hoá khối trong chế độ CBC. Mỗi khối phụ thuộc vào sự mã hoá chính xác của các khối trước đó. CBC-MAC được sử dụng để xác thực dữ liệu.
0 | 4 | 5 | 8 | 9 | 12 |
Generic MAC header | Reserved | PN | |||
Generic MAC header omitting HCS | 0x00000000 | Packet number field from payload |
Định nghĩa một chuỗi các khối B_0,B_1,….B_n và sử dụng CBC-MAC đối với các khối này để chứng thực.
Byte number Field
Contents
Hình 3.11 Cấu trúc Nonce N
Nonce là một số ngẫu nhiên được sinh ra trong quá trình chứng thực để chắc chắn rằng những kết nối cũ không được sử dụng lại ( tránh tấn công lặp lại). Để chắc chắn rằng một Nonce được sử dụng duy nhất một lần thì nó có thể có nhãn thời gian hoặc được tạo ra từ những bit ngẫu nhiên đảm bảo không trùng lặp với những giá trị đã dùng trước đó.
Sau khi các khối chứng thực tuỳ chọn được thêm vào thì ta sẽ thêm khối bản tin (message) vào. Khối bản tin được định dạng bằng cách chia bản tin thành các khối
16-octet và sau đó thêm vào khối cuối cùng các bit 0 nếu cần thiết. Nếu bản tin m rỗng thì không có khối nào được thêm vào ở bước tiếp theo.
B_0 B_1 B_n
XOR
K
E
E
K
E
XOR
K … ...
Result
Hình 3.12 Sơ đồ Tính toán CBC-MAC của một chuỗi bản tin
Kết quả là được những khối liên tiếp B_0,B_1,B_2,….,B_n. Thuật toán CBC-MAC được tính bằng cách:
X_1 := E( K, B_0 ) (3.9)
X_i+1 := E( K, X_i XOR B_i ) for i=1, ..., n (3.10)
T := first-M-bytes( X_n+1 ) (3.11)
Trong đó: E() là chức năng mã hoá khối; T là giá trị của MAC; X là khối dữ liệu được mã hoá.Để mật mã dữ liệu thì phải sử dụng Counter mode. Đầu tiên phải định nghĩa khối keystream bằng cách:
S_i:= E (K,A_i) i=0,1,2,3…… (3.12)
Bản tin được mã hoá bằng cách XOR dạng octet của bản tin với những octets đầu tiên của l(m) ( số bản tin để mã hoá và chứng thực) của chuỗi S_1,S_2,S_3….. và S_0 không được sử dụng để mật mã bản tin.
Giá trị xác thực U được tính bằng cách mật mã T cùng với khối keystream S_0 và loại bỏ nó tới chiều dài mong muốn.
U := T XOR first-M-bytes( S_0 ) (3.13)
PN có liên quan đến SA sẽ được đặt là 1 khi SA được tạo ra và khi TEK mới được khởi tạo.Sau mỗi phiên truyền PDU, PN được tăng lên 1. Trên kết nối đường lên
, PN được XOR với 0x80000000 để mã hoá và truyền đi. Trên kết nối đường xuống , PN được dùng mà không cần sự thay đổi nào. Tất cả điều này do chia độ dài PN thành
0x00000001-0x7FFFFFFF cho đường xuống và 0x8000000-0xFFFFFFF cho đường lên, điều này để ngăn sự va chạm PN giữa đường lên và đường xuống .
Cặp giá trị (PN,Key) không được dùng quá 1 lần cho mục đích truyền dữ liệu vì nếu gửi đi hai gói dữ liệu được mã hoá với cùng một khoá và PN thì sẽ loại đi sự bảo mật trong chế độ CCM.
SS sẽ yêu cầu một khoá TEK mới trước khi PN trên SS hoặc BS đến giá trị 0x7FFFFFFF. Nếu như PN trên SS hoặc BS đạt đến giá trị 0x7FFFFFF mà khoá mới TEK chưa được khởi tạo thì thông tin vận chuyển trên SA phải dùng lại cho tới khi khoá TEK mới được khởi tạo.
3.3 Phân tích những yếu tố ảnh hưởng đến an ninh trong WiMAX
Phần này sẽ xem xét vấn đề bảo mật của WiMAX dựa trên một số điểm yếu bảo mật đã được phát hiện ở mạng không dây wifi, ngoài ra chúng ta cũng phân tích một số điểm yếu mới có thể của mạng WiMAX theo chuẩn 802.16.
3.3.1 Tấn công làm mất xác thực
Wifi
Tấn công làm mất xác thực là một sự khai thác lỗi nhận dạng trong mạng Wifi gần như hoàn hảo. Trong mạng Wifi, một nút mới gia nhập vào mạng nút sẽ đi qua quá trình xác nhận cũng như các quá trình liên quan khác rồi sau đó mới được phép truy cập vào mạng. Có hai kiểu xác thực : xác thực mở trong đó bất ký nút nào cũng có thể tham gia và xác thực bằng khoá chia sẻ nghĩa là nút muốn tham gia vào mạng phải biết được password của mạng. Xác thực mở làm cho AP không có cách nào biết được nút có hợp lệ hay không. Sau quá trình xác thực, các nút đi tới các quá trình liên quan, sau đó nút có thể trao đổi dữ liệu và quảng bá trong toàn mạng. Trong suốt quá trình chứng thực và các quá trình có liên quan chỉ có một vài bản tin dữ liệu, quản lý và điều khiển được chấp nhận. Một trong các bản tin đó mang lại cho các nút khả năng đòi hỏi không qua chứng thực từ mỗi nút khác. Bản tin đó được sử dụng khi một nút muốn chuyển giữa hai mạng không dây khác nhau. Ví dụ như nếu trong cùng một vùng tồn tại nhiều hơn một mạng không dây thì nút đó sẽ sử dụng bản tin này. Khi một nút nhận được bản tin “ không qua chứng thực” nó sẽ tự động rời khỏi mạng và quay trở lại trạng thấi gốc ban đầu của nó.
Trong tấn công không qua chứng thực, hacker sử dụng một nút giả mạo để tìm ra địa chỉ của điểm truy cập AP đang điều khiển mạng. AP trong Wifi tương tự BS trong
WiMAX. Như vậy, AP là một phần của mạng. Không quá khó để tìm ra địa chỉ của AP bởi vì AP không được bảo vệ bởi thuật toán mã hoá . Có một vài AP không phát quảng bá trong mạng nhưng địa chỉ của chúng có thể được tìm thấy nếu chúng ta lắng nghe lưu lượng giữa AP và các nút khác. Địa chỉ của AP chỉ được sử dụng để cho phép các thuê bao nhận ra được khi chúng muốn không qua chứng thực, các AP cũng không bận tâm về việc giấu địa chỉ của mình.
Khi hacker có được địa chỉ của AP, hacker sử dụng địa chỉ quảng bá mặc định và gửi các bản tin không qua chứng thực tới tất cả các nút mà hacker có thể gửi được .Các nút đó ngay lập tức dừng trao đổi tin với mạng. Bước tiếp theo, tất cả các nút đó sẽ cố kết nối lại, chứng thực lại và liên kết lại với AP. Việc truyền các bản tin không qua chứng thực lặp lại có thể làm cho lưu lượng mạng tới tình trạng bị ngừng lại . Đây là một hình thức tấn công từ chối dịch vụ DoS đã làm cho nút bị tấn công không thể nhận được dịch vụ.
Có 3 bản tin chú ý trong bản tin không qua chứng thực:
- Bản tin không qua chứng thực không được xác nhận ngoại trừ việc kiểm tra logic địa chỉ nguồn của bản tin.
- Không có sự bảo vệ mã hoá đối với thông tin được dùng để xây dựng nên bản tin vì thế hacker dễ dàng tìm ra được thông tin trong bản tin đó.
- Nút chấp nhận bản tin không qua chứng thực (bản tin giả mạo) sẽ chấp nhận bản tin giả mạo mà không để ý xem bản tin đó được gửi đi khi nào.
WiMAX
Giống như wifi, WiMAX cũng có các bản tin MAC được dùng theo cùng cách bản tin không qua chứng thực đã đề cập đến ở trên. Đầu tiên đó là bản tin lệnh thiết lập lại (RES-CMD) được gửi từ BS đến một SS xác định để sau đấy SS tự động thiết lập lại. Bản tin này được BS dùng để bắt đầu lại một SS trục trặc. Khi SS nhận được bản tin RES-CMD SS sẽ bắt đầu lại MAC của mình và cố gắng lặp lại truy cập và hệ thống lúc đàu. BS có thể gửi đi bản tin lệnh đăng ký lại hoặc không qua đăng ký lại (DREG-CMD) tới SS để SS có hể thay đổi được trạng thái truy cập. Bản tin này được gửi từ BS vì nhiều lý do, trong đó có lý do bắt SS rời khỏi kênh truyền.
Khác với Wifi , WiMAX có sự bảo vệ bên trong chống lại việc sử dụng sai các bản tin lệnh này. Cơ cấu bảo mật đầu tiến sử dụng bản tóm tắt chứng thực bản tin HMAC cho việc xác nhận bản tin.
Check HMAC ?
NO
YES
eliminate RES- CMD
HMAC digest
Action
Hacker insert RES-CMD
RES-CMD
Access initial system
reinstall SS reinstall MAC
Attack is falure at here
Hình 3.13 Lỗi tấn công giảm chứng thực sử dụng RES-CMD
Khi bên nhận nhận được bản tin, bên nhận tính toán HMAC bằng việc sử dụng bản tin đã nhận được và khoá bí mật chia sẻ đã biết. Sau đó, bên nhận so sánh HMAC đã nhận được với HMAC đã được tính toán. Để nhận được HMAC giống nhau bản tin và khoá bí mât chia sẻ phải giống nhau. Như vậy, khóa bí mật không được thoả hiệp, và chỉ có một cách duy nhất nhận được HMAC sai là bản tin đã bị thay đổi.
Tấn công không qua chứng thực sẽ không thể xảy ra tại mạng WiMAX vì
- Khoá được chia sẻ giữa BS và SS phải được giữ bí mật.
- Khoá thuật toán băm rất mạnh và hacker khó có thể có được HMAC chính xác.
3.3.2 Tấn công lặp lại
Wifi
Khi sử dụng thuật ngữ tấn công lặp lại (Replay Attack) nghĩa là hacker đứng chắn ngang việc truyền thông hợp lệ và sử dụng lại. Hacker không thay đổi bản tin mà chỉ gửi lại bản tin trong thời điểm thích hợp theo sự lựa chọn của hacker. Trong wifi, tấn công lặp lại tạo ra kiểu tấn công từ chối dịch vụ, bởi vì nút nhận được bản tin hơp lệ rồi chiếm dụng băng thông và tính toán thời gian để được giải mã . Các lỗi dễ bị tấn
công nhất trong Wifi rất nhạy với hình thức tấn công này do các bản tin không có thứ tự một cách rõ ràng. Trong Wifi không có cách nào để dò và loại bỏ các bản tin bị lặp lại.
Wimax
Trong Wimax, hacker trộm được tất cả các bản tin ( bao gồm cả HMAC ) và truyền lại các bản tin mà không có sự thay đổi nào tới bản tin trộm được. Trong khi HMAC chắc chắn rằng bản tin không bị thay đổi thì lại không cung cấp bất cứ thông tin nào về tât cả những điều đó. Chỉ có người gửi và nội dung của bản tin được xác nhận. Nếu như kẻ tấn công chặn lấy một bản tin và truyền lại thì bản tin đó sẽ được chứng thực một cách chính xác nếu như các khoá mã hoá còn giống nhau.
Trong Wimax hacker cần đến cả BS và SS để tạo ra việc tấn công lặp lại thành công. Nếu mạng hoạt động trong chế độ FDD thì việc truyền dẫn của BS và SS trên các tần số khác nhau. Muốn tấn công hệ thống FDD này thì hacker nhận bản tin trong một tần số và rồi gửi bản tin cũng trên tân số đó.
Việc đưa ra HMAC để chắc chắn rằng các bản tin truyền đi không bị thay đổi. Nếu trong bản tin có thông tin ngắn như chỉ số , hacker sẽ rất khó sử dụng lại chúng để tao ra tấn công lặp lại. Thông tin ngắn được sử dụng bởi bên nhận để nhận dạng sự truyền lại. Hacker có thể dùng bản tin RES-CMD để tạo ra tấn công truyền lại.RES-CMD giống như bản tin hoàn hảo, không chỉ số , không thông tin ngắn. Nhưng hacker cũng không sử dụng RES-CMD để tấn công được. Trong WiMAX yêu cầu tính toán HMAC bằng việc sử dụng bản tin và tiêu đề MAC .HMAC sẽ được truyền đi mà không bị thay đổi .Trong tiêu đề MAC có chứa CID của SS, CID được thết lập lại.Sau khi khởi tạo lại, SS sẽ được BS gán cho một CID mới . CID mới được khởi tạo trong khoảng giá trị lựa chọn hợp lệ của CID. Do sự sai khác khá ít của CID, SS giống nhau có thể sẽ có cùng một CID và điều này rất dễ bị tấn công. Nếu như điều này có xảy ra thì SS sẽ thương lượng một tập khoá mới để chứng thực bản tin. Do vậy đối với hacker dùng bản tin RES-CMD để tạo ra tấn công truyền lại là không thể được. Cũng như vậy đối với việc lợi dụng bản tin DREG-CMD.
Trong khi hacker sử dụng bản tin RES-CMD và DREG-CMD không thành thì có nhiều cách tấn công khác có thể thành công hơn. WiMAX không có cơ cấu để tự bảo vệ các gói tin bị lặp lại. Hacker có thể lặp lại nhiều bản tin mà không cần quan tâm đến chúng có hợp lệ hay không. Bản tin của hacker sẽ xuất hiện trên mạng như là tín hiệu