Tải bản đầy đủ (.pdf) (84 trang)

Nghiên cứu giải pháp và xây dựng chương trình phát hành thẻ thông minh theo chuẩn EMV

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.16 MB, 84 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
ĐẠI HỌC CÔNG NGHỆ






PHAN THU NGÂN





NGHIÊN CỨU GIẢI PHÁP VÀ PHÁT H ÀNH THẺ
THÔNG MINH THEO CHUẨN EMV




LUẬN VĂN THẠC SĨ







NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS NGÔ DIÊN TẬP










Hà Nội – 2009
ĐẠI HỌC QUỐC GIA HÀ NỘI
ĐẠI HỌC CÔNG NGHỆ


i

MỤC LỤC


MỤC LỤC i
DANH MỤC CÁC TỪ VIẾT TẮT iii
DANH MỤC CÁC HÌNH VẼ v
Chương 1 - TỔNG QUAN VỀ THẺ THÔNG MINH 1
1.1 KHÁI NIỆM THẺ THÔNG MINH 1
1.2 CÁC LOẠI THẺ CƠ BẢN 1
1.2.1 Thẻ nhớ và thẻ chip 1
1.2.2 Thẻ tiếp xúc và thẻ không tiếp xúc 3
1.3 PHẦN CỨNG CỦA THẺ THÔNG MINH 3
1.3.1 Các điểm tiếp xúc 4
1.3.2 Bộ xử lý trung tâm trong thẻ thông minh 5
1.3.3 Bộ đồng xử lý thẻ trong thông minh 5

1.3.4 Hệ thống bộ nhớ của thẻ thông minh 5
1.4 TRUYỀN THÔNG VỚI THẺ THÔNG MINH 6
1.4.1 Thiết bị chấp nhận thẻ và các ứng dụng máy chủ 6
1.4.2 Mô hình truyền thông với thẻ thông minh 6
1.4.3 Giao thức APDU 6
1.4.4 Mã hoá bit 8
1.4.5 Giao thức TPDU 9
1.4.6 Thông điệp trả lời để xác lập lại 10
Chương 2 - HỆ ĐIỀU HÀNH THẺ THÔNG MINH 11
2.1 GIỚI THIỆU HỆ ĐIỀU HÀNH THẺ THÔNG MINH 11
2.2 CÁC FILE HỆ THỐNG TRONG THẺ THÔNG MINH 13
2.2.1 Thư mục gốc 13
2.2.2 Thư mục chuyên dụng 13
2.2.3 File cơ bản 14
2.3 TRUY CẬP FILE 16
2.3.1 Định danh file 16
2.3.2 Các phương thức lựa chọn file 16
2.3.3 Điều kiện truy cập file 17
2.4 CẤU TRÚC FILE THẺ EMV 17
2.4.1 Cấu trúc file thẻ MPCOS-EMV 17
2.4.2 Cấu trúc file thẻ Global Platform 19
2.5 CÁC CHỨC NĂNG CỦA THẺ EMV 23
2.6 ĐẶC TẢ ỨNG DỤNG DEBIT VÀ CREDIT 25
2.6.1 Các file trong trao đổi giao dịch tài chính 25
2.6.2 Lồng giao dịch 27
ii

2.6.3 Các hàm được sử dụng trong xử lý giao dịch 28
Chương 3 - XÁC THỰC VÀ BẢO MẬT VỚI THẺ THÔNG MINH 31
3.1 CÁC THUẬT TOÁN MÃ HOÁ 31

3.1.1 Mã hoá khoá đối xứng 31
3.1.2 Mã hoá khoá công khai 34
3.2 GIAO THỨC XÁC THỰC VÀ BẢO MẬT VỚI THẺ THÔNG MINH 36
3.2.1 Giao thức xác thực với thẻ thông minh 36
3.2.2 Bảo toàn dữ liệu với thẻ thông minh 38
3.2.3 Bảo toàn và bảo mật dữ liệu với thẻ thông minh 40
3.2.4 Thiết lập khoá phiên với thẻ thông minh 41
3.3 QUẢN LÝ KHÓA VÀ CƠ CHẾ BẢO MẬT CỦA THẺ EMV 42
3.3.1 Xác thực dữ liệu tĩnh 42
3.3.2 Xác thực dữ liệu động ngoại tuyến 42
3.3.3 Mã hóa số PIN 43
3.4.4 Thông điệp an toàn 44
3.4.5 Các chính sách và nguyên tắc quản lý chứng chỉ khóa công khai 44
Chương 4 - CHƯƠNG TRÌNH GHI/ĐỌC DỮ LIỆU THẺ THÔNG MINH TRÊN
HỆ MÁY CÔNG NGHIỆP VÀ ĐỂ BÀN 46
4.1 GIỚI THIỆU 46
4.2 QUY TRÌNH LÀM THẺ 47
4.3 HỆ THỐNG TỰ ĐỘNG GHI DỮ LIỆU VÀO THẺ THÔNG MINH 49
4.3.1 Giới thiệu MPR3000 49
4.3.2 Các đặc tính ưu việt của MPR3000 52
4.2.3 Đặc điểm chương trình ghi dữ liệu vào thẻ thông minh PersoAppMPR3K.53
4.3.3 Giới thiệu máy DC9000 54
4.4 Quy trình chuẩn bị số liệu 57
4.4 CHƯƠNG TRÌNH GHI DỮ LIỆU VÀO THẺ THÔNG MINH 58
4.4.1 Bộ công cụ phát triển SPMWIN 58
4.4.2 Chức năng PersoAppMPR3K 61
4.4.3 Bộ công cụ phát triển SCPM SDK 62
4.4.4 Chức năng chính của PASCPM 64
4.4.5 Các kết quả ban đầu đạt được 64
4.4.6 Khai thác và định hướng phát triển các ứng dụng các thể hóa thẻ chip 66

KẾT LUẬN 67
TÀI LIỆU THAM KHẢO 69
PHỤ LỤC 71
A. Ứng dụng ví điện tử (wallet) 71
B. Thuật toán tính MAC 75
iii

DANH MỤC CÁC TỪ VIẾT TẮT

AFL: Application File Locator: định danh tệp tin ứng dụng
ATR: Answer To Reset: Trả lời để khẳng định lại
APDU: Application Protocol Data Units: Đơn vị dữ liệu giao thức ứng dụng
AES: Advanced Encryption Standard: chuẩn mã hoá tiên tiến
ARQC: Authorisation Request Cryptogram
ATM: Automatic Teller Machine: máy rút tiền tự động
AuC: Authentication Centre: trung tâm xác thực
BTS: Base Station: trạm thu phát
CDA: Application Cryptogram Generation: tạo mã ứng dụng
CDOL1: Card Risk Management Data Object List 1
CDOL2: Card Risk Management Data Object List 1
CPU: Central Processing Unit: bộ xử lý trung tâm
C-APDU: Command - Application Protocol Data Units: APDU lệnh
CBC: Cipher Block Chaining
CLA: Class: “lớp” chỉ thị
CVM: Cardholder Verification Method: phương thức xác minh chủ thẻ
DDA: Dynamic Data Authentication: xác thực dữ liệu động
DDOL: Dynamic Data Authentication Object List
DF: Dedicated File: thư mục chuyên dụng
DES: Data Encryption Standard: chuẩn mã hoá dữ liệu
EEPROM: Electrically Erasable Programmable Read Only Memory:

Bộ nhớ có thể ghi bằng tín hiệu điện
ECB: Electronic Code Book
EF: Elementary File: file cơ bản
GSM: Global System for Mobile Communications
GPRS: General Packet Radio Service: dịch vụ truyền phát mã hoá gói tin
GEA: Generic Evolutionary Algorithm:
HLR: Home Location Register: đăng ký vùng chủ
HPLMN: Home Public Land Mobile Networks: mạng di động công khai
ICC: Integrated Chip Card
ICV: Initial Chaining Value: giá trị chuỗi khởi tạo
INS: Instruction: “mã” chỉ thị
iv

ISO: International Standards Organization: Hiệp hội tiêu chuẩn quốc tế
IMSI: International Mobile Subscriber Identity: định danh thuê bao di động quốc tế
LFSRs: Linear Feedback Shift Registers: thanh ghi dịch chuyển đầu ra tuyến tính
MF: Master file: thư mục gốc
ME: Mobile Equipment: thiết bị di động
MAC: Message Authentication Codes: Mã xác thực thông điệp
MSC: Mobile Switching Centres: trung tâm chuyển mạch di động
PIN: Personal Identification Number: số định danh cá nhân
POS: Point Of Sale: điểm bán hàng
R-APDU: Response - Application Protocol Data Units: APDU phản hồi
RISC: Reduced instruction set computer: tập lệnh đơn giản
ROM: Read Only Memory: bộ nhớ chỉ cho phép đọc
RAM: Random Access Memory: bộ nhớ truy cập ngẫu nhiên
RE: Receiver Entity: thực thể nhận
RA: Receiver Application: ứng dụng nhận
SIM: Subscriber Identity Module: Thẻ thông minh mang định danh thuê bao.
SAT: Sim Application Toolkit: bộ ứng dụng SIM

SA: Send Application: ứng dụng gửi
SDA: Static Data Authentication: xác thực dữ liệu tĩnh
SDAD: Signed Dynamic Application Data: dữ liệu ứng dụng chữ ký số động
SE: Send Entity: thực thể gửi
SM: Secure Message: thông điệp bảo mật
SP: Secure Packet: gói tin bảo mật
SMS: Short Message Service: dịch vụ tin nhắn ngắn
TM: Transport Mechanism: kiến trúc giao vận
TC: Transaction Certificate
TPDU: Transportation Protocol Data Units: Đơn vị dữ liệu giao thức truyền thông
TMSI: Temporary Mobile Subscriber Identity: định danh thuê bao di động tạm thời
USSD: Unstructured Supplementary Service Data: dữ liệu dịch vụ bổ sung không cấu
trúc



v

DANH MỤC CÁC HÌNH VẼ

Hình 1: Sơ đồ phân loại thẻ 1
Hình 2: Sơ đồ khối của thẻ dùng chip nhớ 2
Hình 3: Sơ đồ khối của thẻ dùng vi điều khiển 2
Hình 4: Cấu trúc của thẻ thông minh không tiếp xúc 3
Hình 5: Sơ đồ khối bên trong của thẻ thông minh 3
Hình 6: Hình dạng điểm tiếp xúc của thẻ thông minh 4
Hình 7: Một số hình dạng điểm tiếp xúc thông dụng của thẻ thông minh 4
Hình 8: Sơ đồ khối bên trái cho thấy một phân vùng đặc trưng của bộ nhớ RAM 256 byte của
thẻ thông minh cơ bản, sơ đồ bên phải cho thấy một tổ chức bộ nhớ RAM 6 kbyte của thẻ
SIM 5

Hình 9: Kiến trúc của thẻ thông minh dùng hệ điều hành riêng như MPCOS, STARCOS,
ACOSx, WatchData,… 11
Hình 10: Kiến trúc của thẻ thông minh dùng hệ điều hành Global Platform dựa trên nền tảng
chuẩn mở OCF hỗ trợ Java 11
Hình 11: Kiến trúc thẻ thông minh dùng hệ điều hành Multos 12
Hình 12: Kiến trúc thẻ thông minh sử dụng hệ điều hành hãng Sun Microsystem hỗ trợ Java.
12
Hình 13: Kiến trúc thẻ thông sử dụng hệ điều hành Proton Prisma hỗ trợ Java 12
Hình 14: Kiến trúc thẻ thông minh dùng hệ điều hành TIBC hỗ trợ Java 13
Hình 15: Sơ đồ tổ chức file trong thẻ thông minh 14
Hình 16: Dữ liệu địa chỉ offset trong một file trong suốt 14
Hình 17: Cấu trúc file cố đinh tuyến tính 15
Hình 18: Cấu trúc file biến đổi tuyến tính 15
Hình 19: Cấu trúc file nối vòng 15
Hình 20: Cấu trúc khởi tạo của thẻ MPCOS-EMV 18
Hình 21: Sơ đồ cấu trúc file thẻ MPCOS-EMV khi được nạp thêm ứng dụng vào thẻ 18
Hình 22: Kiến trúc thẻ Global Platform 19
Hình 23: Sơ đồ tham chiếu các lớp 22
Hình 24: Sơ đồ luồng giao dịch 27
Hình 25: Chế độ mã hóa DES - ECB 32
Hình 26: Chế độ mã hóa DES - CBC 33
Hình 27: Chế độ giải mã DES - CBC 33
Hình 28: Sơ đồ tính MAC trong chế độ mã hóa DES - CBC 34
vi

Hình 29: Sơ đồ xác thực giữa thẻ thông minh với thực thể ngoài 37
Hình 30: Sơ đồ thực thể ngoài xác thực với thẻ thông minh 38
Hình 31: Sơ đồ thực hiện quá trình mã hóa bản tin ghi vào thẻ thông minh 38
Hình 32: Sơ đồ thực hiện quá trình mã hóa bản tin đọc từ thẻ thông minh ra 39
Hình 33: Sơ đồ thực hiện quá trình bảo mật dữ liệu và mã hóa bản tin từ thực thể ngoài ghi

vào thẻ thông minh 40
Hình 34: Sơ đồ thực hiện quá trình bảo mật dữ liệu và mã hóa bản tin đọc ra từ thẻ thông
minh 40
Hình 35: Sơ đồ thiết lập khóa phiên giữu thẻ thông minh với thực thể ngoài dùng hệ mã hóa
đối xứng 41
Hình 36: Sơ đồ thiết lập khóa phiên giữa thẻ thông minh với thực thể ngoài dùng hệ mã hóa
công khai 41
Hình 37: Sơ đồ xác thực dữ liệu tĩnh (SDA) 42
Hình 38: Sơ đồ xác thực dữ liệu động ngoại tuyến (DDA) 43
Hình 39: Sơ đồ phân phối chứng chỉ khóa công khai 44
Hình 40: Sơ đồ quy trình sản xuất, phát hành thẻ thông minh 47
Hình 41: Quy trình phát hành thẻ thông minh 48
Hình 42: Luồng xử lý ghi dữ liệu vào thẻ thông minh 49
Hình 43: Hệ thống cá thể hóa thẻ thông minh tự động MPR3000 49
Hình 44: Trống quay tự động có gắn 12 đầu PWF 50
Hình 45: Các bộ phận của MPR3000 51
Hình 46: Mô hình các thiết bị gắn trên các trạm của MPR3000 52
Hình 47: Hệ thống DC9000 với 5 module được sử dụng 54
Hình 48: Sơ đồ khối hệ thống đọc/ghi thẻ chip 54
Hình 49: Sơ đồ bố trí của 7 trạm đọc/ghi thẻ thông minh 55
Hình 50: Sơ đồ bo mạch điều khiển các trạm đọc/ghi thẻ chip 56
Hình 51: Sơ đồ bo mạch điều khiển tương ứng của 7 trạm đọc/ghi thẻ chip 56
Hình 52: Sơ đồ tổng quát quy trình chuẩn bị dữ liệu theo chuẩn EMV 57
Hình 53: Tổng quan định dạng dữ liệu để cá thể hóa thẻ thông minh 57
Hình 54: Định dạng dữ liệu cá thể hóa cho một ứng dụng cụ thể trên thẻ 58
Hình 55: Chương trình biên dịch CPU ColdFire dùng trong 12 đầu PWF trên máy MPR3000.
58
Hình 56: Sơ đồ hoạt động tổng quát của SPMWIN 58
Hình 57: Sơ đồ quản lý luồng dữ liệu đầu vào của SPMWIN 59
Hình 58: Sơ đồ các module trên MPR3000 được quản lý bở SPMWIN 59

vii

Hình 59: Luồng dữ liệu cho máy in Laser 60
Hình 60: Luồng dữ liệu cho máy in Inkjet 60
Hình 61: Luồng dữ liệu cho 12 đầu đọc PWF ghi/đọc thẻ 61
Hình 62: Sơ đồ hoạt động logic tổng quát của SCPM 62
Hình 63: Môi trường phát hành thẻ từ truyền thống 63
Hình 64: Môi trường phát hành thẻ EMV 63
Hình 65: Định dạng chuẩn các bản ghi dữ liệu sản xuất thẻ EMV 64
Hình 66: Giao diện chương trình MK EMV QC Tools 65
Hình 67: Định nghĩa các EMV profile templates 65
Hình 68: Máy in Condor - Giải pháp cá thể hóa thẻ chip để bàn 66




1

Chương 1 - TỔNG QUAN VỀ THẺ THÔNG MINH

1.1 KHÁI NIỆM THẺ THÔNG MINH
Thẻ thông minh (smart card) thường được gọi là thẻ chip hoặc thẻ mạch tích hợp.
Mạch tích hợp trong thẻ gồm các thành phần được sử dụng cho truyền, lưu trữ và xử lý
dữ liệu. Thẻ thông minh có thể có một vùng dập nổi trên một mặt và dải từ trên mặt
kia.
Thể hiện vật lý và đặc tính của thẻ thông minh được định nghĩa trong chuẩn ISO
7816 - 1. Đó là tài liệu cho ngành công nghiệp thẻ thông minh.
Thông thường thẻ thông minh không chứa thiết bị cung cấp nguồn, hiển thị hay
bàn phím. Để tương tác với thế giới bên ngoài, thẻ thông minh được đặt trong hay gần
thiết bị chấp nhận thẻ, được nối với máy tính.

1.2 CÁC LOẠI THẺ CƠ BẢN
Thẻ thông minh được chia thành một số loại. Ví dụ thẻ nhớ (memory card) và thẻ
vi xử lý (microprocessor card). Có thể phân loại thành thẻ tiếp xúc hoặc không tiếp
xúc dựa theo cách truy nhập thẻ.

Hình 1: Sơ đồ phân loại thẻ.
1.2.1 Thẻ nhớ và thẻ chip
Thẻ thông minh sớm nhất được sản xuất theo số lượng lớn là thẻ nhớ. Thẻ nhớ
chưa thực sự là thẻ thông minh vì chúng không có vi xử lý. Chúng được nhúng trong
chip nhớ hoặc chip kết hợp với bộ nhớ nhưng không lập trình được.
Do thẻ nhớ không có CPU, nên việc xử lý dữ liệu được thực hiện bởi một số
mạch đơn giản, có khả năng thực hiện một vài lệnh được lập trình trước. Cũng do số
chức năng của một mạch là giới hạn, được cố định trước nên không thể lập trình để
thay đổi các chức năng đó. Tuy nhiên thẻ nhớ có thể dễ dàng làm giả.
2

Ưu điểm của thẻ nhớ là đòi hỏi công nghệ đơn giản do đó giá thành thấp. Hình 2
mô tả cấu trúc các khối bên trong của một thẻ nhớ điển hình.

Hình 2: Sơ đồ khối của thẻ dùng chip nhớ.
Thẻ vi xử lý, có khả năng bảo mật cao và khả năng tính toán. Với thẻ vi xử lý, dữ
liệu không được phép truy xuất tuỳ ý vào bộ nhớ. Bộ vi xử lý kiểm soát dữ liệu và việc
truy nhập bộ nhớ thông qua các điều kiện (mật khẩu, mã hóa …) và các lệnh từ ứng
dụng bên ngoài. Nhiều loại thẻ vi xử lý hiện nay được thiết kế hỗ trợ việc mã hóa. Các
thẻ đó đặc biệt hữu ích cho các ứng dụng cần bảo mật dữ liệu. Các chức năng của thẻ
chủ yếu bị giới hạn bởi dung lượng bộ nhớ và sức mạnh tính toán CPU trong thẻ.

Hình 3: Sơ đồ khối của thẻ dùng vi điều khiển.
Thẻ vi xử lý được dùng rộng rãi trong kiểm soát truy nhập, ứng dụng ngân hàng,
thẻ viễn thông, thẻ khách hàng thường xuyên, thẻ y tế,…

3

Nhìn chung thuật ngữ “thẻ thông minh” bao gồm cả thẻ nhớ và thẻ vi xử lý. Tuy
nhiên theo thói quen phổ biến hiện nay cũng như trong luận văn này khi sử dụng thuật
ngữ “thẻ thông minh” ta hiểu là thẻ vi xử lý.
1.2.2 Thẻ tiếp xúc và thẻ không tiếp xúc
Thẻ tiếp xúc phải được đưa vào một thiết bị chấp nhận thẻ, chúng liên lạc với thế
giới bên ngoài qua giao diện tiếp xúc gồm có 8 điểm như hình vẽ trong phần mô tả
phần cứng thẻ thông minh, mục 1.3.1.
Thẻ không tiếp xúc không cần phải đặt trong thiết bị chấp nhận thẻ. Chúng liên
lạc qua ăng ten trong thẻ. Năng lượng có thể cung cấp bởi nguồn bên trong hoặc qua
ăng ten. Thẻ không tiếp xúc truyền dữ liệu tới thiết bị chấp nhận thẻ thông qua trường
điện từ.

Hình 4: Cấu trúc của thẻ thông minh không tiếp xúc.
1.3 PHẦN CỨNG CỦA THẺ THÔNG MINH
Thẻ thông minh có các điểm tiếp xúc trên bề mặt của nhựa nền, bộ xử lý trung
tâm bên trong và nhiều dạng bộ nhớ. Một số loại thẻ thông minh có bộ đồng xử lý để
cho việc tính toán thuận lợi[13, 24, 28].

Hình 5: Sơ đồ khối bên trong của thẻ thông minh.
4

1.3.1 Các điểm tiếp xúc

Hình 6: Hình dạng điểm tiếp xúc của thẻ thông minh.

Hình 7: Một số hình dạng điểm tiếp xúc thông dụng của thẻ thông minh.
Thẻ thông minh có 8 điểm tiếp xúc, chức năng của chúng như hình trên. Hướng
và vị trí các điểm tiếp xúc được mô tả trong phần 2 của ISO 7816[23] như sau:

§ Điểm Vcc cung cấp nguồn cho chip hiệu điện thế 3 hoặc 5 volts, với sai số
10%. Thẻ thông minh trong các máy di động thường là 3 volts.
§ Điểm RST được dùng để gửi tín hiệu để reset bộ vi xử lý - được gọi là khởi
động nóng (warm reset). Khởi động nguội (cold reset) được thực hiện chuyển
nguồn cung cấp tắt hoặc bật.
§ Bộ xử lý thẻ thông minh không thực hiện việc tạo tín hiệu đồng hồ bên trong.
Điểm CLK cung cấp tín hiệu đồng hồ bên ngoài, từ đó tạo ra tín hiệu đồng hồ
bên trong.
§ Điểm GND dùng như mức hiệu điện thế chuẩn, giá trị xem như bằng 0.
§ Điểm Vpp là tùy chọn và chỉ dùng trong các thẻ cũ. Khi được sử dụng, nó
cung cấp hai mức hiệu điện thế lập trình. Mức thấp được gọi là trạng thái ngủ
(idle state), mức cao là trạng thái kích hoạt (active state). Thay đổi mức điện
thế là cần thiết để lập trình bộ nhớ EEPROM trong một số thẻ thông minh cũ.
§ Điểm I/O được dùng để chuyển dữ liệu và lệnh giữa thẻ thông minh và thế
giới bên ngoài theo chế độ bán song công (half - duplex mod). Có nghĩa là tín
hiệu và lệnh chỉ được truyền theo một hướng duy nhất ở một thời điểm.
§ Các điểm RFU để dành cho tương lai.
5

1.3.2 Bộ xử lý trung tâm trong thẻ thông minh
Bộ xử lý trung tâm trong hầu hết các chip thẻ thông minh hiện nay là 8-bit,
thường sử dụng tập lệnh của Motorola 6805 và Intel 8051, với tín hiệu đồng hồ tới
5MHz. Các thẻ công nghệ cao (high - end) thường gồm bộ nhân tín hiệu (nhân 2, 4
hoặc 8), nó cho phép những thẻ đó thao tác tới 40 MHz (5Mhz nhân 8).
Các thẻ thông minh mới nhất có bộ vi xử lý 16 hoặc 32 bit, và có tập lệnh đơn
giản (RISC). Trong tương lai chúng sẽ trở nên phổ biến.
1.3.3 Bộ đồng xử lý thẻ trong thông minh
Các chip thẻ thông minh cho các ứng dụng bảo mật, thường có bộ đồng xử lý. Bộ
đồng xử lý có mạch tích hợp đặc biệt để tăng khả năng tính toán, đặc biệt các thuật
toán modular và tính toán với số nguyên lớn. Những tính toán này được yêu cầu bởi

thuật toán mã hóa chẳng hạn như RSA, DES,….
1.3.4 Hệ thống bộ nhớ của thẻ thông minh


Hình 8: Sơ đồ khối bên trái cho thấy một phân vùng đặc trưng của bộ nhớ RAM 256
byte của thẻ thông minh cơ bản, sơ đồ bên phải cho thấy một tổ chức bộ nhớ RAM 6
kbyte của thẻ SIM.
Thẻ thông minh thường gồm ba loại bộ nhớ ROM, EEPROM, RAM[24, 28].
§ ROM (bộ nhớ chỉ đọc) được dùng để lưu trữ các chương trình cố định của thẻ.
Nó có thể lưu trữ dữ liệu khi nguồn đã tắt và không thể ghi sau khi thẻ được
sản xuất. ROM của thẻ thông minh có thể chứa hệ điều hành cũng như dữ liệu
và chương trình cố định. Quá trình ghi mã nhị phân vào ROM được gọi là làm
mặt nạ (masking), được thực hiện trong quá trình sản xuất chip.
§ EEPROM (bộ nhớ chỉ đọc có thể lập trình bằng tín hiệu điện).
6

§ RAM (bộ nhớ truy nhập ngẫu nhiên): dùng để lưu trữ những thông tin cần xử
lý nhanh nhưng mang tính tạm thời, không được lưu lại khi nguồn đã tắt.
1.4 TRUYỀN THÔNG VỚI THẺ THÔNG MINH
1.4.1 Thiết bị chấp nhận thẻ và các ứng dụng máy chủ
Thẻ thông minh được đưa vào thiết bị chấp nhận thẻ, được kết nối tới một máy
tính khác. Thiết bị chấp nhận thẻ được chia làm hai loại: đầu đọc thẻ và thiết bị đầu
cuối (terminal).
Đầu đọc được kết nối tới cổng nối tiếp, cổng song song hoặc cổng USB của máy
tính, qua đó thẻ thông minh được truyền thông. Đầu đọc có khe cắm chứa thẻ thông
minh, hoặc có thể nhận dữ liệu thông qua trường điện từ đối với thẻ không tiếp xúc.
Thông thường đầu đọc thẻ không đủ thông minh để xử lý dữ liệu, có thể có các hàm dò
và sửa lỗi nếu việc truyền dữ liệu không tương thích với giao thức truyền thông mức
dưới.
Thiết bị đầu cuối, có máy tính của riêng nó. Một thiết bị đầu cuối tích hợp đầu

đọc thẻ như là một thành phần của nó. Ta có thể thấy các thiết bị đầu cuối như các
điểm bán hàng (point of sales - POS) hoặc máy rút tiền tự động (Automatic Teller
Machines - ATMs). Bên cạnh chức năng của đầu đọc thẻ, 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.
1.4.2 Mô hình truyền thông với thẻ thông minh
Việc truyền thông giữa thẻ và máy chủ là bán song công, có nghĩa là 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 cả hai
hướ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 của riêng
nó - được gọi là APDUs (Application Protocol Data Unit - đơn vị dữ liệu giao thức
ứng dụng). 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ẻ.
1.4.3 Giao thức APDU (Application Protocol Data Unit)
Được chỉ ra trong chuẩn ISO 7816 - 4, 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 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 cho ứng dụng
máy chủ. Tương ứng với chúng là hai lớp APDU lệnh (Command APDU C - APDU)
và APDU phản hồi (Response APDU R - APDU)[24, 28].
7

Một lệnh APDU luôn có lệnh R-APDU tạo thành cặp tương ứng.
Cấu trúc APDU lệnh:
CLA

INS


P1 P2 Lc Data with length Lc
Cấu trúc APDU phản hồi:
Data with length Le SW1

SW2

Header (tiêu đề) của APDU lệnh gồm 4 bytes: CLA (“lớp” chỉ thị), INS (“mã”
chỉ thị), và P1, P2 (tham số 1 và 2). Byte “lớp” xác định loại APDU lệnh và APDU
phản hồi. Byte “mã” 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ị. Tham số P3 xác định độ dài trường dữ liệu (theo byte).
Phần sau header trong APDU lệnh là phần tuỳ chọn chi tiết có độ dài đa dạng.
Trường Lc trong phần chi tiết chỉ rõ độ dài của trường dữ liệu (theo byte). Trường dữ
liệu chứa dữ liệu được truyền tới thẻ để thực hiện lệnh được chỉ rõ trong header của
APDU. Byte cuối cùng trong phần chi tiết APDU lệnh là trường Le, nó chỉ ra số byte
mà máy chủ chờ thẻ 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 tuỳ 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 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. Ví dụ: từ trạng thái “0x9000” có nghĩa là
một lệnh đã được thực hiện thành công và trọn vẹn.
Trường dữ liệu là tuỳ chọn đối với cả APDU lệnh và APDU phản hồi. Do đó,
APDU còn được phân loại thêm theo 5 loại sau, dựa trên đặc điểm có chứa trường dữ
liệu trong APDU lệnh và APDU phản hồi hay không.
Trường hợp 1: Không đầu vào/Không đầu ra
CLA

INS

P1 P2 P3 SW1


SW2

lgth (='00')

'90' '00'
Trường hợp 2: Không đầu vào / Đầu ra có độ dài biết trước
CLA

INS

P1 P2 P3 DATA with length lgth SW1

SW2

lgth

'90' '00'
NOTE: lgth='00' tương ứng dữ liệu truyền 256 bytes.
Trường hợp 3: Không đầu vào / Đầu ra có độ dài chưa biết trước
CLA

INS

P1 P2 P3 SW1

SW2

lgth (='00')


'9F'

lgth
1

8

GET RESPONSE


CLA

INS

P1 P2 P3
DATA with lgth
2
£ lgth
1

SW1

SW2

lgth
2

'90' '00'
Trường hợp 4: Có đầu vào / Không đầu ra
CLA


INS

P1 P2 P3 DATA with length lgth

SW1

SW2

lgth

'90' '00'
Trường hợp 5: Có đầu vào / Đầu ra có độ dài biết trước hoặc không
CLA

INS

P1 P2 P3 DATA with length lgth

SW1

SW2

lgth

'9F'

lgth
1


GET RESPONSE


CLA

INS

P1 P2 P3
DATA with lgth
2
£ lgth
1

SW1

SW2

lgth
2

'90' '00'
§ Trường hợp 1: không có dữ liệu được truyền tới hoặc nhận từ thẻ, APDU lệnh
chỉ chứa header, APDU phản hồi chỉ chứa từ trạng thái.
§ Trường hợp 2: không có dữ liệu được truyền tới thẻ, nhưng có dữ liệu phản
hồi từ thẻ. Chi tiết APDU lệnh chỉ chứa 1 byte - trường Le, nó chỉ rõ số byte
dữ liệu cần có trong APDU phản hồi.
§ Trường hợp 3: không có dữ liệu được truyền tới thẻ, nhưng có dữ liệu phản
hồi từ thẻ. Tuy nhiên độ dài của dữ liệu phản hồi không được chỉ rõ.
§ Trường hợp 4: dữ liệu được truyền tới thẻ, nhưng không có dữ liệu được trả về
do kết quả của quá trình xử lý lệnh. Chi tiết của APDU lệnh bao gồm trường

Lc và trường dữ liệu. Trường Lc chỉ ra độ dài của trường dữ liệu. APDU phản
hồi chỉ chứa từ trạng thái.
§ Trường hợp 5: dữ liệu được truyền tới thẻ và dữ liệu được trả về từ thẻ là kết
quả của quá trình xử lý lệnh. Chi tiết APDU lệnh bao gồm trường Lc, trường
dữ liệu và trường Le. APDU phản hồi gồm cả dữ liệu và từ trạng thái.
1.4.4 Mã hoá bit
Mã hoá bit (bit encoding) trực tiếp hay đảo bit đều được dùng trong thẻ thông
minh[23].
Trực tiếp (xuôi thứ tự):
9


Đảo bit (ngược thứ tự)

1.4.5 Giao thức TPDU (Transport Protocol Data Unit)
APDU được truyền bởi giao thức mức tiếp theo - giao thức truyền thông, được
định nghĩa trong ISO 7816 - 3. 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.
Trong đó, 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ất cả các thẻ cho mạng di động GSM đều
dùng giao thức này.
Còn 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.
Ta xem xét đặc điểm của hai giao thức này:
§ Giao thức T = 0
- Giao thức truyền ký tự bán song công không đồng bộ.
- Thẻ có thể phát và nhận dữ liệu.
- Một lệnh không thể gửi dữ liệu tới thẻ rồi nhận dữ liệu phản hồi đồng
thời.
- Giao thức không chỉ ra hướng của dữ liệu.
- Thiết bị đầu cuối phải biết hướng dữ liệu.
Dữ liệu tới thẻ, ví dụ lệnh ghi
10


Dữ liệu từ thẻ, ví dụ lệnh đọc

§ Giao thứcT = 1
- Giao thức truyền khối bán song công không đồng bộ.
- Dữ liệu có thể được truyền theo cả hai hướng.
- Lệnh và dữ liệu trong trường thông tin.
- Lệnh và dữ liệu trong khung độc lập.
- Không có byte kiểm tra chẵn lẻ.

1.4.6 Thông điệp trả lời để xác lập lại
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). Bản thân 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ẻ thông minh
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, …. Xem chi tiết ở mục
2[23].





11

Chương 2 - HỆ ĐIỀU HÀNH THẺ THÔNG MINH

2.1 GIỚI THIỆU HỆ ĐIỀU HÀNH THẺ THÔNG MINH
Hệ điều hành thẻ thông minh gần giống như hệ điều hành máy để bàn (desktop)
như DOS, UNIX hay Window. Ngoài ra, hệ điều hành thẻ thông minh hỗ trợ một tập
hợp các lệnh, dựa vào đó để xây dựng các ứng dụng của người dùng. ISO 7816 - 4 đã
được chuẩn hóa có thể hỗ trợ tập hợp lớn các chỉ thị trong định dạng của APDU. Một
hệ điều hành thẻ thông minh có thể hỗ trợ một số hay tất cả các lệnh APDU khi nhà
sản xuất thêm vào và mở rộng. Hiện nay, trên thế giới có rất nhiều hãng sản xuất thẻ
thông minh có hệ điều hành hoặc dựa trên nền tảng chuẩn mở (OCF - Open Card
Flatform) hoặc tự phát triển nền tảng riêng (Proprietary Card) để phát triển hệ điều
hành.
§ Thẻ Proprietary hay Native

Hình 9: Kiến trúc của thẻ thông minh dùng hệ điều hành riêng như MPCOS,
STARCOS, ACOSx, WatchData,…
§ Thẻ Global Platform

Hình 10: Kiến trúc của thẻ thông minh dùng hệ điều hành Global Platform dựa trên nền
tảng chuẩn mở OCF hỗ trợ Java.
12


§ The Multos

Hình 11: Kiến trúc thẻ thông minh dùng hệ điều hành Multos.
§ Thẻ Java

Hình 12: Kiến trúc thẻ thông minh sử dụng hệ điều hành hãng Sun Microsystem hỗ trợ
Java.
§ Thẻ Proton Prisma

Hình 13: Kiến trúc thẻ thông sử dụng hệ điều hành Proton Prisma hỗ trợ Java.
13

§ Thẻ TIBC

Hình 14: Kiến trúc thẻ thông minh dùng hệ điều hành TIBC hỗ trợ Java.
Các lệnh APDU phần lớn hướng file hệ thống, như các lệnh lựa chọn file và truy
cập file. Trong trường hợp này, một ứng dụng của người dùng thường là một file dữ
liệu lưu thông tin cụ thể của ứng dụng. Ngữ nghĩa và chỉ thị để truy cập file dữ liệu
ứng dụng được thực hiện bởi hệ điều hành. Chính vì vậy, việc phân chia giữa hệ điều
hành và ứng dụng không được định nghĩa rõ ràng. Các hệ điều hành mới nhất hỗ trợ
tốt hơn sự phân chia lớp hệ thống và nạp mã ứng dụng của người dùng vào thẻ.
2.2 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 dữ liệu này được
tổ chức dưới dạng cây phân cấp theo chuẩn ISO 7816 - 4. Người ta chia làm ba loại:
thư mục gốc (master file - MF), thư mục chuyên dụng (dedicated file - DF) và các 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 được lưu trong các file được quản lý bởi hệ điều hành. Các file gồm có
header, được quản lý bởi thẻ thông minh và phần tuỳ chọn là chi tiết. Header chứa các
thông tin liên quan đến cấu trúc và thuộc tính của file, còn phần chi tiết chứa dữ liệu

của file.
2.2.1 Thư mục gốc
Thư mục gốc (Master File - MF) của hệ thống file và 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ụ máy POS, ATM, …).
MF không thể bị xoá khi thẻ còn hoạt động[8, 9, 13, 24, 28].
2.2.2 Thư mục chuyên dụng
Thư mục chuyên dụng (Dedicated File - 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. DF lưu trữ dữ liệu ứng dụng. Về
bản chất vật lý, nó 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[8, 9, 13, 24, 28].
14

Các DF ở mức đầu tiên tồn tại trong thẻ MPCOS-EMV như sau:
DF
System
, chứa hai file thành phần lưu thông tin về nhà sản xuất thẻ cũng như nhà
phát hành ứng dụng cho thẻ.
Tất cả các file này là mức con ngay dưới của MF.
2.2.3 File cơ bản
Những file này (Elementary File - EF) chứa dữ liệu thực sự. Chúng bao gồm một
chi tiết và một header. Có 4 loại EF: file trong suốt (transparent), cố định tuyến tính
(linear fixed), biến đổi tuyến tính (linear variable) và cố định nối vòng (cyclic fixed).

Hình 15: Sơ đồ tổ chức file trong thẻ thông minh.
§ EF trong suốt (Transparent EF)

Hình 16: Dữ liệu địa chỉ offset trong một file trong suốt.
Đó là EF có cấu trúc gồm các byte liên tiếp. Byte đầu tiên có địa chỉ ‘00’. Khi
file được đọc hoặc cập nhật, 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ật tính từ vị trí
đó. Tiêu đề của file trong suốt biểu thị độ dài chi tiết của file[8, 9, 13, 24, 28].
15

§ EF cố định tuyến tính (Linear fixed EF)

Hình 17: Cấu trúc file cố đinh tuyến tính.
Kiểu EF này 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, 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 ISO7816 - 4, số bản ghi tối đa trong file tuyến tính cố định là 254,
và mỗi bản ghi có độ dài không vượt quá 255 bytes[8, 9, 13, 24, 28].
§ EF biến đổi tuyến tính (Linear variable EF)
Kiểu file này gồm các bản ghi liên tiếp có độ dài không cố định. Cúng giống với
kiểu file tuyến tính cố định, mỗi bản ghi cũng được định danh duy nhất bởi số thứ tự
bản ghi[8, 9, 13, 24, 28].

Hình 18: Cấu trúc file biến đổi tuyến tính.
§ EF nối vòng (Cyclic EF)

Hình 19: Cấu trúc file nối vòng.
16

Có cấu trúc tương tự file cố định tuyến tính. Nó gồm có số cố định các bản ghi
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 nó là bản ghi cuối cùng[8, 9, 13, 24, 28].
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. Theo cách này, khi tất cả các bản ghi đã được sử dụng, dữ liệu tiếp theo sẽ ghi đè
bản 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.3 TRUY CẬP FILE
2.3.1 Định danh file
Định danh được dùng để đánh địa chỉ mỗi file trong thẻ. Định danh bao gồm hai
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
file. Định danh file cho thẻ chip như sau:
§ File gốc: 3F
§ Mức đầu tiên của file chuyên dụng: 01
§ Mức thứ hai của file chuyên dụng: 5F
§ File thành phần dưới mức MF: 2F
§ File thành phần dưới mức DF đầu tiên: 6F
§ File thành phần dưới mức DF thứ hai: 4F
2.3.2 Các phương thức lựa chọn file
Khi thẻ được đưa vào các thiết bị chấp nhận thẻ (POS, ATM, …), file gốc sẽ
được chọn và trở thành thư mục hiện tại. Mỗi file của thẻ EMV có thể được lựa chọn
bởi lệnh SELECT. Có một số luật cần tuân theo để việc lựa chọn file thành công. Từ
file hiện tại, các file sau có thể được lựa chọn:
§ File gốc (MF).
§ File chuyên dụng hiện tại.
§ File chuyên dụng mức cha của thư mục hiện tại.
§ Bất kỳ file chuyên dụng nào là mức con liền kề của file chuyên dụng cha của
thư mục hiện tại.
§ Bất kỳ file 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 file được thực hiện bằng cách dùng định danh của file được
lựa chọn. Trong quá trình lựa chong file, nếu file được chỉ định lựa chọn không tồn tại

trên thẻ thì lập tức thẻ sẽ thông báo cho thiết bị đầu cuối biết bằng mã lỗi trả về. Tuy
nhiên con trỏ hiện tại vẫ không bị mất đi mà vẫn nằm ở vị trí hiện tại.
17

2.3.3 Điều kiện truy cập file
Để lựa chọn một file của thẻ thông minh, cần có một số điều kiện truy cập phải
tuân theo. Điều kiện truy cập chỉ áp dụng cho file thành phần (EF), file gốc (MF) và
file chuyên dụng (DF) không có điều kiện truy cập. Tuy nhiên ở mỗi loại thể đều có
một số quy định riêng về cách truy cập file của nó, điều này thường được mô tả rất chi
tết trong tài liệu đi kèm với từng loại thẻ tương ứng.
Thẻ thông minh cho phép truy cập file để bảo vệ dùng mã riêng hoặc khóa. Các
mã riêng này được lưu trữ trong EF được gọi là Secret Code Elementary Files (EF
sc
).
File gốc và mỗi file chuyên dụng có thể chứa một EF
sc
.
Truy cập tới các file của thẻ chip được bảo vệ bởi mã riêng bí mật. Mã này được
lưu trữ trong một EF chỉ định mà được gọi là EFsc. Mỗi EFsc có thể chứa tới 8 mã bí
mật, được đánh số từ 0 đến 7. File MF và mỗi DF chỉ chứ một EF
sc
.
Các điều kiện truy cập định ngĩa mức bảo vệ cho một file. Các điều kiện này
thường lưu 2 byte trong các mô tả của DF và EF. Chúng định nghĩa như các điểm sau:
§ Có tới 2 mã số bí mật mà phải đệ trình để truy cập file cho mỗi kiểu truy cập
(tạo file, đọc, ghi hoặc cập nhật nội dung file).
§ Sử dung khóa bí mật cho các thực hiện thông điệp an toàn trên file cho mỗi
kiểu truy cập (tạo file, đọc, ghi hoặc cập nhật nội dung file).
Các điều kiển bảo vệ dữ liệu có thể được định nghĩa bởi nhà phát hành ứng dụng
cho mỗi EF hoặc DF.

Khi thiết bị đầu cuối đệ trình một mã bí mật, nó được chỉ định là một mã bí mật
trong dãi từ 0 đến 7. Thẻ sẽ so sánh mã bí một được đệ trình với mã bí mật được chỉ
định bở EF
sc
. Nếu mã bí mật đó không tương ứng, thẻ sẽ trả về một byte trạng thái lỗi.
Còn nếu mã bí mật đó tương ứng, thẻ sẽ đặt tương ứng số bit tới số của mã bí mật đã
đệ trình thành công lên ‘1’ trong thanh ghi ủy quyền[8,9].
2.4 CẤU TRÚC FILE THẺ EMV
2.4.1 Cấu trúc file thẻ MPCOS-EMV
Cấu trúc thẻ MPCOS-EMV tuân theo chuẩn ISO 7816. Ở đỉnh của cấu trúc này
là file gốc (MF). Thư mục này chứa hai file chuyên dụng ở mức đầu tiên và hai file
thành phần của mức đầu. Đó là các file EF
Key
, DF
System
, EF
Card
, EF
Issuer
[8,9].
Cụ thể các file đó là:
§ EF
Key

File này được dùng để chứa mã khóa hệ thống, mã khóa này rất cần thiết để thực
hiện việc cá thể hóa các ứng dụng của nhà phát hành lên thẻ. Thông tin về mã khóa
này được nhà sản xuất thẻ cung cấp cho khách hàng khi họ mua thẻ. File này có độ dài
24 byte. Điều kiện truy cập của file này để đọc là luôn bị khóa không cho phép đọc nội

×