BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Java Card 3が、Java 6と組込みサーブレットコンテナをサポート

Java Card 3が、Java 6と組込みサーブレットコンテナをサポート

原文(投稿日:2009/11/04)へのリンク

1997年に始めてリリースされたJava Card技術により、スマートカード、セキュリティ トークンや他のデバイスは、非常に少ないメモリでJavaアプレットを動かすことができる。この技術は、非常に広範に使われ、サンによれば世界中に、35億を超えるJavaが走るスマートカードが存在する。1997年以来、そのプラットフォームは、6回更新されたが、中心のアーキテクチャは、変わらないままだった。しかし、今回のバージョン3で、高機能なスマートカードのハードが持つその強力な能力を利用するために、アーキテクチャを徹底的に見直した。

Java Cardバージョン3には、Classicエディション とConnectedエディションの2つのエディションがある。両エディションとも永続的オブジェクトとともに永続的仮想マシンが特徴である。両エディション共、ファイアウォールをベースにしたコンテキスト分離の仕組みにより、複数のアプリケーションが仮想マシン上で実行される際に、オブジェクトが侵害されることはない。両エディション共Java Card 2と互換性があり、今や「クラシック アプレット」と言われる、これまでのアプレットは、動作する。しかし、両エディションが同じなのは、ここまでである。

Classicエディションは、既存のバージョン2.2.2アーキテクチャをベースに、いくつかの新機能を追加した、その中には、s4096-bit RSA やNSA Suite Bのような新しい暗号化アルゴリズムのサポートがある。Java Cardプラットフォームの前バージョンと同様に、分割仮想マシン技術を使って、カードにロードされるアプリケーションをカード外で前処理することができる。この手法のおかげで、Java Cardプラットフォームは、最小限のメモリとCPUが要求される環境でも実装することができる。Classicエディションは、依然として、8あるいは16ビットCPUを持つ典型的な低コストカードに合ったものである。

Connectedエディションは、32ビットCPUをもったハイエンドのスマートカードをターゲットにしている。新しい仮想マシン、多くの新APIとサービスが盛り込まれた。アプリケーションをロードするのに分割VMの技術を使うのではなく、ハイエンドのカードが持つ強力なCPUパワーにより、標準のJava Archive (JAR)ファイル形式とカード上でのクラスファイル検証能力を使って、直接、クラスファイルをロードすることができる。

新アーキテクチャは、スマートカードがセキュアなネーワークノードとして振舞うように設計されており、ネットワークへのセキュリティサービスを提供するかネットワークリソースへのアクセスを要求する。開発者は、組込みのServlet 2.5互換のwebコンテナ、あるいは接続を直接に管理することにより、IPネットワークやwebサービス内にスマートカードを統合することができる。新VM上のマルチスレッドを利用することにより、webコンテナは、同時に複数のHTTP/ HTTPSリクエストを発行できる。ネットワーク コミュニケーションを直接管理する必要がある開発者には、プラットフォームがGeneric Connection フレームワークを提供しているので、ネットワークやI/Oのコネクションを要求したり管理するために、一連の関連する抽象層を提供している。HTTP やHTTPSの他に、Generic Connection フレームワークは、多くの他のプロトコルをサポートしており、その中には、TCPやTLS、そしてオプションとしてUDPがある。

Connected エディションのVMは、携帯電話に広く使われ、Java ME プラットフォームにより定義されているConnected Limited Device Configuration (CLDC) VM バージョン1.1をベースにしている。Classic エディションのVMにはなく、Connected エディションのVMがサポートする機能として、マルチスレッドの他に、複数パッケージやガベッジコレクションがある。Connected エディションのVMは、JDK 6互換で、浮動小数点を除いて、アノテ-ションやジェネリックスを含んで完全なJava言語をサポートしている。新しい機能を利用したアプレットは、"拡張アプレット"と言われる。

このような機能拡張にも関わらず、メモリのフットプリントは、驚くほど小さいままである。James Gosling 氏は、Connected エディションのVMは、"24KのRAM, 128KのEEPROM, 512KのROMそして32 ビットprocessor"のハードにうまく収まると言っている。

もっと詳しく知りたければ、プロジェクトチームの Kenai ページ見て欲しい。 サンは、またスマートカードのアプレット開発者のために、NetBeans 用のプラグイン を開発中である。

この記事に星をつける

おすすめ度
スタイル

BT