Đ Lớp mỏy ảo thẻ java (JCVM) là mụi trường để cho cỏc ứng dụng nạp vào thẻ thực thi trờn đấy.
Đ Lớp giao tiếp ứng dụng thẻ java (JCAPI), đõy là nền tảng cơ bản để ứng dụng giao tiếp với cỏc module bờn trong cũng như bờn ngoài thẻ.
Đ Lớp giao tiếp ứng dụng Global Platform (GPAPI) và Global Platform System Applet, cũng tương tự như lớp JCAPI, đõy là một lớp riờng của thẻ Global Platform, nú hỗ trợ cỏc phương thức giao tiếp riờng mà chỉ thẻ Global Platform mới cú.
Đ Lớp giao tiếp nhà phỏt hành định nghĩa (Issuer defined APIs), thẻ java hỗ trợ cho phộp nhà phỏt hành thẻ cú thể thờm cỏc thư viện giao tiếp với thẻđể thực hiện những chức năng riờng biệt mà nhà phỏt hành mong muốn.
Đ Lớp ứng dụng, thẻ java cho phộp người dựng xõy dựng cỏc ứng dụng (gọi là cỏc applet) cú chức năng cụ thể như: ứng dụng vớ điện tử(wallet), ứng dụng khỏch hàng than thiết(loyalty), ứng dụng mó số cỏ nhõn(id), … Lớp này được quản lý bởi Card Content
2.5 CÁC CHỨC NĂNG CỦA THẺ EMV
Chuẩn EMV 2000 quy định một số lệnh bắt buộc để quản lý file hệ thống của thẻ EMV. Trong chuẩn mụ tả cụ thểđiều kiện trạng thỏi liờn quan, mó lỗi và mó trả lời đối với từng lệnh[4, 10].
Đ Lệnh SELECT:
Lệnh này dựng để lựa chọn một file. Sau khi thực hiện thành cụng, con trỏ bản ghi trong file cốđịnh tuyến tớnh khụng được xỏc định. Con trỏ trong file nối vũng sẽ là địa chỉ của bản ghi cuối cựng được cập nhật hoặc được tăng.
Đầu vào: Định danh file. Đầu ra:
- Nếu file được lựa chọn là MF hay DF, đầu ra sẽ là định danh file, tổng dung lượng bộ nhớ cũn trống.
- Nếu file được lựa chọn là EF, đầu ra là định danh file, kớch thước file, điều kiện truy cập, chỉ thị mất hiệu lực/cũn hiệu lực, cấu trỳc của EF và độ dài của bản ghi trong trường hợp là file nối vũng hoặc file tuyến tớnh độ dài cốđịnh.
Đ Lệnh đọc nhị phõn (READ BINARY):
Lệnh này chỉ dựng được với file thành phần trong suốt, với điều kiện đọc của file liờn quan được thoả món. Thoả món điều kiện này, lệnh đọc ra một chuỗi cỏc byte từ file. Lệnh yờu cầu địa chỉ tương đối, độ dài của chuỗi là đầu vào, đầu ra là một chuỗi cỏc byte.
Đ Lệnh đọc bản ghi (READ RECORD):
Dựng cho file thành phần cú cấu trỳc nối vũng hoặc tuyến tớnh với độ dài cố định. Điều kiện để lệnh được thực hiện là file đú cho phộp truy cập đọc.
Cú 4 chế độ để đọc một bản ghi. Chếđộ hiện tại (CURRENT), nơi bản ghi hiện tại được đọc, khụng gõy ảnh hưởng gỡ tới con trỏ bản ghi tương ứng. Chếđộ tuyệt đối (ABSOLUTE), bản ghi được đọc theo số hiệu bản ghi, con trỏ bản ghi khụng bị thay đổi. Chế độ kế tiếp (NEXT), trước khi đọc bản ghi con trỏ bản ghi đó tăng 1. Chế độ liền trước (PREVIOUS), con trỏ bản ghi giảm 1 trước khi đọc bản ghi.
Lệnh đọc bản ghi chỉ rừ một trong bốn chếđộ kể trờn cựng với độ dài bản ghi là đầu vào. Trường hợp là chế độ tuyệt đối, cần thờm số hiệu bản ghi. Kết quả trả về là bản ghi đú.
Đ Lệnh cập nhật nhị phõn (UPDATE BINARY):
Tương tự lệnh đọc nhị phõn, lệnh này chỉ được xõy dựng cho file thành phần trong suốt. Nú chỉ được thực hiện nếu điều kiện cập nhật được thoả món. Khi file được cập nhật nhị phõn, chuỗi cỏc byte được thay thế bởi giỏ trị mới ở trong lệnh. Đầu vào
là địa chỉ tương đối và độ dài của xõu được cập nhật cựng với chuỗi byte sẽđược cập nhật. Lệnh này khụng cú đầu ra.
Đ Lệnh cập nhật bản ghi (UPDATE RECORD):
Lệnh này dựng để thay thế bản ghi hiện tại bởi một bản ghi mới. Nú chỉ ỏp dụng cho file thành phần là tuyến tớnh nối vũng hoặc tuyến tớnh độ dài cố định, cựng với điều kiện truy cập cập nhật bản ghi được đỏp ứng. Bốn chếđộ của lệnh này hoàn toàn tương tự lệnh đọc bản ghi. Đầu vào là chếđộ và độ dài bản ghi, khụng cú đầu ra.
Đ Lệnh lấy dữ liệu (GET DATA):
Lệnh này dựng để đọc cỏc đối tượng dữ liệu được lưu trữ trong phạm vi ứng dụng hiện hành. Việc sử dụng lệnh này cũn tựy thuộc và từng đặc tả của thể thụng minh. Trong cỏc giao dịch tài chớnh, nhà phỏt hành thẻ cú thể lấy thụng tin về PIN try Counter (số lần vào mó PIN của khỏch hàng) bằng lệnh này. Lờnh này chỉ được sử dụng trong cỏc xử lý giao dịch.
Đ Lệnh đặt dữ liệu (PUT DATA):
Lệnh này được thực thể ngoài dựng để đặt thụng tin vào trong đối tượng dữ liệu lưu trữ, trong phạm vị file hệ thống trờn thẻ. Lệnh này phục vụ chức năng theo từng đặc tả của thẻ thụng minh tương ứng.
Đ Lệnh xỏc thực ngoài (EXTERNAL AUTHENTICATE):
Lệnh này được dựng thường xuyờn trong quỏ trỡnh cỏ thể húa thụng tin vào thẻ thụng minh. Trong một số trường hợp truy cập file để đọc thụng tin cũng phải thụng qua bước xỏc thực này nếu file cú yờu cầu.
Đ Lệnh xỏc thực nội (INTERNAL AUTHENTICATE):
Lệnh này được dựng để tớnh toỏn dữ liệu chữ ký số động (Signed Dynamic Application Data) bởi thẻ, nú sẽ dựng dữ liệu kớch thớch từ thiết bị đầu cuối gửi vào cựng dữ liệu ngẫu nhiờn của thẻ tạo ra và mó khúa cỏ nhõn được lưu trờn thẻ. Kết quả thẻ sẽ trả về thiết bị đầu cuối thụng tin dữ liệu chữ ký sốđộng.
Đ Lệnh xỏc nhận (VERIFY):
Lệnh này được sử dụng để so sỏnh dữ liệu PIN trong trường dữ liệu gửi vào với dữ liệu PIN cú trong ứng dụng. Lệnh được ỏp dụng khi CVM chọn từ danh sỏch CVM như là PIN Offline.
Đ Lệnh đổi PIN/mở khúa (PIN CHANGE/UNBLOCK):
Đõy là lệnh phỏt sinh thờm, mục đớch của nú là cung cấp cho nhà phỏt hành thẻ cú khả năng hoặc là mở khúa PIN hoặc là vừa cựng lỳc mở khúa PIN và thay đổi mó PIN tham chiếu trước đấy.
Sau khi lệnh này thực hiện hoàn thành, thẻ sẽ thực thi cỏc chức năng tiếp theo như: giỏ trị “PIN try Counter” sẽđược đặt lại bằng giỏ trị “PIN try Limit”, nếu cú yờu cầu thỡ giỏ trị PIN tham chiếu cũng được thay mới. Nếu cú dữ liệu PIN được truyền đi trong lệnh này thỡ nú cũng được mó húa bảo mật đểđảm bảo độ an toàn.
2.6 ĐẶC TẢỨNG DỤNG DEBIT VÀ CREDIT 2.6.1 Cỏc file trong trao đổi giao dịch tài chớnh 2.6.1 Cỏc file trong trao đổi giao dịch tài chớnh
2.6.1.1 Ánh xạ cỏc đối tượng dữ liệu
Hệ thống thanh toỏn hoặc nhà phỏt thành sẽ ỏnh xạ cỏc đối tượng dữ liệu (Mapping Data Objects) thớch ứng tới cỏc file cần thiết[4, 10].
Đ Tất cả cỏc file mà sử dụng được lệnh READ RECORD nhưđó định nghĩa chứa cỏc đối tượng dữ liệu trong đặc tả này sẽ dựng cỏc SFI trong khoảng từ 1 đến 10. Cỏc file này là:
- File thường là kiểu file tuyến tớnh cú thểđọc được sử dụng lệnh READ RECORD nhưđó mụ tả.
- File cú thể chứa nhiều bản ghi. Mỗi bản ghi giới hạn 254 byte bao gồm vị trớ (tag) và độ dài
- Mỗi bản ghi sẽ được tọa mó theo cấu trỳc của đổi tượng dữ liệu. Vị trớ của cấu trỳc này thường là ‘70’ mó hex biểu thị một mẫu riờng và độ dài là tổng độ dài của đối tượng được đúng gúi.
- File khụng những chứa cỏc đối tượng dữ liệu đó định nghĩa mà cũn được viết mó theo chuẩn BER-TLV
- File cú thể cú điều kiện truy cập tương ứng để cho phộp cập nhật nội dung nhưng chắc chắn là nú phải được phộp đọc.
Đ Cỏc file mà SFI nằm trong khoảng từ 11 đến 20 thường để dự trữ cho dữ liệu riờng được chỉ định hở hệ thống thanh toỏn riờng.
Đ Cỏc file mà SFI nằm trong khoảng từ 21 đến 30 thường để dự trữ cho dữ liệu riờng được chỉ định bởi nhà phỏt hành.
Đ Trong AFL sẽ xỏc đớnh định rừ cỏc file và cỏc bản ghi được dựng cho xử lý giao dịch.
2.6.1.2 Cỏc đối tượng dữ liệu bắt buộc
Bảng 1 sau liệt kờ cỏc đối tượng dữ liệu phải được thiết đặt trong thẻ nằm trong cỏc file đọc được bằng cỏch dựng lệnh READ RECORD.
Tag Value Presence
‘5F24’ Application Expiration Date M
‘5A’ Application Primary Account Number (PAN) M
‘8C’ Card Risk Management Data Object List 1 M
‘8D’ Card Risk Management Data Object List 2 M
Bảng 1: Cỏc đối tượng dữ liệu bắt buộc.
Tất cả những đối tượng dữ liệu được định nghĩa ở đõy thường trỳ trong cỏc file bờn trong thẻ[25].
Bảng 2 tiếp theo liệt kờ cỏc đối tượng dữ liệu phải cú sẵn trong thẻ nếu thẻđú hỗ trợ xỏc thực dữ liệu tĩnh (SDA) ngoại tuyến[25].
Tag Value
‘8F’ Certification Authority Public Key Index ‘90’ Issuer Public Key Certificate
93 Signed Static Application Data 92 Issuer Public Key Remainder 9F32 Issuer Public Key Exponent
Bảng 2: Dữ liệu yờu cầu cho SDA.
Bảng 21 kế tiếp cũng liệt kờ cỏc đối tượng dữ liệu phải cú sẵn trong thẻ nếu nú hỗ trợ xỏc thực dữ liệu động (DDA/CDA) ngoại tuyến[25].
Tag Value
‘8F’ Certification Authority Public Key Index ‘90’ Issuer Public Key Certificate
‘93’ Signed Static Application Data ‘92’ Issuer Public Key Remainder ‘9F32’ Issuer Public Key Exponent ‘9F46’ ICC Public Key Certificate ‘9F47’ ICC Public Key Exponent ‘9F48’ ICC Public Key Remainder
‘9F49’ Dynamic Data Authentication Data Object List (DDOL)
2.6.2 Lồng giao dịch
AIP (Application Interchange Profile) sẽđịnh rừ cỏc chức năng ứng dụng mà nú được hỗ trợ bởi thẻ. Thiết bị đầu cuối sẽ cố gắng thực thi chỉ những chức năng mà ICC hỗ trợ. Cỏc chức năng này sẽ thực hiện tuõn theo điều kiện thực thi. Hỡnh 27 mụ tả một luồng giao dịch cú thể thực hiện được[4].