• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于智能卡的電子錢包及電子存折的設計與實現

      2017-06-12 14:35:31張文友田云
      現代電子技術 2017年11期
      關鍵詞:智能卡安全性

      張文友++田云

      摘 要: 針對電子錢包及電子存折的實際應用,基于智能卡,利用Java Card技術對卡片文件結構、交易流程、交易命令、寫卡片E2PROM位置及次數等多個優(yōu)化點實施優(yōu)化方案,提升電子錢包及電子存折卡片的交易速度。通過行業(yè)應用開通文件的添加及復合消費的設計,實現了金融與多行業(yè)應用結合的智能卡電子錢包及電子存折應用。在Java Card應用程序體系結構卡片端完成電子錢包及電子存折應用程序的設計、開發(fā)及測試。測試結果證明,該電子錢包及電子存折在投入市場前的性能、功能等檢測項均符合國家銀行卡檢測中心及住建部檢測要求。

      關鍵詞: 智能卡; Java Card技術; 電子錢包; 電子存折; 安全性

      中圖分類號: TN919?34; TP393 文獻標識碼: A 文章編號: 1004?373X(2017)11?0142?05

      Design and implementation of electronic purse and electronic deposit based on smart card

      ZHANG Wenyou1, TIAN Yun2

      (1. Center of Modern Science and Technology, Chengde Radio and Television University, Chengde 067000, China;

      2. Department of Computer, Xinzhou Teachers University, Xinzhou 034000, China)

      Abstract: Aiming at the practical application of electronic purse and electronic deposit, the optimization scheme was implemented on the basis of smart card for the card file structure, transaction process, transaction command, E2PROM location of writing card, times and other optimization points by means Java Card technology, which can enhance the transaction speed of electronic purse and electronic deposit. The open file industry application was added and the composite consumption was designed to realize the application of electronic purse and electronic deposit based on intelligent card combining finance and various industries. The application program of electronic purse and electronic deposit was designed, developed and tested in the card terminal of the Java Card application architecture. The test results show that the performance, function and detection items of the electronic purse and electronic deposit before applying to market conform to the detection requirement of National Bank Card Test Center, and Ministry of Housing and Urban?Rural Development.

      Keywords: smart card; Java Card technology; electronic purse; electronic deposit; security

      0 引 言

      磁條卡的發(fā)行和普及為使用者帶來了諸多便利[1],然而近年來的“盜卡”和卡片“克隆”事件卻引發(fā)了人們的強烈質疑。針對這一問題,三大國際卡組織制定了新的技術標準即智能卡,以解決銀行卡從磁條卡向智能卡遷移的問題。智能卡采用新型智能卡技術,以Java卡為代表的多應用智能卡平臺不僅繼承了智能卡的諸多優(yōu)勢,更結合了Java語言本身跨平臺、可移植等眾多特點,較磁條卡而言,在安全性、可靠性、靈活性、高效性、耐用性等諸多方面,智能卡具有明顯的優(yōu)勢[2]。電子錢包及電子存折(Electronic Purse And Electronic Deposit,EDEP)作為一種重要的智能卡應用,它的成功實行使智能卡被寄予厚望。因此,對電子錢包及電子存折的研究在方便人們日常生活、減少社會上的現金流通、提升各大銀行的整體收益、加快國內外EMV遷移速度等方面都有著現實意義。

      1 系統需求分析

      根據Java Card應用程序體系結構,本系統從物理結構上可分為三層:系統后端、讀取端和卡片端,系統總體結構如圖1所示。系統后端主要是銀行后臺應用系統;讀取端由讀取端主應用程序及卡片接收設備組成;卡片端包括卡片管理的應用程序(電子錢包及電子存折應用或其他行業(yè)應用程序)和支持應用程序的運行環(huán)境[3](COS,Java Card虛擬機以及相應的Java Card Framework和API)。其中COS是卡片操作系統的簡稱;API是應用程序編程接口的簡稱。

      對于本系統而言,卡片端COS的主要功能包括控制卡片與外界的信息交換、管理卡內存儲器及在卡片內部完成各種命令的處理[4]。通常,COS要實現與外部信息交換,需要通信管理模塊、命令管理模塊、安全管理模塊及文件管理模塊的協作處理。外部信息通過通信管理模塊進入COS之后,首先由命令解析模塊進行處理,對輸入信息內容的可執(zhí)行性進行判斷;其次,如果需要進行安全檢查,則交給安全管理模塊對它進行信息合法性的檢查;最后,COS根據檢查結果,憑借其合法且有效的信息,通知文件管理模塊對E2PROM執(zhí)行相應的操作。

      電子錢包及電子存折卡片在投入市場使用之前,需要根據實際需求建立相關文件,并在不同文件下寫入對應數據[5]。只有完成了個人化,卡片才能進行正常交易??ㄆ形募慕⒑蛿祿膶懭胫饕蕾囉趥€人化命令及文件結構的設計與實現[6]。本系統卡片端電子錢包及電子存折應用個人化流程,如圖2所示。

      本系統研究的電子錢包及電子存折應用的核心是在個人化模塊及應用維護模塊的輔助下實現交易模塊的各項交易功能。因為對電子錢包和電子存折而言,相同交易類型的交易流程相同,因此整合電子錢包及電子存折的所有交易類型發(fā)現本系統主要的交易流程可包括:交易預處理流程、圈存交易流程、圈提交易流程、取現交易流程、消費交易流程、修改透支限額交易流程、查詢余額交易流程、查詢交易明細流程以及復合消費交易流程。

      應用維護模塊的主要功能是協助持卡人對卡片的正常使用進行管理與維護[7]。包括文件數據維護、PIN(個人識別碼)維護、卡片應用狀態(tài)維護、內外認證維護四大功能塊。

      (1) 持卡人在卡片的使用過程中可通過個人化合法終端向卡片發(fā)送記錄讀、寫、更新命令,卡片應用程序對其處理,實現記錄數據的讀取、寫入和更新。

      (2) 持卡人也可根據自身需求,修改或重新設置個人碼。終端通過向卡片發(fā)送PIN修改或重裝命令,卡片應用程序對其處理,實現PIN修改或重裝。

      (3) 持卡人在使用卡片的過程中,如果卡片存在多次與終端進行相互認證時發(fā)生錯誤,卡片上應用程序也會自動鎖定當前應用,實現卡片的自鎖定,對持卡人信息進行保護。

      (4) 內部認證和外部認證都是出于卡片應用安全性考量的輔助功能。本系統通過主控密鑰的外部認證來設置應用的后續(xù)狀態(tài),從而判定持卡人是否具有某種操作的權限。

      2 系統設計

      2.1 文件結構設計

      根據卡片文件邏輯組織結構分析,卡片端電子錢包及電子存折應用可設計為ADFEF=1模式,其中,所對應的ADF文件(EDEP應用文件)應包含文件控制信息(FCI),通過該專用ADF文件可以對樹形結構下的EF文件進行訪問。本系統電子錢包及電子存折應用卡片內部文件組織結構設計如圖3所示。

      根據卡片文件結構設計,本系統應用文件的初步實現方案擬為:設計EF文件為一個類,類中包含文件頭及文件體。每個類對象通過鏈表連接,查找時從鏈表頭開始找。對于文件的操作全部放在類中實現,如讀寫記錄和二進制等。

      本系統電子錢包及電子存折應用為ADFEF=1模式,本系統電子錢包及電子存折應用卡片內部文件結構設計包括二進制公共應用基本數據文件(短文件標識符SFI:0015)、二進制持卡人基本數據文件(短文件標識符SFI:0016)、循環(huán)記錄交易明細文件(短文件標識符SFI:0018)、變長記錄復合應用擴展文件(短文件標識符SFI:0017)、循環(huán)記錄復合應用交易明細文件(短文件標識符SFI:0010)以及定長記錄密鑰文件(短文件標識符 SFI:0000)。短文件標識符是用來象征文件的2 B的符號標識,可通過此標識對文件進行操作和訪問。

      2.2 應用命令設計

      根據本系統總體結構可知,讀取端卡片接收設備與卡片的通信是基于特定協議,通過應用協議數據單元(APDU)的傳輸和交換來實現。智能卡接收來自卡片接收設備中的APDU命令,并將其傳送給相應的Java Card Applet。Applet接收傳入APDU命令,內部完成分析處理,然后返回一個響應APDU命令。

      通過分析設計,本系統卡片端電子錢包及電子存折應用的命令主要包括三部分:個人化命令、基本命令及交易命令。因為卡片和讀寫器之間的通信是通過應用數據單元(APDU)進行傳輸,所以各項命令的設計必須符合應用數據單元的固有格式。其中,系統的個人化命令主要包括下列7條專用命令:CREATE FILE命令、WRITE KEY命令、INITIALIZE UPDATE命令、PERSONAL AUTHENTICA TE命令、Install[for Install]命令、APPEND RECORD命令以及DELETE命令。

      根據PBOC 2.0規(guī)范第1部分及互聯互通規(guī)范中基本命令描述,本系統電子錢包及電子存折應用基本命令設計,如表1所示。

      另外,根據PBOC 2.0規(guī)范及互聯互通規(guī)范交易命令的描述,系統還設計了電子錢包及電子存折的應用交易命令。

      2.3 應用類設計

      本系統出于電子錢包及電子存折應用的擴展性、安全性和高效性的角度對核心類進行拆分,設計了三個主要的用戶自定義類:EDEP類、ClassFileEF類和Constants類。

      ClassFileEF類中定義了與文件相關的所有屬性,有利于提高系統應用交易和文件查找的性能。Constants類主要用于預定義整個應用開發(fā)中需要自定義完成的常量,負責對應用中的常量數據進行統一管理,EDEP類繼承Javacard.framework.Applet抽象類,系統的個人化模塊、交易模塊以及應用維護模塊的實現都依賴于EDEP類的設計和實現。

      系統類與類之間主要存在依賴和泛化關系。對于APDU,ISO7816,Applet,ISOException,JCSystem,Util,DESKey,KeyBuilder,RandomData,Signature,Cipher等來自Java Card API類庫的系統類,可被EDEP,ClassFileEF,Constants等用戶自定義類import對應包直接引用。

      3 系統實現

      通過前期對電子錢包及電子存折應用的功能需求分析、交易流程分析以及對卡片文件結構、應用命令、相關類的設計,在選擇了開發(fā)過程中會使用的相關技術后,開始啟動程序的開發(fā)。

      ClassFileEF類成員變量和成員方法主要用于EF文件的建立、EF鏈表中的文件查找和文件內容的讀寫,對于要求讀寫權限的文件而言,首先需要通過方法getKey()獲取相關密鑰,通過外部認證取得文件操作權限。再通過方法API_FindEFByFID()或API_FindEFbySFI()實現文件查找。當用戶需要讀取相關文件下對應記錄時,通過文件查找方法選擇對應文件,確保當前文件層次后,可通過方法AppendRecord(),readRecord()和getRecord()對相關記錄進行操作。當然,以上操作的前提必須是在該類構造器方法ClassFileEF()中完成相應變量的初始化后進行。

      EDEP類是整個應用開發(fā)的核心。在具體的實現過程中重寫了父類Applet中的install()方法和process()方法。當JCRE接收到安裝命令之后,調用EDEP的install()方法,通過一個新的EDEP對象完成對象的初始化,并調用register()方法完成注冊,告訴JCRE實例已成功安裝,并可以對這個應用進行選擇或執(zhí)行其他命令,此時卡片的生命周期進入被選擇狀態(tài),當JCRE接收到選擇命令之后,調用EDEP的process()方法,通過此方法完成業(yè)務以及命令分支處理。在命令分支處理之前,程序首先得判斷一下卡片和應用的鎖定情況,如果出現異常,則根據具體接收命令的INS返回不同的狀態(tài)碼。在卡片和鎖定檢查中沒有拋出異常后,程序繼續(xù)執(zhí)行命令分支處理。本系統通過switch?case語句完成命令的分支和相應功能的選擇調用。根據命令設計部分,程序用22個分支完成了process()方法的實現。并且為了提高代碼的重用性,不同case語句調用的命令處理方法僅處理其私有業(yè)務,對于公共業(yè)務的處理則通過再調用通用功能方法的方式實現。

      個人化模塊實現主要依賴于ClassFileEF類和EDEP類。交易模塊的實現緊緊依賴于 EDEP類的實現, 交易功能的實現主要是通過EDEP 類中與交易相關的成員方法之間的互相調用完成。應用維護模塊主要負責電子錢包和電子存折中不涉及資金劃轉的其他維護類功能。文件數據維護、PIN(個人識別碼)維護、卡片應用狀態(tài)維護及內外認證維護功能的實現是保障卡片進行正常交易的前提。其中,應用維護模塊的實現也主要依賴于EDEP類的實現,其中各項功能的實現同樣是通過EDEP類中相關成員方法的互相調用來完成。

      4 系統測試

      本系統借助專用測試工具TestCard編寫相關測試腳本對系統應用進行測試。首先,對于本系統電子錢包及電子存折應用而言,需要將編譯后工程目錄bin文件夾中的class文件轉換成CommonCap.cap和EDEP.cap兩個cap文件。通過上述cap包的轉換工作,生成一個可以下載并同時安裝進智能卡的特定cap文件。在安裝和下載之前,必須通過平臺的GP或者VGP認證,保障安裝的cap文件的合法性[8]。成功執(zhí)行上述步驟后,開始進行各項測試。

      為了保證系統應用的質量,本系統在系統測試環(huán)節(jié)嚴格執(zhí)行測試方案的撰寫。按照電子錢包及電子存折應用的技術規(guī)范要求,本系統應用測試內容如表2所示。

      系統嚴格按照測試方案對電子錢包及電子存折應用進行全面的系統測試。應用最具參考價值的復合消費交易進行分析,通過圖表方式對其功能及性能的測試結果進行簡要說明。

      (1) 復合消費功能測試

      對Java Card應用功能測試而言,首先需要完成卡片的個人化,即發(fā)卡。個人化操作主要是通過私有個人化命令建立應用的文件結構,并通過數據寫入命令完成對應文件下相關數據的寫入。本系統的個人化腳本通過文件正常測試后建立,個人化腳本編寫完成后改動通常不會很大,其他功能測試腳本可通過腳本語言直接對其調用。按照復合消費流程編寫正常及異常復合消費測試腳本后,利用測試工具進行功能測試。本文選擇一異地復合消費交易測試腳本進行測試,復合消費測試結果如圖4所示。對于本系統測試工具,“√”代表測試通過。

      (2) 復合消費性能測試

      通過對復合消費各命令執(zhí)行時間的統計可知,本系統電子錢包及電子存折應用復合消費性能數據約為230 ms,各命令執(zhí)行時間如表3所示。

      相對于檢測機構300 ms的檢測指標而言,本系統性能數據遠遠超出,這也證實了本系統應用在文件結構、命令、交易流程等多項可優(yōu)化點的設計及實現方案是成功的。

      5 結 論

      本文基于智能卡,利用Java Card技術,側重于應用擴展性、安全性和高效性的角度在Java Card應用程序體系結構卡片端完成電子錢包及電子存折應用程序的設計、開發(fā)及測試。通過行業(yè)應用開通文件的添加及復合消費的設計,實現了金融與多行業(yè)應用結合的智能卡電子錢包及電子存折應用。在安全性方面,該應用通過國際DES和國密SM雙重加密算法來保障電子錢包及電子存折卡片的安全性。另外,通過對卡片文件結構、交易流程、交易命令、寫卡片E2PROM位置等進行優(yōu)化,實現了設計要求,提升了電子錢包及電子存折卡片的交易速度。

      參考文獻

      [1] 中國人民銀行.JR/T 0025.1?2010 中國金融集成電路(IC)卡規(guī)范第1部分:電子錢包/電子存折應用卡片規(guī)范[S].北京:中國人民銀行,2010.

      [2] 王飛宇,李翔宇,烏力吉,等.接觸式智能卡的嵌入式系統攻擊平臺設計[J].計算機測量與控制,2012,20(9):2513?2515.

      [3] 夏文棟,林凱.融合NFC的3G智能卡系統[J].計算機工程,2011,37(2):229?231.

      [4] 烏力吉,李賀鑫,任燕婷,等.智能卡功耗分析平臺設計與實現[J].清華大學學報(自然科學版),2012(10):1409?1414.

      [5] 胡先智,梁艷.電子錢包支付系統設計與應用[J].信息與電腦,2011(9):64.

      [6] 陶勇剛.電子錢包的安全管理方法及服務終端、電子錢包系統:中國,CN103188212A[P].2013?07?03.

      [7] 周媛媛.銀行IC智能卡密鑰管理系統的設計與實現[D].大連:大連理工大學,2012.

      [8] 姬聞起.改進的Java智能卡聯合攻擊防御方法研究與實現[D].武漢:華中科技大學,2013.

      猜你喜歡
      智能卡安全性
      兩款輸液泵的輸血安全性評估
      新染料可提高電動汽車安全性
      東方磁卡李曉東:進擊的智能卡研發(fā)巨子
      時代人物(2019年27期)2019-10-23 06:11:58
      基于STC89 單片機的非接觸智能卡讀寫機設計
      電子制作(2017年17期)2017-12-18 06:40:36
      ApplePay橫空出世 安全性遭受質疑 拿什么保護你,我的蘋果支付?
      臨沂機頂盒智能卡升級方案介紹
      Imagination發(fā)布可實現下一代SoC安全性的OmniShield技術
      智能卡領域首個國家工程建設標準發(fā)布
      红原县| 三穗县| 宣恩县| 常州市| 荆门市| 望江县| 治多县| 兴文县| 潮安县| 赫章县| 桂林市| 临高县| 伊春市| 荆门市| 澄城县| 阆中市| 郸城县| 广宗县| 武陟县| 长治县| 从江县| 华亭县| 西华县| 石家庄市| 青阳县| 临海市| 辰溪县| 奉节县| 星子县| 乐都县| 泗阳县| 大冶市| 贺州市| 延庆县| 白河县| 芜湖县| 揭阳市| 广饶县| 蒲城县| 新巴尔虎左旗| 错那县|