Java Card

Java Cardテクノロジーについて


このページでは、Java Cardテクノロジーの概要について説明します。


Java Logo

Red Triangle  Java Cardテクノロジー概要

目次

概要
業界
利点
コンポーネント
ライセンス

概要

Java Cardテクノロジーを使用すると、スマート・カードなどのメモリがごく限られたデバイスで、Javaテクノロジーを利用した小さなアプリケーション(アプレットと呼ばれる)を実行することができます。このテクノロジーが提供するセキュアで相互運用可能な実行プラットフォームを利用することで、スマート・カード・メーカーは1つのデバイス上に複数のアプリケーションを格納し、更新することができます。Java Cardテクノロジーは、既存のスマート・カード標準に対する互換性を維持しています。

このテクノロジーを利用すると、開発者はアプリケーションとサービスを迅速かつセキュアに構築、テスト、およびデプロイできるようになります。このようにプロセスが迅速されることで、開発コストが削減され、製品の差別化が進むとともに、顧客への価値が向上します。Java 2 PlatformのStandard、Enterprise、Mobileといった各エディションを補完する形で、Java Cardテクノロジーによる包括的なJavaソフトウェア・ソリューションへのセキュリティ・トークンの統合が簡単になります。

業界

Java Cardテクノロジーの利点は、次を含むほとんどすべての種類のスマート・カードで活用されます。
  • ほとんどのワイヤレス・ネットワークの携帯電話で使用されているSubscriber Identity Module(SIM)カード
  • オンラインとオフラインの両方の取引をサポートする金融カード
  • 政府および医療用IDカード
  • エンタープライズ・リソースへの論理アクセスと物理アクセスを提供するカード
  • 公共交通機関向けのスマート・チケット
大半の携帯電話ネットワークでは、加入者は一般にSIMカードと呼ばれるスマート・カードを使用して、電話機を有効にしています。このカードはユーザーを認証して、デジタル音声伝送に対する暗号鍵を提供するものです。また、Java Cardテクノロジーを装備したSIMカードは、リモート・バンキングやチケット発行サービスなどのトランザクション・サービスに対応しています。Java Cardテクノロジーを利用した何億ものSIMカードがすでに携帯電話で使用されており、革新的なサービスを実現しています。

銀行業界では、スマート・カードを使用することで、現金自動預け払い機や請求書の支払い、橋の通行料といったさまざまなネットワーク化された金融サービスに対して、ユーザーがセキュアにアクセスできるようになっています。Java Cardテクノロジーは、1枚のスマート・カードを使用した複数の金融アプリケーションのホスティングに加えて、マイレージ・プログラムやセキュアなオンライン取引などのサード・パーティ・サービスの提供を可能にします。

また、セキュリティ保護された施設やカルテへのアクセス制御など、セキュリティとID認証が重要になるケースに対して、その他のアプリケーションも幅広く提供されています。

Java Cardテクノロジーはさまざまな接続アプライアンスを通じて、新たなE-Commerceサービスに対する消費者のアクセスを促進します。携帯電話や有料放送テレビの機器は、すでに市場に出ている製品の大半にスマート・カード・リーダーが搭載されている実例です。

利点

スマート・カードのベンダーおよび発行者には、Java Cardテクノロジー独自の機能による利点がもたらされます。次にその例を挙げます。
  • 相互運用可能性:Java Cardテクノロジーを使用して開発されたアプレットは、カード・ベンダーや基盤となるハードウェアに関係なく、Java Cardテクノロジーに対応した任意のスマート・カード上で稼働します。
  • セキュリティ:Java CardテクノロジーはJavaプログラミング言語が持つセキュリティ機能を活用して、セキュアな実行環境を提供します。オープンなプロセスを経て設計されたこのプラットフォームは業界での配置実績があり、セキュリティ評価にも定評があるため、カード発行者は現在利用できる中でもっとも高機能でセキュアなテクノロジーから恩恵を受けることができます。
  • マルチアプリケーション対応:Java Cardテクノロジーを利用すると、1枚のスマート・カード上に複数のアプリケーションをセキュアな形で共存させることができます。
  • 動的な対応:カードの発行後にも新規アプリケーションをセキュアにインストールできるため、カード発行者は顧客要件の変化に動的に対応することができます。
  • 既存標準との互換性:Java Card APIは、ISO7816やEMVなどのスマート・カード向け国際標準と互換性があります。Global PlatformやETSIなどのおもな業界別標準は、これを参照しています。
Java Cardアプリケーションを作成する開発者は、Javaプログラミング言語の使用に関するすべての利点を活用できます。
  • オブジェクト指向プログラミングによって、コードのモジュール性と再利用可能性が高まるため、プログラマーの生産性が上がります。
  • Javaプログラミング言語の保護機能特性がJava Cardアプレットにも適用されるため、強い型付けと保護属性が実現します。
  • 高性能な市販の開発ツールが簡単に入手できます。

コンポーネント

オラクルは、Java Card Platform SpecificationJava Card Development Kitを公開しています。このキットには、仕様に基づくリファレンス実装が含まれています。クロスプラットフォームおよびクロスベンダーでのアプレットの相互運用性に対する基盤を提供するバージョン2.2.2の仕様には、次の3つのドキュメントが含まれています。
  • Java Card Virtual Machine Specificationは、Java Cardテクノロジーがサポートする実装の機能、サービス、動作を定義したものです。具体的には、Java Card Virtual Machine(VM)の命令セットとJava言語のサポートされるサブセットに加えて、Java Cardテクノロジーをホストするスマート・カードなどのデバイスに対して、アプレットとライブラリをインストールする際に使用されるファイル形式が含まれます。
  • Java Card Runtime Environment Specificationは、Java Cardテクノロジーの実装に含まれるランタイム環境(RE)の必須動作を定義したものであり、Java Card Virtual Machineの実装、Java Card APIクラス、 およびアプレットの選択/選択解除などのランタイム・サポート・サービスを含みます。
  • API for the Java Card Platformは、Java Card Runtime Environment Specificationを補完するものであり、Java CardテクノロジーのApplication Program Interface(API)について説明しています。このAPIは、正式な国際標準と業界別の標準に対する互換性があります。また、Java Card VMとJava Card REをサポートするために必要なクラス定義が含まれています。

Java Card Development KitはJava Cardテクノロジーの実装を設計し、Java Card API仕様に基づくアプレットを開発するためのツール・スイートです。
  • C-JCREは、Cプログラミング言語で記述されたJava Card Runtime Environmentのリファレンス実装です。また、Java Card Virtual Machineインタープリタも含まれています。
  • Java Card ConverterJava Card Verifierなどのカード以外のプラットフォーム・コンポーネントによって、C-JCREは補完され、完全な開発チェーンが形成されます。
  • その他の設計およびテスト・ツールを使用することで、アプリケーションのプロトタイプ作成とテストが可能になります。

ライセンス

Java Cardテクノロジーは、世界のスマート・カード生産力の90パーセント以上に相当する企業に認可されています。そして、このテクノロジーによって、当初の機器メーカーとそのパートナーに対して業界の枠を越えたさまざまな新しいビジネス・チャンスが提供されています。具体的には、Java Cardテクノロジーによってアプレットの相互運用性が確保されるため、カード発行者は、標準支払い、ストアド・バリュー、コンピュータ認可、データ管理などの多数のサード・パーティ・アプリケーションを組み合わせることができます。

また、Java Cardテクノロジーのライセンシには、Java Card Technology Compatibility Kit(TCK)のライセンスも供与されます。このキットは、特定のプラットフォーム上でJava Card実装を認定するために使用できます。

オラクルは、Java Card ToolkitやJava Card Protection Profileなどの提供品をライセンシ・コミュニティ専用に不定期で提供しています。このツールキットはJava Cardのシミュレータおよびデバッガの役割を果たすものであり、サード・パーティの統合開発環境に組み込めるように設計されています。これによって、Java Card開発環境内に、現実的なシミュレーションおよびデバッグ環境が提供されます。Java Card Protection Profileは、Java CardのライセンシがCommon Criteria for IT Security Evaluationに基づくセキュリティ評価を実施する際にかかるコストと時間を削減します。このプロファイルは、Java Cardプラットフォームに固有のセキュリティ要件を再利用可能なセットにしたものです。Common Criteriaに照らしてJava Card製品の評価を行う機会が与えられることで、ライセンシは、広く受け入れられた厳格な標準に基づくセキュリティ評価の実施を求める、銀行や政府、およびその他のカード発行者の要求の高まりに応えることができます。

ライセンス条件について、詳しくはオラクルのJava Partner Engineering groupまでお問い合わせください。