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 giải pháp và xây dựng chương trình phát hành thẻ thông minh theo chuẩn EMV (Trang 46)

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. Bo toàn d liu 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. Bo toàn d liu đọ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ệ. (adsbygoogle = window.adsbygoogle || []).push({});

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].

Một phần của tài liệu Nghiên cứu giải pháp và xây dựng chương trình phát hành thẻ thông minh theo chuẩn EMV (Trang 46)