3.1. THẺ THANH TOÁN
3.1.2.2 Giao thức xác thực với thẻ thông minh
Để thiết lập sự tin tƣởng giữa các thực thể tham gia – sử dụng thẻ thông minh, chúng ta sử dụng các giao thức xác thực, trong đó thực thể ngoài là “chủ”, thẻ thông minh là “tớ”. Thực thể ngoài có thể là mạng di động hoặc các chƣơng trình ứng dụng trên máy chủ.
1) Thẻ thông minh xác thực thực thể ngoài
Thẻ thông minh (Thẻ TM) đi kiểm tra thực thể ngoài (TTN). Thẻ thông minh và thực thể ngoài xây dựng giao thức nhƣ sau:
Hình 3.11: Thẻ thông minh xác thực thực thể ngoài
Giải thuật mã hoá có thể là mã hoá khoá đối xứng (ví dụ DES) hoặc mã hoá khoá công khai (ví dụ RSA). Trong trƣờng hợp mã hoá khoá đối xứng, TTN và thẻ TM phải chia sẻ cùng khoá bí mật. Nếu mã hoá khoá công khai đƣợc sử dụng, TTN dùng khoá công khai để mã hoá, thẻ TM dùng khoá bí mật để giải mã. [8],[10].
1. TTN yêu cầu số ngẫu nhiên r từ Thẻ TM
2. Thẻ TM tạo ra số ngẫu nhiên r, ghi lại và gửi nó tới TTN
3. TTN dùng khoá mã hoá k_ext (đã thoả thuận với thẻ TM) để mã hoá r và gửi lệnh xác thực gồm bản mã e k_ext(r) tới thẻ TM.
4. Thẻ TM nhận lệnh xác thực, giải mã số ngẫu nhiên đã đƣợc mã hoá trong lệnh đó.
2) Thực thể ngoài xác thực thẻ thông minh
TTN đi xác thực thẻ TM. Giao thức xác thực đƣợc thiết lập nhƣ sau:
Hình 3.12: Thực thể ngoài xác thực thẻ thông minh
Nếu thuật toán mã hoá khoá đối xứng đƣợc sử dụng, TTN và thẻ TM phải chia sẻ cùng khoá bí mật. Nếu thuật toán mã hoá khoá công khai đƣợc sử dụng, TTN dùng khoá bí mật để giải mã, thẻ TM dùng khoá công khai để mã hoá.
1. TTN gửi yêu cầu xác thực chứa số ngẫu nhiên r và khoá chung n
với Thẻ TM
2. Thẻ TM dùng khoá n mã hoá số ngẫu nhiên r nhận đƣợc từ TTN
đƣợc bản mã e k_card[n] (r) và gửi trở lại TTN
3. TTN dùng khoá n giải mã số r đã đƣợc mã hoá.