コードサイズが制限された組み込みデバイス (E) があります。UART (USB、シリアルなど) を使用してホスト プロセッサ (H) と通信します。組み込みデバイスの機能をロック解除するには、ホスト プロセッサの簡単な認証を実装する必要があります。
重要な問題は、USB/シリアル/UART が傍受される可能性があるため、チャネルが安全ではないことです。
使用方法は次のとおりです。製造中に、キー Ke と Kh のペアを生成します。E は Ke を格納 E は N ランダム バイト R を生成し、キー Ke を使用して R をシークレット S に暗号化し、H に送信します。H は Kh を使用して S を暗号化して R を明らかにする必要があります。
そう、
S = u(R, Ke)
R = v(S, Kh)
u()
とは暗号v()
化関数です (それは かもしれませんがu = v
、u
小さなコード空間を使用する組み込みデバイスに簡単に実装できる必要があります)。
異なるユーザーにそれらを与えるために、同じ Ke に対して多くの Kh を持つことを可能にする alog を見つけることは、さらに良いことです。ただし、これはオプションです。
前述のように、チャネルは安全ではないため、R と S だけから Ke または Kh (または S から R を生成する方法) を明らかにする (USB スニファーを使用して) USB に座っている悪者を望んでいません。
したがって、XOR は機能しません ;)
何か提案してください