Chương 2 HỆ ĐIỀU HÀNH THẺ THÔNG MINH
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.