3.1. THẺ THANH TOÁN
3.1.1.5. Hệ điều hành của thẻ thông minh
Hầu hết các thẻ thông minh hiện nay đều có hệ điều hành. Đối với thẻ thông minh sử dụng chip vi xử lý thì cũng giống nhƣ máy tính cá nhân, cần có hệ điều hành để quản lý, thực thi các ứng dụng và trao đổi dữ liệu với thiết bị đọc thẻ.
1) Các File hệ thống trong thẻ thông minh
Thẻ thông minh lƣu trữ thông tin bằng các file dữ liệu. Các file này đƣợc tổ chức dƣới dạng cây phân cấp theo chuẩn ISO 7816-4, gồm ba loại:
- Thư mục gốc (Master File – MF)
- Thư mục chuyêndụng (Dedicated File – DF) - File cơ bản (Elementary File – EF).
Các file này dùng để quản trị hoặc cho ứng dụng.
Dữ liệu lƣu trong các file đƣợc quản lý bởi hệ điều hành. Các file gồm có header và phần tuỳ chọn là chi tiết. Header đƣợc quản lí bởi thẻ thông minh, chứa các thông tin liên quan đến cấu trúc và thuộc tính file, phần chi tiết chứa dữ liệu của file.
* Thư mục gốc
Thƣ mục gốc MF của hệ thống file là duy nhất cho mỗi thẻ. MF đƣợc kích hoạt khi thẻ đƣợc đƣa vào thiết bị đọc thẻ (ví dụ điện thoại di động). MF không thể bị xoá khi thẻ còn hoạt động. MF có thể chứa một hoặc nhiều DF và chứa 0 hoặc nhiều EF.
Dữ liệu đƣợc sử dụng cho tất cả những ứng dụng trong thẻ nhƣ thông tin quản lý và bảo mật chung, số serial của thẻ thông minh, khoá truy cập, số PIN (Personal Identification Number) của thẻ …đƣợc lƣu trữ trong file EF ở mức MF. Các thông tin này có thể đƣợc sử dụng cho hệ điều hành tạo DF khác tại mức MF.
* Thư mục chuyên dụng
DF là thƣ mục của thẻ thông minh, nó lƣu các thƣ mục chuyên dụng khác và các file cơ bản.
Về bản chất vật lý, DF là một khối bộ nhớ tĩnh và có một khối header. Tất cả các DF đƣợc phân chia về vật lý và logic với DF khác, để tránh sự ảnh hƣởng lẫn nhau giữa các ứng dụng khác nhau. Một số DF có thể chia sẻ tài nguyên chung qua MF.
DF có thể đƣợc xem nhƣ là một vật chứa dữ liệu thuộc về một ứng dụng thẻ. Mỗi DF có thể chứa khoá mã hoá cho việc thực hiện nhiều dịch vụ bảo mật, và mỗi DF có thể có một số PIN ứng dụng, số PIN này có thể sử dụng để cải tiến cơ chế truy cập của một thẻ nhiều ứng dụng.
* File cơ bản
Những file EF chứa dữ liệu thực sự. Chúng bao gồm một header và một chi tiết. Header của mỗi EF lƣu trữ thông tin về loại cấu trúc file EF và kích thƣớc của file. Nó cũng lƣu trữ hoạt động có thể thực hiện trên file (đọc, ghi, không có hiệu lực, phản hồi) nhƣ điều kiện truy cập của một ứng dụng của thiết bị đọc có thể thực hiện hoạt động đó (số PIN chung của thẻ, số PIN của ứng dụng, xác thực …).
Cấu trúc file EF phụ thuộc vào mục đích sử dụng, có 4 loại cấu trúc EF cơ bản:
file trong suốt (transparent), file cố định tuyến tính (linear fixed), file biến đổi tuyến tính (linear variable) và file cố định nối vòng (cyclic fixed).
- EF trong suốt (Transparent EF)
Đó là EF có cấu trúc gồm byte liên tiếp. Byte đầu tiên có địa chỉ „00‟. Khi file đƣợc đọc hoặc cập nhập, byte đƣợc kích hoạt sẽ đƣợc tham chiếu qua địa chỉ offset, nó biểu thị vị trí bắt đầu của byte và độ dài đƣợc đọc hoặc cập nhập tính từ vị trí đó. Header của file trong suốt biểu thị độ dài chi tiết của file.
- EF cố định tuyến tính (Linear fixed EF)
EF cố định tuyến tính gồm các bản ghi liên tiếp có cùng độ dài (cố định). Mỗi bản ghi đƣợc định danh duy nhất bởi số thứ tự bản ghi. Độ dài của bản ghi và số bản ghi trong file đó đƣợc định nghĩa trong header của file.
Liên kết với cấu trúc trong suốt, chúng ta có thể có một số cách để truy nhập các bản ghi của file này. Có thể truy cập qua số thứ tự bản ghi, bằng cách sử dụng chế độ
TRƯỚC-SAU, hoặc bằng cách sử dụng dạng tìm kiếm từ đầu file.
File này cũng có giới hạn theo chuẩn ISO 7816-4, số bản ghi tối đa trong file tuyến tính cố định là 254 bản ghi, và mỗi bản ghi có độ dài không vƣợt quá 255 byte.
- EF biến đổi tuyến tính (Linear variable EF)
File biến đổi tuyến tính bao gồm một số bản ghi có độ dài thay đổi.
- EF cố định nối vòng (Cyclic EF)
EF nối vòng có cấu trúc tƣơng tự file cố định tuyến tính. Nó gồm có số các bản ghi cố định với độ dài các bản ghi là cố định.
Điểm khác nhau với file tuyến tính cố định là có liên kết giữa bản ghi đầu tiên và cuối cùng. Theo cách này, khi con trỏ bản ghi ở bản ghi cuối cùng, bản ghi tiếp theo là bản ghi đầu tiên. Khi con trỏ ở bản ghi đầu tiên, bản ghi trƣớc đó là bản ghi cuối cùng.
EF nối vòng đƣợc sử dụng phổ biến cho việc lƣu trữ thông tin theo mốc thời gian, nghĩa là khi tất cả các bản ghi đã đƣợc sử dụng, dữ liệu tiếp theo sẽ ghi đè lên bản ghi cũ nhất đã đƣợc dùng, sử dụng phƣơng thức TRƯỚC. Với thao tác đọc, phƣơng thức tìm địa chỉ bản ghi là TRƯỚC, SAU, HIỆN TẠI và SỐ HIỆU BẢN GHI.
2) Truy cập file
a) Định danh file FID (File Identifier)
Mỗi thƣ mục/file trong thẻ thông minh đều có một định danh để thiết bị đọc thẻ từ bên ngoài có thể truy cập vào thẻ, lựa chọn ứng dụng thẻ. Định danh bao gồm 2 byte và đƣợc thể hiện dƣới dạng mã hexa. Byte đầu tiên của định danh xác định kiểu thƣ mục/file.
Thƣ mục gốc: 3F
Mức đầu tiên của thƣ mục chuyên dụng: 7F
Mức thứ hai cuả thƣ mục chuyên dụng: 5F
File cơ bản dƣới mức MF: 2F
File cơ bản dƣới mức DF đầu tiên: 6F
File cơ bản dƣới mức DF thứ hai: 4F
Đối với file DF, thiết bị đọc thẻ có thể lựa chọn ứng dụng thẻ với số của FID hoặc sử dụng một định danh ứng dụng AID (Application Identifier). AID có thể bao gồm định danh của nhà cung cấp ứng dụng đã đăng ký (RID – Registered Application Provider Identifier), tuỳ chọn này có quan hệ ràng buộc với việc mở rộng định danh ứng dụng của nhà cung cấp (PIX - Provider Identifier eXtension). Sự liên quan những ứng dụng thẻ với nhà cung cấp ứng dụng tạo thuận lợi cho thiết bị đọc không phải biết trƣớc FID của DF đƣợc lƣu trong ứng dụng hoặc vị trí file của hệ thống thẻ.
b) Các phương thức lựa chọn file
Các thiết bị di động đƣợc kích hoạt, thƣ mục gốc sẽ đƣợc chọn và trở thành thƣ mục hiện tại. Từ thƣ mục/file hiện tại, các thƣ mục/file có thể đƣợc lựa chọn:
Thƣ mục gốc (MF)
Thƣ mục chuyên dụng hiện tại.
Thƣ mục chuyên dụng mức cha của thƣ mục hiện tại.
Bất kì thƣ mục chuyên dụng nào là mức con liền kề của thƣ mục chuyên dụng cha của thƣ mục hiện tại.
Bất kì thƣ mục chuyên dụng nào là con của thƣ mục hiện tại.
Tất cả việc lựa chọn thƣ mục/file đƣợc thực hiện bởi dùng định danh của thƣ mục/file đƣợc lựa chọn.