Truyền dữ liệu trong thẻ thông minh

Một phần của tài liệu Một số giải pháp hạn chế rủi ro trong thanh toán thẻ (Trang 35)

Thẻ thông minh và máy chủ quản lý thẻ thông minh giao tiếp với nhau thông qua một thiết bị chấp nhận thẻ. Thiết bị này có thể là đầu đọc thẻ và thiết bị đầu cuối (terminal). Ta có thể thấy các thiết bị đầu cuối như các điểm bán hàng, máy rút tiền tự động ATM. Thiết bị đầu cuối có khả năng xử lý dữ liệu truyền giữa nó và thẻ thông minh cũng như xử lý và truyền dữ liệu về máy chủ quản lý thẻ thông minh.

Truyền thông giữa thẻ thông minh và máy chủ là bán song công, dữ liệu chỉ có thể truyền từ thẻ đến máy chủ hoặc từ máy chủ đến thẻ chứ không thể theo hai hướng cùng một lúc. Thẻ thông minh tương tác với máy tính bằng cách sử dụng các gói tin riêng của nó – được gọi là APDUs. Một APDU chứa một lệnh hoặc một thông điệp trả lời. Thẻ thông minh đóng vai trò thụ động trong mô hình chủ - tớ với máy chủ. Nó đợi lệnh APDU từ máy chủ. Sau đó thực hiện chỉ thị trong lệnh và trả lời máy chủ với APDU phản hồi. Các lệnh APDU và APDU-phản hồi được truyền đan xen giữa máy chủ và thẻ.

2.1.5.1 Cấu trúc của APDU

APDU là một giao thức ở mức ứng dụng giữa thẻ thông minh và ứng dụng của máy chủ. Các thông điệp APDU gồm hai loại cấu trúc: một được sử dụng bởi ứng dụng của máy chủ từ phía thiết bị chấp nhận thẻ để gửi lệnh đến thẻ và một được sử dụng bởi thẻ để gửi thông điệp trả lời ứng dụng của máy chủ. Tương ứng với chúng là hai lớp ADPU lệnh (C-APDU) và APDU phản hồi (R-APDU). Một C-APDU luôn có R-APDU tạo thành cặp tương ứng.

a) Cấu trúc của APDU lệnh

Tiêu đề của APDU lệnh gồm 4 byte: CLA (―lớp‖ chỉ thị), INS (―mã‖ chỉ thị), P1, P2 (tham số 1 và 2). Byte CLA xác định loại ADPU lệnh và APDU phản hồi. Byte ―INS‖ xác định chỉ thị của lệnh. Hai tham số P1 và P2 xác định thêm thông tin cho chỉ thị. Lc-Feld xác định độ dài trường dữ liệu theo byte.

Phần tiêu đề trong APDU lệnh là phần tùy chọn chi tiết có độ dài thay đổi. Trường dữ liệu chứa dữ liệu truyền đến thẻ để thực hiện lệnh được chỉ rõ trong Tiêu đề của APDU. Byte Le-Feld chỉ ra số byte mà máy chủ chờ thẻ phản hồi.

b) APDU phản hồi

APDU phản hồi được gửi bởi thẻ để trả lời cho APDU lệnh, bao gồm một chi tiết tùy chọn và phần bắt buộc kèm theo. Phần chi tiết bao gồm trường dữ liệu có độ dài được xác định bởi trường Le-Feld trong APDU lệnh tương ứng. Phần bắt buộc bao gồm hai trường SW1 và SW2, đi cùng với nhau được gọi là từ trạng thái, biểu thị trạng thái xử lý của thẻ sau khi thực hiện APDU lệnh.

2.1.5.2 Mã hóa bit

Mã hóa bit trực tiếp hay đảo bit đều được dùng trong thẻ thông minh Trực tiếp (xuôi thứ tự)

2.1.5.3 Giao thức TPDU

APDU được truyền bởi giao thức mức tiếp theo – giao thức truyền thông. Cấu trúc dữ liệu được trao đổi giữa máy chủ và thẻ sử dụng giao thức truyền thông được gọi là giao thức truyền thông đơn vị dữ liệu (Transport Protocol Data Unit - TPDU). Hai giao thức truyền thông được dùng chủ yếu trong các hệ thống thẻ thông minh hiện nay là T = 0 và T = 1.

Giao thức T = 0 là giao thức hướng byte, có nghĩa là đơn vị nhỏ nhất được xử lý và truyền đi bởi giao thức là một byte. Giao thức T = 1 là hướng khối, tức là một khối gồm một số byte liên tiếp, là đơn vị dữ liệu nhỏ nhất có thể truyền giữa thẻ và máy chủ.

Cấu trúc TPDU được dùng trong giao thức T = 0 và T = 1 là khá khác nhau. T= 0 là giao thức truyền ký tự bán song công không đồng bộ. Hầu hết các thẻ thông minh sử dụng giao thức T =0. T = 1 là giao thức truyền khối dữ liệu bán song công không đồng bộ. Thẻ có thể hỗ trợ cả hai giao thức này, khi đó thiết bị đầu cuối sẽ lựa chọn giao thức nào được sử dụng.

2.1.5.3 Thông điệp trả lời để xác lập lại (ATR)

Ngay sau khi bật nguồn, thẻ thông minh gửi thông điệp trả lời để xác lập lại (answer to reset –ATR) tới máy chủ. Thông điệp này truyền tới máy chủ các thông số yêu cầu bởi thẻ để thiết lập kênh kết nối truyền dữ liệu. ATR có thể có từ 2 đến 33 byte. Byte đầu tiên định nghĩa kiểu mã bit (trực tiếp hay đảo ngược). ATR còn chứa các tham số truyền tín hiệu như giao thức truyền thông được thẻ hỗ trợ (T=0 hoặc T =1), tốc độ truyền dữ liệu, các tham số phần cứng của thẻ như số thứ tự chip, phiên bản làm mặt nạ cho chip, nhà sản xuất…

Một phần của tài liệu Một số giải pháp hạn chế rủi ro trong thanh toán thẻ (Trang 35)