3.4. Bảo mật trong WiMax
3.4.3. Giao thức quản lý khoá và bảo mật PKM
Đầu tiên trạm gốc BS phải chứng thực SS mà muốn tham gia vào mạng. Quá trình chứng thực này bao gồm ba bước liên quan đến việc trao đổi ba bản tin giữa BS và SS.
Bước 1: SS gửi một bản tin thông tin chứng thực AI (Authentication Information) tới BS chứa một chứng chỉ X509 để xác nhận nhà sản xuất SS.
BS sử dụng bản tin này để quyết định xem SS đó là một thiết bị đáng tin cậy
hay không. Những nhà thiết kế WiMax định nghĩa tất cả các thiết bị từ nhà sản xuất đáng tin cậy thì thiết bị đó có thể được tin cậy.
Buớc 2: SS ngay lập tức gửi một bản tin yêu cầu chứng thực (Authentication request) sau khi đã gửi đi bản tin AI Bản tin này chứa chứng chỉ X509 của . SS và khoá công cộng của SS, các khả năng bảo mật của SS và SAID của SS.
Chứng chỉ X509 được BS dùng để nhận biết SS đã được chứng thực hay chưa và khoá công cộng của SS được BS sử dụng để mã hoá khoá AK và xây dựng bản tin đáp lại.
Bước 3: Nếu như BS nhận thấy SS đã được chứng thực thì BS trả lời bằng bản tin đáp lại chứng thực (Authentication Reply). Bản tin sẽ khởi tạo một SA giữa BS và SS Nếu như AK được dùng đúng thì SS nhận lấy AK để tham gia . vào mạng. AK là khoá bí mật mà chỉ có BS và SS được biết.
Dạng các bản tin:
Bản tin thông tin chứng thực:
- Cert(Manufacturer(SS)) SS > BS
Bản tin yêu cầu chứng thực:
-
SS > BS Cert(SS) | Các khả năng bảo mật | SAID Bản tin đáp lại chứng thực:
BS -> SS RSA-Encrypt (PubKey(SS) , AK) | Thời gian sống | SeqNo | SAIDList
Trong đó:
Bảng 3.4. Bảng các thuật ngữ được dùng trong trao đổi bản tin chứng thực
Thuật ngữ Ý nghĩa
A -> B: M Bên A gử ếi đ n bên B b n tin có giá trả ị là M Cert(Manufactur
er(SS))
Một chứng chỉ X509 dùng đ nh n d ng nhà s n xuể ậ ạ ả ất SS
Cert(SS) Một chứng chỉ X509 v i khoá công c ng và MAC cớ ộ ủa SS Các khả năng SS được hỗ ợ tr các thuật toán mã hoá dữ liệu và xác thực SAID Liên kết bảo mật gi a BS và SS (CID) ữ
RSA-
Encrypt(k,a)
Mã hoá a bằng thuật toán RSA và khoá k
AK Khoá chứng thực
Thời gian số ng Thời gian sống c a AK ủ
SeqNo Ch s ỉ ố 4 bít của AK đư c dùng đợ ể phân biệt giữa các lần tạo khoá AK liên tiếp
PubKey(SS) Khoá công c ng cộ ủa SS đư c đưa ra trong Cert(SS) ợ
SAIDList Một danh sách các b n mô tả ả SA, mỗi SA bao gồm SAID Sau khi có được chứng thực, SS sau một chu kỳ thời gian cần phải chứng thực lại để có được khoá AK mới SS sẽ sử dụng cỗ máy trạng thái như . hình trên để lấy khoá AK mới Cỗ máy trạng thái chứng thực sẽ bắt đầu tại . trạng thái “start” tại đây chưa có nguồn thông tin và quá trình nào được lên lịch Khi quá trình trao đổi tin được thiết lập thì SS gửi đi các tham số chứng . thực tới BS và SS đi vào trạng thái đợi chứng thực (Auth Wait). Sau khi nhận được bản tin đáp lại từ BS thì SS chuyển sang trạng thái đã được chứng thực (Autherized). Tại đây SS sẽ phải đợi tới khi thời gian sống của AK hết hạn lúc đó SS sẽ gửi đi yêu cầu chứng thực lại tới BS để có được khoá AK mới. Nếu như yêu cầu chứng thực lại này bị từ chối thì SS chuyển sang trạng thái “Auth Reject Wait”. Còn nếu như SS nhận được bản tin từ chối chứng thực vĩnh viễn thì SS chuyển sang trạng thái “Silent” .
Trao đổi khoá TEK
Sau khi nhận được khoá AK từ BS, SS khởi động cỗ máy trạng thái TEK để lấy khoá TEK Cỗ máy trạng thái TEK chịu trách nhiệm quản lý khoá
liên quan tới mỗi SAID và SS Điều này được thực hiện bởi hai hoặc ba bản . tin được gửi giữa BS và SS.
Bước 1: Buớc này là tuỳ chọn và sẽ được gửi chỉ khi BS muốn có lại khoá của DSA hoặc là tạo ra một SA mới Bằng việc tính toán HMAC(1) BS cho . phép SS phát hiện ra sự giả mạo trong các bản tin được truyền đi.
Bước 2: SS gửi một bản tin yêu cầu khoá (Key Request) tới BS để yêu cầu các tham số SA. SS sử dụng SAID từ danh sách SAID của quá trình chứng thực SS hoặc từ bản tin của bước trước mà có HMAC(1) hợp lệ BS cũng tính . toán HMAC(2) để nhận ra sử giả mạo. BS có thể xác nhận SS bằng HMAC(2) là do: chỉ có SS hợp lệ mới có được AK mà được gửi trong bản tin đáp lại chứng thực của quá trình chứng thực SS và cũng do AK là khoá bí mật giữa BS và SS. .
Bước 3: Nếu như BS nhận thấy HMAC(2) là hợp lệ và SAID thực sự là của một trong các SA của SS thì BS sẽ gửi bản tin đáp lại khoá (Key Reply). Bản tin đáp lại khoá chứa khoá TEK cũ, khoá TEK mới mà truyền các giá trị tham số được sử dụng sau khi TEK hiện dùng hết hạn. Các khoá TEK (cả mới và cũ) đều được mã hoá bởi thuật toán 3DES trong ECB mode mà sử dụng khoá KEK. HMAC(3) được sử dụng lại, cũng giống như HMAC(1) để nhận dạng sự giả mạo
Các bản tin có dạng:
Bản tin 1( tuỳ chọn):
-
BS > SS SeqNo | SAID | HMAC(1) Bản tin 2 (yêu cầu khoá):
-
SS > BS SeqNo | SAID | HMAC(2) Bản tin 3 (đáp lại khoá):
-
BS > SS SeqNo | SAID | TEK cũ | TEK mới | HMAC(3) Trong đó:
Bảng 3.5. Các thuật ngữ dùng trong trao đổi bản tin giao thức PKM
Thuật ngữ Ý nghĩa
SeqNo Khoá AK được dùng trong trao đổi SAID ID c a DSAủ
HMAC(1) Bản tóm tắt HMAC SHA1 c- ủa SeqNo | SAID dưới khoá HMAC đường xuống của AK
HMAC(2) Bản tóm tắt HMAC SHA1 c a SeqNo | SAID c- ủ ủa khoá HMAC đường lên c a AK ủ
TEK cũ IV của lần khởi tạo TEK trước, th i gian s ng còn l i (tính bờ ố ạ ằng giây) và SAID cho DSA (chỉ ố ủ s c a TEK là một số 2 bit)
TEK mới IV của lần khởi tạo TEK m i nhớ ất, thời gian sống và SAID cho DSA (chỉ ố s TEK mới lớn hơn chỉ ố s TEK cũ)
HMAC(3) Bản tóm tắt HMAC SHA1 c- ủa SeqNo | SAID | TEK cũ | TEK mới dư i khoá HMAC đướ ờng xuống của AK
Cỗ máy trạng thái chứng thực khởi động cỗ máy trạng thái TEK khi AK đã trao đổi xong. Khoá KEK có được từ quá trình trao đổi AK. Cỗ máy trạng thái TEK tương tự như cỗ máy trạng thái chứng thực ngoài trạng thái
“Op Reath Wait” được thêm vào. SS chuyển vào trạng thái “wait” khi SS gửi đi bản tin yêu cầu khoá nhưng cũng tại thời điểm này cỗ máy trạng thái chứng thực yêu cầu chứng thực lại Khi yêu cầu chứng thực lại được hoàn thành thì . cỗ máy trạng thái chứng thực đặt cỗ máy trạng thái TEK vào trạng thái “Op Reauth Wait” .