いいえ、私はそういうものは見たことがないと思います。
arrayCopy(byte[] src, short srcOff, byte[] dest, short destOff, short length)
arrayCopyNonAtomic(byte[] src, short srcOff, byte[] dest, short destOff, short length)
arrayFill(byte[] bArray, short bOff, short bLen, byte bValue)
arrayFillNonAtomic(byte[] bArray, short bOff, short bLen, byte bValue)
コピーおよび動作は、一般的に配列内のビットを使って何をしていない入力します。しかし、少し必要があるように思われます。それらはバイトをコピーまたは置換しますが、内容はバイトに関係なくになります。 EEPROMまたはフラッシュレベルでのみリークが発生する可能性があります。これはJava Cardレベルでは解決されません。
警告:データの誤ったコピーは避けてください。永続メモリに書き込むと、特に情報が漏れる可能性があります。
getShort(byte[] bArray, short bOff)
makeShort(byte b1, byte b2)
setShort(byte[] bArray, short bOff, short sValue)
今、これらの機能は、基本的にはどちらかのバイトの内容を考えていません。彼らはちょうど正しい位置にメモリの値をコピーまたはシフトするだけで、の内容にかかわらず、再びになります。
コピー機能とショートハンドリング機能の両方について、理論的にはサイドチャネル攻撃に対して安全ではない機能を作成することができますが、一般的に安全でなければなりません。
arrayCompare(byte[] src, short srcOff, byte[] dest, short destOff, short length)
今、この1は、サイドチャネル攻撃を避けるために、特定のプログラミングを必要とします。
現在、arrayCompare
のサイドチャネルセキュアバージョンはありません。 3.0.5のように厄介なのですはSensitiveResult
を使って配列の比較結果を安全にする機能を提供します。
これは、はとなるはずですが、今は自分でプログラミングすることに悩まされている可能性があります。
もちろん、特定のベンダーがこの呼び出しを保護する場合があります。それは意味をなさないでしょう。しかし、特定のベンダー機能に依存することで、アプレットの実装間での移植性が低下します。データアクセスが攻撃し、プラットフォーム固有の緩和策に対して脆弱であれば、どのよう
は、ご使用のプラットフォームのマニュアルを参照してください。
あなたはタイミング攻撃だけを念頭に置いていたと思います。電源漏れはどうですか?ここで、コピーはハミング距離を漏らす可能性があります。 – Cryptostasis
ご迷惑をおかけして申し訳ありません。私はネイティブスピーカーではないので、「あなたは最も基本的なレベルでは解決できないでしょう」という文章を理解していません。 「最も基本的なレベル」とはどういう意味ですか? – Cryptostasis
それは明確ではありませんでした。つまり、情報がそのレベルで漏洩していないことを確認するために、ハードウェアまたはHALレベルのサポートが必要でした。 –