USBコントローラーを備えたスマートカード、またはUSBキーは、回路の形式で表すことができます(USBキーは、USBバスコントローラーの有無によってのみスマートカードと大きく異なります)。
スマートカードの写真からわかるように、メモリには3つのセクションがあります。
- システムメモリ-ファイルシステムとオペレーティングシステムが含まれます。 入力されたPINコードと管理者パスワードの正確性を検証するために必要なデータを保存します。
- オープンメモリ-PINコードなしで読み取れるデータが含まれています。 スマートカード名、スマートカードIDなど。
- クローズドメモリ-PINコードによってのみアクセス可能なデータアクセスが含まれます。
したがって、プロセッサはこれら3つのメモリ領域で動作し、上記のすべてのメモリ領域の読み取りと書き込みが可能です。
プロセッサを低レベルで使用するには、APDU(アプリケーションプロトコルデータユニット)コマンドを使用します。 APDUコマンドを使用すると、スマートカードのファイルシステムにアクセスすることもできますが、これはお勧めできません。
最も興味深いコンポーネントはスマートカードチップで、以下を提供します。
- スマートカードチップの内部ストレージに情報を保存します。 さらに、このリポジトリから情報を抽出できないことに注意してください。 スマートカードチップには、ストレージからデータを取得するコマンドが含まれていません。 このストアには、デジタル証明書の秘密鍵が含まれています(多少文盲のフレーズですが、本質は明らかです)。
- キーペアの生成。 スマートカードチップには乱数センサーが含まれています(ロシア文学ではなぜセンサーと呼ばれるのかわかりません。以前は学校から乱数ジェネレーターを呼び出していました)。 キーペアの生成後、秘密キーはスマートカードチップのストレージに入り、スマートカードチップを超えることはありません。公開キーはプロセッサに渡され、プロセッサは証明書要求を生成して、スマートカードの外部(デジタル証明書発行センター)に送信します。
- 対称暗号化アルゴリズムのハードウェア実装。 ただし、リソースが限られているため、スマートカードチップの対称暗号化は非常に長いプロセスです。 この点で、スマートカードチップを使用して大量の情報を対称的に暗号化することはお勧めしません。
- ハッシュアルゴリズムのハードウェア実装。
- 非対称アルゴリズムのハードウェア実装。
スマートカードチップの機能はメーカーによって異なりますが、これらの違いはごくわずかです。 違いは、暗号化およびハッシュアルゴリズムのハードウェア実装のアルゴリズムに関連しており、さまざまなメーカーが異なるアルゴリズムを実装しています。 しかし、RSA(非対称暗号化)、DES(対称暗号化)、SHA-1(ハッシュ)などのアルゴリズムは、ほとんどすべてのスマートカードチップに実装されていると思います。
スマートカードの主な目的はデジタル証明書を扱うことなので、この作業は次のように表すことができます。
- プロセッサは、外部環境からキーペア生成コマンドを受け取ります。
- プロセッサはこのコマンドをスマートカードチップに変換します。
- スマートカードチップでは、乱数センサーがキーペアを生成します。キーペアの秘密キーはスマートカードチップのストレージに配置され、公開キーはプロセッサに送信されます。
- プロセッサは、生成されたキーペアの公開キーを含む証明書要求(PKCS#10形式)を生成します。
- プロセッサは、生成された要求を外部環境に渡します。 この要求は証明書発行センターに送られ、この要求に基づいて、スマートカードに返される証明書を発行します。
- 証明書を受信すると、プロセッサはそれを閉じたメモリ領域に書き込みます。
PSこのトピックは、アラジンの資料に基づいて書かれています。 誰かが他のメーカーのキーのハードウェアコンポーネントの技術的な説明を持っている場合は、それを共有してください、私は非常に感謝します。