スマートカードのプログラマーはどのように動作しますか?
スマートカードを実行するようにプログラミングを必要とする小型コンピュータです。 スマートカードのインターフェイスが含まれていないディスプレイやキーボードのように、スマートカードリーダーを読むために使用されているか、データを更新\スマートカードから。 スマートカードのアプリケーションを実行するためのプラットフォームを提供するオペレーティングシステムを含んでいます。
スマートカードのオペレーティングシステムの2つのカテゴリに分けることができます。
オペレーティングシステムの最初の種類のディスクドライブのアプローチに基づいています。 このオペレーティングシステムは、任意のファイルやアプリケーションの要求に応じて、カードには、アクティブなメモリマネージャを読み込むことができます含まれています。 カードオペレーティングシステムのアクティブなファイルの割り当てと管理のための(ジャワカードOSのこのアプローチの例です)することができます。
ディスクドライブの利点はベースのオペレーティングシステムは、カードのための代替コストの安いですが、スタートアップのコストは高いです。 このカードの空きメモリの今後のアプリケーションのアップロードに対応するためには、ラガー量が必要です。 高価な半導体の大量使用のために、これらのカードのためのコストを高くなっています。 セキュリティのインフラコストも高いエントリの複数のポイントカードシステムの機能になっている。
2番目のアプローチは、安全なデバイスは、ファイル、およびこれらのファイルへのアクセス権を、すべての管理者によって設定されているとして、カードを扱います。 カードへのアクセスは、オペレーティングシステムでのみです。 また、ファイル構造にアクセスするには、他の方法です。 データとしては、ユーザがアクセス権を設定するごとにアクセスすることができます。 これらのオペレーティングシステムにして、アプリケーションを実行することができます。 コマンドは、カードには、カードリーダーを経由して、目的のアプリケーションは、スマートカードを介してアクセスすることができます渡すことができます。
1つは、最もよく使われているスマートカードのオペレーティングシステムをJavaCardです。 それをロードし、直接標準ISO 7816準拠のカードにJavaアプレットを実行する標準的な APIを提供します。 JavaCardsを確保し、チップを有効に実行される様々なアプリケーションに依存しない。
スマートカードには、次の要件をアプリケーションの開発を開始する前に対処する必要があります:
- スマートカードリーダー
- ソフトウェアは、読者との通信に
- ソフトウェアは、スマートカードと通信する
- スマートカードやスマートカード、ハードウェア
スマートカードのプログラミングアドレスの前に、私たちは、読者とのコミュニケーションできるようにする必要があります。 存在するため、さまざまなカードが、別の読者が多いです。 通信に使用されるので、適切なインターフェイスを実装する必要があります。
一度、上記のセットアップ、プログラミングやアプリケーションのアップロードは、スマートカードの活用を開始することができます。 JavaCardアプリケーションの要求に応じてロードすることができます。
スマートカードの開発の最初の数年は、各ソフトウェアアプリケーションは、カードには、製品を表現させるには、ハードウェア、アプリケーションに特定された、特定のオペレーティングシステムでは、特定のカードに書かれている。 場合によっては、直接アプリケーションは、アプリケーションに特定のカードが非常にする際に、オペレーティングシステムにインストールされていた。 しかし、複数のアプリケーションのオペレーティングシステムの進化は、新たな時代をもたらした。 JavaCardは、複数のオープンスマートカード用アプリケーションのオペレーティングシステムです。 何人ものJavaのプログラミング言語を使用してアプリケーションを開発することができます。 独立してカードには、 Javaプログラムを実行できるすべての磯7816準拠のスマートカード上で実行することができます。 このように様々なベンダーのアプリケーションでは、まだお互いに別々のまま組み合わせることができます。
は、 ISO 7816標準のカードとの通信用のプロトコルに沿って機械的および電気的特性を定義するために開発されました。 残念なことに、グループのベースラインには、 ISOの標準は、読者との通信用のことができませんでした。 そのためには、最初にするためのコマンドは、カードでサポートされて理解するために必要なスマートカードと通信します。 これらのコマンドを必要とし、 ISO標準のコマンドにカプセル化される。
さて、私たちは、アプリケーションには、読者からの送信を許可するためのコマンドは、 APIのを見てみましょう。 カードリーダーとの通信は、実際の処理が行われます。 技術的な観点から、この鍵は、スマートカードAPIです。 このソフトウェアは、アプリケーションのスマートカードとリーダと、複数のメーカーからの通信を可能にする層です。 このAPIは、プログラマーやユーザーでは、複数のベンダーのスマートカードを選択することができます。 複数のスマートカード上のアプリケーションを実行するカードのベンダーとの競争の利点間の競争を奨励するより、品質と低価格化などがあります。
スマートカードのプログラミングAPIは、スマートカードとは、アプリケーションのインターフェイスとの間にアプリケーション層を提供します。 スマートカードとの交流の単位はされていると呼ばれるアプリケーションプロトコルのデータユニット( APDU )パケットである。 通信カードでは、読者APDUsを使用して実行されています。 APDUには、カードからのカードまたは、完全な応答のための完全な命令を含むデータパケットを考慮することができます。
APDUsは、次のいくつかのクラスとその機能を運ぶのに提供されます:
- 応答
- コマンド
- ISOCommand
- ISOCardReaderインターフェイス
- ISOCardReader
SunはJavaの電子商取引フレームワーク( JECF )は、開発者が容易に可能となり、急速に電子商取引アプリケーションの開発は、コアJavaプラットフォームの拡張機能を開発しました。 JECFいくつかのクラスは、簡単にスマートカードとの通信をサポートしています。 また、 SunのWebサイトから無料でダウンロードすることができます簡単にスマートカードのプログラマーが使用することができます。
スマートカードアプリケーション開発プロセスの手順を以下に含まれるもの:
- ユーザ要件:どのような場合は、ユーザーを達成したいですか?
- ソフトウェア要件:ソフトウェア要件へのユーザーの要件マップ。
- 建築設計:設計は、ソリューションのアーキテクチャ。
- コード生成:コードを作成して、アーキテクチャごと。
- エミュレーション:バーチャルカードのコードをテストするためのエミュレータを使用します。
- カードのエミュレーション:実際のカードをカードリーダーを使用してコードを実行します。
- 検証と検証:これは、テストが含まれます。
- 最終テストとメンテナンス。
|
ブックマークはどのようにスマートカードのプログラマーの仕事ですか?
最新のブログの投稿
- 乾燥方法は 、 携帯電話を連絡先に水で 、 是非のに

