Chương 4 : XỬ LÝ GIAO DỊCH THẺ EMV
4.9 XÁC THỰC CỦA NHPH VÀ XỬ LÝ TRỰC TUYẾN
Khi xử lý giao dịch EMV, NHPH có thể gửi một gói tin yêu cầu xác thực (1100) cho NHTT ít nhất là bởi vì một trong những lý do sau:
- Thiết bị đọc là một loại ―chỉ xác thực trực tuyến‖, loại này luôn luôn yêu cầu sự xác thực của NHPH.
- Người phục vụ tạo rõ ràng gói tin yêu cầu xác thực, khi có một số nghi ngờ về chủ thẻ tại điểm chấp nhận dịch vụ.
- Giai đoạn quản lý rủi ro của thiết bị đọc đã chọn giao dịch hiện tại ngẫu nhiên để xác thực. Thiết bị đọc có thể đạt được những quyết định theo kỹ thuật kiểm tra nhanh, kỹ thuật này đã phát hiện ra một số lớn những giao dịch đã được thực hiện ngoại tuyến.
- Thiết bị đọc yêu cầu xác thực trực tuyến theo giai đoạn phân tích hoạt động của thiết bị đọc, khi TVR được so sánh với Mã hoạt động trực tuyến của thiết bị đọc/NHPH. Thiết bị đọc đưa ra lệnh GENERATE AC thứ nhất có tham số điều khiển liên quan (P1) đặt là ARQC. Thẻ phân tích đề xuất của thiết bị đọc theo thủ tục quản lý rủi ro thẻ của nó, thủ tục này phản ánh sự bảo mật và những chính sách sẵn có của NHPH, và chấp thuận xác thực trực tuyến bởi NHPH.
- Thiết bị đọc yêu cầu hoàn toàn ngoại tuyến qua phân tích hoạt động của thiết bị đọc. Thiết bị đọc gửi lệnh GENERATE AC thứ nhất với tham số điều khiển liên quan (P1) cài đặt cho TC. Thẻ phân tích đề xuất của thiết bị đọc theo thủ tục quản lý rủi ro thẻ của nó và giảm mức quyết định được thiết bị đọc đề xuất từ TC đến ARQC.
Bất cứ khi nào thẻ trả lời với một ARQC trong Dữ liệu thông tin mã hóa, thiết bị đọc khởi động chức năng xử lý trực tuyến. Điều này có nghĩa là thẻ và thiết bị đọc đánh giá giao dịch hiện tại ngoài những giới hạn rủi ro cho một giao dịch hoàn toàn ngoại tuyến, như định nghĩa của NHPH, hệ thống thanh toán, và NHTT. Do đó, NHPH được yêu cầu phân tích giao dịch EMV thực tế tại điểm chấp nhận dịch vụ, dựa trên thông tin mà nó nhận được từ thiết bị đọc và thông tin tài khoản nó lưu trong IH kết nối với thẻ. Việc này bảo đảm rằng NHPH có thể xem xét những điều kiện giao dịch và có thể chấp nhận hay từ chối thanh toán thẻ.
4.9.1 Yêu cầu và phản hồi xác thực với dữ liệu của chip
Thiết bị đọc tạo một gói tin yêu cầu xác thực 1100. Trường dữ liệu bao gồm trong gói tin này là giống với những trường dữ liệu cho việc xử lý giao dịch khi sử dụng thẻ từ. Hơn nữa, gói tin yêu cầu xác thực bao gồm trường dữ liệu hệ thống liên quan của thẻ, tương ứng với bit 55 trong hình ảnh (bản đồ bit) của những thành phần dữ liệu có trong gói tin 1100, theo chuẩn ISO 8583: 1993. Trường này chứa tất cả những đối tượng dữ liệu thu được từ điểm chấp nhận dịch vụ, những đối tượng này cho phép IH kiểm tra sự đúng đắn của ARQC mà được thẻ đưa ra. Trong số những đối tượng dữ liệu này một điều có thể đề cập:
- Mã hóa ứng dụng (ARQC);
- Dữ liệu định danh tài khoản của thẻ (PAN hoặc dãy số PAN); - ATC và Số không đoán được;
- Dữ liệu ứng dụng của NHPH (IAD), dữ liệu này có thể bao gồm bộ chỉ dẫn khóa (key indicator) và số phiên bản của thuật toán để xác định duy nhất một phiên bản nào đó của IMKAC và của thuật toán MAC được sử dụng để tính toán ARQC trong thẻ. IAD cũng có thể bao gồm những giá trị bằng chứng của việc xử lý SDA hoặc DDA của thiết bị đọc (ví dụ: Mã xác thực dữ liệu hoặc Số động của thẻ). Hơn nữa, kết quả kiểm tra quản lý rủi ro thẻ có thể cũng được bao gồm trong IAD.
- Tất cả đối tượng dữ liệu cần thiết để tái đưa ra những yêu cầu giao dịch. Sau khi nhận gói tin yêu cầu xác thực 1100, IH đầu tiên kiểm tra xem thẻ đang sử dụng tại điểm chấp nhận dịch vụ có phải là thẻ thật không. Từ đây modun mã hóa của IH phải kiểm tra sự đúng đắn của ARQC theo những bước sau:
- Sử dụng chỉ thị khóa có trong IAD để lấy lại phiên bản đúng của IMKAC. - Sử dụng dữ liệu định danh tài khoản lấy được từ khóa MKAC tương ứng với thẻ tham gia giao dịch.
- Thu được khóa phiên thực tế SSKAC từ MKAC, sử dụng ATC như nhiều thông tin trong cây khóa (keys-tree).
- Sử dụng số phiên bản của thuật toán trong IAD để gọi cùng thuật toán tính toán của MAC như đã được sử dụng trong thẻ.
- Sử dụng SSKAC đưa ra một MAC trên cùng những đối tượng dữ liệu được thẻ xem xét trong yêu cầu giao dịch.
- So sánh MAC đã tính với ARQC nhận được trong gói tin yêu cầu xác thực 1100. Nếu hai giá trị này là bằng nhau thì ARQC được chấp nhận như bằng chắng hợp lệ rằng thẻ đang sử dụng tại điểm chấp nhận dịch vụ là xác thực và là thẻ thật.
IH xác định tài khoản của chủ thẻ bằng cách sử dụng dữ liệu định danh tài khoản nhận được từ gói tin yêu cầu xác thực. Thông tin tài khoản giữ kết nối với thẻ, bao gồm lịch sử những giao dịch gần nhất, cho phép NHPH thi hành thủ tục quản lý rủi ro đã cải tiến. IH có thể thực hiện những kiểm tra thêm, những kiểm tra mà không thể thực hiện được tại điểm chấp nhận dịch vụ. Bởi vậy, NHPH có thể xác định những giao dịch được thực hiện với thẻ mà đã được báo cáo là mắt cắp, hoặc đã chi tiêu vượt hạn mức số dư tài khoản. Do đó, NHPH có thể chấp nhận hoặc từ chối giao dịch, có chỉ rõ lý do từ chối giao dịch.
NHPH có thể chuẩn bị Dữ liệu xác thực của NHPH có nhãn 91, dữ liệu này bao gồm hai trường sau: Mã hóa phản hồi xác thực (ARPC) trên 8 byte, và Mã phản hồi xác thực (ARC) trên 2 byte.
Modun mã hóa của IH tính toán ARPC như một mã hóa tripple-DES trong ECB trên kết quả của một phép toán XOR giữa ARPC và ARC được bổ sung vào bên phải 6 byte 00h. ARQC là giá trị nhận được trong gói tin 1100 và dùng như một thách thức chống lại những tấn công nghe lén giả mạo. Mã hóa này được đưa ra với cùng khóa phiên SSKAC, khóa được đưa ra bởi modu mã hóa của IH, khi kiểm tra ARQC. ARQC cho phép thẻ xác thực NHPH và kiểm tra Mã phản hồi xác thực thể hiện lại quyết định của NHPH có liên quan đến việc kết thúc giao dịch EMV hiện tại.
NHPH cũng có thể xem xét trạng thái của giao dịch EMV, thiết bị đọc báo cáo trạng thái trong TVR và thẻ báo cáo trạng thái trong kết quả kiểm tra quản lý rủi ro thẻ, trạng thái giao dịch EMV là một đối tượng dữ liệu được bao gồm trong IAD. Hai đối tượng dữ liệu được đề xuất này cho việc bao gồm trong gói tin yêu cầu xác thực. Làm sáng tỏ thông tin trạng thái của giao dịch EMV hoặc đánh giá một số hoạt động quản lý sau phát hành khác, NHPH có thể quyết định là nó cần để sửa chữa hoạt động của thẻ.
Ví dụ về việc sửa chữa bao gồm:
- Việc kéo dài thêm ngày hiệu lực, việc này cho phép chủ thẻ nếu quên gia hạn thẻ để hoạt động, cho một khoảng thời gian giới hạn, với một thẻ hết hiệu lực;
- Mở khóa ứng dụng, theo một số lần thử PIN vượt quá giới hạn;
- Sửa đổi một số tham số của quản lý rủi ro thẻ, giống như việc tiêu vượt hạn mức ngày, tuần, tháng, phụ thuộc vào số tiền sẵn có trong tài khoản;
- Cập nhật một vài tham số mã hóa, việc cập nhật này được định kỳ thay đổi vì những lý do bảo mật.
Tất cả những sửa đổi này được IH quyết định được chuyển trong một dãy những lệnh sau phát hành, những lệnh này được gói trong Mẫu kịch bản của NHPH 1 có nhãn 71 hoặc trong Mẫu kịch bản của NHPH 2 có nhãn 72.
Sau tất cả những xử lý này, IH tạo ra gói tin phản hồi xác thực 1110. Gói tin này bao gồm những trường dữ liệu kết nối xử lý giao dịch được thực hiện với thẻ từ. Hơn nữa, gói tin phản hồi xác thực bao gồm trường dữ liệu hệ thống có liên quan, tương ứng với bit 55 trong bản đồ (bitmap) của những thành phần dữ liệu có trong gói tin 1110. Khi xác thực của NHPH được thực hiện, trường này lưu Dữ liệu xác thực của NHPH, dữ liệu này bao gồm ARPC và ARC. Khi quản lý sau phát hành của thẻ là bắt buộc, thì NHPH gồm có trong trường mẫu kịch bản NHPH 1 hoặc mẫu kịch bản của NHPH 2.
Nếu như thiết bị đọc không nhận được gói tin phản hồi xác thực, hoặc nhận được quá muộn, hoặc với một cú pháp không hợp lệ, thì thiết bị đọc sẽ xử lý giao dịch như việc không thể thực hiện trực tuyến.
Nếu thiết bị đọc nhận được gói tin phản hồi xác thực nhưng nó không chứa Dữ liệu xác thực của NHPH, thì thiết bị đọc sẽ không thực hiện lệnh EXTERNAL AUTHENTICATE và sẽ đặt bit 5, ―Xác thực của NHPH được thực hiện‖, trong TSI là 0. Còn không, thẻ thực hiện xác thực NHPH như giải thích dưới đây.
4.9.2 Xác thực của NHPH
Nếu Dữ liệu xác thực của NHPH (nhãn 91) được nhận trong gói tin phản hồi xác thực 1110, thì thiết bị đọc kiểm tra nội dung của bit 3, ―Xác thực của NHPH được hỗ trợ‖, trong AIP.
Khi bit này được đặt là 1, thẻ hỗ trợ xác thực NHPH thông qua lệnh EXTERNALE AUTHENTICATE. Trong trường hợp này, thiết bị đọc chuẩn bị R-APDU tương ứng với lệnh này theo Bảng 4.9.
Bảng 4.9 C-APDU của lệnh EXTERNAL AUTHENTICATE
Mã Giá trị
CLA 00 (lệnh trao đổi bên trong) INS 82
P1 00
P2 00
Lc 8 đến 16 byte
Dữ liệu Dữ liệu xác thực của NHPH – bắt buộc 8 byte đầu tiên chứa ARPC, trong khi 1 đến 8 byte tiếp theo có một cấu trúc riêng. Thông thường, khi ARC được xem xét trong sự tính toán của ARPC, byte 9 và 10 bao gồm ARC. Le Không có
Thiết bị đọc có thể gửi lệnh này chỉ một lần trong một giao dịch. Thẻ nên trả về SW1SW2 = 6985 trong R-APDU, nếu hạn chế này không được tuân thủ. Không quan tấm đến từ trạng thái trong R-APDU, thiết bị đọc sẽ đặt bit 5 là 1 trong TSI. Trong trường hợp SW1SW2 ≠ 9000, thì thiết bị đọc sẽ đặt bit 7, ―Xác thực của NHPH không thành công‖, trong byte 5 của TVR.
Khi bit 3 trong AIP được đặt là 0, thẻ có thể kết hợp sự xác thực của NHPH với lệnh GENERATE AC thứ hai. Trong trường hợp này, NHPH có thể đã liệt kê đối tượng dữ liệu Dữ liệu xác thực của NHPH trong CDOL2.
Dù lệnh EXTERNAL AUTHENTICATE hay GENERATE AC được sử dụng để thực hiện xác thực NHPH, thì xử lý được thẻ thực hiện là giống nhau. Thẻ giải mã ARPC với khóa phiên SSKAC, khóa thu được trước đó từ việc tính toán của ARQC. Sau khi thực hiện phép toán XOR với giá trị của ARQC, ARC có thể thu được từ 2 byte cực trái của kết quả. Giá trị được tính này của ARC được so sánh lại với giá trị nhận được trong Dữ liệu xác thực của NHPH. Nếu