2.6.1 Cỏc file trong trao đổi giao dịch tài chớnh
2.6.1.1 Ánh xạ cỏc đối tượng dữ liệu
Hệ thống thanh toỏn hoặc nhà phỏt thành sẽ ỏnh xạ cỏc đối tượng dữ liệu (Mapping Data Objects) thớch ứng tới cỏc file cần thiết[4, 10].
Đ Tất cả cỏc file mà sử dụng được lệnh READ RECORD nhưđó định nghĩa chứa cỏc đối tượng dữ liệu trong đặc tả này sẽ dựng cỏc SFI trong khoảng từ 1 đến 10. Cỏc file này là:
- File thường là kiểu file tuyến tớnh cú thểđọc được sử dụng lệnh READ RECORD nhưđó mụ tả.
- File cú thể chứa nhiều bản ghi. Mỗi bản ghi giới hạn 254 byte bao gồm vị trớ (tag) và độ dài
- Mỗi bản ghi sẽ được tọa mó theo cấu trỳc của đổi tượng dữ liệu. Vị trớ của cấu trỳc này thường là ‘70’ mó hex biểu thị một mẫu riờng và độ dài là tổng độ dài của đối tượng được đúng gúi.
- File khụng những chứa cỏc đối tượng dữ liệu đó định nghĩa mà cũn được viết mó theo chuẩn BER-TLV
- File cú thể cú điều kiện truy cập tương ứng để cho phộp cập nhật nội dung nhưng chắc chắn là nú phải được phộp đọc.
Đ Cỏc file mà SFI nằm trong khoảng từ 11 đến 20 thường để dự trữ cho dữ liệu riờng được chỉ định hở hệ thống thanh toỏn riờng.
Đ Cỏc file mà SFI nằm trong khoảng từ 21 đến 30 thường để dự trữ cho dữ liệu riờng được chỉ định bởi nhà phỏt hành.
Đ Trong AFL sẽ xỏc đớnh định rừ cỏc file và cỏc bản ghi được dựng cho xử lý giao dịch.
2.6.1.2 Cỏc đối tượng dữ liệu bắt buộc
Bảng 1 sau liệt kờ cỏc đối tượng dữ liệu phải được thiết đặt trong thẻ nằm trong cỏc file đọc được bằng cỏch dựng lệnh READ RECORD.
Tag Value Presence
‘5F24’ Application Expiration Date M
‘5A’ Application Primary Account Number (PAN) M
‘8C’ Card Risk Management Data Object List 1 M
‘8D’ Card Risk Management Data Object List 2 M
Bảng 1: Cỏc đối tượng dữ liệu bắt buộc.
Tất cả những đối tượng dữ liệu được định nghĩa ở đõy thường trỳ trong cỏc file bờn trong thẻ[25].
Bảng 2 tiếp theo liệt kờ cỏc đối tượng dữ liệu phải cú sẵn trong thẻ nếu thẻđú hỗ trợ xỏc thực dữ liệu tĩnh (SDA) ngoại tuyến[25].
Tag Value
‘8F’ Certification Authority Public Key Index ‘90’ Issuer Public Key Certificate
93 Signed Static Application Data 92 Issuer Public Key Remainder 9F32 Issuer Public Key Exponent
Bảng 2: Dữ liệu yờu cầu cho SDA.
Bảng 21 kế tiếp cũng liệt kờ cỏc đối tượng dữ liệu phải cú sẵn trong thẻ nếu nú hỗ trợ xỏc thực dữ liệu động (DDA/CDA) ngoại tuyến[25].
Tag Value
‘8F’ Certification Authority Public Key Index ‘90’ Issuer Public Key Certificate
‘93’ Signed Static Application Data ‘92’ Issuer Public Key Remainder ‘9F32’ Issuer Public Key Exponent ‘9F46’ ICC Public Key Certificate ‘9F47’ ICC Public Key Exponent ‘9F48’ ICC Public Key Remainder
‘9F49’ Dynamic Data Authentication Data Object List (DDOL)
2.6.2 Lồng giao dịch
AIP (Application Interchange Profile) sẽđịnh rừ cỏc chức năng ứng dụng mà nú được hỗ trợ bởi thẻ. Thiết bị đầu cuối sẽ cố gắng thực thi chỉ những chức năng mà ICC hỗ trợ. Cỏc chức năng này sẽ thực hiện tuõn theo điều kiện thực thi. Hỡnh 27 mụ tả một luồng giao dịch cú thể thực hiện được[4].
2.6.3 Cỏc hàm được sử dụng trong xử lý giao dịch
Như sơ đồ luồng giao dịch ở hỡnh 27. Ta thấy cú rất nhiều chức năng được thẻ gọi tới để thực hiện một quỏ trỡnh giao dịch[4].
2.6.3.1 Khởi tạo xử lý ứng dụng
Mục đớch: Đõy là chức năng xử lý khởi tạo ứng dụng
Đ Bỏo cho thẻ biết rằng một xử lý một giao dịch mới sẽ bắt đầu Đ Cung cấp cho thẻ và thiết bị đầu cuối về thụng tin giao dịch
Đ Lấy AIP (Application Interchange Profile) từ thẻ và liệt kờ danh sỏch file chứa trong thẻđể sau này sử dụng xử lý giao dịch
Đ Quyết định giao dịch cú được phộp hay khụng
Điều kiện thực thi: Thiết bịđầu cuối luụn luụn thực thi chức năng này
Luồng thực thi: Đõy là chức năng trước tiờn được thực hiện sau khi lựa chọn ứng dụng
2.6.3.2 Đọc dữ liệu ứng dụng
Mục đớch: Dữ liệu chứa trong file trờn thẻ cần phải được thiết bịđầu cuối thực thi cỏc chức năng khỏc nhau dựng trong xử lý giao dịch. Thiết bị đầu cuối phải đọc dữ liệu này từ thẻ
Điều kiện thực thi: Thiết bịđầu cuối sẽ luụn thực thi chức năng này
Luồng thực thi: Chức năng đọc dữ liệu ứng dụng được thực thi tức thời theo luồng khởi tạo ứng dụng
2.6.3.3 Xỏc thực dữ liệu ngoại tuyến (Offline Data Authentication)
Mục dớch: Quỏ trỡnh này chỉ ra làm thế nào để quyết định xỏc thực dữ liệu ngoại tuyến cú được thực thi hay khụng, loại nào của quỏ trỡnh xỏc thực sẽđược thực hiện và làm thế nào để thành cụng hay thất bại của quỏ trỡnh xỏc thực ảnh hưởng đến luồng giao dịch và dữ liệu được ghi lại trong TVR và TSI.
Điều kiện thực thi: Trong thẻ phải cú dữ liệu để hỗ trợ xỏc thực dữ liệu ngoại tuyến như là tựy chọn. Sự cú mặt của nú sẽ được biểu thị trong AIP. Nếu cả thiết bị đầu cuối và thẻ đều hỗ trợ xỏc thực dữ liệu ngoại tuyến, thiết bị đầu cuối sẽ thực hiện những chức năng này. Dựa trờn cỏc khả năng của thẻ và thiết bị đầu cuối, SDA hoặc DDA hoặc CDA sẽđược thực hiện.
Nếu cả hai ý sau đều đỳng thỡ thiết bị đầu cuối sẽ thực hiện CDA như đó được chỉđịnh:
Đ AIP biểu thị thẻ cú hỗ trợ CDA Đ Thiết bịđầu cuối hỗ trợ CDA
Nếu tất cả ý sau đều đỳng, thỡ thiết bị đầu cuối sẽ thực hiện DDA như đó được chỉđịnh:
Đ AIP biểu thị thẻ hỗ trợ DDA Đ Thiết bịđầu cuối hỗ trợ DDA
Đ Hoặc là thẻ hoặc là thiết bịđầu cuối hoặc cả hai khụng hỗ trợ CDA
Nếu tất cả ý sau đều đỳng, thỡ thiết bị đầu cuối sẽ thực hiện SDA nhưđó được chỉ định:
Đ AIP biểu thị thẻ hỗ trợ SDA Đ Thiết bịđầu cuối hỗ trợ SDA
Đ Hoặc là thẻ hoặc là thiết bịđầu cuối hoặc cả hai khụng hỗ trợ DDA Đ Hoặc là thẻ hoặc là thiết bịđầu cuối hoặc cả hai khụng hỗ trợ CDA
Nếu SDA hoặc DDA hoặc CDA khụng được thực hiện, thỡ thiết bị đầu cuối sẽ đặt bớt “Offline Data Authentication was not performed’” trong TVR lờn ‘1’
Luồng thực thi: Thiết bị đầu cuối sẽ thực hiện xỏc thực dữ liệu ngoại tuyến trong bất kỳ chỗ nào sau khi đọc dữ liệu ứng dụng như phải thực hiện trước khi thiết bị đầu cuối hoạt động phõn tớch hoàn thành.
2.6.3.4 Xỏc minh chủ thẻ (Cardholder Verification)
Mục đớch: xỏc minh chủ thẻđược thực hiện để chắc chắn rằng người đú cú ở hiện tại khụng và người đú đỳng với ứng dụng trờn thẻđó được phỏt hành.
Điều kiện thực thi: Khả năng thẻ hỗ trợ ớt nhất một phương thức xỏc minh chủ thẻđược biểu thị trong AIP. Nếu bớt này được đặt bằng ’1’, thiết bị đầu cuối sẽ dựng dữ liệu liờn quan tới xỏc minh dữ liệu trong thẻ để quyết định phương thức xỏc minh chủ thẻ (CVM) do nhà phỏt hành chỉđịnh cú nờn thực thi hay khụng.
Luồng thực thi: Chức năng này cú thểđược thực hiện bất cức ở đõu sau khi đọc dữ liệu ứng dụng và trước khi thiết bịđầu cuối hoạt động phõn thớch hoàn thành.
2.6.3.5 Quản lý rủi ro thiết bị đầu cuối
Mục đớch: Quản lý rủi ro thiết bị đầu cuối (Terminal Risk Management) là một phần của quản lý rủi ro được thực hiện bởi thiết bị đầu cuối để bảo vệ Acquirer, nhà phỏt hành và hệ thống từ cỏc hành động gian lận. Nú cung cấp tớch cự cỏc quyền hạn của nhà phỏt hành cho cỏc giao dịch cú giỏ trị cao và đảm bảo rằng giao dịch được khởi tạo từ thẻ và vẫn ở trạng thỏi trực tuyến để bảo vệ chống lại mối đe dọa mà cú thể được phỏt hiện trong mụi trường ngoại tuyến. Để cú được quản lý rủi ro thiết bị đầu cuối là đặt cỏc bit tương thớch trong TVR.
Điều kiện thực thi: Quản lý rủi ro thiết bị đầu cuối sẽ được thực hiện nếu bớt “Terminal risk management is to be performed” trong AIP được đặt lờn ‘1’. Lựa chọn một giao dịch ngẫu nhiờn khụng được thực hiện bởi thiết bị đầu cuối mà khụng cần khả năng trực tuyến.
Luồng thực thi: Quản lý rủi ro thiết bị đõu cuối cú thể được thực thi bất cứ khi nào nào khi đọc dữ liệu ứng dụng nhưng phải thực thi trước khi dựng lệnh GENERATE AC đầu tiờn.
2.6.43.6 Xử lý trực tuyến
Mục đớch: Xử lý trực tuyến (Online Processing) được thực thi để chắc chắn rằng nhà phỏt hành thẻ cú thẻ xem lại và cho phộp hoặc loại bỏ giao dịch đú, cú thể là ngoài giới hạn chấp nhận rủi do được định nghĩa trước bởi nhà phỏt hành, hệ thống thanh toỏn hoặc Acquirer (hệ thống phối hợp giao dịch cỏc thết bịđầu cuối).
Điều kiện thưc thi: Xử lý trực tuyến sẽđược thực hiện nếu thẻ trả về một ARQC trong trường dữ liệu phản hồi của lệnh GENERATE AC trong giao dịch
Luồng thực thi: Chức năng xử lý giao dịch được thực thi khi thiết bị đầu cuối nhận được một phản hồi ARQC trong lệnh GENERATE AC đầu tiờn của cả quỏ trỡnh.
Chương 3 - XÁC THỰC VÀ BẢO MẬT VỚI THẺ THễNG MINH
Trong chương này ta xem xột cỏc giao thức được dựng phổ biến nhất cho việc xỏc thực và truyền dữ liệu an toàn liờn quan đến thẻ thụng minh và đưa ra một số vớ dụ về cỏch sử dụng những giao thức này.
3.1 CÁC THUẬT TOÁN MÃ HOÁ
Cú hai lớp thuật toỏn mó hoỏ: thuật toỏn mó hoỏ đối xứng và khụng đối xứng. Thuật toỏn mó hoỏ đối xứng sử dụng cựng một khoỏ cho việc mó hoỏ và giải mó dữ liệu. Nú cũn được gọi là thuật toỏn mó hoỏ khoỏ đối xứng.
Thuật toỏn mó hoỏ bất đối xứng dựng hai khúa - một để mó hoỏ và một để giải mó. Nú cũn được gọi là thuật toỏn mó hoỏ khoỏ cụng khai.
Cỏc thuật toỏn mó hoỏ đối xứng thực hiện nhanh. Nhưng trờn thực tế cựng một khoỏ dựng cho mó hoỏ và giải mó thường gặp khú khăn về giữ bớ mật. Bờn gửi và nhận phải cú cựng khoỏ. Chỉ cú bờn nhận biết khoỏ của bờn gửi để đảm bảo tớnh riờng tư của việc truyền tin. Bờn nhận phải biết khoỏ của tất cả cỏc bờn gửi tiềm năng để cú thể giải mó cỏc thụng điệp đến. Khi số thực thể trong mạng lớn thỡ giải phỏp này là khú khả thi. Giải phỏp cho vấn đề này là kết hợp thuật toỏn đối xứng và khụng đối xứng.
3.1.1 Mó hoỏ khoỏ đối xứng
3.1.1.1 Thuật toỏn mó hoỏ DES
Thuật toỏn chuẩn mó hoỏ dữ liệu (Data Encryption Standard - DES) là thuật toỏn mó hoỏ khối, nú chia dữ liệu được mó hoỏ thành cỏc khối và thao tỏc với một khối ở một thời điểm. DES dựng khối kớch thước 64 bit và khoỏ cú kớch thước 56 bit. Thực tế, khoỏ DES được giới thiệu 64 bit, nhưng bit thấp nhất của mỗi byte được dựng để kiểm tra mó chẵn lẻ và khụng dựng trong thuật toỏn.
Nền tảng xõy dựng khối của DES là sự thay thế kế tiếp của hoỏn vị trong một vũng lặp. DES cú 16 vũng lặp, như vậy cú 16 thay thế và hoỏn vị được ỏp dụng cho khối 64 bit. Bởi vỡ tớnh chất lặp lại của nú, DES cú thể dễ dàng thực hiện bởi phần cứng.
Kớch thước khoỏ 56 bit được dựng trong thuật toỏn DES là khỏ nhỏ. Với cỏc mỏy tớnh hiện đại ngày nay, thuật toỏn DES trở nờn tầm thường về mặt bảo mật. Ở hội nghị RSA năm 1999, DES đối mặt với thụng bỏo rằng khoỏ 56 bit bị phỏ dưới 24 giờ dự rằng hơn 50% khụng gian khoỏ phải dựng đến nhiều mỏy tớnh cựng xử lý để tỡm ra.
a. Thuật toỏn triple DES
Triple DES (3DES) dựa trờn DES, nhưng dựng khoỏ 112 bit. Khoỏ được chia làm hai phần: K1 và K2. Dữ liệu đầu tiờn được mó hoỏ bởi K1, rồi giải mó bởi K2 rồi lại
mó hoỏ bởi K1. Đú là chế độ encrypt - decrypt - encrypt (EDE). Để giải mó, bản mó được giải mó bởi K1, mó hoỏ bởi K2 và giải mó lại bởi K1.
Triple DES cú độ bảo mật cao. Tấn cụng vột cạn chống lại là khụng khả thi, bởi vỡ khụng gian khoỏ được tỡm kiếm tăng theo tỷ lệ số mũ với kớch thước của khoỏ. Vớ dụđể tỡm khoỏ 112 bit bằng cỏch vột cạn tốn hơn 2 mũ 56 so với tỡm khoỏ 56 bit.
b. Phương thức mó hoỏ DES-ECB
Cú một số phương thức mó hoỏ DES khỏc nhau, thường được sử dụng với thẻ thụng minh. Phương thức đơn giản nhất là ECB (Electronic Code Book). Thao tỏc mó hoỏ được ỏp dụng cho từng khối bản rừ 64 bit.
Thao tỏc giải mó cho từng khối 64 bit tỏch biệt.
Hỡnh 25: Chếđộ mó húa DES - ECB.
c. Phương thức mó hoỏ DES-CBC
Đ Lập mó:
Với phương thức CBC (Cipher Block Chaining), kết quả của mỗi thao tỏc DES được sử dụng cho thao tỏc tiếp theo.
Thao tỏc đầu tiờn là tạo giỏ trị chuỗi khởi tạo (Initial Chaining Value - ICV ), trong hầu hết cỏc trường hợp là khối 64 bit ngẫu nhiờn hoặc 64 bit 0.
Khối bản rừ đầu tiờn được XOR với ICV và kết quảđược mó hoỏ, nhận được bản mó đầu tiờn.
Mỗi khối dữ liệu tiếp theo được XOR với kết quả của thao tỏc DES ở bước trước, kết quả lại được mó hoỏ để nhận được bản mó tiếp theo.
Hỡnh 26: Chếđộ mó húa DES - CBC.
Đ Giải mó
Đầu tiờn giải mó cho từng khối bản mó, và sau đú ỏp dụng toỏn tử XOR với ICV cho khối đầu tiờn, với kết quả của thao tỏc trước cho tất cả cỏc khối tiếp theo.
Hỡnh 27: Chếđộ giải mó DES - CBC.
d. Ứng dụng DES: Tạo mó xỏc thực thụng điệp
DES khụng chỉ dựng để mó hoỏ dữ liệu mà cũn cú thể dựng để tớnh toỏn mó xỏc thực thụng điệp (Message Authentication Codes - MAC). MAC dựng để đảm bảo tớnh toàn vẹn dữ liệu và để xỏc thực. Ta xem xột việc tớnh toỏn MAC theo ANSI X9.9
Hỡnh 28: Sơđồ tớnh MAC trong chếđộ mó húa DES - CBC.
Chỳng ta cú thế nhận thấy kết quả bằng với khối bản mó cuối cựng nhận được từ mó hoỏ CBC. Điều đú cú nghĩa là khi thực hiện mó hoỏ DES dạng CBC, MAC cú thể nhận được bằng cỏch mó hoỏ cỏc dữ liệu liờn quan và ta lấy kết quả là khối 64 bit cuối cựng của bản mó.
3.1.1.2 Thuật toỏn mó húa AES
Tiờu chuẩn mó hoỏ tiờn tiến ( Advanced Encryption Standard - AES ) là sự kế thừa của hệ mó hoỏ DES. Rất nhiều thuật toỏn đó được đưa ra như là chuẩn mới và qua quỏ trỡnh lựa chọn rộng rói. Trong năm thuật toỏn lọt vào vũng cuối cựng, NIST chọn thuật toỏn Rijndael được thiết kế bởi Joan Daemen và Vincent Rijmen.
Rijndael là thuật toỏn mó hoỏ khối với độ dài khối thay đổi và khoỏ cú độ dài 128, 192 hoặc 256 bit để mó hoỏ khối với độ dài 128, 192 hoặc 256 bit. Tất cả chớn sự kết hợp độ dài khoỏ với độ dài khối cú thểđược thực hiện trong Rijndael và nú cú thể mở rộng cảđộ dài khoỏ và độ dài khối tới bội số của 32 bit.
Lựa chọn những tuỳ chọn trờn, AES cho phộp kớch thước khối 128 bit và độ dài khoỏ 128, 192 hoặc 256 bit, cỏc tuỳ chọn khỏc khụng được chấp nhận trong chuẩn. Thuật toỏn AES cú thể thực hiện một cỏch hiệu quả bởi phần mềm cũng như phần cứng.
3.1.2 Mó hoỏ khoỏ cụng khai
í tưởng cơ bản dẫn đến mó hoỏ khoỏ cụng khai là cặp khoỏ, một cho mó hoỏ và