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 VM或JCVM)它是原有Java VM(爪哇虛擬機器,也可簡稱:Java VM或JVM)的子集合,負責對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技術而具有安全防護性。-(英文)
[编辑] 外部連結
- Java Card平台規格(昇陽電腦)-(英文)
- 智慧卡的基礎知識-(英文)