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].
3.2.3 Bảo toàn và bảo mật dữ liệu với thẻ thụng minh
a. Bảo toàn và bảo mật dữ liệu ghi vào thẻ thụng minh
TTN Th ẻ TM
G ửi số ngẫu nhiên r
G hi có bảo vệ (file, offset, len, bản m ã)
ext
Tạo và ghi lại số ngẫu nhiên r Tính M AC cho
dữ liệu, dùng r và k M ã hoá (phần đầu
APD U + dữ liệu +
M AC) G hi dữ liệu vào thẻnếu M AC = M AC ’ Yêu cầu gửi số ngẫu nhiên r
G iải m ã bản m ã. Tính M AC’ cho dữ liệu, dùng r và kfile
Hỡnh 33: Sơđồ thực hiện quỏ trỡnh bảo mật dữ liệu và mó húa bản tin từ thực thể ngoài ghi vào 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 số ngẫu nhiờn r, ghi lại, và gửi nú tới TTN.
3. TTN tớnh MAC cho phần đầu 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 giỏ trị khởi tạo ICV và khoỏ kext, phự hợp với khoỏ kfile bảo vệ file trong thẻ. TTN mó hoỏ phần đầu của lệnh APDU, dữ liệu, MAC và gửi bản mó tới thẻ TM.
4. Thẻ TM nhận lệnh ghi. Giải mó bản mó trong lệnh với số ngẫu nhiờn r và khoỏ kfile thớch hợp. Nú tớnh MAC’ cho phần đầu của lệnh APDU và dữ liệu vừa nhận được (dựng khoỏ kfile và số ngẫu nhiờn r làm vector khởi tạo ICV). 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 (cú bảo mật)[7].
b. Bảo toàn và bảo mật dữ liệu đọc từ thẻ thụng minh
TTN Thẻ TM
Gửi số ngẫu nhiên r
e (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
Giải mã (dữ liệu + MAC) 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 Mã hoá (dữ liệu + MAC),
gửi lại bản mã
kfile
Gửi đáp ứng đã có r
Hỡnh 34: Sơđồ thực hiện quỏ trỡnh bảo mật dữ liệu và mó húa bản tin đọc ra từ thẻ thụng minh.
1. TTN tạo ra 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ẻ thụng minh. Dữ liệu cú độ dài xỏc định, từ một file, bắt đầu ở chỉ mục cho trước, trong chếđộ mó hoỏ.
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ẻ dựng khoỏ kfile và số r (như giỏ trị khởi tạo ICV) để tớnh MAC cho dữ liệu. Thẻ mó hoỏ dữ liệu và MAC (cũng dựng số r và khoỏ kfile , với cựng thuật toỏn), gửi bản mó cho TTN.
5. TTN nhận dữ liệu và MAC từ thẻ ở dạng bản mó. Nú giải mó bản mó bằng khoỏ kext phự hợp với khoỏ kfile và số r. Nú tớnh MAC’ cho dữ liệu nhận được (dựng khoỏ kext và số r). Nếu MAC = MAC’, thỡ TTN chấp nhận dữ liệu là đọc từ thẻ TM (cú bảo mật)[7].
3.2.4 Thiết lập khoỏ phiờn với thẻ thụng minh
a.Thiết lập khoỏ phiờn bằng hệ mó hoỏ khoỏ đối xứng
TTN Thẻ TM
Gửi lệnh thiết lập khoá phiên
Tạo và ghi lại số ngẫu nhiên r, Tạo khoá phiên từ khoá chính và r Tạo khoá phiên từ
khoá chính và r
Gửi r
Hỡnh 35: Sơđồ thiết lập khúa phiờn giữu thẻ thụng minh với thực thể ngoài dựng hệ mó
húa đối xứng.
1. TTN gửi lệnh để thiết lập khoỏ phiờn cho thẻ TM.
2. Thẻ TM tạo và ghi lại số ngẫu nhiờn r. Tạo khoỏ phiờn từ khoỏ chớnh và r. Gửi lại số ngẫu nhiờn r cho TTN.
3. TTN nhận số ngẫu nhiờn r. Tạo khoỏ phiờn từ khoỏ chớnh (chung với thẻ) và r. Hai bờn đều tạo khoỏ chung theo cựng thuật toỏn tạo khoỏ.
b.Thiết lập khoỏ phiờn bằng hệ mó hoỏ khoỏ cụng khai
TTN Thẻ TM
Giải mã bản mã dùng k d (e ) = k Tạo khoá phiên k ,
mã hoá bằng khoá k priv s Gửi trả lời pub
Gửi khoá đã mã hoá (e (k ))kpub s
kpriv kpub s
Hỡnh 36: Sơđồ thiết lập khúa phiờn giữa thẻ thụng minh với thực thể ngoài dựng hệ mó
1. TTN tạo ra khoỏ phiờn ks, mó hoỏ nú với khoỏ cụng khai kpub tương ứng với khoỏ bớ mật kpriv trong thẻ.
2. Thẻ TM giải mó khoỏ phiờn ks(dựng khoỏ bớ mật thớch hợp), gửi trả lời tới TTN. Một bờn tạo khoỏ và chuyển cho bờn kia một cỏch an toàn[7].
3.3 QUẢN Lí KHểA VÀ CƠ CHẾ BẢO MẬT CỦA THẺ EMV 3.3.1 Xỏc thực dữ liệu tĩnh 3.3.1 Xỏc thực dữ liệu tĩnh
Xỏc thực dữ liệu tĩnh ngoại tuyến (SDA) được thực hiện bởi thiết bị đầu cuối sử dụng mẫu chữ ký số dựa trờn cụng nghệ khúa cụng khai để xỏc nhận tớnh hợp phỏp của dữ liệu tĩnh quan trọng nằm trong thẻ. Hỡnh thức này được định nghĩa là xỏc thực tớnh (SDA) mà nú xỏc minh dữ liệu đó được định nghĩa bởi AFL (Application File Locator) và bằng danh sỏch tag SDA tựy chọn[4].
SDA cần phải cú một chứng chỉ, chứng chỉ này được mó húa bảo mật cao và nú được ký húa bởi cỏc khúa cụng khai nhà phỏt hành.
Mỗi thiết bịđầu cuối mỗi ứng dụng được cụng nhận bởi thiết bịđầu cuối.
Đặc điểm này cho phộp đa ứng dụng chia sẽ những chứng chỉ khúa cụng khai tương tự nhau. Mối quan hệ giữa dữ liệu và cỏc khúa mó húa được chỉ ra trong hỡnh 37 dưới đõy.
Hỡnh 37: Sơđồ xỏc thực dữ liệu tĩnh (SDA). 3.3.2 Xỏc thực dữ liệu động ngoại tuyến
Xỏc thực dữ liệu động ngoại tuyến (Offline Dynamic Data Authentication-DDA) được thực thi bởi thiết bị đầu cuối sử dụng mẫu chữ ký số dựa trờn cụng nghệ khúa cụng khai để xỏc thực vởi thẻ và xỏc nhận tớnh hợp phỏp của dữ liệu được tạo ra bởi thẻ và dữ liệu gửi đến thẻ bởi thiết bịđầu cuối. Điều này sẽ ngăn ngừa sự giả mạo thẻ.
Hiện cú hai hỡnh thức xỏc thực dữ liệu động ngoại tuyến:
Đ DDA được thực thi trước khi phõn tớch thẻ, tại đú, trong thẻ sẽ tạo ra một chữ ký số dựa trờn dữ liệu do thẻ tạo ra và dữ liệu từ thiết bị đầu cuối gửi tới từ danh sỏch đối tượng dữ liệu xỏc thực động (DDOL).
Đ Kết hợp xỏc thực dữ liệu động/tạo mó ứng dụng (DDA/CDA) được thực thi xảy ra ở lệnh GENERATE AC thứ nhất và thứ hai. Trong hỡnh thức này, dữ liệu do thẻ tạo ra cú chứa TC hoặc ARQC và một số ngẫu nhiờn cũng được tạo ra bởi thiết bịđầu cuối và được định nghĩa bởi CDOL1 hoặc CDOL2.
DDA cũng cần phải cú một chứng chỉ, chứng chỉ này được mó húa bảo mật cao và nú được ký húa bởi cỏc khúa cụng khai nhà phỏt hành[4]. Mối quan hệ giữa dữ liệu và cỏc khúa mó húa được chỉ ra trong hỡnh 38 dưới đõy.
Hỡnh 38: Sơđồ xỏc thực dữ liệu động ngoại tuyến (DDA).
3.3.3 Mó húa số PIN
Sự mó húa số PIN của quỏ trỡnh xỏc minh PIN ngoại tuyến được thực hiện bởi thiết bị đầu cuối sử dụng cơ chế mó húa khụng đối xứng để đảm bảo an toàn sự truyền số PIN từ bộđệm PIN (nằm ở thiết bị đầu cuối) tới thẻ.
Chớnh xỏc hơn, bản thõn thẻ sẽ cú một cặp khúa cụng khai liờn kết với PIN đó được mó húa. Khúa cụng khai này thỡ được dựng bởi bộđệm PIN hoặc một thành phần an toàn của thiết bị đầu cuối (khỏc với bộđệm PIN) để mó húa PIN và một khúa riờng được sử dụng bởi thẻđể giải mó số PIN đó được mó húa cho việc kiểm chứng số PIN.
Trong trường hợp này, một bộ phận an toàn từ thiết bịđầu cuối khỏc với bộđờm PIN được sử dụng để mó húa PIN, sau đú chuyển số PIN từ bộđệm PIN tới bộ phận này, quỏ trỡnh này cũng phải đảm bảo an toàn theo đỳng yờu cầu bảo mật[4].
3.4.4 Thụng điệp an toàn
Mục đớch của bảo vệ bản tin (Security Messaging) đú là đảm bảo tớnh bớ mật của dữ liệu, tớnh toàn vẹn dữ liệu và xỏc thực ở nơi gửi. Tớnh toàn vẹ dữ liệu và xỏc thực nhà phỏt hành được thực hiện bằng cỏch sử dụng MAC. Tớnh bớ mật dữ liệu được thực hiện bằng cỏch mó húa trường dữ liệu[4].
Bảo vệ bản tin tuõn theo hai kiểu định dạng sau :
Đ Định dạng 1: Thụng điệp an toàn tuõn theo chuẩn ISO/IEC 7816-4, ở đõy trường dữ liệu của giả lệnh sử dụng mó húa Basic Encoding Rules-Tag Length Value (BER-TLV) và luật mó húa ASN.1/ISO 8825-1. Điều này được chỉ định rừ trong 4 bit sau cựng của byte CLA trong lệnh APDU, giỏ trị của nú thường được đặt bằng ‘C’ theo mó hex. Điều này ngụ ý rằng phần đầu lệnh luụn được tớch hợp trong quỏ trớnh tớnh toỏn MAC.
Đ Định dạng 2: Trong kiểu định dạng này, trường dữ liệu của giả lệnh khụng sử dụng mó húa BER-TLV cho mó húa bản tin nhưng lại sử dụng nú cho mục đớch khỏc. Trong trường hợp này, cỏc đối tượng dữ liệu trong trường dữ liệu và độ dài tương ứng của những đối tượng dữ liệu đú đó được biết trước bởi bờn gửi của lệnh sử dụng thụng điệp an toàn và được biết trước bởi ứng dụng được lựa chọn hiện tại. Cũng tuõn theo chuẩn ISO/IEC 7816-4, thụng điệp an toàn tuõn theo ”Định dạng 2” được chỉđịnh rừ ràng bởi 4 bớt sau cựng của byte CLA trong lệnh APDU, giỏ trịđú được đặt bằng ‘4’ theo mó hex.
3.4.5 Cỏc chớnh sỏch và nguyờn tắc quản lý chứng chỉ khúa cụng khai