21

スマートカードのプログラミングを始めるにはどうすればよいでしょうか? 私はここで、彼が始めるために必要なすべてのツールキットについて尋ねています: 書籍、チュートリアル、ハードウェアなど.

私は数人のスマートカード プログラマーと一緒に遊ぶことを計画していますが、この分野にはかなり慣れていません。

編集:私は主に、Unix のようなオペレーティング システムをうまく扱うプログラマーに関心があります。また、これがどのように機能するのかわかりません...しかし、C/C++でプログラムしたいと思います

4

4 に答える 4

23

セキュリティアプリケーションで使用するためにスマートカードにアクセスする必要があるときはいつでも、次のいずれかを介して行われました。

  • Microsoft CryptoAPI
  • カード用のPKCS#11ライブラリ。

Microsoft CryptoAPIを使用してカードにアクセスするには、カード固有の暗号化サービスプロバイダー(CSP)が必要です。CSPはCryptoAPIレイヤーの下にあります。

ただし、「C /C++」を使用してUnix/Linuxで開発している場合は、RSAのPKCS#11標準を確認することをお勧めします。この規格は、Cryptoki(Cryptographic Token Interface)と呼ばれる「C」APIを指定しています。これは、すべてのタイプの暗号デバイスに共通の抽象化を提供します。ほぼすべてのスマートカードベンダーが、Cryptoki APIを使用してプログラムできるカード用のPKCS#11ライブラリを提供しています。

より低いレベルでスマートカード/リーダーにアクセスする場合は、PC/SCやCT-APIなどのAPIを使用できます。

  • Windows、Linux、MacOSXに実装されたスマートカードアクセスのPC/SCデファクトスタンダード

  • CT-APIはごくわずかな機能しか提供しません。最新のアプリにはあまり適していません。

スマートカード上で実行されるJavaアプレットの作成に興味がある場合は、おそらくhttp://java.sun.com/javacard/を参照してください。

役立つ可能性のあるリソース

于 2010-04-23T15:34:54.873 に答える
3

Java は、非常に大きなプレーヤー (IBM など) に後押しされて、SmartCard 市場に大きな影響力を持ち始めています。

Java Card をポケットに入れて持ち歩いている国があります。たとえば、1,000 万人以上のベルギー市民が (必須の) 国民 ID カードが、BELPIC "アプレット" を実行する Java カードです。

私が間違っていなければ、ブラジルの医療制度全体も Java Card(s) に基づいています。

SmartCard と Linux に関しては、Linux SmartCard のハウツーを次に示します (ハウツーには「Java」キーワードが随所に含まれていることに注意してください)。

http://www.faqs.org/docs/Linux-HOWTO/Smart-Card-HOWTO.html

それから、2008 年 6 月の「Exploring SmartCards」という .pdfがあります。これは、「SmartCard」の世界の大きな混乱を見ており、基本的に「SmartCard」は「コンピューター」と言うのと同じくらい説明的であると説明することから始まります。 、あまり説明的ではありません。)

于 2010-04-23T17:07:38.927 に答える
0

Google で検索すると、プログラマ、いくつかのサンプル カード、およびマニュアルを手頃な価格で提供するスマートカード開発キットを見つけることができます。

また、暗号化 (特に公開鍵暗号) を理解し、データを非常に小さな構造に詰め込む練習をすることも役立ちます。

スマートカードは、信じられないほど馬鹿げたもの (安全な 1kb のメモリ ストア) からかなり洗練されたもの (縮小版の .NET フレームワークを実行すると宣伝されているものを見たことがあります) までさまざまです。

おそらく最も一般的に使用されているスマートカードは、Mifare によって製造されたユニットで、通常は旅行チケットとして作成されますが、ロイヤルティ カードやアクセス許可としても使用されます。

于 2010-04-23T15:08:27.713 に答える
0

回答が遅くなりましたが、@bignum さんの回答に 1 つ追加したいと思います。

さて、Java スマート カード開発をいじってみるとよいでしょう。初心者や開発者向けのノウハウを理解するための 1 本の優れた本をお勧めしたいと思います。「スマート カード用の Java カード テクノロジ」。

予算が許せば、上記の本から得た知識を使用してスマートカード アプレットを研究および開発するための「モバイル セキュリティ カード」を購入できます。

また、直接体験するために、googlecode でホストされているスマート カード API プロジェクトSEEK FOR ANDROIDを参照または使用することもできます。

于 2012-08-31T20:06:10.567 に答える