Java Card
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/09/18 02:54 UTC 版)
| |
|
| Java Card | |
|---|---|
| Java ME (Micro) | |
| Java SE (Standard) | |
| Java EE (Enterprise) |
Java Card(ジャバカード)は、サン・マイクロシステムズが開発したICカードプラットフォーム。1996年に発表された。アメリカ国防総省の身分証カードとして採用された事例もある[1]。
概要
Java Cardは、組み込みデバイス向けに設計された最小のJavaプラットフォームであり、Java Cardを使用すると、スマートカードなどの電力やメモリがごく限られたデバイスで、Javaテクノロジーを利用した小さなアプリケーション(アプレットと呼ばれる)を実行することができる[2]。
Java Cardアプリケーション環境はスマートカード製造業者にライセンスされる。Java Card APIは正式な国際標準や業界固有の標準と互換性がある。
Java Card API仕様に従ったJava Cardアプレットであれば、Java Cardアプリケーション環境を使用して開発された他社製カードでも動作する。1枚のカードで1つ以上のアプレットが動作できる。カードが顧客に発行された後で、新たなアプレットをカードにインストールできる。
様々なICカードが流通するようになった21世紀において、SIMカードや組み込みSIM(eSIM)による無線通信、銀行のキャッシュカードやRFID(NFC)によるモバイル決済、パスポートなど、日常生活に深く浸透している技術である[3]。
最初のJava Cardは、1996年にシュルンベルジェのカード部門によって発表された。この部門は後にジェムプラスと合併し、ジェムアルトとなりました。Java Card製品は、サン・マイクロシステムズ(2010年にオラクルによって買収)の仕様に基づいている。
携帯性や移植性
Java Card は、Java アプレットが異なるコンピュータで実行されるのと同様に、同じ Java Card アプレットが異なるスマートカードで実行できるようにする標準的なスマートカードコンピューティング環境を定義することを目的としている。Java と同様に、仮想マシン (Java Card 仮想マシン) と、スマート カード間の違いからアプレットの大部分を抽象化するランタイム ライブラリの組み合わせを使用して実現される。
また移植性においては、メモリサイズ、パフォーマンス、およびランタイムサポート (通信プロトコルや暗号化アルゴリズムなど) の問題によって制限される。ベンダーは多くの場合、独自のエコシステムに固有の独自のAPIを公開しており、そのような呼び出しに依存するアプレットの移植性をさらに制限している。これらの制限に対処するために、Vasilios MavroudisとPetr Svenda は、標準 API ではサポートされていない低レベルの暗号化計算を可能にする Java Card 用のオープンソースの暗号化ラッパー ライブラリである JCMathLib を発表した。
安全性
Java Cardの技術は、もともとスマートカードに保存された機密情報を保護する目的で開発された。セキュリティは、この技術のさまざまな側面によって決定される。
データカプセル化
データはアプリケーション内に保存され、Java Cardアプリケーションは、基盤となるオペレーティングシステムやハードウェアとは分離された、隔離された環境(Java Card VM)で実行される。
アプレットファイアウォール
他のJava VMとは異なり、Java Card VMは通常、複数のアプリケーションを管理し、それぞれのアプリケーションが機密データを制御する。そのため、異なるアプリケーションはアプレットファイアウォールによって分離され、あるアプレットのデータ要素から別のアプレットへのアクセスが制限およびチェックされる。
暗号化
DES、Triple DES、AESなどの一般的に使用される対称鍵アルゴリズムや、 RSA、楕円曲線暗号などの非対称鍵アルゴリズムに加え、署名、鍵生成、鍵交換などのその他の暗号化サービスもサポートされている。
アプレット
Java Cardのアプレットは、受信したコマンド要求のみを処理し、データまたは応答ステータスワードをインターフェースデバイスに送信することで応答するステートマシンとなっている。
脚注
出典
- ↑ 大西 祥代, 細江 則彰, 廣安 知之, 三木光範 (2005年10月24日). “【IT用語】ICカード~FelicaとJava Card~”. ISDL Report. 同志社大学. 2010年5月1日時点のオリジナルよりアーカイブ。2010年9月8日閲覧。
- ↑ “Java Cardテクノロジーについて”. Oracle Technology Network. Oracle. 2019年3月10日閲覧。
- ↑ “財布の中にもJavaが進出!~JavaCardによる情報流通”. internet.watch.impress.co.jp. 2026年9月18日閲覧。
関連項目
外部リンク
Java Card
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/13 16:15 UTC 版)
スマートカード(ICカード)、小型メモリデバイス上で運用されるプログラムを開発するためのエディションである。@media screen{.mw-parser-output .fix-domain{border-bottom:dashed 1px}}現在[いつ?]ではSIMカードやATMカードなど幅広い分野に普及している。Java仮想マシンの機能は非常にコンパクトにまとめられており、幾つかのプリミティブ型も省略されている。故に特殊なプログラミングスタイルが求められる。
※この「Java Card」の解説は、「Java」の解説の一部です。
「Java Card」を含む「Java」の記事については、「Java」の概要を参照ください。
「Java Card」の例文・使い方・用例・文例
- Java_Cardのページへのリンク
