Quy trình xử lý UPDATE RECORD

Một phần của tài liệu THẺ MẠCH TÍCH HỢP EMV CHO HỆ THỐNG THANH TOÁN - ĐẶC TẢ ỨNG DỤNG THANH TOÁNCHUNG - PHẦN 5: QUY TRÌNH XỬ LÝ TẬP LỆNH BÊN PHÁT HÀNH ĐẾN THẺ (Trang 26 - 28)

Định dạng của dữ liệu lệnh (Dữ liệu liên quan bản ghi) cho UPDATE RECORD như Hình 7. '81' L Giá trị bản ghi '8E' '04' Mã MAC (4 byte)

Hình 7 - Định dạng Dữ liệu Lệnh cho UPDATE RECORD Req 5.48 (Kiểm tra bản mẫu gửi thông điệp bí mật để UPDATE RECORD):

Nếu byte đầu tiên của Trường Dữ liệu lệnh bí mật có giá trị không bằng '81' thì ứng dụng: • phải thiết lập bít 'tập lệnh bị lỗi' trong PTH thành giá trị 1b;

• phải chấm dứt quy trình xử lý lệnh UPDATE RECORD, phải hồi đáp với một SW1 SW2 để chỉ ra một lỗi và phải hồi đáp với SW1 SW2 = '6987' (các đối tượng dữ liệu gửi thông điệp bí mật đang chờ đợi bị mất);

Ứng dụng xác minh định dạng bản mẫu gửi thông điệp bí mật cho dữ liệu lệnh.

Req 5.49 (Kiểm tra chiều dài dữ liệu lệnh cho UPDATE RECORD):

Nếu một trong các điều sau là đúng:

• L được mã hóa một byte và New Lc không bằng 8+L; hoặc L được mã hóa hai byte và New Lc không bằng 9+L; thì thẻ:

• phải thiết lập bit 'tập lệnh bị lỗi' trong PTH thành giá trị 1b;

• phải chấm dứt quy trình xử lý lệnh UPDATE RECORD, phải hồi đáp với một SW1 SW2 để chỉ ra một lỗi và phải hồi đáp với SW1 SW2 = '6700' (chiều dài sai);

Req 5.50 (Kiểm tra thẻ tag MAC cho UPDATE RECORD):

Nếu một trong các điều sau là đúng:

• L được mã hóa một byte và giá trị của byte (L + 3) của Dữ liệu Liên quan Bản ghi có giá trị khác '8E' (thẻ tag MAC);

hoặc L được mã hóa hai byte và giá trị của byte (L + 4) của Dữ liệu Liên quan Bản ghi có giá trị khác '8E' (thẻ tag MAC);

thì thẻ:

• phải thiết lập bit ‘tập lệnh bị lỗi' trong PTH thành giá trị 1b;

• phải chấm dứt quy trình xử lý lệnh UPDATE RECORD, phải hồi đáp với một SW1 SW2 để chỉ ra một lỗi và phải hồi đáp với SW1 SW2 = '6987' (các đối tượng dữ liệu gửi thông điệp bí mật đang chờ đợi bị mất);

Nếu một trong các điều sau là đúng:

• L được mã hóa một byte và giá trị của byte (L + 4) của Dữ liệu Liên quan Bản ghi có giá trị khác '04' (chiều dài MAC);

hoặc L được mã hóa hai byte và giá trị của byte (L + 5) của Dữ liệu Liên quan Bản ghi có giá trị khác '04' (chiều dài MAC);

thì thẻ:

• phải thiết lập bit 'Tập lệnh bị lỗi' trong PTH thành giá trị 1b;

• phải chấm dứt quy trình xử lý lệnh UPDATE RECORD, phải hồi đáp với một SW1 SW2 để chỉ ra một lỗi và phải hồi đáp với SW1 SW2 = '6988' (các đối tượng dữ liệu gửi thông điệp bí mật không chính xác);

nếu không, ứng dụng phải tiếp tục quy trình xử lý có xác minh mã MAC.

Khi thẻ được phát hành, một vùng bộ nhớ được cấp cho từng bản ghi. Chiều dài vùng này cho bản ghi biểu diễn kích cỡ cho phép một bản ghi và phải lớn hơn hoặc bằng kích cỡ cần thiết để cá thể hóa bản ghi. Chiều dài vùng cấp cho một bản ghi có thể khác nhau giữa các bản ghi. Chiều dài vùng cấp cho từng bản ghi là một thuộc tính bản ghi không bị chỉnh sửa bởi lệnh UPDATE RECORD. Bộ nhớ cấp phát cho một bản ghi còn thừa có thể lưu một giá trị mới sử dụng lệnh UPDATE RECORD. Phương thức để cấp phát chiều dài cho bản ghi nằm ngoài phạm vi của bộ tiêu chuẩn này và không nằm trong việc triển khai.

Nếu chiều dài của giá trị mới cho bản ghi nhỏ han hoặc bằng chiều dài vùng cấp cho bản ghi,

UPDATE RECORD thay thế bản ghi hiện thời với giá trị bản ghi mới, chỉ nếu kích cỡ thực của các bản ghi khác nhau. Cập nhật từng phần bản ghi không được hỗ trợ. Chiều dài của dữ liệu bản ghi được cập nhật với chiều dài của dữ liệu mới, nhưng chiều dài vùng cấp của bản ghi không thay đổi. Giá trị bản ghi mới được trả về trong hồi đáp cho lệnh READ RECORD.

Các bản ghi trong tệp tin có SFI trong dải 1 đến 10 phải theo bản mẫu '70'. Hệ quả của việc này, giá trị bản ghi mới phải theo bản mẫu '70'. Tuy nhiên, ứng dụng không biên dịch giá trị này. Điều này là phải của bên phát hành để chỉnh sửa định dạng giá trị bản ghi mới khi sinh ra dữ liệu cho lệnh tập lệnh bên phát hành.

Lệnh UPDATE RECORD không yêu cầu các byte điền đầy trong dữ liệu lệnh.

Đối với các bản ghi có chứa các Mục nhập Lựa chọn Bản ghi; bởi vì lệnh UPDATE RECORD có chiều dài cho dữ liệu lệnh bổ sung cho chiều dài Mục nhập lựa chọn bản ghi có trong bản ghi, bên phát hành được phép thêm các byte điền đầy vào cuối Mục nhập Lựa chọn Bản ghi trong một bản ghi. Để đảm bảo rằng Mục nhập Lựa chọn Bản ghi có thể được xử lý chính xác bởi ứng dụng, nếu các byte điền đầy được thêm vào, chúng phải được thêm vào phần cuối Mục nhập Lựa chọn Bản ghi.

CHÚ THÍCH: EMV sử dụng giá trị '00' cho các byte điền đầy.

Req 5.52 (Không yêu cầu byte điền đầy trong UPDATE RECORD đến Mục nhập Lựa chọn Hồ sơ):

Lệnh UPDATE RECORD phải chấp nhận các bản ghi Mục nhập Lựa chọn Hồ sơ không có các byte điền đầy.

Lệnh UPDATE RECORD đến một Mục nhập Lựa chọn Hồ sơ được phép chứa chuỗi các byte điền đầy với giá trị '00'.

Req 5.53 (Dữ liệu cập nhật quá dài đối với bản ghi):

Nếu chiều dài dữ liệu cập nhật cho bản ghi lớn hơn chiều dài vùng cấp cho bản ghi, thì ứng dụng phải chấm dứt quy trình xử lý lệnh UPDATE RECORD, phải hồi đáp với một SW1 SW2 chỉ ra một lỗi, và phải hồi đáp với SW1 SW2 = '6700' (chiều dài sai);

Ứng dụng xác minh mã MAC.

Req 5.54 (Xác minh MAC cho UPDATE RECORD):

Nếu việc xác minh mã MAC không thành công, thì ứng dụng: • phải thiết lập bit 'tập lệnh bị lỗi' trong PTH thành giá trị 1b;

• phải chấm dứt quy trình xử lý lệnh UPDATE RECORD, phải hồi đáp với một SW1 SW2 để chỉ ra một lỗi và phải hồi đáp với SW1 SW2 = '6982' (trạng thái an ninh không phù hợp);

• được mở khóa;

• thiết lập bit 'ứng dụng bị khóa' trong PTH thành giá trị 0b; • tăng thêm một cho bộ Đếm Lệnh Tập lệnh bên Phát hành; • hồi đáp với SW1 SW2 = '9000';

Một phần của tài liệu THẺ MẠCH TÍCH HỢP EMV CHO HỆ THỐNG THANH TOÁN - ĐẶC TẢ ỨNG DỤNG THANH TOÁNCHUNG - PHẦN 5: QUY TRÌNH XỬ LÝ TẬP LỆNH BÊN PHÁT HÀNH ĐẾN THẺ (Trang 26 - 28)

Tải bản đầy đủ (DOC)

(33 trang)
w