Bảo toàn dữ liệu với thẻ thông minh

Một phần của tài liệu Nghiên cứu thẻ thông minh và ứng dụng vào an toàn trong thông tin di động (Trang 40)

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.

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.

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.

Một phần của tài liệu Nghiên cứu thẻ thông minh và ứng dụng vào an toàn trong thông tin di động (Trang 40)