CHƯƠNG 1 : XÁC THỰC TRONG MẠNG VÔ TUYẾN
1.4. Xác thực và các các mô hình xác thực
1.4.2.1. Giao thức xác thực dựa trên hệ mật mã
Là các giao thức sử dụng các hệ mã hóa để bảo mật và xác thực, có hai hệ mã hóa tương ứng với 2 hệ giao thức xác thực đó là: Giao thức xác thực dựa trên mật mã đối xứng (Hay mật mã khóa chung), và giao thức xác thực dựa trên mật mã khóa cơng khai.
a. Giao thức xác thực dựa trên mật mã khóa đối xứng
Với giao thức xác thực sử dụng mật mã khóa đối xứng, các bước được thực hiện có thể được mơ tả như sau: Xét một phiên xác thực giữa người dùng A và hệ thống B sử dụng giao thức xác thực mật mã khóa đối xứng, do sử dụng mật mã khóa đối xứng, nên A và B cùng thống nhất sử dụng khóa chung k và hệ mã hóa Ek.
Để bắt đầu phiên, bên A sẽ gửi yêu cầu xác thực sang bên B
Bên B sẽ sinh ra 1 số ngẫu nhiên r, sau đó dùng hàm mã hóa với khóa
phục vụ cho việc định danh hoặc chống tấn công lặp lại, tức B sẽ gửi lại cho A thông điệp Ek(r || m) (Ký hiệu || là ký hiệu nối giữa các thông điệp nhỏ trong 1 thông điệp tổng)
Bên A nhận được thông điệp Ek(r || m) từ bên B gửi, do A và B cùng chia
sẻ 1 khóa chung k, nên chỉ có A mới có thể giải mã thơng điệp B gửi để nhận được số ngẫu nhiên r và thông điệp tùy chọn m. Sau đó bên A sẽ gửi lại cho bên B một thơng điệp có chứa số ngẫu nhiên r kèm 1 thông điệp tùy chọn m’ được mã hóa bởi hàm mã tức thơng điệp Ek(r || m’)
Bên B nhận lại thông điệp bên A gửi, bên B sẽ giải mã thông điệp và nhận lại số ngẫu nhiên r, B sẽ so sánh số r nhận được với số r trước đó B đã gửi cho A. Nếu trùng nhau thì A được xác thực và ngược lại.
Trong trường hợp A cũng cần xác thực lại B, ở bước yêu cầu xác thực A sẽ gửi định danh của A (IDA) cho B, B sẽ gửi kèm lại số ngẫu nhiên r và IDA trong được mã hóa bởi Ek. Ta có thể tóm tắt lại q trình xác thực như sau:
(1) A → B : IDA
(2) B → A : Ek( IDA || r || m)
(3) A → B : Ek(r || m’)
Chú ý thông điệp m và m’ là các thông điệp tùy chọn được B và A sinh ra nhằm phục vụ các mục đích khác như chống tấn cơng lặp lại.
b. Giao thức xác thực dựa trên mật mã công khai
Giao thức xác thực dựa trên mật mã công khai cũng tương tự như giao thức dựa trên mật khẩu khóa đối xứng, chỉ khác ở điểm là hệ mật mã sử dụng là mật mã
công khai. Nguyên lý chung của giao thức vẫn là bên B sẽ gửi cho bên A một số ngẫu nhiên r, nhưng thay vì sử dụng mật mã khóa đối xứng, B sẽ mã hóa số r và thơng điệp tùy chọn m bằng khóa cơng khai của A, và gửi cho A. A nhận được sẽ giải mã bằng khóa bí mật, rồi gửi lại cho B số r và thông điệp m’, sử dụng khóa cơng khai của B. B sẽ dùng khóa bí mật của B để lấy ra số r, so sánh với số ngẫu nhiên B đã gửi cho A, nếu trùng thì A được xác thực và ngược lại.
Nếu A và B cần xác thực nhau, ta áp dụng kỹ thuật tương tự với trường hợp xác thực khóa đối xứng, ta có q trình xác thực như sau:
(1) A → B : IDA
(2) B → A : E(PUA, IDA || r || m)
(3) A → B : E(PUB, r || m’)