スマートカードの処理能力とメモリがそれほど制限されているのはなぜですか?[閉まっている]


8

SLE5528のような一般的なスマートカードは、ほとんど常に16K未満の使用可能なメモリと非常に遅い8ビットプロセッサに制限されているのはなぜですか?これらの制限を引き上げることが技術的/経済的に実行不可能になる制限要因は何ですか?

編集:多分私はなぜ私がこの質問をしているのかについてもう少し背景を与えるべきです 職場の顧客のために、基本的にキーストアとして機能するスマートカードモジュールを統合する必要がありました(PKCS11などの高レベルのプログラミングライブラリで使用できるものと同様)。私たちは常にこのデバイスの制限に達していました(数個を超えるキーを保存できない、1kを超えるキーを保存できない、キーリストを取得する前に少なくとも5秒待つ必要があるなど)。サプライヤの側で連絡が取れた唯一の人物は、「スマートカードの機能です」という回答をくれたベンダーでした。これは、4Kを超えるサイズのRSA鍵をカードに保管するための実際の市場がないようなものではありません。この背後にある本当の理由を知りたいです。


より多くのリソースを備えたカードの市場は小さく、メーカーにとって十分な収益性がない可能性があります。あなたが製造業者に尋ねない限り、この質問は推測に多くを残します。
Nick Alexeev

機能の分割-スマートカードは、特定のタスク以上のものを実行することを目的としていません。人々は、SIMでAndroidを実行するようなハックを提案しましたが、それを行うための製品の全体的な設計の中で適切な場所ではありません。
Chris Stratton、2015

ええ、私はいつも彼らがなぜオクタコアペンティアムで動かないのかと思っていました...
PlasmaHH

「限定」-何と比較して。なぜそれ以上必要なのでしょうか?
アンディ、別名

@ChrisStratton私はそれを理解することができますが、認証と会計の分野においても不十分です。その良い例は、OpenPGPカードであり、そのキーサイズは非常に制限されているため、最終的にはスマートカードの代わりにUSBスティックをPGP署名の目的で使用するようになりました。
JDoe

回答:


11

SLE5528のような一般的なスマートカードは、ほとんど常に16K未満の使用可能なメモリと非常に遅い8ビットプロセッサに制限されているのはなぜですか?これらの制限を引き上げることが技術的/経済的に実行不可能になる制限要因は何ですか?

それは、価格を引き上げるセキュリティ機能によって引き起こされる追加の価格です。技術的には、スマートカードの不揮発性メモリを通常のフラッシュまたはeepromメモリと比較することはできません。たとえば、通常のフラッシュメモリを開いて、ワイヤをダイにボンディングし、メモリの内容を読み取ることができます。スマートカードでは、これは不可能であるはずです(またはより現実的には、非常に複雑で高価であるため、価値がありません)。

CPUについても同様です。スマートカードCPUには、通常のCPUではまったく必要のない、大量のセキュリティ機能が組み込まれています。たとえば、消費する電流量によって実行されるコードに関する情報を漏洩したり、RF放射によって漏洩したりしてはなりません。

とはいえ、これらすべてのサイドチャネルブラインドは、製造コストだけでなく計算パフォーマンスにも影響します。高速であることよりも安全であることのほうが重要です。

とはいえ、より多くのメモリを備えたスマートカードが利用可能です。100kb以上のメモリでそれらを購入することができます。彼らはしかし高価です。

キーをRSAからECCに変更するためのコメントの推奨事項は、非常に優れています。同じレベルのセキュリティでRSAと比較してECCのキーサイズははるかに小さいです。したがって、制限された不揮発性メモリをさらに活用できます。ECCもより高速になる可能性があります。


6

これがスマートカードの機能です。USBスティックが必要な場合は、どこにあるかわかっています。

スマートカードはセキュリティのために設計されています。彼らは改ざん耐性があるように設計されています。彼らは秘密をあきらめるのではなく、秘密を保存して自殺するように設計されています。(妥当な努力で、実装の欠陥を除いて)データを抽出したり、クローンしたりすることはできません。

スマートカードは、ソフトウェアインターフェイスをバイパスしてメモリを直接読み取ろうとしてもできないように設計されています(想定されています)。外部インターフェイスは、電源とシリアル回線のみです。その他はすべて、腐食性化学物質の層(酸だと思います)によって保護されているファラデーケージ(排出量測定に対抗するため)の中にあります。保護層に穴を開けようとすると、チップ(特にメモリ)が回復できないほど損傷している。

このチップは、一定の電力を消費するように設計されており、電力消費による情報の漏えいを防ぎます。また、操作に一定の時間がかかるように設計されています。そのため、スマートカードチップには、命令パイプラインや電力管理などのハードウェア最適化機能がなく、放熱を低減します。スマートカードチップには、実際には目的を果たさない部品が含まれていることが多く、エミッションと電力消費をより一定または困難に分析し、リバースエンジニアリングを困難にします。

スマートカードは、セキュリティに敏感ではないチップよりも多くの点で遅くなります。スマートカードには独自の電源がないため、フラッシュメモリに頻繁に書き込む必要があります。RAMにキャッシュする余裕はありません。さもなければ、敵対者は有利な(彼にとって)時間に力を切ることができます。ソフトウェアは、可能な限り最速のアルゴリズムではなく、(タイミング攻撃を回避するために)一定時間アルゴリズムを使用する必要があります。敵がカードをレーザーで照らしてメモリ内の一部のビットを反転させ、ソフトウェアを到達不能な状態にした場合に備えて、ソフトウェアは冗長性を持たせて作成する必要があります(そうです、それは実際の攻撃です)。

このようなセキュリティ対策にはコストがかかります。さらに、攻撃が改善し続けるので、チップの設計も遅れないようにする必要があります。ほとんどの種類のチップは、ムーアの法則に従ってますます強力になっていますが、スマートカードでは、エンジニアリングの改善は、新しい攻撃に対抗する必要性によってほとんど吸収されます。

4k RSAキーをサポートするカードがあります。しかし、それらは珍しいです。数年前、Java Card 3は、Java言語のほぼすべての機能をサポートするために導入されました。それができるカードは4k RSAで署名できると思います。しかし、エンジニアリングの改善がセキュリティ保護の強化によって取り上げられたため、また、多くのエンジニアリングの改善が非接触型カードに採用されたため、実際には採用されていません。

しかし、4k RSAの市場はそれほど多くありません。スマートカードがその点に達していたので、ECCは広く利用できるようになりました。はるかに小さなECCキーで4k RSAと同じセキュリティレベルを取得できます。RSAからECCへの切り替えの唯一の欠点は、インフラストラクチャ全体でのアルゴリズムのサポートですが、スマートカードなどの組み込みデバイスは最も困難な部分です。サーバーサイドが最近ECCをサポートするほとんどすべてのものです。

より強力なものが本当に必要な場合は、「実際の」コンピューティング能力を備えたUSBドングルが存在します。これは、暗号鍵を保存し、PKCS#11インターフェイスで暗号操作を実行できます。これらのドングルは、一般的なPKCS#11とほぼ同じ物理的な改ざん耐性を備えていません。これは、セキュリティとパフォーマンスの妥協点です。

参考文献:

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.