2009-02-26 11 views
4

は、一般的に、私はROMイメージにユニークでランダムな何か(複数可)を配置することによって、この取り掛かるとシードとして抽出を停止し、画像のmodの後に再プログラムするためにEEPROMの内容を暗号化するためにすることを使用します。確保EEPROMデータ

明らかな欠陥は、これがEEPROMの外付けチップを空白のものに置き換えるという形で改ざんを止めることはないと思われます...ああ、最初の状態に戻っていました。


コンポーネントの選択は私にとってはオプションではなく、ハードウェアプラットフォームは既に定義されています。 EEPROMは、コンフィギュレーションおよび状態の変化としてデバイスの寿命期間中にプログラムされるので、消去線を切断することもまた不可能です。

私は、この機能は、機密データを保存し、デバイスのロックを解除できるようになるので、処女(ファーストラン)状態の偽造を防ぐために、可能な解決策についての意見を求めていました。

私は、ブロック暗号(ECBモード)は多分トップ上で、機密データを保護するのに十分である確信しています!このアプローチは、複数のコピーと一緒に、他のものではなく、1つを塩漬けすることは、これらの対策に対抗するためにお金と時間を置くために財政的に報酬を放棄しなければなりません。

+0

'Fooled by Randomness'を読んで、あなたが「ランダム」と思われるものがどれほどランダムであるかを知るでしょう:) – dirkgently

+0

私は自分の「ランダム」を予期していると考えましたが、私は推薦を見て、私は何か興味深いものを見つけ出すだろう。しかし、私は暗号化において何がランダムでランダムであるのかを完全に認識しています。ありがとうございます。 – Oliver

答えて

5

いくつかの考えは:「修飾に対して確保」であれば、あなたはチェックサムがOKであればあなただけのアプリを起動し、そのようなものが、あなたが

  1. は全体EEPROMオーバーチェックサムを生成することができ、改ざんを検出できることを意味し
  2. 一意の番号を提供する追加のチップを使用して、その番号を使用してeepromの内容を暗号化します
  3. eepromのいくつかの場所にすべての情報を格納します(変更を検出したい場合は2回、改ざんされた値を検出して拒否し、「まだ正しい」値を使用する)

しかし、あなたが最初の場所で改ざんを防止したい場合は、機械的なガードを使用する必要があります - ホットチップ全体を接着、あなたのPCBの筐体をロックし、...

3

イレースピンをフロートさせ、チップ​​全体をボードにエポキシ化しますか? PROMを使用しますか?

イメージを変更しない場合は、変更できません。

2

ハード対策が出ている場合あなたがソフトウェアアプローチに悩まされていて、EEPROMを読み取ったものがpublic-key algorithmsを処理できれば、EEPROMに公開鍵で署名されたデータブロックを使用することができます(EEPROMデータを取り込み、その前に固定ブロックデータの長さ、および秘密鍵で暗号化されたデータの安全なハッシュ)を指定します。

これは、対応する公開鍵(明らかに同じEEPROMにこれを入れない)でそれを検証するためにEEPROMの内容を使用して何が必要です。公開鍵アルゴリズムは計算機的には非常に高価ですので、マイクロコントローラのこのアプローチを正当化するのは少し難しいです。


私は認めざる得たものの(、私はマキシムを憎むあなたは、ハードウェアの改ざんから人々を止めることはできませんが、あなたが使用しているハードウェア選ぶことができ、あなたはまた、Maxim DS28CN01として、安全なEEPROMを使用することができればそれらの部品は高価であり、長いリードタイムを有し、十分な人々がそれらの部品を作るために注文するまで、またはAtmel's AT88SC series)が頻繁に揮発性であるからである。

+1

-1、おそらくあなたはあなたの意見をコメントすることができますか? –

関連する問題