You are on page 1of 51

HỆ THỐNG LƯU TRỮ GIÁ TRỊ TRỰC TUYẾN

Trần Quang Đức


Tổng quan về hệ thống
• Hệ thống lưu trữ giá trị trực tuyến cho phép khách hàng
thanh toán trực tiếp và trực tuyến với người bán hàng và
các cá nhân khác trên cơ sở giá trị được lưu trữ trong các
toàn khoản trực tuyến.

• Các hệ thống lưu trữ giá trị dựa trên giá trị được lưu trữ
trong các tài khoản thẻ tín dụng, tài khoản thẻ hoặc tài
khoản ngân hàng của khách hàng.

• Hệ thống thẻ thông minh là một dạng của hệ thống lưu


trữ giá trị.
Ứng dụng của thẻ thông minh

Mobile
Public E-Government
Telecommunications Retail
Telephony

Enterprise Digital Rights


Security Management
Access control Banking
Thẻ thông minh
• Thẻ thông minh, thẻ gắn chip là loại thẻ có kích thước
tương tự như thẻ tín dụng, bên trong tích hợp IC chip với
khả năng lưu trữ, xử lý và gửi thông tin.

• Thẻ thông minh có thể là thẻ nhớ (thành phần bộ nhớ


bất biến) hoặc thẻ vi xử lý (thành phần bộ nhớ khả biến).
Thẻ thông minh
• Thẻ thông minh hỗ trợ một số tính năng bảo mật nâng
cao như lưu trữ khóa, thực thi thuật toán mã hóa, trao
đổi khóa, xác thực, ký số và bảo vệ thông tin lưu trên thẻ
(bao gồm thông tin cá nhân, khóa bí mật hoặc mật khẩu).

• Thẻ thông minh cũng cung cấp cơ chế truyền tin an toàn
giữa các hệ thống và có thể lập trình.

• Thẻ thông minh tích hợp bộ nhớ có khả năng chống can
thiệp (tamper-resistant storage) để bảo vệ thông tin nhạy
cảm như khóa cá nhân, mật khẩu, số tài khoản.
Lịch sử
• Thẻ gắn chip được phát minh vào năm 1968 bởi hai nhà
khoa học người Đức Helmut Grottrup và Jurgen Dethloff

• Năm 1977, Michel Ugon (Honeywell Bull) phát minh thẻ


vi xử lý đầu tiên (Microprocessor smart card). Năm 1978,
Michel Ugon đăng ký bằng sáng chế về SPOM (Self
Programmable One-chip Microprocessor), trong đó định
nghĩa kiến trúc để lập trình chip.

• Năm 1978, Motorola sản xuất thẻ CP8 dựa trên bằng
sáng chế trên.
Lịch sử
• Năm 2001, Honeywell Bull bán một phần của CP8 cùng
các bằng sáng chế liên quan (hơn 1200) cho
Schlumberger. Schlumberger thành lập Axalto.

• Năm 2006, Axalto và Gemplus (hai nhà sản xuất thẻ lớn
nhất thế giới) hợp nhất để thành lập Gemalto.

• Năm 2008, Dexa Systems tách ra khỏi Schlumberger để


triển khai hệ thống quản lý thẻ thông minh quy mô lớn
dựa trên hạ tầng PKI.
Thẻ từ vs. Thẻ thông minh
Cấu trúc vật lý thẻ thông minh
• Cấu trúc vật lý của thẻ được định nghĩa theo chuẩn ISO
(International Standards Organisation), gồm ISO 7810,
ISO 7816/1, ISO 7816/2.

Printed Circuit
Microcontroller
Glue
Plastic Support
Cấu trúc vật lý thẻ thông minh
• Mạch IC gồm: Bộ vi xử lý (8, 16, 32 bit, 1 MIPS), ROM
(8-24 KB), RAM (1 KB), EEPROM (1-24 KB), PROM,
EPROM.

• Mạch IC được làm bằng silicon, có kích thước nhỏ (một


vài mm) để tránh bị vỡ/hỏng trong quá trình sử dụng.

• Input/Output: Thông qua một cổng I/O, được bộ vi xử lý


điều khiển để đảm bảo chuẩn giao tiếp dưới dạng APDU
(Application Protocol Data Unit).
Cấu trúc vật lý thẻ thông minh
• Đầu đọc thẻ có nhiệm vụ tiếp nguồn, tạo tín hiệu đồng hồ
và kết nối hệ điều hành trên thẻ với phần mềm ứng dụng
tại máy tính. Việc kết nối được thực hiện qua kênh
truyền bán song công (half-duplex).

• Phía gửi và nhận có cùng xung nhịp đồng hồ. Dữ liệu gửi
từ thẻ được lưu tạm trên RAM và được đóng gói trong
gói tin nhỏ với kích thước 10-100 bytes (Bị giới hạn bởi
kích thước của RAM).
Minh họa cấu trúc thẻ
Word Write/ Transmission
Smart card ROM EEPROM RAM Clock
size erase cycle rate
Infineon
8-bit 9K 1K 256b 5 MHz 500.000 9600 baud
SLE44C10S
Orga ICC4 8-bit 6K 3K 128b 10.000
13.6
GemCombi 8-bit 5K 100.000 106 kbaud
MHz
3.5
DNP Risona 8-bit 1K 9600 baud
MHz
AmaTech 13.6
8-bit 1K 100.000
Contactless MHz
Schlumberger 8/ 16- 1-5
8K 16K 256b 100.000 9600 baud
Cyberflex bit MHz
Cấu trúc vật lý thẻ thông minh
Thẻ thông minh có hai mức kích thước: (1)
Kích thước tương đương với thẻ tín dụng; (2)
Kích thước nhỏ hơn được định nghĩa quy
định bởi European Telecommunication
Standards Institute (ETSI).
Nguyên tắc hoạt động
• Khách hàng đặt thẻ vào đầu đọc trong khoảng thời gian diễn
ra phiên giao dịch.

• Khách hàng cung cấp số PIN (Mật khẩu) tương tự như khi sử
dụng máy ATM.

• Đầu đọc thẻ tương tác với phần mềm trên máy tính và thực
hiện một số chức năng, kiểm tra thông tin và xác thực khách
hàng. Lưu ý: Để đảm bảo an toàn, việc kiểm tra khóa cá nhân
cũng như chứng thư điện tử được thực hiện trực tiếp trên thẻ.

• Khách hàng thu lại thẻ sau khi hoàn tất giao dịch.
Cơ chế xác thực
• Bước 1: Nhập mã PIN để mở khóa vân tay.

• Bước 2: Quét vân tay và thực hiện đối sách với đặc trưng
tương ứng lưu trữ trên thẻ thông minh. Trường hợp thành
công, thuật toán cung cấp khóa bí mật để giải mã khóa cá
nhân.

• Bước 3: Ứng dụng gửi giá trị nonce (một số ngẫu nhiên) đến
thẻ. Thẻ thực hiện mã hóa nonce bằng khóa cá nhân của
khách hàng.

• Bước 4: Ứng dụng sử dụng khóa công khai để giải mã và so


sánh kết quả nhận được với giá trị nonce đã sinh trước đó.
Thẻ thông minh không tiếp xúc
• Thẻ thông minh không tiếp xúc được trang bị một ăng
ten chạy ẩn quanh thân thẻ.

• Thẻ thông minh không tiếp xúc thực hiện giao tiếp với
đầu đọc thông qua sóng radio với khoảng cách từ 2,5”
đến 3,9” (63,5 mm đến 99,06 mm)
Thẻ cảm ứng
• Thẻ cảm ứng tương tự như thẻ thông minh không tiếp
xúc. Thẻ cảm ứng chỉ cung cấp tính năng đọc dữ liệu.

• Khoảng cách hoạt động từ 2,5” đến 20” (63,5 mm đến


508 mm).

• Thẻ cảm ứng được ứng dụng trong các hệ thống xác thực,
kiểm soát truy cập.
Thẻ Hybrid và thẻ Combi
• Thẻ Hybrid là thẻ được ứng dụng nhiều công nghệ bao
gồm mạch tích hợp và dải từ trên thẻ.

• Thẻ Combi là thẻ thông minh sử dụng cả công nghệ tiếp


xúc và không tiếp xúc. Khác với thẻ Hybrid, thẻ Combi
chỉ bao gồm một chip thông minh tích hợp mặt tiếp xúc
và ăng ten.
Thẻ thông minh mật mã
• Thẻ thông minh mật mã tích hợp bộ vi xử lý đời cao để
thực thi tính năng phức tạp như mã hóa và ký số.

• Thẻ thông minh mật mã hỗ trợ lưu trữ khóa cá nhân


cũng như các loại khóa bí mật khác.

• EEPROM trên thẻ được thiết kế để ngăn chặn can thiệp


vật lý hoặc can thiệp từ bên ngoài.
Thẻ thông minh Vault
• Thẻ được kích hoạt khi người dùng nhập số PIN trực tiếp
trên thẻ.

• Thẻ tự xác thực số PIN và cho phép người dùng thực


hiện thanh toán. Thẻ sau đó có trạng thái bất hoạt.

• Xác thực thẻ không đòi hỏi CSDL PIN bên ngoài vì thế
hạn chế tối đa khả năng bị can thiệp hoặc sử dụng sai
mục đích.
Thẻ nhớ
• Thẻ nhớ có kích thước từ 103-bit đến 16.000-bit nhưng
không có bộ vi xử lý.

• Thẻ nhớ được dùng cho mục đích lưu giữ thông tin và
các ứng dụng định danh. Nó phù hợp với những môi
trường đòi hỏi mức độ bảo mật trung bình hoặt thấp.
Thẻ nhớ
• Straight memory card: Lưu giữ thông tin.

• Protected/Segmented memory card: Sử dụng khối logic


để kiểm soát truy cập đến thẻ.

• Stored value memory card: Đáp ứng mục đích chuyên


biệt để lưu giữ giá trị hoặc token và được trang bị một số
cơ chế bảo mật cố định (mật khẩu lưu trên thẻ)
Thẻ thông minh đa dụng
• Thẻ được dùng cho nhiều mục đích khác nhau. Mỗi ứng
dụng dùng một vùng nhớ riêng. Bộ vi xử lý thực hiện
quản lý phân vùng bộ nhớ và kiểm soát truy cập tệp tin.

• Thẻ hoạt động tương tự như máy tính cá nhân, quản trị
dữ liệu theo cấu trúc hệ thống tệp tin và qua hệ điều
hành COS (Card Operating System)

• Thông tin trên thẻ có thể cập nhật hoặc thay đổi để tiết
kiệm chi phí.
Thẻ thông minh đa dụng
Hệ điều hành COS
COS gồm tập hợp của
các chỉ thị được tích hợp
trên ROM của thẻ thông
minh. COS nhận chỉ thị
bên ngoài, thực thi nếu
nếu thỏa mãn điều kiện
Chức năng cơ bản của COS
• Quản lý quá trình/giao thức trao đổi giữa thẻ với bên ngoài

• Quản lý tệp tin và dữ liệu lưu trong bộ nhớ

• Kiểm soát truy cập đến thông tin và các hàm (ví dụ, chọn tệp
tin, đọc, ghi và sửa đổi dữ liệu)

• Quản lý an toàn thông tin và các thuật toán mật mã

• Đảm bảo thẻ hoạt động ổn định, và phục hồi khi gặp sự cố

• Quản lý các pha khác nhau trong vòng đời của thẻ
Java Card
• Java Card ra đời tháng 11 năm 1996. Năm 2021, 700
triệu trong tổng số 3 tỷ thẻ trên thị trường là Java Card.

• Java Card cho phép các ứng dụng được viết bằng Java có
thể chạy trên thẻ thông minh hoặc chip bảo mật. Ứng
dụng còn được biết đến với tên gọi Java Card applet.

• Java Card gồm hai thành phần chính: Java Card Virtual
Machine (JVM) và Java Card Runtime Environment
(JCRE).
Java Card Virtual Machine
• Java Card Virtual Machine tạo môi trường để tích hợp
ứng dụng trong Java Card. JVM bao gồm bộ chuyển đổi
và bộ thông dịch.
Java Card Virtual Machine
• Bộ chuyển đổi tối ưu hóa byte code, bố trí bộ nhớ, xây
dựng các cấu trúc dữ liệu để biểu diễn các lớp đối tượng,
và tạo tệp tin nhị phân CAP (Converted Applet) có khả
năng chạy trên bộ thông dịch.

• CAP được ghi vào bộ nhớ, liên kết với các lớp đối tượng
khác đã có trên thẻ, và khởi tạo các cấu trúc dữ liệu cho
JCRE.

• Bộ thông dịch thực thi byte code, kiểm soát không gian
bộ nhớ và bảo mật quá trình thực thi.
Java Card Runtime Environment
• JCRE được đưa vào Java Card và tồn tại cho đến khi thẻ
bị phá hủy.

• Khi thẻ đặt vào đầu đọc thẻ, JCRE thực hiện sao lưu dữ
liệu/chương trình từ EEPROM và ROM vào RAM.

• Trong quá trình giao dịch, dữ liệu/đối tượng được sao


lưu từ RAM vào EEPROM để lưu giữ trong trường hợp
mất điện.
Giao thức truyền thông
• Thẻ thông minh sử dụng gói tin dạng APDU (Application
Protocol Data Unit) để giao tiếp với bên ngoài.

• APDU gồm các thông điệp lệnh và phản hồi. Thẻ thông
minh hoạt động ở chế độ bị động (đợi, tiếp nhận và xử lý
các lệnh APDU nhận được).
Các bước xử lý
• Bước 1 (Kết nối): Thẻ thông minh kết nối với đầu đọc.

• Bước 2 (Xác thực thẻ): Thẻ gửi thông điệp đến đầu đọc
để xác thực. Thông điệp có thể được mã hóa để tăng
cường bảo mật. Đầu đọc kiểm tra nếu thẻ thuộc dành
sách hợp lệ.

• Bước 3 (Xác thực đầu đọc): Đầu đọc gửi thông điệp đến
thẻ. Thẻ kiểm tra mã xác thực, nếu thành công, cho phép
đầu đọc được can thiệp vào thông tin khác trên thẻ.
Các bước xử lý
• Bước 4 (Lựa chọn ứng dụng): Một thẻ thông minh có thể
hỗ trợ nhiều ứng dụng khác nhau. Việc lựa chọn ứng
dụng có thể thực hiện bởi đầu đọc, chủ thẻ hoặc cơ sở
chấp nhận thẻ.

• Bước 5 (Xác định yêu cầu bảo mật): Thẻ có thể định
nghĩa yêu cầu bảo mật với ứng dụng được chọn.

• Bước 6 (Xác thực chủ thẻ): Chủ thẻ cung cấp số PIN,
mẫu sinh trắc để thực hiện xác thực.
Các bước xử lý
• Bước 7 (Giao dịch): Giao dịch có thể tiến hành thủ công
hoặc tự động. Thẻ và đầu đọc thẻ kiểm tra và ủy quyền
giao dịch.

• Bước 8 (Lưu nhật ký): Thẻ tạo ra bản ghi và lưu vào đầu
đọc thẻ. Bản ghi có thể sử dụng trong những phần khác
nhau của hệ thống, bởi bên thứ ba hoặc phục vụ cho mục
đích sao lưu.

• Bước 9 (Hóa đơn): Đầu đọc thẻ in hóa đơn và kết thúc
giao dịch.
Vòng đời của thẻ thông minh
• Pha sản xuất được tiến hành tại nhà máy. Pha này tiến hành
tạo và kiểm thử chip tích hợp. Tại đây, khóa KF được thêm
vào để ngăn chặn chip bị can thiệp cho đến khi nó được đưa
vào trong thẻ nhựa. KF với mỗi chip là đơn nhất và được tính
toán từ khóa chủ của nhà sản xuất.

• Pha cá thể hóa được thực thi bởi đơn vị phát hành thẻ. Pha
này hoàn thành việc tạo cấu trúc dữ liệu logic. Nội dung tệp
tin và ứng dụng được viết trên thẻ. Thông tin chủ thẻ, số PIN
cũng được đưa vào trong bộ nhớ lưu trữ.
Vòng đời của thẻ thông minh
• Pha sử dụng kích hoạt ứng dụng hệ thống, cơ chế kiểm soát
truy cập tệp tin. Thông tin truy cập bị hạn chế theo chính sách
của ứng dụng.

• Kết thúc vòng đời: Có hai cách để kết thúc vòng đời của thẻ.
Cách thứ nhất thông qua ứng dụng. Tất cả tiến trình ghi, cập
nhật đều bị khóa bởi hệ điều hành. Thẻ vẫn cho phép đọc để
phục vụ mục đích phân tích. Cách thức hai do thẻ bị khóa do
điền sai thông tin PIN nhiều hơn số lần cho phép. Tất cả tiến
trình bao gồm cả đọc đều bị khóa.
Cấu trúc tệp tin lôgic
Cấu trúc tệp tin lôgic
• Tệp tin cơ sở có thể thuộc một trong bố dạng: (1)
Transparent File (Kích thước cố định dùng để lưu thông
tin), (2) Linear, Variable Length Record File (Lưu một
phần của bản ghi), (3) Linear, Fixed Length Record File,
(4) Cyclic, Fixed Length Record File (Bản ghi được đọc
và ghi theo thứ tự xoay vòng).

• Cách thức và mục đích lưu trữ dữ liệu ứng với mỗi dạng
tệp tin khác nhau là khác nhau.
Cấu trúc tệp tin lôgic
• Thông tin trong phần tiêu đề gồm số định danh, thông
tin mô tả, định dạng, kích thước. Phần này cũng đặc tả
một số tính chất như điều kiện truy cập và trạng thái hiện
tại của tệp tin.

• Chức năng khóa cũng được cung cấp để ngăn chặn truy
cập trái phép đến tệp tin.
Kiểm soát truy cập
• Always (ALW): Không hạn chế truy cập,

• Cardholder verification 1 (CHV1): Truy cập khi và chỉ khi cung


cấp đúng giá trị CHV1.

• Cardholder verification 1 (CHV1): Truy cập khi và chỉ khi cung


cấp đúng giá trị CHV2.

• Administrative (ADM): Gán quyền và yêu cầu gán quyền được


định nghĩa bởi đối tượng có thẩm quyền quản trị.

• Never (NEV): Ngăn cấm truy cập tệp tin.


Chuẩn thẻ thông minh
• International Standards Organization

• American National Standard Institute

• International Airline and Transportation Association

• G-9 Health Standards

• GSM Standards: Subscriber Identification Module (SIM)


hoặc User Identity Module (UIM)
Chuẩn thẻ thông minh
• EMV (Europay, Mastercard, and Visa) Specifications:
Định nghĩa tiêu chuẩn kỹ thuật cho thẻ thanh toán thông
minh, trạm thanh toán, và ATM.

• PC/SC Workgroup Open Specifications: Hướng dẫn tích


hợp thẻ thông minh vào máy tính cá nhân

• OpenCard Framework: Hướng dẫn tích hợp thẻ thông


minh vào máy tính mạng

• Secure Electronic Transactions (SET)


Chuẩn ISO
• ISO 7816-1: Đặc tính vật lý
• ISO 7816-2: Kích thước và vị trí phần tiếp xúc
• ISO 7816-3: Tín hiệu điện và giao thức trao đổi
• ISO 7816-4: Tập lệnh để trao đổi thông tin
• ISO 7816-5: Hệ thống đăng ký đối với nhà cung cấp ứng dụng
• ISO 7816-8: Tập lệnh và cơ chế bảo mật
• ISO 7816-9: Tập lệnh để quản lý thẻ
• ISO 7816-15: Mô tả thông tin về tính năng mật mã
Chuẩn ISO
• ISO/IEC 14443-1:2018 Part 1: Đặc tính vật lý

• ISO/IEC 14443-2:2016 Part 2: Đặc tính về năng lượng và


truyền thông hai hướng giữa PCD (Proximity Coupling
Devices) và PC (Proximity Card)

• ISO/IEC 14443-3:2018 Part 3: Định nghĩa quá trình khởi tạo

• ISO/IEC 14443-4:2018 Part 4: Giao thức truyền thông


Tiêu chuẩn bảo mật
• PKCS#11: Cryptographic Token Interface Standard: Định
nghĩa API, còn gọi Cryptoki, giao tiếp với thiết bị lưu
thông tin, hàm mật mã.

• PKCS#15: Cryptographic Token Information Format


Standard: Chuẩn hóa cách thức sử dụng token trong
nhiều ứng dụng chuẩn khác nhau.

• JavaCard: JavaCard API hỗ trợ ghi một lần và có thể


thực thi Java trên thẻ với bộ nhớ hạn chế.
Tiêu chuẩn bảo mật
• Common Data Security Architecture: Phát triển bởi
Intel, CDSA cung cấp nền tảng phần mềm mở, dễ dàng
mở rộng để đảm bảo máy tính trở nên an toàn hơn khi
thực hiện các giao dịch điện tử, kết nối và trao đổi nội
dung số.

• Microsoft Cryptographic API: Cung cấp dịch vụ để nhà


phát triển có thể bổ sung chức năng mật mã, quản lý
chứng thư vào ứng dụng Win32.
Tấn công thẻ thông minh
• Tấn công xâm lấn

• Tấn công không xâm lấn

• Tấn công vật lý

• Tấn công logic

• Tấn công Trojan Horse

• Kỹ nghệ xã hội
Thẻ thông minh Octopus
• Hệ thống thẻ thông minh Octopus tại Hồng Kông gồm 12
triệu thẻ, 15,000 đầu đọc. Hệ thống thực hiện khoảng 7
triệu giao dịch (tương đương 48 triệu HKD) một ngày.

• Octopus là thẻ RFID, khoảng cách hoạt động 15 cm, băng


thông 211 kbps, thực hiện mã hóa DES trong thời gian 70
µs. Octopus sử dụng EEPROM 1536-byte, kích thước
vùng sao lưu 128-byte, 16-byte cho định danh của nhà
sản xuất và 16-byte cho định danh đơn vị phát hành thẻ.
Thời gian xử lý trên thẻ là 50ms, tổng thời gian là 300
ms. Thẻ hỗ trợ tệp tin cyclic và có giao thức chống xung
đột.
Thẻ thông minh Octopus

SONY RC-S833
CONTACTLESS SMART CARD
SONY READER/WRITER

I/O SPEED: 211 Kbps


Thẻ thông minh Octopus

Thẻ căn cước công dân


Thẻ kiểm soát truy cập
Thẻ tín dụng
McDonalds
Thẻ điện thoại
Thẻ thông minh Octopus

CENTRAL CLEARING
HOUSE SYSTEM

SERVICE
PROVIDER
CENTRAL
COMPUTER

LOCAL
DATA
PROCESSOR

SOURCE:

You might also like