Thụng điệp trờn đường truyền cú thể được bảo vệ bởi mó xỏc thực thụng điệp (Message Authentication Code - MAC) hoặc được bảo vệ bởi MAC và mó hoỏ.
Để tớnh toỏn MAC hoặc mó hoỏ dữ liệu, khoỏ bớ mật được chia sẻ bởi TTN và thẻ thụng minh.
a. Bảo toàn dữ liệu ghi vào thẻ thụng minh
TTN Thẻ TM
Gửi số ngẫu nhiên r
Ghi có bảo vệ (file, offset, len, MAC)
ext file
Tạo và ghi lại số ngẫu nhiên r
Tính MAC cho
dữ liệu, dùng r và k dữ liệu, dùng r và kTính MAC’ cho
Ghi dữ liệu vào thẻ nếu MAC = MAC’ Yêu cầu gửi số ngẫu nhiên r
1. TTN yờu cầu thẻ TM gửi số ngẫu nhiờn r.
2. Thẻ TM tạo và ghi lại số ngẫu nhiờn r, gửi nú tới TTN.
3. TTN tớnh MAC cho phần đầu (header) của lệnh APDU ghi và dữ liệu sẽ ghi vào thẻ. Để tớnh MAC, nú dựng số ngẫu nhiờn r làm vector khởi tạo ICV và khoỏ kext, phự hợp với khoỏ kfile bảo vệ file trong thẻ. Nú xõy dựng cõu lệnh gồm phần đầu APDU, dữ liệu, MAC, và gửi lại cho thẻ.
4. Thẻ TM nhận lệnh ghi. Nú tớnh MAC’ cho phần đầu của lệnh APDU và dữ liệu vừa nhận được (sử dụng số ngẫu nhiờn r làm vector khởi tạo ICV và khoỏ kfile). Nếu MAC = MAC’, dữ liệu chứa trong lệnh sẽ được ghi vào bộ nhớ thường trỳ của thẻ TM[7].
b. Bảo toàn dữ liệu đọc từ thẻ thụng minh
TTN Thẻ TM
Gửi số ngẫu nhiên r
Dữ liệu + MAC
Ghi lại số r
Đọc có bảo vệ (file, offset, len)
ext file
Tạo và ghi lại số ngẫu nhiên r
Tính MAC’ cho dữ liệu, dùng r và k
MAC = MAC’ ?
Đọc dữ liệu, tính MAC cho dữ liệu,
dùng r và k Gửi lại dữ liệu
và MAC Gửi đáp ứng đã có r
Hỡnh 32: Sơđồ thực hiện quỏ trỡnh mó húa bản tin đọc từ thẻ thụng minh ra.
1. TTN tạo số ngẫu nhiờn r và gửi tới thẻ TM như một yờu cầu. 2. Thẻ TM ghi lại số ngẫu nhiờn r, gửi lại đỏp ứng rằng đó cú số r.
3. TTN gửi lệnh đọc dữ liệu từ thẻ TM. Dữ liệu cú độ dài xỏc định, từ một file bắt đầu ở chỉ mục cho trước, trong chếđộđược bảo vệ.
4. Thẻ TM nhận lệnh đọc dữ liệu từ file thuộc vựng lưu trữ cốđịnh trong thẻ. Thẻ TM dựng khoỏ kfilevà số r (như là vector khởi tạo ICV), để tớnh MAC cho dữ liệu. Thẻ gửi dữ liệu và MAC cho TTN.
5. TTN nhận dữ liệu từ thẻ cựng với MAC. Nú tớnh MAC’ cho dữ liệu vừa nhận được với khoỏ kext phự hợp với kfile và số r (như là vector khởi tạo ICV). Nếu MAC = MAC’, thỡ TTN chấp nhận dữ liệu là đọc từ thẻ TM[7].