IIRフィルターがリバースエンジニアリングされるのを防ぐ


7

ややユニークなIIRフィルターを作成し、リバースエンジニアリングからフィルターを保護したい

インパルス信号を使用することで、IIRのさまざまな重みをすべて取得するのが非常に簡単であることはご存じでしょう。

フィルターはプログラムでより大きなプログラムにカプセル化されているので、フィルター係数を保護するためにいくつかのトリックを追加できます。

しかし、IIRフィルターを保護する最善の方法は何でしょうか?


1
疑似乱数ジェネレータを使用して、「ややユニークな」IIRフィルターを生成できます。何があなたのフィルターを面白くしますか?
ロドリゴデアゼ

1
また、「保護」とはどういう意味か詳しく説明してください。インパルス応答がフィルターに「十分に近い」FIRフィルターがある場合、IIRフィルターはまだ保護されていますか?
ロドリゴデアゼ

ああ、そして受け入れられた答えは間違っています。
ロドリゴデアゼ

3
@RodrigodeAzevedo:次に、正しい答えを書いてください!:-)
ピーターK.

回答:


7

簡潔な答え:

できません。攻撃者が全帯域幅をカバーする信号(たとえば、白い信号、またはスペクトルゼロのない少なくとも1つの信号)をシステムに挿入できる場合(そして、攻撃者が任意の長い時間にわたってそれを行うか、観測を合計できる場合)、出力を取得し、相関の魔法を通じてインパルス応答を取得できます。


コメントは拡張ディスカッション用ではありません。この会話はチャットに移動しました
Peter K.

3

長い答え:

「隠された」IIRからの情報フローをモデル化しましょう バツ あなたの観察可能な出力に Y なので

バツY

次に、観測ごとに取得する情報の量を*相互情報量と呼びます バツ;Y; その情報はについての不確実性の減少ですバツ 観察することによって達成される Y

何かの予想される不確実性をエントロピーと呼びます。あなたの場合、バツ はそのエントロピーであり、通常は Hバツ

さて、これらすべての良い点は Hバツ|Y、つまり「約不確実性 バツ それはあなたが知っているときに残ります Y"、実際にはただのエントロピーです バツ あなたが得る情報を除いて、それで:

(1)Hバツ|Y=Hバツバツ;Y

攻撃者の目標は、彼がまだ持っている不確実性を減らすことです バツ0

これで、システムのすべての固有関数を「励起」する信号はシステムを完全に特徴付けることができるため、IIRを通じて固有関数の完全なセットを送信するだけでよいことを意味します。そして、IIRはLTIシステムなので、それはたまたま、表現可能な周波数のすべての振動を含むベクトルです。

人工的にノイズを挿入することで、攻撃者がシステムについて入手できる情報の量を減らすことができます。理論的な情報、これはあなたの無関係性を増加させますHY|バツ (知っていても バツ、100%知らない Y、ノイズが追加されるため)。

相互情報 バツ;Y で使用される (1) 対称です、すなわち バツ;Y=Y;バツ; したがって

(2)HY|バツ=HYバツ;Y=(1)HYHバツHバツ|Y=HYHバツ+Hバツ|YHバツ|Y=HY|バツ+HバツHY

あなたの目的は、リバースエンジニアを停止すること、つまり最大化することでした。 Hバツ|Y

以来 Hバツ は固定されています(いくつかの値をとる可能性のあるいくつかの係数があるため、それはビットの量です)。この目的関数を調整する唯一の方法は、 HY|バツ。そのための唯一の方法は、出力に真にランダムなバリエーションを挿入することです。


おかげで、使用するランダム化アルゴリズムに関するヒントはありますか?または何かしますか?
Jeff

できるだけ無相関なもの(白)は何でもします–ノイズジェネレーターの短いLFSR実装以外はほとんど何でも。サンプル分布が均一であればあるほど、より良いです。DSPシステムでは、ランダムジェネレーターの速度に制限されたくないので、Mersenne Twister RNGのようなものを使用しないでください。これらは高品質ですが低速です。個人的には、DSPアプリケーションでRNGとして使用しているXOROSHIRO128 +にかなり満足しています。
マーカス・ミュラー

1
ところで、不思議を期待しないでください–任意の長い観察を通じて、任意の高度の Hバツ|Y排除することができます。したがって、ノイズは「IIRリバースエンジニアリング推定量」の分散を実際に増加させるだけであり、再構成を不可能にしません。
マーカス・ミュラー

1

畳み込みは線形演算子です。そのため、少なくとも理論的には反転させることができます。しかし、長さは無限大で、係数の振幅精度も無限です。現実の世界ではこれに到達することはできません。

したがって、バランスは「保護」と呼ばれるものにあり、「設計によるプライバシー」の可能性があるかもしれません。

  • アルゴリズムが単なるたたみ込みである場合、フィルターの「可能な限り近い」近似を得ようとする敵対的な試みを回避することはできません。

  • この可能性を制限するには、たとえば、量子化や切り捨てなどの非線形性を出力に追加する(または値ではなく結果を表示する)ことにより、逆試行を抑制したり、係数にフィンガープリントを追加したりして、他の誰かがそれを「要求」できる。

  • 一部の法律では、ある程度のコストをかけて、アルゴリズムやメソッド(特許など)を(試行する)保護することができます。

以前は、ノイズ測定システムのリバースエンジニアリングを行っていました。それは、ドキュメントが付いた靴サイズの箱であり、高価格でした。圧力センサーデータ(線形)をフィルター処理し、その絶対値(非線形)を統合し、dB値(次元削減)を出力するはずでした。ウェーブジェネレーターを使用すると、絶対スペクトルを再描画し、それを反転して、次のコマンドで出力を取得できます。±目的に十分な0.8 dBの精度。また、ドキュメンテーションダイアグラムが不正確であること(ここでは「設計によるプライバシー」の疑いがあります)、およびノイズ測定システムの2つの「コピー」間に大きなばらつきがあることを確認しました。


1
「値ではなく結果を表示する」とはどういう意味ですか?
ロドリゴデアゼ

フィルタリングされた信号のみを表示し、値を出力しない場合、結果をピクセル化(量子化)します
Laurent Duval

残念ながら、私はあなたのコメントを理解できませんでした。もう一度やり直してください。デジタルオーディオ信号の処理を行うデジタルシグナルプロセッサがあるとします。この場合、「結果」とは何ですか、「値」とは何ですか。
ロドリゴデアゼ

1
「設計上のプライバシー」を検討している場合、グラフをデータに変換する必要があるため、グラフィック出力(画像)を与えると数値のリストを与えるよりも保護が強化されますか?
Laurent Duval

確かにそうです。ありがとうございました。
ロドリゴデアゼ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.