スマートカードはどうですか

スマートカードを使用して長い間、私自身は、その内部についてあまり明確な考えを持っていませんでした。 スマートカードの構造と操作スキームを説明する特定のドキュメントを受け取ったので、この情報を共有します。





USBコントローラーを備えたスマートカード、またはUSBキーは、回路の形式で表すことができます(USBキーは、USBバスコントローラーの有無によってのみスマートカードと大きく異なります)。



画像



スマートカードの写真からわかるように、メモリには3つのセクションがあります。



したがって、プロセッサはこれら3つのメモリ領域で動作し、上記のすべてのメモリ領域の読み取りと書き込みが可能です。



プロセッサを低レベルで使用するには、APDU(アプリケーションプロトコルデータユニット)コマンドを使用します。 APDUコマンドを使用すると、スマートカードのファイルシステムにアクセスすることもできますが、これはお勧めできません。



最も興味深いコンポーネントはスマートカードチップで、以下を提供します。



スマートカードチップの機能はメーカーによって異なりますが、これらの違いはごくわずかです。 違いは、暗号化およびハッシュアルゴリズムのハードウェア実装のアルゴリズムに関連しており、さまざまなメーカーが異なるアルゴリズムを実装しています。 しかし、RSA(非対称暗号化)、DES(対称暗号化)、SHA-1(ハッシュ)などのアルゴリズムは、ほとんどすべてのスマートカードチップに実装されていると思います。



スマートカードの主な目的はデジタル証明書を扱うことなので、この作業は次のように表すことができます。

  1. プロセッサは、外部環境からキーペア生成コマンドを受け取ります。
  2. プロセッサはこのコマンドをスマートカードチップに変換します。
  3. スマートカードチップでは、乱数センサーがキーペアを生成します。キーペアの秘密キーはスマートカードチップのストレージに配置され、公開キーはプロセッサに送信されます。
  4. プロセッサは、生成されたキーペアの公開キーを含む証明書要求(PKCS#10形式)を生成します。
  5. プロセッサは、生成された要求を外部環境に渡します。 この要求は証明書発行センターに送られ、この要求に基づいて、スマートカードに返される証明書を発行します。
  6. 証明書を受信すると、プロセッサはそれを閉じたメモリ領域に書き込みます。




PSこのトピックは、アラジンの資料に基づいて書かれています。 誰かが他のメーカーのキーのハードウェアコンポーネントの技術的な説明を持っている場合は、それを共有してください、私は非常に感謝します。




All Articles