跳转到内容

Java Card

维基百科,自由的百科全书

这是本页的一个历史版本,由Rei-bot留言 | 贡献2007年5月31日 (四) 21:59 (robot Adding: pt:Java Card编辑。这可能和当前版本存在着巨大的差异。

File:Java Card架構示意圖.png
Java Card架構示意圖,圖中紅框部分即具資料存取的防護、防火牆效果。

Java Card技術主要是讓智慧卡或與智慧卡相近的裝置上,以具有安全防護性的方式來執行小型的Java應用程式(也稱為Java Applet),此技術也被廣泛運用在SIM卡(用於GSM手機內)、ATM卡(也稱:金融卡、提款卡)上。

第一個運用Java Card技術的智慧卡是在1997年發表,由數家公司所共同採行,包括過去Schlumberger公司的卡片部門(今日為Axlto公司)與Gemplus公司。Java Card的產品皆以Java Card Platform specifications(爪哇卡平台規格)為依循標準,此技術規格標準由昇陽電腦所研發。

整體而言,Java Card的主要特點及訴求在於「程式移攜性,portability」與「防護安全性,security」。

程式移攜性

Java Card Virtual Machine爪哇卡虛擬機器,也可簡稱為Java Card VMJCVM)它是原有Java VM爪哇虛擬機器,也可簡稱:Java VMJVM)的子集合,負責對Java Applet進行程式直譯、執行及結果回應,也因此JCVM的空間佔量不能太大,必須能小到放入智慧卡內。此外,Java Card的Java Applet也必須比一般Java Applet更小型,要求JCVM與Java Card Applet都更小化,對日後的進一步撰寫開發與程式移植等有幫助。

既然有容量取向的要求,那也就必須對Java的功效機能進行部分權衡取捨,即便可以用多種方式讓應用程式的體積佔量突破容量限制,例如將應用程式的程式碼劃分到Package(Java程式語言中,用來將「類別,Class」以性質、用途等不同取向等而集中放置的地方,即稱為Package)內,但是每個Package也被限制不能超過64KB的容量。

防護安全性

Java Card技術在研發初衷就是為了保護智慧卡內的私密、敏感性資料。而防護安全性取決於幾種角度:

  • 資料存取修改時的權限防擋Data encapsulation

由於Java Card的應用程式是在一個具隔離性的環境(此指Java Card VM)下執行,所以程式對卡片資料的寫入、讀取、修改也受到權限機制的控制保護,無論使用何種讀卡設備、作業系統、應用程式都不能跨越權限去存取不屬於自己的卡片內資料,等於具有「Applet Firewall,小型應用程式的防火牆」的功效。

  • 資料存取傳遞時的加密防護(Cryptography)

Java Card能支援絕大多數的常用加密演算法,包括橢圓曲線加密法(elliptic curve cryptography)。

無論是電信方面還是金融方面的智慧片應用,現在都運用Java Card技術來防護卡內所儲存的資訊資料。

補充:台灣所用的全民健康保險個人身份識別卡(簡稱:健保卡)也是用Java Card技術,技術上可以做到個人醫療資訊的保密、轉診轉檢資訊的資訊防護、或授權下的基本共通資訊共享,台灣共使用2,400萬張此種卡片,硬體卡片方面由瑞薩Renesas)與英飛凌Infineon)兩家半導體業者所共同供應。

相關參見

  • Java Card OpenPlatform(簡稱:JCOP),爪哇卡開放平台是一個以Java Card為基礎的作業系統,且因使用Java Card技術而具有安全防護性。(英文)

外部連結