前言:中文期刊網精心挑選了智能卡范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。
智能卡范文1
智能卡的發展史從70年代開始,它的最初設想是由一名叫有村國孝(KunitakaArimura)的日本人提出來的,并于1970年獲得專利。1974年,法國的羅蘭莫雷諾(RolandMoreno)進行改良,發明了帶集成電路芯片的塑料卡片,獲得了意外成功,成為了最早期的IC卡,從此推動了智能卡的研究和發展,當時的法國在智能卡及相關產業的擁有量居世界之首。80年代初,智能卡在美國和日本也得到很好的使用,美國人用做軍人身份證的識別系統,而日本人則將它用于醫療系統中,將病人的病史情況儲存在智能卡里,不但提高了看病效率,還可在智能卡中支付醫療費用,目前醫療體系中,人們都普遍在用這種醫院規定的身份智能卡來看病取藥。智能卡以獨特的優勢,在誕生后的10年內遍布世界各地,每年的發行量以40%在迅速增長。伴隨著互聯網技術的發展大潮,中國的智能卡技術也在馬不停蹄地前進著,智能卡的應用領域也在一步步擴大:人們身上所攜帶的門禁卡、停車卡、公交IC卡、消費卡、醫療卡等,甚至包括現在使用的第二代身份證都屬于智能卡的范疇。
智能卡常常又被稱為IC卡、聰明卡、微電路卡、微芯片卡等。國際標準化組織使用術語為ICC,即集成電路卡。目前最為普遍的市場上所流通的智能卡外形尺寸標準為85.6mm×53.98mm×0.76mm,與銀行所使用的磁卡相同。不過現在也有許多封裝為鑰匙扣、飾物等特殊形狀的智能卡。智能卡作為一個新興產業正蓬勃發展,智能卡的頻繁使用已成為人們生活必需品中不可或缺的一部分,打開每個人的錢包,人們至少都擁有那么幾張智能卡:銀行卡、門禁卡、醫療保險卡等等,目前智能卡已在移動通信和交通管理、社會保險、人口管理、企事業內部管理等公共事業方面廣泛的應用著。但是目前我國市場上設計出來的智能卡較為枯燥和呆板,在它的藝術領域上,人們的研究還較少,卡的設計往往不盡如意,主題不清晰或者卡的視覺設計不美觀,還有待研究和擴展,因此,本文針對智能卡的外觀視覺語言提出一個初步的設計理念。
以下是對智能卡視覺設計的四種理念:
1、外形變化:針對于非插入式的智能卡,可在不影響芯片使用的情況下,對外形做出各式各樣的創意變化,同時還可像信用卡上凸起的數字和人名拼音一樣,將智能卡加入凸起的盲文字體,使視覺障礙者能更方便分辨每張卡的用途。
2、質材變化:智能卡不一定局限于普通的塑料材質,還可做成其它材質:如金屬材質,對于一些使用頻繁的智能卡,可以延長智能卡的使用壽命;或是用PVC材質、樹脂、亞克力等,既環保又能讓智能卡多元化。
3、功能:智能卡不僅可以芯片多功能化,它的外形設計也可以更為人們所利用。如上述所說的金屬材質的智能卡,中間就可以設計個開瓶器一樣小缺口,在朋友聚會和旅游休閑中,當要拿起酒瓶暢飲時,不會因為借不到開瓶器而束手無策;也可在卡上嵌入一小塊放大鏡材質,老年人出門在外可以不用特地帶上放大鏡,在需要看點信息時可以用隨身攜帶的智能卡應急一下。
智能卡范文2
關鍵詞:智能卡;穿透性測試;非侵入式攻擊;半侵入式攻擊;侵入式攻擊
中圖分類號:TP274
智能卡也稱CPU卡,具有較強的數據處理能力,其應用范圍日趨廣泛,2012年全球智能卡發行量約為70億張。但智能卡在實際應用中卻頻頻遭受破解,針對Mifare卡和英飛凌SLE66芯片的攻擊實例表明,對于智能卡,不僅需要通過數學模型來證明其算法的安全性、通過功能測試來評估其安全功能實現的準確性,同時必須通過穿透性測試驗證智能卡的實際安全。
對于智能卡穿透性測試的研究已經進行了一段時間,國內對各種攻擊手段已開展相應分析,但缺少系統性的穿透性測試種類和測試方法的研究,亟待建立評估方法模型。本文在已有研究工作和成果的基礎上,總結智能卡的穿透性測試技術,提出智能卡的穿透性測試評估方法,并通過示范應用實例對技術方法的有效性進行了分析驗證。
1 智能卡的穿透性測試技術
近年來,對智能卡的穿透性測試手段越來越多,常用的大致分為三類:非侵入式攻擊、半侵入式攻擊和侵入式攻擊。
1.1 非侵入式攻擊,不需要打開智能卡芯片的封裝,攻擊者通過觀察電路中的某些物理量如能量消耗、電磁輻射、時間等的變化規律來分析智能卡的加密數據。包括簡單能量攻擊,對密碼算法執行過程中所采集到的能量消耗信息進行直接分析;差分能量攻擊,通過使用大量的密文和能量跡,分析固定時刻設備的能量消耗,使用統計分析技術提取密鑰信息;電磁輻射攻擊,通過電磁輻射信號查找算法泄露位置,并通過對電磁信號的統計分析提取密鑰信息[1]。
1.2 半侵入式攻擊,需要打開智能卡芯片的封裝來訪問芯片表面。由于智能卡控制器的集成電路芯片是由硅制成的,其電性能會隨不同的環境參數而改變。如異常溫度、光照,可能導致程序執行錯誤;故障注入攻擊,在智能卡密碼算法運行的過程中注入電壓毛刺和時鐘毛刺,使得芯片產生錯誤結果,或直接將高能量的激光或放射線注入芯片表面,借此在特定的運算過程中引入錯誤[2]。
1.3 侵入式攻擊,先對其進行反向工程,攻擊者使用切割研磨機、電子顯微鏡等設備,進行重構版圖,并通過干刻、濕刻、染色、總線探測等技術,獲取存儲器中各單元的信息;攻擊者在反向工程后,使用聚焦離子束、微探針、激光切割器等設備對總線進行修改;對存儲單元進行覆蓋和改變,對各安全模塊進行修改和破壞。從而嘗試獲取密鑰信息[3]。
2 智能卡的穿透性測試評估方法
對于任何智能卡,都必須通過穿透性測試證明:智能卡安全功能完備合理、實現準確;安全數據無法獲取、不可篡改。國際大多依據通用準則(Common Criteria)實施信息技術產品安全性評估與認證,國內則基于GB/T 18336-2008(等同采用通用準則2.3版)實施。本文在已有研究工作和成果的基礎上,研究認為,智能卡穿透性測試評估可以采用離散的定量設計方法,通過計算攻擊潛力分值,結合通用準則的評分要求來定量分析脆弱性。本文制定出智能卡穿透性測試的評估方法如下:
(1)每個攻擊場景均由非侵入式、半侵入式、侵入式攻擊進行選擇或組合,并可以根據需要進行擴展、裁剪、循環,以達到攻擊目標。
(2)設定每一個攻擊場景均包含了2個攻擊階段:分析階段、攻擊階段。在分析階段,攻擊者創建各種攻擊思路,并論證攻擊思路的可行性,包括設計攻擊設備;在攻擊階段,攻擊者利用分析階段設計的攻擊設備、攻擊腳本來完成具體攻擊測試。
(3)針對每個攻擊場景,均設定6個關鍵評估因素:攻擊時間、人員水平、芯片資料、樣本數、攻擊設備、開放樣本;對6個評估因素的評分規則參見表1。
(4)攻擊者設計出一個攻擊場景后,首先對分析階段和攻擊階段分別進行6個因素的評分,然后依據表1查表分別計算出分析階段和攻擊階段的攻擊分值,最后將分析階段攻擊分值和攻擊階段攻擊分析相加,得到總攻擊分值。
(5)根據通用準則要求,智能卡應至少“抵御中等攻擊潛力的攻擊者發起的攻擊”。即計算得到的總攻擊分值應大于等于25分[4]。如針對某測試案例設計的攻擊場景的總攻擊分值超過25分,表示該測試案例符合安全要求。否則表明智能卡無法抵御該項穿透性測試,應有針對性的制定合理有效的軟硬件防護策略,以增加其安全性。
3 智能卡穿透性測試實例
為了驗證基于上文的穿透性測試技術和評估結算方法,設計了一個實驗穿透性測評環境,系統由上位機、讀卡器、開發板和一系列穿透性測試工具組成,包括信號發生器、智能卡檢測儀、高低溫沖擊試驗箱、能量攻擊測試平臺、激光攻擊測試平臺、微探針臺等。攻擊者擬通過各種穿透性測試技術,對某款智能卡實施攻擊和評估,以獲得卡片保密數據。
3.1 非侵入式攻擊
針對該款智能卡,使用示波器采集該智能卡密碼運算時的功耗信息,使用電磁探頭采集電磁信號。通過頻譜分析、濾波、重采樣、對齊、相關性分析等工作,可以判斷加密精確位置,對該位置進行能量和電磁分析,由于該智能卡采用了隨機掩碼技術,所有中間變量均被隨機S盒掩膜,不存在明顯的信息泄露,非侵入式分析無法獲獲得密鑰。
3.2 半侵入式/侵入式攻擊
使用去層設備、對智能卡芯片進行物理去層,通過顯微鏡觀察智能卡芯片,通過分析,可知該款智能卡采用了金屬屏蔽層,無法通過芯片表面進行攻擊,但背面缺乏相應防御措施,在版圖重構獲取算法邏輯區位置后,嘗試從背面進行激光攻擊。
與芯片建立通信,分析波形并計算DES故障注入時間,使用1064nm波長的激光重點掃描芯片背面相應的算法邏輯區,隨機注入激光毛刺,使芯片工作異常,產生密碼運算輸出結果錯誤,對輸入錯誤進行分析,可以成功獲得DES密鑰。
3.3 穿透性測試評估計算
非侵入式攻擊結果表明,某智能卡采用的時鐘加擾、隨機掩碼等措施合理有效,通過1個月的實際攻擊,證明該智能卡可以對非侵入式測試實施有效防御。非侵入式攻擊打分結果如表2所示,對能量攻擊、電磁攻擊的穿透性測試最終評分在25分以上,證明智能卡可以抵御具有中等攻擊潛力的攻擊者發起的非侵入式攻擊。
而半侵入式和侵入式攻擊結果表明,雖然某智能卡采用了安全傳感器、金屬屏蔽層等安全措施,但測試者通過深入分析智能卡安全機制和各邏輯區域位置,從芯片背面對芯片成功實施激光注入攻擊,破解了智能卡密鑰。證明其無法抵御半侵入式和侵入式攻擊,建議智能卡設計商對芯片關鍵邏輯單元實施完整性校驗、對關鍵的程序流向以及加密運算結果實施故障監測、通過多次比較檢測密碼運算輸出結果的有效性,從而有效防護此類攻擊事件。
4 展望
智能卡的安全問題正日益引起人們的關注,智能卡穿透性測試技術已經日益顯現出其重要性,把各種先進的穿透性測試技術引入智能卡領域,以保證智能卡應用系統的安全,正成為一個重要的課題。本文研究了針對智能卡的穿透性測試技術,提出了智能卡穿透性測試評估計算方法,通過示范應用實例對技術方法的有效性進行了驗證。測試結果將為國內智能卡提供穿透性測試指導,有助于提高智能卡企業和用戶對智能卡安全的重視程度、有助于提高智能卡檢測認證綜合水平,具有十分重要的現實意義。
參考文獻:
[1]P Kocher,J Jae and B Jun,Dierential Power Analysis,In M. Wiener,editor,Advances in Cryptology:Proceedings of CRYPTO’99[J].Santa Barbara,CA,USA.LNCS,Springer-Verlag,1999:388-397.
[2]S.Skorobogatov,R.Anderson,Optical fault induction attacks,Cryptographic Hardware and Embedded Systems Workshop(CHES-2002) [J],LNCS 2523:2-12.
[3]C Ajluni,Two New Imaging Techniques Promise To Improve IC Defect Identication[J].in Electronic Design (vol.43 no.14)10 July,1995:37-38.
[4]ISO/IEC 18045-2008,Common Methodology for Information Technology Security Evaluation[S]
作者簡介:張俊彥(1978.1-),男,江蘇人,本科,學士學位,工程師,主要研究方向:信息安全。
智能卡范文3
很少有人像明華澳漢智能卡科技股份有限公司董事長李啟明那樣在錢包里放上十幾張卡。他說“我現在幾乎不用現金,連洗澡和理發都刷卡。”李啟明的錢包幾乎就是中國卡行業發展的“微型博物館”:無論是最早的磁卡、隨后的IC卡、還是最新的CPU卡,里面一應俱全。
在10余年左右的時間里,李啟明把一個做磁卡印刷的深圳小廠變成了一個年銷售額近2億元,即將赴港上市的“明星企業”。10年來,他的企業共生產出3億多張卡,差不多平均每5個中國人就有一個使用過明華的卡。當大多數IC卡制造商躲在行業保護的大傘下,徘徊在年銷售額1000萬左右的時候,明華澳漢卻能夠以銷售額近20倍的規模出現,這完全得益于明華澳漢在李啟明帶領下的“健身”不輟。
淘金
1992年,磁卡剛剛進入中國人的生活。憑著嗅覺,李啟明在深圳注冊了明華澳漢磁卡有限公司。但由于磁卡的生產工藝簡單,僅僅是一個印刷、貼膜和加磁的過程,而且印刷業那時基本上是香港老牌印刷企業的天下,明華澳漢只能拿到一些零散小額定單,并沒有獲得很好的收益。
真正的轉機出現在1994年,國家啟動“金卡”工程,而李啟明其時正在北京參加一個展覽并接觸到了IC卡。IC卡不僅比磁卡更加美觀、還能存儲個人信息。李啟明認定,未來IC卡一定會取代磁卡。當了解到國內還少有廠家能夠生產IC卡的情況之后,李啟明看到了商機。從決定上馬IC卡到赴國外考察采購生產線,直到第一張卡出廠,李啟明只用了5個月時間。
1997年,明華澳漢公司接到第一個大定單,要為北京煤氣公司生產100萬張卡,而且限時兩個月完成。業界當時紛紛懷疑明華的生產能力。而明澳漢華卻完成了任務,于是也就在業界獲得了聲名,并開始擁有一個相對穩定的客戶群。
攻堅
1995年到1998年,是明華澳漢公司成長速度最快的四年。1999年,IC卡行業的拐點來臨:由于整體產能過剩(產能與需求的比例達到了6比1),價格競爭日趨激烈。一張完全相同的卡,1998年的價格還不到3年前的1/6。明華澳漢的銷售額增長速度明顯放慢。同時,IC卡消費心理趨于成熟:卡的應用功能、安全性等技術指標已經取代美觀、耐用的外在標準,成為用戶選擇供應商時考慮的首要因素。而解決應用功能、安全性等問題,需要卡商具備圍繞芯片的系統設計能力,明華澳漢的強項,是印刷、封裝等制造領域,如果不能在系統設計能力上獲得突破,必將失去市場。
李啟明決定請高人出山,幫助明華澳漢研發IC卡操作系統。1998年,明華澳漢在北京成立了卡技術研究院,首次把研發重心從硬件向軟件和操作系統轉移,并力邀國內加密算法資深人士――清華大學博士后郭寶安擔任研究院院長兼公司技術總監。
1999年6月18日,研究院結出了第一粒果實。遠在香港的李啟明接到北京同事的報喜電話:“明華澳漢研發的具有自主知識產權的CPU操作系統SmartCOS通過了人民銀行總行的技術檢測?!崩顔⒚髋d奮不已,這意味著明華澳漢從此可以向各大行業用戶提供基于SmartCOS的IC卡,明華澳漢終于擺脫了扼住自己命運喉嚨的枷鎖,跳出了下游卡制造商的圈子,獲得通向銀行、電信等行業用卡大戶大門的鑰匙。
裂變
重新占領戰略制高點的李啟明現在審視明華澳漢的業務結構稍感欣慰:2001年,磁卡和普通記憶卡為公司貢獻了70%的銷售額;IC卡是20%;另外10%來自于技術含量最高,市場規模仍然有限的EKEY電子鑰匙產品。磁卡和普通卡市場雖然不可能再有大的增長,但明華澳漢已經憑借品牌影響力和適當的規模攤薄了成本,并帶來了穩定的現金流。李啟明希望明后兩年,高低端產品的比例達到40%和60%?!澳菚且粋€更加健康的組合?!崩顔⒚髡f。
從一個以制造為主的小廠,發展成為技術密集型的企業,現在最讓李啟明費心的,是企業的人員知識結構和組織體系能否與企業的戰略轉型保持同步。
事實上,高端產品的轉型已經在明華澳漢內部掀起了一場不大不小的波瀾:銷售普通卡只需對產品有基本了解;銷售高端卡則需要對客戶的IT體系和所處行業有深刻的認識,以本科以下學歷為主的銷售隊伍就顯得力不從心。為解決這一問題,明華澳漢一方面提高高端卡銷售的返點率,以激勵銷售人員克服畏難情緒;一方面定期對銷售人員進行新產品和技術的培訓。僅在今年,7個核心分公司的總經理中就有3個因業績不佳,并對新產品的推廣缺乏積極性而被撤換。
如果明華澳漢順利裂變,她就能為預計中明年的IPO澳漢攢下個好身價;而如果裂變失敗,以李啟明的倔強,他還會從頭再來。
智能卡范文4
作為OBCC集團重要業務之一的智能卡事業,它運用了奧林巴斯集團在醫療及影像事業方面積累的技術經驗,與現有業務相得益彰。
奧林巴斯的智能卡產品著眼于新生代的智能卡, 目前主要涵蓋視窗智能卡和指紋智能卡。 其產品滿足ISO國際標準,結合金融、社保、健康、交通以及各政府和企事業單位的行業應用,必將在身份認證、持卡人掌握卡內信息、密切發卡和持卡人關系,以及可視化管理等方面做出開創性的貢獻。
奧林巴斯的視窗智能卡產品主要包括動態密碼(OTP)卡式令牌和多功能視窗智能(SVC)卡。
視窗智能卡產品采用了最新的顯示技術――電子紙,其顯著特點為顯示狀態下無須供電,實現了視窗智能卡的薄型化,并具備相關智能卡的機械性能,滿足ISO7810標準。
動態密碼認證方式是一種國際通行的安全、便捷、跨平臺使用的雙因子認證方式。奧林巴斯動態密碼卡式令牌產品現有三類,包括:標準型單鍵OTP卡、帶PIN碼型十二鍵OPT卡和挑戰相應型十二鍵OTP卡。
OTP生成模式都包含時間同步和時間同步??商峁┌∣AHT、SM3等算法的產品(產品規格詳見文中表格)。
奧林巴斯動態密碼卡式令牌產品可謂是新生代的動態密碼令牌產品。它不僅擴充了動態密碼令牌產品的種類,而且帶來了良好的用戶體驗。
智能卡范文5
關鍵詞:操作系統;ISO7816-3;測試模塊;Testing COS
中圖分類號:TP368.1 文獻標識碼:A 文章編號:1004-373X(2009)04-027-04
Research on Design and Testing Scheme of Smart Card COS Chip Module
ZHANG Lijing,ZHANG Qiuyan
(Electronic and Communication Project Engineering,Tianjin University of Technology,Tianjin,300191,China)
Abstract:A bottom drive module of smart card and the read and write module of FLASH are designed,and a programme to test the functions of these modules is proposed.First,it introduces the basic concept of the COS and the basic construction of the chip′s hardware.Then,takes the contact chip as an example,proposes communication and hardware module and the anomaly handling mechanism of the COS based on the chip′s hardware.At the same time,it supplies a testing programme of bottom of the operating system,namely Testing COS.The bottom module is designed based on the performance of COS,and testing method of the bottom module is put forward.
Keywords:operating system;ISO7816-3;testing module;Testing COS
0 引 言
隨著科學技術的不斷進步,智能卡的應用已經越來越廣泛,涉及到人類生活的各個領域,如商業、醫療、保險、交通、社會公共事業等多種領域,所以如何設計一個高效穩定的智能卡操作系統[1]具有較高的社會意義。這里針對智能卡的硬件結構設計了操作系統的通信和硬件其他模塊[2],并提出了一種測試方案以檢測芯片底層模塊的穩定性。
1 智能卡操作系統概述
片內操作系統(Chip Operating System,COS)一般是緊緊圍繞著它所服務的智能卡的特點而開發的[3]。與常見的微機上的操作系統相比,COS在本質上更加接近于監控程序[4]。在此以具體開發實例說明卡片操作系統的基本問題,并提出一種可行可測試的芯片層設計方案及一種芯片底層的測試方案。
2 COS芯片模塊設計
COS底層模塊在設計時一般都是緊密結合智能卡內存儲器分區的情況,按照國際標準中所
規定的一些功能進行設計、開發。
ISO7816是接觸式智能卡必須遵循的國際規范[5]。其中ISO7816-3主要描述接觸式智能卡的電信號和傳輸協議,其中包括各個觸點的電壓電流承受范圍、卡復位應答各個信息位的實際表示和T=0,T=1的傳輸協議。 ISO/IEC 7816-3規定了IC卡的電氣特性和傳輸協議。包括該類卡和接口設備間的電源、電氣信號協議和信息交換協議。通信過程中,由接口設備給IC卡提供電源(Vcc),復位信號(RST)和時鐘(CLK),卡和接口設備間通過I/O端口進行串行通信。
(1)通信模塊設計。
根據T=0異步半雙工字符傳輸協議,IC卡和接口設備之間以字符為單位(簡稱字符幀)進行傳輸,采用偶校驗,每個字符由10 b組成。傳輸字符幀之前,I/O線處于狀態Z,第1 b為起始位(狀態A);后面8 b為數據位D1~D8;第10 b為偶校驗位,即8位數據和奇偶校驗位中1的個數為偶數。
串行通信是按位傳送的,每位信息寬度(持續時間)定義為基本時間單位ETU(Elementary Time Unit)。在復位應答期間的信息寬度稱為“初始ETU”,它等于372個時鐘周期,即1ETU=372/f。復位應答后的信息寬度稱為“當前ETU”,其計算公式為:當前ETU=(F/D)(1/f)。其中:F是時鐘頻率變換因數;D是比特率調整因數;f是時鐘頻率。
IC卡必須與相應的讀寫設備(IFD)通信。從這個角度講,智能IC卡操作系統的作用就是從讀寫設備(IFD)接收命令、執行命令并將結果返回讀寫設備(IFD)[6]。所以,通信管理功能模塊在操作系統中具有十分重要的作用。通信管理功能模塊主要實現以下幾種功能:實現某一通信協議的數據鏈路層的傳輸管理功能;實現ISO/IEC 7816標準規定的ATR(復位響應)等功能;為操作系統中的其他功能模塊提供相應接口。
按ISO/IEC 7816標準,IC卡和讀寫設備之間的通信協議有多種,一般一種卡片只支持某一種通信協議。下面以符合ISO/IEC 7816-3標準的T=0字符傳輸協議的智能IC卡為例介紹通信管理功能(支持其他通信協議的卡的通信管理功能與此相似)。
ICC上電之后,IFD將向ICC發送命令數據,在這樣一次典型的通信過程中,通信管理功能主要從事6個步驟的具體工作。如圖1所示。
以下是卡片接收指令相關的源代碼:
BYTE General_Receive(void)
{
BYTE i,j,c1;
BYTE c2 =0;
BYTE XOR_PPS = 0;
WORD addr;
ccc:
CommandHead[0] = UART_IO_ReceiveByte(); //接收指令第1字節
if( (FlagByte & 0x80) == 0 )
{
if( CommandHead[0] == 0xff )//PPS選擇
{
CommandHead[1] = UART_IO_ReceiveByte();//接收PPS0
i = 1;
if(CommandHead[1]&0x40) i++;
if(CommandHead[1]&0x20) i++;
if(CommandHead[1]&0x10) i++;
for(j=2;i>0;j++,i--)
{
if(j == 5)
{
XOR_PPS = UART_IO_ReceiveByte();
break;
}
CommandHead[j] = UART_IO_ReceiveByte();
}
i = j;
c1= 0;
for(j=0;j
c1 ^= CommandHead[j];
if( c1 ^ XOR_PPS) //如果PPS校驗和錯誤,死鎖
{
for(;;) ;
}
else
{
UART_IO_SendString(CommandHead,i); //回送PPS數據,表示支持94
if(j == 5)
UART_IO_SendByte(XOR_PPS);
UART_Set_Baud(CommandHead[2]); //更改BAUD參數設置
FlagByte = FlagByte | 0x80;//設置PPS有效標志
goto ccc;
}
}
}
FlagByte = FlagByte | 0x80;//設置PPS有效標志
for(i=1;i
c1 = API_JudgeClaIns();
if( c1 != 0 ) return c1; //判斷CLA/INS
for(i=0;i
{
if(Command_INS== GetByte_C((ADWORD)(s2Command+i)) )
goto Receive_OK;//2S指令,5個頭接完就返回
}
addr = GetSysWord(S2_COMMADDR);
c1 = GetSysByte(addr);
for( i = 0;i
{
if(Command_INS==GetSysByte(addr+1+i))
goto Receive_OK;//2S指令,5個頭接完就返回
}
UART_IO_SendByte(Command_INS);//3S指令,先回送INS再接后續數據
for(i=0;i
CommandData[i]= UART_IO_ReceiveByte();
Receive_OK:
UART_RunWaitingEtuTimer(0x01); //打開計時器
return 0;
}
(2) 硬件模塊設計。
智能卡COS上電后首先要進行芯片初始化,其主要設置以下幾個方面:芯片初始工作時的頻率,以及使用外頻還是內頻;芯片串口初始工作的速率(一般為“11”的波特率);芯片串口的工作模式(包括T=0還是T=1協議,正向傳輸還是反向傳輸,奇校驗還是偶校驗等);存儲器的初始映射方式。
智能卡芯片(以下以51系列智能卡芯片為例)一般包含幾十到幾百KB的FLASH,以1個頁面為單位進行擦除,根據FLASH編程寫的特點,也就是1能寫成0,而0不能寫成1,故在設計編程寫函數時為了保證寫數據的正確性,特采取如下的方式實現此功能:
第一步:取出要寫入地址的數據(為A),與要寫入的數據(為B)進行與操作(結果為C);
第二步:在要寫入數據的地址寫入數據(B);
第三步:取出寫入數據后的地址的數據與數據C進行比較。
對于51系列智能卡芯片,由于標準的8051對程序存儲器最大值支持64 KB,所以芯片采用BANK的編址方式[7]。這時往往需要一個映射函數來實現不同BANK的跳轉。如果一款智能卡芯片的程序存儲器采用128 KB的FLASH用來存放COS和用戶數據。128 KB的FLASH均分4個32 KB的BANK,在這4個區域里,Commom區是3個Bnak的公共區域,即Commom區和每個32 KB的BANK都可以組成64 KB的連續空間。3個Bnak之間不能直接互相訪問,而必須調用Commom區里的程序才能實現相互的訪問[2]。所以在創建工程時要把經常使用的程序和常數,如中斷入口函數、Bank Switch跳轉表等都放到Commom區里,這樣才能實現各個區域的相互訪問。
(3) 異常保護模塊設計。
ISO7816-3規定2個連續字符上升沿之間的延遲至少是12 ETU,且2個連續字符上升沿之間的延遲應不超過9 600 ETU。所以COS在設計時要加入發送“60”來實現正常的通信[8]。
發送“60”采用芯片定時器中斷的方式,設置定時器的工作模式,使用時鐘和的初始值。定時器的中斷服務程序的實現流程:關閉發送“60”定時器;發送“60”;打開發送“60”定時器。
操作系統的異常處理,此函數為COS進行異常狀態時調用的函數。進入異常狀態時,要關閉發送“60”的定時器,然后進入死循環狀態。
3 芯片測試方案設計
以下提出一種針對芯片模塊函數的測試方案。即嵌入式Testing COS。
(1) Testing COS測試平臺組成。
T-COS平臺由MAIN.C文件、API.C文件、常量配置、A51文件以及芯片庫、LIB文件組成。其中,針對不同的芯片,main.c,api.c是相同的,而常量配置文件和芯片庫文件則不同,在使用時需要更改或更換。
另外,MAIN.C文件中的CommandInterpreter()命令解釋器函數是對發送命令的識別解釋(在此函數中,為所有需要測試的函數定義了指令嗎)。被測函數的函數體在API.C文件中。芯片庫在API.C文件中被具體調用。
此Testing COS可直接寫入智能卡中,設計思路是:采用直接APDU指令調用的形式,直接調用硬件模塊函數,如擦一頁函數。執行完指令,函數返回一個狀態字。
主程序是一個死循環,如下:
void main(void)
{
UART_InitChip();
ClearRam(); //清全局變量
MakeATRSend(); //回送ATR(rom數據)
//主程序循環
while (1)
{
if( (General_Receive() ) == 0 )//數據接收錯誤,直接返回錯誤碼
{
CommandInterpreter(); //命令解釋器
}
else
{
FlagByte = FlagByte & 0xfd;
//接受數據錯誤,如果已經有返回數據標志位,清除
}
MakeData();//回送數據
}
}
命令解釋器函數支持多個函數,為用戶對硬件的直接操作提供接口,可以通過發送APDU指令實現對芯片的多種操作[9]。
void CommandInterpreter()
{
switch(Command_INS)
{
case 0x00: g_bStatusByte = Api_ErasePage();break;
case 0x02: g_bStatusByte = Api_WriteByte();break;
case 0x06: g_bStatusByte = Api_Mem_Copy();break;
case 0x07: g_bStatusByte = Api_Mem_Set();break;
case 0x08: g_bStatusByte = Api_Mem_Cmp();break;
case 0x09: g_bStatusByte = Api_ReadByte();break;
case 0x0A: g_bStatusByte = Api_ReadWord();break;
case 0x0B: g_bStatusByte = Api_ReadTriByte();break;
case 0x0C: g_bStatusByte = Api_ReadData();break;
case 0x0D: g_bStatusByte = Api_ReadByte_C();break;
case 0x0E: g_bStatusByte = Api_ReadData_C();break;
case 0x16: g_bStatusByte = Api_PrgByte();break;
case 0x17: g_bStatusByte = Api_PrgData();break;
default : break;
}
}
例如:APDU:80 00 10 00 00 表示擦除地址0x1000所在頁面。
APDU:80 0C 10 00 10 表示從地址0x1000開始讀取長度為0x10的數據。
(2) Testing COS測試平臺的使用。
T-COS測試平臺測試流程,如圖2所示:
(3) Testing COS測試平臺局限性分析。
T-COS平臺使用方便簡潔,易于觀察執行結果,但是其不能觀察過程。因此,在返回結果與預期結果不一致,或者出現錯誤的情況下,無法判斷產生錯誤的原因。在這種情況下,需要借助仿真器,跟蹤執行過程,最終找出產生問題的原因。
4 結 語
智能卡操作系統根本的部分就在于芯片底層各個模塊的穩固性。芯片層開發是電信、稅控等產品開發的重要組成部分之一,也是最基礎的部分。為了保證電信、稅控產品可以在不同芯片之間的平穩移植,需要對芯片層的開發提出一定的要求和標準,這樣可以保證上層開發的一致性。
參 考 文 獻
[1]王愛英.智能卡技術\.北京:清華大學出版社,1996.
[2][德]Rankl W.智能卡大全:智能卡的結構功能應用\.北京:電子工業出版社,2002.
[3]張志剛,趙奎.智能卡操作系統研究和實例分析\.企業技術開發,2005,24(9):20-22.
[4]亨德里.智能卡安全與應用\.北京:人民郵電出版社,2002.
[5]International Standard ISO 7816-1,-2,-3,-4[S].Identification Cards:Integrated Circuits Cards with Contacts:1997.
[6]楊志峰,王志新.智能卡的操作系統:COS\.現代電子技術,2005,28(8):91-93.
[7]李金良.智能卡操作系統(COS)編程語言及編譯器系統設計與實現\.中國集成電路,2005(11):67-69.
[8]李翔.智能卡研發技術與工程實踐\.北京:人民郵電出版社,2003.
[9]張利華.智能卡操作系統開發中的測試技術\.計算機工程與設計,2004,25(6):901-902.
[10]李浩,謝桂海,王新鋒,等.一種基于零知識證明的RFID鑒別協議\.現代電子技術,2006,29(17):23-25.
智能卡范文6
【關鍵詞】壓力傳感器;智能提醒;電開水器;單片機控制
引言
隨著現代高科技的日新月異,各式各樣的智能家用電器取代了用人力來進行日常繁雜的工作,并占據了主要市場。如今為了各大高校的教職員工,學生以及各個企業的員工的日常飲用熱水更加智能方便化,大部分的企業及高校,均在樓層和茶水間等公共熱水服務區安裝了刷卡計時計費的電開水器。即當大家想飲用熱開水時,將校園卡或員工卡放置于計時器卡槽內,水杯對準出水口放于承接板,按下開關進行取水,接滿水后,再次按下閉合開關,即完成了一次打水。通過看計時計費器dret上的顯示,也可以了解到卡的消費余額,為人們的日常生活帶來了極大的便利。
1.系統設計方案
基于壓力傳感技術的電開水器智能卡取卡提醒裝置由電開水器主箱體1、顯示器2、傳輸線3、4、壓力傳感器傳感器5、承接板6、排水管7、計時器8,計費顯示屏9、開關按鈕10、揚聲器12、控制器(單片機)13、出水口(水龍頭)14、組成。托物盤由三個托物板拼接起來,每一板塊都裝有壓力傳感器。壓力傳感器包括力的感應與力的輸出,并通過傳輸線與上方對應的控制器相連接,計時器設有插卡槽,控制器內設置有單片機、信號處理系統。工作過程中,在單片機程序的設定下,當系統檢測到打水人員接水操作完成時,將壓力信號的變化轉變為電信號,然后輸出相應、功率足夠的聲信號,以提醒用戶取走智能卡。
2.工作過程
程序設定的壓力傳感器通過感受壓力的變化,并由傳輸線3傳遞給控制器13,控制器的信號A,當沒有人使用電熱水器裝置時,托物盤5是空的,單片機記錄壓力初始值始終為A。當有打水人員來打水時,將其卡插入卡槽11,把水杯放在出水口(水龍頭)14下端,按下開關按鈕10進行打水,主體箱1流經出水口14,隨著托物盤5所受的壓力在接水過程中漸漸增加,壓力傳感器的壓力發生改變后,通過傳輸線3傳給控制器13,控制器信號處理系統自動記錄值為B、C、D、E等。等待打水完成后,此時按下開關按鈕10,出水口14停止出水。當打水人員拿走水杯,壓力數值恢復到初始值A,控制室中的信號處理系統便將從其他壓力數值B、C、D、E到壓力初始值A的變化信號轉化處理轉變成電信號,反饋給控制器13,然后傳遞給揚聲器12,并推動其發出兩聲“請拔出您的卡”的語音提示,之后便不再發聲。直到下一位打水人員使用時,重復上述工作過程。
系統是當傳感器測得的壓力信號從A-變到B、C、D、E時,才發出兩聲“請拔出您的卡”的語音,所以即使不使用打水時,系統雖然長時間處于值A,但也不會不斷的發聲,因此有效的避免了電能的浪費。
3.小結
新裝置是一種具有自動提醒取卡功能的插卡式電熱水器,它通過壓力傳感器測得力學信號的變化,將變化的信號傳給控制器的信號處理系統,然后執行之前設定好的程序,輸出響應揚聲器發出提示音,從而及時提醒打水人員將自己的卡拔出。該新加的自動提示功能彌補了先前電熱水器的缺陷,完善其功能,避免卡遺失之后,對企業的職員及和高校的教職工造成不必要的麻煩,對于廣大的學生群眾而言,保證了校園卡的正常使用,例如吃飯買東西,進出圖書館等日?;顒?,具有良好的實用性。
參考文獻:
[1]顏曉河,董玲嬌,蘇紹興.壓力傳感器的發展及其應用[J].電子工業專用設備,2006(1).
[2]張敏. 自動控制中壓力傳感器的應用探討[J].大科技,2014,(16).
[3]張書玉,張維連,張生才等.高溫壓力傳感器的研究現狀[J].傳感技術學報,2006,19.
[4]郭強,呂浩杰.胡國清新型接觸式電容壓力傳感器[J].儀表技術與傳感器,2008,(3).
[5]王佳茂,梁卓等.一種具有自動提醒取卡功能的插卡式熱水器.專利號ZL 201420137984.3.
[6]陳宇珂,張延武,盧育華,肖強.一種基于單片機的數據采集及控制系統的設計[J].醫療設備信息, 2005,20(3).
作者簡介:
蔣金鑫:(1995.8),女,本科在讀生,現就讀于上海電機學院機械電子工程專業本科生。
蒯云帆:(1994.2),女,本科在讀生,現就讀于上海電機學院機械電子工程專業本科生。