日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 工業(yè)控制 > 電子設(shè)計自動化
[導(dǎo)讀]摘要:本文針對Java智能卡的安全問題,提出了一種新的解決方案——將可信計算技術(shù)引入到Java智能卡的設(shè)計與實現(xiàn)中,以可信計算在安全認證方面的優(yōu)勢來解決智能卡的安全問題。文章首先從硬件方面對該方案的可行性進行了

摘要:本文針對Java智能卡的安全問題,提出了一種新的解決方案——將可信計算技術(shù)引入到Java智能卡的設(shè)計與實現(xiàn)中,以可信計算在安全認證方面的優(yōu)勢來解決智能卡的安全問題。文章首先從硬件方面對該方案的可行性進行了分析,然后從類庫、虛擬機和運行時環(huán)境三個方面介紹了如何實現(xiàn)Java智能卡,最后并著重介紹了可信機制的構(gòu)建。

1 引言

Java 智能卡是一種能運行Java 語言程序的智能卡,它在資源有限的智能卡環(huán)境中支持Java 語言的一個子集,是Java 嵌入到智能卡中的一種新的應(yīng)用[1]。由于Java 智能卡具有一卡多應(yīng)用的特性,而且Java 程序“一次編寫,到處運行”,使得近幾年來Java 智能卡市場蓬勃發(fā)展起來。Java 智能卡產(chǎn)品已經(jīng)在全世界得到了廣泛的應(yīng)用,包括無線通信、醫(yī)療/健康保險、金融銀行、政府機構(gòu)、身份認證、電子商務(wù)、系統(tǒng)安全等領(lǐng)域。

Java 智能卡可以同時運行幾個不同的程序,而且無論發(fā)卡前,還是發(fā)卡后,都卡允許用戶自由的下載,安裝和刪除程序。這就需要卡片具有很高的安全行。而現(xiàn)在的Java 智能卡一般通過簡單的防火墻和接口共享機制來保障其安全性,這無疑存在著安全隱患。該方案將把可信計算技術(shù)引入到Java 智能卡的設(shè)計與實現(xiàn)中,以可信計算在安全認證方面的優(yōu)勢來解決智能卡的安全問題。

2 硬件平臺的選擇

本文經(jīng)過研究發(fā)現(xiàn):可信計算和 Java 智能卡技術(shù)對硬件的需求基本相同。兩者都需要易失存儲器,非易失存儲器,對稱/非對稱密碼處理器,隨機數(shù)處理器,雜湊運算單元,執(zhí)行單元和隨機數(shù)產(chǎn)生器。當(dāng)然,兩中技術(shù)對硬件的要求有細微的差異:例如可信密碼模塊需要監(jiān)測電源,而智能卡不需要;可信模塊的RSA 引擎需要達到2048 位強度,而智能卡并沒有明確的規(guī)定;可信模塊的I/O 是總線形式的,而智能卡需要射頻、USB 或者其它形式的通訊模塊。

由以上分析可以看出,智能卡和可信模塊對硬件的需求雖然有所異同,但并不矛盾,這些差異是兩者對安全性的不同要求造成的。為了將可信計算技術(shù)引入到智能卡的設(shè)計與實現(xiàn)中,可以挑選一款規(guī)格合適的智能卡芯片作為硬件平臺。經(jīng)過對比,該方案中,最終選擇了中興集成電路設(shè)計有限公司的芯片Z32H256D32SU。該芯片是中興在國產(chǎn)32 位RISC 處理器的多功能安全處理平臺基礎(chǔ)上開發(fā)出的,具備高處理能力、高安全性、低功耗、低成本等特點。它具有8KBSRAM 存儲器、256KB Flash 存儲器、32KB EEPROM 存儲器,支持DES/3DES、RSA、ECC、SHA-1、HMAC 等算法,并帶有隨機數(shù)產(chǎn)生器和電源監(jiān)測等模塊(具體的參數(shù)可以參見其手冊)。該芯片完全可以同時滿足智能卡和可信計算的硬件需求,用于構(gòu)建可信Java 智能卡。

3 可信Java 智能卡的設(shè)計與實現(xiàn)

3.1 可信Java 智能卡的架構(gòu)

可信 Java 智能卡(Trusted Java Card,縮寫為TJC)是在Java 智能卡中引入了可信的理念,用可信技術(shù)來增強其安全性。其結(jié)構(gòu)框架如圖1 所示。

最底層是各種硬件資源,它上面硬件驅(qū)動層,這一層是底層硬件調(diào)用接口的集合,它可以把上層和具體的硬件細節(jié)分離,方便以后的硬件的升級,而且可以更方便的實現(xiàn)Java 的平臺無關(guān)性。

安全管理組件是一組執(zhí)行各種操作的組件的集合,例如包的下載,包的度量,Applet的安裝和刪除,密鑰的存儲和讀取,事務(wù)的記錄和回滾等,這些功能組件通過運行時環(huán)境的調(diào)用來執(zhí)行。其它各模塊的設(shè)計下文分別予以說明。


圖 1 可信Java 智能卡的架構(gòu)

3.1.1 可信Java 智能卡虛擬機

可信 Java 智能卡虛擬機是用于支持字節(jié)碼運行的虛擬計算機,它的核心功能是解釋虛指令,使程序按著正常的流程執(zhí)行。虛擬機有13 類185 條指令需要實現(xiàn),該方案在實現(xiàn)虛擬指令調(diào)用時,設(shè)計了一個用于定位指定指令的虛擬指令跳轉(zhuǎn)表,采用函數(shù)指針的方式實現(xiàn)虛擬指令跳轉(zhuǎn),其定義如下所示:

BYTE (*bytecodeJumperFun[185])();

執(zhí)行一條指令的基本步驟如圖2 所示:

1. 首先讀取 PC 指針處的值,得到與該值相對應(yīng)的方法區(qū)中的指令。

2. 判斷其是否需要解析,如果需要,則先解析該指令,得到所訪問對象的物理地址后,再對其解釋執(zhí)行;如果為簡單指令,則無需解析直接執(zhí)行即可。

3. 在本指令執(zhí)行結(jié)束后,虛擬機將PC 指針指向當(dāng)前指令緩沖區(qū)中的下一條指令,如果該指令存在,則重復(fù)執(zhí)行步驟一、二;否則在所有指令執(zhí)行完畢的情況下,退出虛擬機,程序運行結(jié)束。


圖 2 解析虛擬指令的基本流程

3.1.2 可信Java 智能卡類庫

可信 Java 智能卡類庫既實現(xiàn)了一般的Java 智能卡應(yīng)用程序接口,又實現(xiàn)了可信密碼模塊的用戶接口。為了提高執(zhí)行速度,耗費時間比較多的操作用C 語言實現(xiàn)。在 CAP 文件中,每個方法的頭信息如下所示:


當(dāng)flags 值為1 時,TJCVM 去調(diào)用與該方法對應(yīng)的C 方法;值為0 時,TJCVM 將定位到該方法的函數(shù)體,對字節(jié)碼進行解釋。類庫的設(shè)計采用了基于 token 的動態(tài)鏈接過程。所謂“基于token 的動態(tài)鏈接過程”是指為提高Java 智能卡應(yīng)用程序的獨立性,在解釋執(zhí)行指令時,虛擬機首先將需要訪問的對象(例如類、方法等)轉(zhuǎn)化為與訪問對象對應(yīng)的符號(token),然后再將token 轉(zhuǎn)化為存儲被訪問對象的物理地址這一過程。動態(tài)聯(lián)接減小了修改其他類時對本程序代碼的影響。在Java 智能卡應(yīng)用程序Applet 運行時,如果引用了外包中的方法,解釋器將獲得引用的外包的索引,以類和方法token 值作為索引標(biāo)記,通過CAP 文件中各組件中具體的包信息、類信息和方法信息,可以準(zhǔn)確地完成從token 值跳轉(zhuǎn)到被引用方法的具體實現(xiàn)。

3.1.3 可信Java 智能卡運行環(huán)境

可信 Java 智能卡運行環(huán)境扮演著決策者和調(diào)度者的角色,它根據(jù)Java 智能卡的具體狀態(tài)決定在什么時候調(diào)用哪個功能模塊,并且為各模塊提供合適的運行環(huán)境。下載到卡內(nèi)的 Applet,由Java 智能卡運行環(huán)境控制運行,其運行狀態(tài)有以下幾種:

已安裝狀態(tài)

此狀態(tài)為應(yīng)用程序安裝并在卡上注冊后的狀態(tài)。

被選擇狀態(tài)

應(yīng)用程序只有被選擇后,才能被激活,進入命令處理狀態(tài),與讀寫器間進行交互。

命令處理狀態(tài)

在此狀態(tài)下,Java 智能卡與讀寫器進行通信,執(zhí)行應(yīng)用程序中定義的process 方法。通過在應(yīng)用程序中重載此方法,即可完成不同的智能卡應(yīng)用功能。

取消選擇狀態(tài)

此狀態(tài)為應(yīng)用程序的非激活狀態(tài),直到該應(yīng)用程序被重新選擇為止。各狀態(tài)之間通過執(zhí)行不同的指令相互切換,運行環(huán)境都會根據(jù)Applet 所處的具體狀態(tài),來判斷哪些功能模塊應(yīng)該執(zhí)行,哪些模塊不能執(zhí)行,哪些由系統(tǒng)自動運行,哪些由用戶調(diào)用,以及各模塊之間的執(zhí)行順序。

3.2 可信機制的構(gòu)建

可信計算的核心理念就是信任鏈的傳遞。TJC 中信任鏈的傳遞如圖3 所示:


圖 3 信任鏈傳遞示意圖

信任鏈建立的前提條件是確定信任原點:三個可信根——可信度量根,可信報告根,可信存儲根。本方案中將BootLoader 作為可信度量根,并在Z32H256D32SU 芯片的EEPROM中開辟兩片獨立的空間分別作為可信存儲根和可信報告根。

BootLoader 在加電后最先被執(zhí)行,它負責(zé)驗證硬件平臺和運行時環(huán)境的完整性,初始化一些硬件寄存器,并加載運行時環(huán)境。運行時環(huán)境的標(biāo)準(zhǔn)值被固化在BootLoader 內(nèi),當(dāng)系統(tǒng)啟動的時候,BootLoader 首先對運行時環(huán)境進行度量,然后將度量值與標(biāo)準(zhǔn)值比較,如果相同則將控制權(quán)移交給運行時環(huán)境;如果不同,則禁止啟動。

運行時環(huán)境被加載后將一直占有 CPU 的控制權(quán),它負責(zé)度量類庫,解釋器和各種管理組件,并負責(zé)調(diào)度各種可信服務(wù),如身份認證和密鑰管理等。當(dāng)Applet 下載后,首先要被運行時環(huán)境度量,只有在通過度量的情況下,才被執(zhí)行。

由 BootLoader 到運行時環(huán)境,再到Applet,就建立起了一條可信鏈,這條信任鏈中的每個環(huán)境都是自主開發(fā)的,這樣就能保證卡內(nèi)環(huán)境的可信。

4 結(jié)論

本文探索性的將可信計算和 Java 智能卡技術(shù)相結(jié)合,設(shè)計并實現(xiàn)了一款可信Java 智能卡,在很大程度上提高了卡片的安全性,同時為解決Java 智能卡的安全問題指出了一個新的方向。

作者的創(chuàng)新觀點:探索性的將可信計算和 Java 智能卡技術(shù)想結(jié)合,用可信計算的在安全認證方面的優(yōu)勢來提高智能卡的安全性,為解決Java 智能卡的安全問題,指出了一個新的方向。



參考文獻:

[1].RISC datasheethttp://www.dzsc.com/datasheet/RISC+_1189725.html.
[2].PC datasheethttp://www.dzsc.com/datasheet/PC+_2043275.html.


來源:過往煙云0次

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

安全智能卡操作系統(tǒng)和小程序安全存放多個電子身份證件

關(guān)鍵字: 智能卡 電子身份證

5月14日,迪拜智能卡支付及零售展覽會(Seamless Middle East)開幕,紫光同芯攜帶其在金融、電信、身份識別領(lǐng)域的核心產(chǎn)品參展,包括金融IC卡、USB-Key、智能POS在內(nèi)的多種支付解決方案。特別是其指...

關(guān)鍵字: 智能卡 紫光 POS ESIM

在新一輪的科技革命和產(chǎn)業(yè)變革中,小小的芯片,扮演著重要角色,它是支撐數(shù)字化的基礎(chǔ)設(shè)施,是國之重器,卻也是在整個IT產(chǎn)業(yè)體系中我國目前的薄弱環(huán)節(jié)。

關(guān)鍵字: 紫光國微 FPGA 智能卡 晶振 國產(chǎn)芯片

北京2023年9月23日 /美通社/ -- 近日,主線科技正式獲準(zhǔn)在北京市智能網(wǎng)聯(lián)汽車政策先行區(qū)道路開啟常態(tài)化測試與示范,將與物流客戶在真實開放的城區(qū)道路場景中,率先開啟基于L4級別自動駕駛能力的智能卡車運輸示范。 隨...

關(guān)鍵字: 智能卡 測試 高速公路 BSP

智慧光科技的BobeePass FIDO卡使用Nordic nRF52840或nRF52832 SoC,實現(xiàn)安全的多協(xié)議無線連接

關(guān)鍵字: 智能卡 無線連接 低功耗藍牙

NFC即近距離無線通信,是由恩智浦公司發(fā)起,由諾基亞、索尼等著名廠商聯(lián)合主推的一項無線技術(shù)—在單一芯片上結(jié)合感應(yīng)式讀卡器、感應(yīng)式卡片和點對點的功能,能在短距離內(nèi)與兼容設(shè)備進行識別和數(shù)據(jù)交換。

關(guān)鍵字: NFC技術(shù) 電子錢包 智能卡

Python和Java是兩種廣泛應(yīng)用于編程領(lǐng)域的高級編程語言,它們各有優(yōu)劣。本文從程序設(shè)計應(yīng)用、系統(tǒng)資源占用、高性能處理和語言特點等四方面詳細介紹兩種編程語言的區(qū)別。

關(guān)鍵字: python java 高性能處理

在這篇文章中,小編將為大家?guī)鞪ava接口的相關(guān)報道。如果你對本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: java 接口 Interface

【2023 年 03 月 06日,德國慕尼黑訊】作為全球功率系統(tǒng)和物聯(lián)網(wǎng)領(lǐng)域的半導(dǎo)體領(lǐng)導(dǎo)者,英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼:IFNNY)與信息安全和智能卡領(lǐng)域的領(lǐng)導(dǎo)者TrustSEC攜手推出最...

關(guān)鍵字: 智能卡 NFC無線充電 USB接口

應(yīng)該有不少小伙伴有假期打工的經(jīng)歷,那今天就來給公眾號的讀者朋友們分享一個二哥編程星球里一個球友在富士康打工 50 天的感受,相信大家看完后會深深觸動的。

關(guān)鍵字: 物聯(lián)網(wǎng) java 博客
關(guān)閉