Chương 3: CHỨNG CHỈ SỬ DỤNG VỚI THẺ EMV
3.2 CHỨNG CHỈ KHÓA CÔNG KHAI CỦA THẺ EMV
3.2.1 Tạo lập chứng chỉ khóa công khai của thẻ EMV
Chứng chỉ khóa công khai của thẻ EMV được đưa ra cùng với sơ đồ chữ ký số (khôi phục lại được gói tin) dựa trên thuật toán RSA.
3.2.1.1 Các trường dữ liệu trong chứng chỉ
M = MR || M’ là dữ liệu khóa công khai của thực thể được ký bởi người cấp chứng chỉ. Độ dài của dữ liệu là L, và byte độ dài khóa công khai của người cung cấp chứng chỉ là N. Thực thể có thể là NHPH (nếu như người cung cấp chứng chỉ là CA) hoặc thực thể có thể là thẻ hoặc mã hóa PIN của thẻ (nếu người cung cấp chứng chỉ là NHPH).
Sau đó MR của gói tin M có khả năng khôi phục lại từ chứng chỉ khóa công khai của thực thể bao gồm N -22 byte, chứa những trường dữ liệu sau:
Trường 1 – Định dạng của chứng chỉ (1 byte):
Trường này phân biệt vài định dạng chứng chỉ có khả năng tương ứng với chứng chỉ khóa công khai của NHPH (02h), hoặc chứng chỉ khóa công khai mã hóa PIN của thẻ EMV/thẻ EMV (04h).
Trường 2 – Định dang của thực thể:
Trường này xác định thực thể sở hữu chứng chỉ khóa công khai. Định dạng của nó phụ thuộc vào thực thể yêu cầu chứng chỉ:
- Số định danh của NHPH – IIN (4 byte): Số này là 3-8 số bên trái của số thẻ, trong trường hợp NHPH là thực thể có yêu cầu một chứng chỉ được CA ký;
- PAN của ứng dụng (8 byte): Được bổ sung bên phải với số hexa F tận biên của 8 byte, trường hợp thẻ EMV là thực thể yêu cầu chứng chỉ được ký bởi NHPH.
Trường 3 – Ngày hiệu lực của chứng chỉ (2 byte):
Ngày ở đây được xác định theo MMYY chỉ ra ngày sau đó chứng chỉ không còn hiệu lực nữa.
Trường 4 – Số serial của chứng chỉ (3 byte):
Trường dữ liệu này được biểu diễn ở dạng nhị phân, xác định một số duy nhất được kết hợp với chứng chỉ. Số này được chỉ định bởi CA trong trường hợp chứng chỉ khóa công khai của NHPH, hoặc được do NHPH chỉ định trong trường hợp chứng chỉ khóa công khai mã hóa PIN của thẻ/thẻ.
Trường 5 – Bộ chỉ thị thuật toán băm (1 byte):
Xác định thuật toán băm được sử dụng để đưa ra mã hàm băm H. Giá trị của chỉ dẫn thuật toán băm được đặt là 01h.
Trường 6 – Bộ chỉ thị thuật toán khóa công khai của thực thể (1 byte):
Cho biết loại thuật toán khóa công khai được sử dụng một thực thể cùng với khóa công khai được chứa trong chứng chỉ. Bộ chỉ thỉ đặt này được đặt là 01h, chỉ thị thuật toán RSA.
Trường 7 – Độ dài khóa công khai của thực thể (1 byte):
Cho biết độ dài byte khóa công khai của thực thể hiện tại được chứng thực. Độ dài này được ký hiệu là: NI, NIC, NPE, phụ thuộc vào việc thực thể là NHPH hay thẻ EMV hay mã hóa PIN của thẻ EMV.
Trường 8 – Độ dài mũ khóa công khai của thực thể (1 byte):
Cho biết độ dài byte mũ khóa công khai của thực thể hiện tại được chứng thực. Độ dài này cũng có thể là 1 hoặc 3, phụ thuộc mũ là 3 hay 216 + 1.
Trường 9 - Khóa công khai của thực thể:
Trường có độ dài thay đổi phụ thuộc vào loại thực thể:
- Khi thực thể là NHPH, độ dài của trường này là NCA – 36. Nếu NI ≤ NCA
– 36, thì trường này bao gồm toàn bộ tham số khóa công khai của NHPH, được bổ sung vào bên phải NCA – 36 – NI byte có giá trị BBh. Nếu NI > NCA – 36, thì trường này bao gồm NCA – 36 tất cả những byte quan trọng nhất của tham số khóa công khai của NHPH.
- Khi thực thể là thẻ, độ dài của trường này là NI – 42. Nếu NIC ≤ NI – 42, thì trường này bao gồm toàn bộ tham số khóa công khai của thẻ, được bổ sung vào bên phải NI – 42 – NIC byte có giá trị BBh. Nếu NIC > NI – 42, thì trường này gồm NI – 42 byte quan trọng nhất của tham số khóa công khai của thẻ.
- Khi thực thể là mã hóa PIN của thẻ, độ dài trường này là NI – 42. Nếu NPE ≤ NI – 42, trường này bao gồm toàn bộ tham số khóa công khai mã hóa PIN của thẻ, được bổ sung bên phải NI – 42 – NPE byte có giá trị BBh. Nếu NPE > NI - 42, thì trường này bao gồm NPE – 42 byte quan trọng nhất của tham số khóa công khai mã hóa PIN của thẻ EMV.
Phần M’ của gói tin M phải được truyền riêng cho việc kiểm tra chứng chỉ có độ dài thay đổi, chứa những trường dữ liệu sau:
Trường 10 – Phần còn lại khóa công khai của thực thể:
Đây là trường có độ dài thay đổi tùy thuộc vào loại thực thể như sau:
- Khi thực thể là NHPH, độ dài cũng có thể là 0 hoặc NI – NCA + 36.
Trường này chỉ xuất hiện khi NI > NCA – 36, và bao gồm NI – NCA + 36 byte quan trọng ít nhất của tham số khóa công khai của NHPH.
- Khi thực thể là thẻ EMV (để ký), độ dài cũng có thể là 0 hoặc NIC – NI + 42. Trường này chỉ xuất hiện khi NIC > NI – 42, và bao gồm NIC – NI + 42 byte quan trọng ít nhất của tham số khóa công khai của thẻ EMV.
- Khi thực thể là mã hóa PIN của thẻ EMV, độ dài cũng là 0 hoặc NPE – NI + 42. Trường này chỉ có khi NPE > NI – 42, và bao gồm NPE – NI + 42 byte ít quan trọng nhất của tham số khóa công khai mã hóa PIN của thẻ EMV.
Trường 11 – Mũ khóa công khai của thực thể:
Đây là một trường độ dài 1 hoặc 3 byte, phục thuộc vào giá trị là 3 hoặc 216 + 1.
Trường 12 – Dữ liệu tĩnh được xác thực:
Đây là một trường có độ dài thay đổi, và chỉ xuất hiện trong dữ liệu khóa công khai của thẻ EMV được ký bởi NHPH.
3.2.1.2 Tạo lập chứng chỉ khóa công khai
Để tạo chứng chỉ khóa công khai của NHPH, CA áp dụng thuật toán được tạo chữ ký, trên dữ liệu khóa công khai của NHPH với những tham số của RSA như sau: nS = nCA, và dS = dCA.
- Chứng chỉ khóa công khai của NHPH có độ dài là NCA được tạo mỗi lần NHPH chấp nhận ứng dụng ghi nợ/tín dụng EMV được giám sát bởi một CA.
Rồi sau đó, chứng chỉ này được tạo lại mỗi lần khóa công khai của CA thay đổi.
- Chứng chỉ khóa công khai của NHPH được nạp khi ghi thẻ và được NHPH quản lý, chứng chỉ này hỗ trợ xác thực dữ liệu ngoại tuyến và kiểm tra PIN đã mã hóa là do thẻ thực hiện.
Để thu được chứng chỉ khóa công khai của thẻ EMV có độ dài NI NHPH áp dụng thuật toán tạo chữ ký số, trên dữ liệu khóa công khai của thẻ EMV với những tham số RSA sau: nS = nI và dS = dI. NHPH tạo chứng chỉ khóa công khai của thẻ EMV cho mỗi thẻ có hỗ trợ DDA ngoại tuyến. Chứng chỉ này được nạp vào thẻ khi ghi thẻ.
Để thu được chứng chỉ khóa công khai mã hóa PIN của thẻ EMV có độ dài NI, NHPH áp dụng thuật toán tạo chữ ký số trên dữ liệu khóa công khai mã hóa PIN của thẻ. NHPH sử dụng những tham số của RSA như sau: nS = nI và dS
= dI. NHPH tạo chứng chỉ khóa công khai mã hóa PIN của thẻ EMV cho mỗi thẻ có hỗ trợ kiểm tra PIN đã mã hóa. Chứng chỉ này được nạp vào trong quá trình ghi thẻ.