5

私のプロジェクトでは、スマートカードに生体認証データ(指紋テンプレートなど)を書き込みたいと思っています。いくつかの良い研究の後、私は自分のプロジェクトにJavaカードを選びました。しかし、私はこのプラットフォームに不慣れで、これについてほとんど知りません:(

Sunのチュートリアルも読んだことがありますが、いくつかの混乱を解決できませんでした。

1.)カードから生体認証データを読み書きしたいのですが、Javaカードでアプレットを設計する必要がありますか?スマートカードリーダーの単純な読み取り/書き込み機能を使用して、スマートカードのメモリ上の生体認証データを読み取り/書き込みすることはできませんか?

2.)Java Card用のアプレットを作成する場合、どのようにアプレットIDを付与しますか?アプレットIDは各アプレットに固有です。また、事前に作成されたアプレットのアプレットIDをどのように知ることができますか?

3.)アプリケーションプロトコルデータユニット(APDU)とは何ですか?そして、彼らはカードのデータの読み取り/書き込みをどのように助けてくれるのでしょうか?

私はこれらすべてが基本的な質問であることを知っていますが、私は本当に混乱しています。だからみんなを助けてください!

前もって感謝します。

4

3 に答える 3

4

私はあなたの質問に答えようとします:

1)生体認証データの書き込みと読み取りをサポートするカードにプリインストールされているものがない場合は、その作業を行う独自のアプレットを作成する必要があります。

2)AIDに関しては、あなたがそれをユニークにすることを試みるべきであるというのは正しいことです。AIDの構造は次のとおりです。5バイトのRID+0..11バイトのPIX

RIDは、アプリケーションプロバイダーの一意の識別子です。他の人があなたのRIDを使用しないようにするために、アプリケーションの範囲に応じて、国内または国際的な認証機関にRIDを登録する必要があります。RIDを登録する必要はありませんが、登録されていない場合は、RIDの先頭として「F」を使用する必要があります。本格的なアプリケーションを実装する場合は、登録済みのAIDのみを使用することをお勧めします。

PIXは、提供されるアプリケーションがその一意性を維持する必要がある独自のアプリケーション識別子拡張機能です。

3)APDUは、アプレットとの通信方法を説明するプロトコルにすぎません。呼び出したい命令を入力データと出力データと一緒にラップします。

于 2011-04-14T12:32:14.567 に答える
3

APDU は、スマート カードに送信する「コマンド」です。

Javacard (および javacard にインストールされたアプレット) は、インストールされているアプレット (およびアプレットをインストールするための特定の APDU) に応じて、特定の APDU をサポートします。javacard のドキュメントは、これについて学習するのに最適な場所です。

一部のスマート カードには、生体認証データ用に予約されたスペースを持つアプレットがプリインストールされています。たとえば、「PIV」カード (および関連するアプレット) などです。

カードに生体認証データを保存するためのアプレットが事前にインストールされていない場合は、アプレットを作成してインストールする必要があります。

お役に立てれば。

于 2010-07-26T21:12:14.080 に答える
1

APDU コマンドの例: 00 A4 04 00 0A A0 00 00 00 62 03 01 0C 01 01 CLA INS P1 P2 Lc データ フィールド Le

1バイト目:CLA、コマンドタイプです。たとえば、80 は、グローバル プラットフォームで定義されたコマンドが使用されることを意味します。

第 2 バイト: INS、命令コード。

第 3 バイト: P1、パラメーター 1。

第 4 バイト: P2、パラメーター 2。

5 バイト目と 6 バイト目 : size、CLA、P1、P2、le の長さを除いたデータの長さ。

7日。バイトから最終バイト: データ

最後のバイト: 通常 00 である Le。

詳細については、Global Platform のドキュメントを参照してください。 http://globalplatform.org/specificationscard.asp

于 2013-02-28T12:30:04.610 に答える