現在、中国やイランなどの国では、市民がインターネット経由で自由に通信できないようにする方法として、すべての暗号化された接続を検出してブロックしています。暗号化は最高レベルのデータ保護を提供しますが、暗号化によって導入されるランダム性のために通信が暗号化されるという事実を隠すことはできません。 Rivestは1996年に「 Chaffing and Winnowing:Confidentiality without Encryption 」というタイトルの論文を書きました。基本的な考え方は、アリスとボブは暗号化ではなくMACの暗号化キーを共有するということです。アリスがパケットを作成するとき、MACはパケットと秘密鍵で計算されます。 MACはパケットに追加され、ボブに送信されます。通信はクリアテキストであるため、チャネルを監視している誰もがデータを傍受できます。ここで、他の2人からの別のデータストリーム(論文ではDavidとElienと記載)がAliceとBobのストリームと混合された場合、MACキーを知っているのはこれら2つのエンティティだけなので、AliceとBobだけが自分のパケットを回復できます。同じことが他の党のデービッドとエリアンにも当てはまります。
私の質問は、上記の方式の実用的な実装ですか?それは、紙を読むと、十分に大きなストリームが多重化されている場合、誰もがMACキーを知らずにストリームの正確なパケットを回復することが不可能であることは明らかですしたがって、政府にとって、この理論上のネットワークに多数のボランティアが参加して多重化した場合、ネットワークトラフィックをブロックすることは不可能です。
これを機能させるために他のユーザーを実際に必要とするのではなく、単にそれがより合理的になるだけです。疑似ランダムパケットとMACを作成し、それらを自分のものと混合するだけで、チャフを実行できます。
チャフィングとウィンナウニングの問題は、各メッセージが非常に小さいため、攻撃者に有用な情報を伝えられないことです。それ以外の場合、攻撃者は冗長な情報とフォーマットおよびプロトコルの知識を使用して、元のメッセージの再構築を支援できます。摩擦前の圧縮はおそらく助けになるでしょうが、私はどの程度かはわかりません。
ChaffingとWinnowingを使用しているTorやMixマスターのようなネットワークについては知りません。特にPyCryptoには実装があります。