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 quá 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ó quá trình xác thực nhƣ sau:
(1)A → B : IDA
(3)A → B : E(PUB, r || m’)