Hoàn toàn tương tự mỏy in laser, mỏy in inkjet cũng đọc số liệu từ file mẫu đó thiết kế trước để biết được toạđộ, font chữ, kớch thước và cấu trỳc dữ liệu được in lờn thõn thẻ. Tiếp đú nú nhận dữ liệu in cho từng thẻ từ SPMWIN cựng với file mẫu đó cú để thực hiện việc in lờn thõn thẻ.
Go back to the global architecture Smart Smart TechnologyTechnologyfor Smart for Smart IndustryIndustry
SP M W IN S D K v 1 .1 12
POWER FACET data flow ?
POWER FACET data flow ?
•
•Production launchingProduction launching
PowerFACETTMapplication downloaded in
each PowerFACETTM
•
•For each cardFor each card
Variable data sent
The personalization can begin
•
•PowerFACETPowerFACETTMprogramprogram
•
•Includes personalization Includes personalization
sequence
sequence
•
•Electrical dataElectrical data
•
•Personalisation variable Personalisation variable
( ICCID, PIN, ( ICCID, PIN, …….).) • •Key, BSN, Key, BSN, …… PowerFACETTM DLL PwF PwFnn°°11 Security Security Card
Card Cards to be personalizedCards to be personalized
PwF PwFnn°°1212 PwF PwFnn°°22 PwF PwFnn°°33 HUB HUB Hỡnh 61: Luồng dữ liệu cho 12 đầu đọc PWF ghi/đọc thẻ
Chương trỡnh ghi dữ liệu vào thẻ được tải xuống 12 đầu Power Facet. Với mỗi thẻ, dữ liệu thay đổi cho từng thẻ cũng được gửi xuống Power Facet, dữ liệu đú được thể hiện qua cỏc biến thay đổi trong file Chip.dll. Khi đú,12 đầu PWF sẽ chạy đồng thời cựng một lỳc và thực hiện việc ghi dữ liệu vào 12 thẻ thụng minh khỏc nhau.
4.4.2 Chức năng PersoAppMPR3K
Dữ liệu ở đõy được hiểu là cỏc lệnh và ứng dụng được ghi vào thẻ để nú cú thể hoạt động theo đỳng yờu cầu của khỏch hàng dựa trờn cỏc tiờu chuẩn ISO cho ngành cụng nghiệp thẻ. Cỏc chức năng chớnh của chương trỡnh:
Đ Chuẩn bị dữ liệu tĩnh đầu vào chung cho tất cả cỏc thẻ.
Đ Chuẩn bị số liệu động đầu vào Input Data, khỏc nhau cho từng thẻ.
Đ Đầu tiờn chương trỡnh sẽ nạp dữ liệu từ file dữ liệu tĩnh, chứa cỏc lệnh APDU chung cho tất cả cỏc thẻ.
Đ Sau đú lần lượt dữ liệu tương ứng với từng thẻ được đưa xuống bo mạch của Power Facet để cỏ thể hoỏ từng thẻ.
Đ Sau khi đó hoàn thành việc ghi dữ liệu lờn chip, thẻ đi tới module in laser và được in laser trờn thõn thẻ. Chương trỡnh sử dụng khỏi niệm context để duy trỡ sựđồng bộ dữ liệu giữa cỏc module. Mỗi thẻ sẽ cú một context riờng duy trỡ từ khi thẻđi vào đến khi ra khỏi mỏy MPR3000.
4.4.3 Bộ cụng cụ phỏt triển SCPM SDK
Chương trỡnh SCPM (Smart Card Personalization Manager) sau khi được cài đặt vào mỏy tớnh, nú cú nhiệm vụ liờn lạc với với cỏc thiết bị liờn quan trong quỏ trỡnh phỏt hành thẻ như cỏc trạm đọc/ghi dữ liệu lờn thẻ thụng minh ở hệ mỏy DC9000, module mó húa HSM (Hardware Security Module), cơ sỡ dữ liệu, ứng dụng cỏ thể húa thẻ. Ở đõy SCPM đúng vai trũ như một mụi trường hay nền tảng để ứng dụng PASCPM thực thi. Xem hỡnh 62.
Hỡnh 62: Sơđồ hoạt động logic tổng quỏt của SCPM.
Ở đõy, ứng dụng PASCPM được biờn dịch dưới dạng *.dll sử dụng bộ MS- Visual C++ 6.0 để viết mó nguồn, sau đú được biờn dịch thụng qua bộ thư viện SCPM SDK (Smart Card Personalization Manager Software Development Kit)[1,2]. Trong quỏ trỡnh cài đặt mụi trường SCPM, ứng dụng PASCPM cần phải được chỉ ra để SCPM điều khiển và làm việc một cỏch chớnh xỏc. Khi cú một yờu cầu ghi dữ liệu lờn thẻ, SCPM sẽ nạp dữ liệu (dữ liệu này đó được mó húa) cần thiết vào mụi trường của nú sau đú kết nối tới module HSM để tiến hành xử lý (mó húa, giói mó, lấy cỏc thụng tin mó khúa liờn quan, …), tiếp đến SCPM sẽ nạp ứng dụng cỏ thể húa thẻ PASCPM vào mụi trường và đưa đến cỏc trạm đọc/ghi trờn hệ mỏy DC9000 rồi tiến hành cỏc quy trỡnh ghi dữ liệu lờn thẻ mà trong ứng dụng PASCPM đó vạch ra.
Trước đõy, khi thẻ thụng minh (hay cũn gọi là thẻ chip) chưa thịnh hành thỡ ở Việt Nam chỳng ta, cỏc ngõn hàng đều dựng thẻ băng từ. Nhược điểm của nú là tuổi thọ thấp, khoảng 2 đến 3 năm phải thay thẻ mới. Hơn nữa, độ àn toàn của thẻ từ khụng cao, rất dễ dàng làm giả. Quy trỡnh sản xuất thẻ từ cũng khỏ đơn giản, xem hỡnh 63.
Hỡnh 63: Mụi trường phỏt hành thẻ từ truyền thống.
Dữ liệu khỏch hàng sinh ra từ mỏy chủ được đưa trực tiếp thới hệ thống phỏt hành thẻ từ luụn mà khụng qua cỏc bước xử lý, thụng tin khỏch hàng đều là cỏc bản rừ khụng được mó húa do đú, độ an toàn thụng tin khỏch hàng hầu như khụng cú, dẫn đến rất dễ bị đỏnh cắp tài khoản.
Khi hệ thống phỏt hành thẻ chip ra đời, toàn bộ thụng tin khỏch hàng làm thẻđều được qua khõu xử lý để bổ sung thờm dữ liệu chuẩn EMV, xem hỡnh 64.
Quỏ trỡnh xử lý (cũn gọi là chuẩn bị số liệu, xem mục 4.4) này được thực hiện với sự cú mặt của module HSM, dữ liệu đều bị mó húa theo đỳng chuẩn EMV, xem hỡnh 65. Do đú, tớnh bảo mật dữ liệu được đảm bảo và rất khú cú thể giải mó chỳng nếu khụng cú cỏc khúa cần thiết.
Hỡnh 65: Định dạng chuẩn cỏc bản ghi dữ liệu sản xuất thẻ EMV.
4.4.4 Chức năng chớnh của PASCPM
Do ứng dụng được nạp vào mụi trường SCPM nờn luồng hoạt động được SCMP điều khiển theo trỡnh tự của nú. Cỏc chức năng chớnh của chương trỡnh:
Đ Cài đặt, khởi tạo vào kớch hoạt ứng dụng trờn thẻ trắng.
Đ Chuẩn bị số liệu động được SCPM nạp vào và phõn tỏch dữ liệu tới cỏc thư khu vực tương ứng với ứng dụng trờn thẻ.
Đ Gắn tập lệnh APDU tương ứng cho từng loại dữ liệu được phõn tỏch ở trờn. Đ Sau đú lần lượt dữ liệu tương ứng với từng thẻ được đưa xuống bo mạch của
cỏc 7 trạm đọc/ghi trờn mỏy DC9000 để cỏ thể hoỏ từng thẻ.
Sau khi đó hoàn thành việc ghi dữ liệu lờn chip, thẻđi tới module in ấn, dập nổi, in chỡm lờn thõn thẻ.
4.4.5 Cỏc kết quả ban đầu đạt được
Hiện nay, ở Nhà mỏy sản xuất thẻ thụng minh thuộc tập đoàn MK đang cú 8 mỏy MPR3000 và 2 mỏy DC9000. Hầu như tất cả trong số đú đều đang được đưa vào sử dụng để sản xuất thẻ thụng minh cho khỏch hàng trong và ngoài nước. Chương trỡnh ứng dụng nờu ra trong luận văn này đó và đang được ỏp dụng trờn hệ cỏc mỏy đú, cụ thể như sau:
Đ Chương trỡnh quản lý phỏt hành thẻ PersoAppMPR3K hiện đang được cho chạy sản xuất thẻ trờn 6 mỏy MPR3000.
Đ Chương trỡnh PASCPM được thiết kế dành cho 2 mỏy DC9000 và mỏy để bàn DC280, DC150i chạy trờn mụi trường SPCM.
Đ Đặc biệt, trong quỏ trỡnh nghiờn cứu này, tụi cũn xõy dựng thờm một chương trỡnh cần thiết cho việc kiểm định chất lượng thẻ thụng minh sau khi đó được cỏ thể húa bởi hệ cỏc mỏy trờn. Chương trỡnh MK EMV QC Tools là một ứng dụng cho phộp kiểm tra thụng tin được ghi vào thẻ cú chuẩn xỏc và thống nhất
so với dữ liệu đầu vào khụng. Chương trỡnh sẽ tỡm và liệt kờ cỏc ‘‘Tag’’ địa chỉ (cú quyền truy cập cụng khai) cụ thể cú trờn thẻ đó được cỏ thể húa, rồi đem so sỏnh với chớnh sỏch (EMV profiles) đó được định nghĩa bởi nhà phỏt hành thẻ. Sự sai khỏc về số liệu sẽ được chương trỡnh thụng bỏo cho người kiểm định biết vị trớ sai khỏc số liệu xẩy ra ở ‘‘Tag’’ nào, để từ đú nhà phỏt hành cú biện phỏp xử lý kịp thời. Xem hỡnh 66 mụ tả giao diện chương trỡnh.
Hỡnh 66: Giao diện chương trỡnh MK EMV QC Tools.
Quy trỡnh kiểm định chất lượng thẻ phỏt hành được thực hiện theo mụ hỡnh toỏn xỏc suất - thống kờ, đú là từ một lụ thẻđang sản xuất, sẽ rỳt ngẫu nhiờn một số thẻ trong lụ đú và tiến hành phộp thử. Xỏc suất phần trăm số thẻ lỗi phải tuõn theo tiờu chuẩn của chứng chỉ Visa-Master đề ra. Hỡnh 67 biểu thị một mẫu EMV profile của VISA card đó được định nghĩa sẵn.
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
Đ Tiếp tục nõng cấp PASCPM, PersoAppMPR3K để nõng cao hiệu sất làm việc, khả năng quản lý luồng dữ liệu tốt hơn, hỗ trợđược nhiều chuẩn thẻ hơn.
Đ Nõng cấp và phỏt triển PersoAppMPR3K thành PersoAppCondor chạy trờn PWF + Condor bằng SmartGear thế hệ mới của SPMWIN. Dõy chuyền chạy trờn mỏy Condor của Phỏp này cú khả năng sản xuất 1350 thẻ trong một giờ. Đõy cú thể coi như giải phỏp mỏy để bàn qui mụ vừa và nhỏ cú thể sử dụng cỏ thể húa tại cho thẻ
bảo hiểm y tế cấp tỉnh hoặc tại cỏc bệnh viện lớn …
Hỡnh 68: Mỏy in Condor - Giải phỏp cỏ thể húa thẻ chip để bàn.
Đ Phỏt triển PersoAppMPR3K cho thẻ chip cho cỏc ngành khỏc như thẻ SIM cho viễn thụng, thẻ bảo hiểm y tế, thẻ khụng tiếp xỳc RFID cho giao thụng vận tải, kiểm soỏt và ra…
Đ Phỏt triển PersoAppMPR3K cho cỏc thẻđa năng sử dụng nhiều ứng dụng (Multi-Applications) phục vụ cỏc ứng dụng liờn ngành viễn thụng, ngõn hàng, giao thụng, bảo hiểm,…
KẾT LUẬN
Cựng với xu thế phỏt triển mạnh của ngành cụng nghiệp thẻ trờn thế giới. Trong lĩnh vực tài chớnh ngõn hàng, việc sử dụng thẻ từ đó trở nờn lỗi thời do thời gian sử dụng ngắn, tớnh an toàn khụng cao tạo điều kiện thuận lợi cho kẻ gian lợi dụng. Trờn thế giới, ước tớnh mỗi năm cú hàng trăm nghỡn vụ gian lận tài chớnh trong đú cú khụng ớt vụ liờn quan đến giả mạo thẻ tớn dụng. Để hạn chế được vấn nạn này, tổ chức Europay, Maste Card and Visa (EMV) đó đưa ra chuẩn thẻ chip cho hệ thống thanh toỏn là EMV ‘96, sau này được nõng cấp thành chuẩn EMV 2000. Với ưu điểm vượt trội (như đó đề cập trong luận văn) so với thẻ từ, thẻ chip ngày càng được cỏc ngõn hàng uy tớn sử dụng lan rộng khắp thế giới. Ở Việt Nam, để hũa nhập với xu thế chung đú, cỏc ngõn hàng đang dần chuyển đổi phương thức sử dụng thẻ từ truyền thống sang thẻ chip để đảm bảo tớnh an toàn, thống nhất và đặc biệt giảm chi phớ gia tăng sau này. Đi đầu trong xu thế chuyển đồi này là ngõn hàng Vietcombank, VIB, VPbank,…
Trong tương lai gần thẻ thụng minh sẽ là một thiết bị cầm tay đa năng cú thể bao gồm cỏc chức năng: thẻ SIM điện thoại, vớ tiền, vộ tàu xe, chứng minh thư, chỡa khoỏ,… Chớnh điều này sẽ mở ra một ngành cụng nghiệp, dịch vụ gia tăng mới phục vụ cho thẻ thụng minh, mang lại giỏ trị kinh tế lớn, phục vụ lợi ớch nước nhà.
Với phạm vi ứng dụng rộng lớn của thẻ thụng minh, luận văn này chỉ nghiờn cứu một phần nhỏ, ứng dụng thẻ thụng minh trong lĩnh vực tài chớnh ngõn hàng.
Luận văn đó đạt được kết quả chớnh sau: Tỡm hiểu, nghiờn cứu và hệ thống lại cỏc vấn đề sau: Đ Tổng quan về thẻ thụng minh. - Phõn loại thẻ thụng minh, cấu trỳc thẻ thụng minh. - Cỏc giao thức với thẻ thụng minh. Đ Hệđiều hành trong thẻ thụng minh.
- Tổ chức hệ thống file trong thẻ thụng minh. - Ứng dụng EMV (VSDC, MCHIP).
Đ Xỏc thực và bảo mật với thẻ thụng minh.
- Cỏc thuật toỏn mó hoỏ với thẻ thụng minh. - Vấn đề xỏc thực với thẻ thụng minh.
- Sử dụng thuật toỏn 3DES, RSA cho xỏc thực và bảo mật thẻ thụng minh.
Đ Xõy dựng được chương trỡnh ghi dữ liệu vào thẻ thụng minh, chạy trờn hệ mỏy sản xuất thẻ cụng nghiệp MPR3000, DC9000, tạo ra một sản phẩm thương mại cú giỏ trị.
Do hầu hết tài liệu tham khảo chủ yếu bằng tiếng Anh, trỡnh độ cũn hạn chế, nờn một số thuật ngữ chuyờn mụn dựng trong luận văn cũn chưa thực sự chớnh xỏc. Chỳng tụi rất mong nhận được sự gúp ý của cỏc thầy giỏo và cỏc bạn. Luận văn này cú thể dựng làm tài liệu tham khảo cho việc xõy dựng cỏc ứng dụng cho thẻ thụng minh, như chuẩn EMV dựng trong lĩnh vực ngõn hàng, tài chớnh, chuẩn GSM trong lĩnh vực viễn thụng, cũng như cỏc lĩnh vực khỏc.
TÀI LIỆU THAM KHẢO
1. DataCard, “Reference Guide for Smart Card Personalization Manager (SCPM) Applications”, June 2004.
2. DataCard, “Reference Guide for Affinađ Personalization Manager Applications”, March 2006.
3. EMVCo, “EMV ’96 Integrated Circuit Card Terminal Specification for Payment Systems”, Version 3.0, June 30, 1996.
4. EMVCo, “EMV Integrated Circuit Card Specifications for Payment Systems”, Books(1, 2, 3, 4), Version 4.1, 2004.
5. EMVCo, LCC, “EMV Card Personalization Specification”, Version 1.0, June 2003.
6. EMVCo, LCC, “EMV Issuer Security Guidelines”, Version 0.5, October 31, 2000. 7. Eur Ing Chris Hills BSc(Hons), “Encryption and Ciphers using 7816 for Smart
Cards”, C. Eng., MIEE, FRGS September 2001.
8. Gemalto(9-2007), “MPCOS-EMV R5 Reference Manual”.
9. Gemplus, August 1999, “MPCOS-EMV Reference Manual Version 3.1”. 10.Global Platform, “Card Specification”, Version 2.2, March 2006.
11.Global Platform, “Global Platform Smart Card Security Target Guidelines”, Version 1.0, October 2005.
12.IBM, “OpenCard Framework 1.2 Programmer's Guide”.
13.Jorge Ferrari, Robert Mackinnon, Susan Poh, Lakshman Yatawara, “Smart Cards: A Case Study”, IBM.
14.Klaus Finkenzeller, “RFID Hand Book, Fundementals and Applications in Contactless Smart Cards and Identification (Second Edition)”, Giesecke & Devrient GmbH, Munich, Germany - 2003.
15.MasterCard, “MasterCardđ Chip - Minimum Card Requirements for Debit and Credit”, Version 4.0, August 2001.
16.MasterCard, “Card Personalization Validation Guide”, September 2006
17.Mike Hendry, “Smart Card Security and Applications (Second Edition)”, Artech House - Boston London - 2001.
18.Marcel Aumont, Senior Technology Consultant, CGI, “Public Key encryption and digital signature - How do they work?”
19.Smart Card Application Development Using Java (Second Edition) - Martin S.Nicklous & Thomas Schack & Achim Schneider & Frank Seliger - Springer - 2002.
20.Scott B.Guther & Mary J.Cronin, “Mobile Application Development with SMS and the SIM Toolkit”, McGraw- Hill Telecom - 2002.
21.Security in the GSM system, By Jeremy Quirke | Last updated 1st May 2004, â 2004 AusMobile. http://www.ausmobile.com
22.SmarTEC, “GSM Application Notes”. http://www.smartecos.com/
23.Stephane BAUSSON(1995), “ISO 7816 asynchronous smartcard information”, No 4, Rue de Grand F-88630 Chermisey, France.
24.Timothy M.Jurgensen & Scott B.Guthery, “Smart Cards: The development toolkit”, Prentice Hall - 2002.
25.Visa, “Visa Integrated Circuit Card - Card Specification”, Version 1.4.0, April 2001.
26.Visa, “Visa Smart Debit Credit (VSDC) - Personalization Guide for Global Platform Cards”, May 2003.
27.Visa, “Visa Global Platform 2.1.1 - Guidelines for Developing Java Card Applets”, version 1.0, November 2003.
28.Wolfgang Rankl and Wolfgang Effing, Smart Card Handbook (Third Edition), Giesecke & Devrient GmbH, Munich, Germany.
29.Zhiqun Chen, “Java Card Technology for Smart Cards: Architecture and Programmer’s Guide” 30.http://www.emvco.com 31.http://www.emvlab.org 32.http://www.javacardforum.org 33.http://www.globalplatform.org 34.http://www.openscdp.org 35.http://www.opensc-project.org 36.http://www.usasmartcard.com 37.http://www.wrankl.de
PHỤ LỤC A. Ứng dụng vớ điện tử (wallet)
Đõy là một ứng dụng được viết cho thẻ thụng minh JCOP v2.2 (Java Card Open Platform) của hóng NXP. Ứng dụng cho phộp người dựng thay đổi mó PIN, truy vấn tài khoản, cú thể tăng/giảm giỏ trị tài khoản khi thanh toỏn.
/*
* Copyright 2003 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ // // Workfile:@(#)Wallet.java 1.9 // Version:1.9 // Date:06/06/03 // // Modified:06/06/03 17:06:00 // Original author: Zhiqun Chen //
package com.sun.javacard.samples.wallet; import javacard.framework.*;
public class Wallet extends Applet { /* constants declaration */
// code of CLA byte in the command APDU header final static byte Wallet_CLA =(byte)0x80;
// codes of INS byte in the command APDU header final static byte VERIFY = (byte) 0x20;
final static byte CREDIT = (byte) 0x30; final static byte DEBIT = (byte) 0x40;
final static byte GET_BALANCE = (byte) 0x50; // maximum balance
final static short MAX_BALANCE = 0x7FFF; // maximum transaction amount
final static byte MAX_TRANSACTION_AMOUNT = 127; // maximum number of incorrect tries before the // PIN is blocked