|
| |
| Java Card | |
|---|---|
| Java ME (Micro) | |
| Java SE (Standard) | |
| Java EE (Enterprise) |
Java Card(ジャバカード)は、サン・マイクロシステムズが開発したICカードプラットフォーム。1996年に発表された。アメリカ国防総省の身分証カードとして採用された事例もある。
Java Cardは、組み込みデバイス向けに設計された最小のJavaプラットフォームであり、Java Cardを使用すると、スマートカードなどの電力やメモリがごく限られたデバイスで、Javaテクノロジーを利用した小さなアプリケーション(アプレットと呼ばれる)を実行することができる。
Java Cardアプリケーション環境はスマートカード製造業者にライセンスされる。Java Card APIは正式な国際標準や業界固有の標準と互換性がある。
Java Card API仕様に従ったJava Cardアプレットであれば、Java Cardアプリケーション環境を使用して開発された他社製カードでも動作する。1枚のカードで1つ以上のアプレットが動作できる。カードが顧客に発行された後で、新たなアプレットをカードにインストールできる。
様々なICカードが流通するようになった21世紀において、SIMカードや組み込みSIM(eSIM)による無線通信、銀行のキャッシュカードやRFID(NFC)によるモバイル決済、パスポートなど、日常生活に深く浸透している技術である。
最初の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の技術は、もともとスマートカードに保存された機密情報を保護する目的で開発された。セキュリティは、この技術のさまざまな側面によって決定される。