web-dev-qa-db-ja.com

インスタントメッセージングで非表示の「遭難信号」をトリガーする良い方法は何ですか?

ここにシナリオがあります:

Aliceとbobはオフレコのメッセージングを使用してIM経由で通信します。持っている:

  • 暗号化
  • 認証
  • 否認
  • 完璧な転送秘密

認証後に通信し、お互いのアイデンティティを合理的に確認します。さて、悪党がアリスの家に侵入した。

アリスは、メッセージの送信を強要したり、苦痛信号を送信したりすることを知っています。 「ヘルプ!」と入力します攻撃者は外の世界が彼女の苦痛を知っていることに気づくので、あまり良いことはしません。

彼女が以前に交渉した苦痛メッセージを入力すると想像できます(「そして花も素敵でした」)。これにより、ボブのクライアントはメッセージをポップオープンします。

  • アリスは苦痛を感じています-彼女のIDを再度認証するまで、次のメッセージを信頼しないでください。彼女はそれらを送るよう強要されています。

しかし、侵入者は彼女をコンピューターから離れるのが速すぎます。彼らはまた彼女にメッセージを指示し、花の文章をタイプする彼女の能力を取り除くかもしれません。

このシナリオで、遭難信号をトリガーする良い方法は何ですか?

私たちが見つけたいくつかの問題 それについてチャットしている間

  • 強制兵は、アリスが遭難信号を送信していることを検出できてはなりません。彼女を見ることでも、ネットワークトラフィックを分析することでもありません。これにより、「アルファベットのすべての文字が1分以内に使用される」などの複雑なスキーム( Kerckhoffs原則 の違反)も防止されます。

  • 信号は、誤って遭難信号が(迷惑で潜在的に欠陥のある)強制的に再ネゴシエーション手段を信頼するため、偶然にトリガーされにくいように設計する必要があります。そして、それは使いやすいプロトコルでなければなりません。

仮定:

  • アリスとボブの間でメッセージを送信するために使用されるプロトコルは、よく知られているプロトコルです。
  • 敵対者はアリスに物理的に存在します。
  • 攻撃者は、アリスが遭難信号を送信していると思わない限り、アリスがメッセージを送信することを許可します。
  • アリスは常に最初のメッセージの送信を許可されます。
  • 攻撃者はチャネル上のメッセージを監視します。
  • アリスはいくつかのメッセージの送信のみが許可されます。
  • 敵対者は、アリスが送信するメッセージの内容を指示しますが、その形式は指示しません。
  • 攻撃者は、アリスがすべてのリモートメッセージを受信できるようにします。
  • 攻撃者は、アリスとボブの間の送信待ち時間を知りません。
  • チャネルは信頼できます。
22
Stefano Palazzo

要件のリストは制約が多すぎて賢明なスキームを思い付くことができないと思いますが、基準を少し緩めれば、何かを思い付く可能性があります。

フォームを指定せずに、アリスはボブに信号を送る必要があります。その信号は、アリスの苦痛の状態をデフォルトの状態から反対の状態に切り替えます。デフォルトのステータスが「アリスは苦痛ではない」であり、信号が苦痛を切り替える場合、攻撃者は、すべての通信を切断する(つまり、侵入する前にインターネット回線を切断する)ことで、常にシステムを打ち負かすことができます。

逆に、@ Karraxが考慮しているように、デフォルトでは、アリスが苦痛状態にあり、信号がタイムアウトになるまで彼女が苦痛状態にないことを切り替えます。 2つの問題があります。信号の性質とタイムアウト期間の長さです。

ケルクホフスの法則が適用されるように信号を実装する方法はたくさんあります。 パニックパスワード がその一例です。システムを知っている敵対者が次のことをすることができるので、2つのパスワード(またはキーやトークンなど)を1つ持つだけでは不十分であることに注意してください:アリスに2つのパスワードがあることを知らせ、彼女に書くように依頼します両方を下に置き、コインを裏返してどちらを使用するかを選択し、50%の確率で攻撃を回避します。より複雑なスキームはこれを回避します:論文を見てください(自己宣伝、私は知っています:すみません)。

信号を実装するもう1つの遠い方法は、アリスの神経質の尺度としてアリスの 皮膚コンダクタンス を使用することです。このような提案は、昨年Usenix Securityで行われました。

よりトリッキーなポイントはタイムアウトです。タイムアウトが長すぎると、敵が侵入し、最後の信号がタイムアウトするまでに実行される可能性があります。短すぎると、ユーザビリティに大きな問題が生じます。実際、このアプローチではどうしてもユーザビリティの問題があると私は主張します。

このため、ご希望の問題を正確に解決できるとは思いません。

問題を緩和する1つの方法は、アリスが1つのメッセージを(変更なしで)敵のパッシブウォッチの下で確実に送信できることです(アクティブな場合、すべてのメッセージをブロックできることに注意してください)。この場合、デフォルトでは、アリスは苦痛を受けておらず、アリスはボブと事前に確立されたメカニズム(苦痛ワードなど)を単に使用します。この場合、問題は本質的にステガノグラフィであり、アリスは人間の計算のみを使用して信号をエンコードする必要があるため(つまり、認識型強制抵抗)、スキームが安全であることを証明することはできません。あなたはそれが合理的であるように見えるだけに頼ることができます。

8
PulpSpy

あなたは2つの問題空間を融合させているようです。 1つ目は、徹底的に調査された人間の安全保障問題である強迫コードの単純な問題です。 (そして、多くの場合良い答えはありません-レオマークスはかつてSOEのエージェントの「セキュリティチェック」をエージェントを安心させるために良いものであり、それ以上ではないと説明しました)。

2番目の問題の領域は、通信の技術チャネルが攻撃者の存在と知識によってどのように影響を受けるかです。

あなたがそれらを混同していると私が思うのは、強要なコードの問題を解決できる技術チャネルに入れることができる保護があるかどうかを尋ねているように見えるためです。私の答えは、いいえ、配置した保護は、強迫コードとまったく同じ合格/不合格基準の対象となるため、その時点で強迫コードの問題に戻ります。例として、強要コードの最も困難な影響の1つは、攻撃者がだまされていると信じ込ませるために、攻撃者をだまして侵入者との継続的な通信を維持する方法です(そうすれば、攻撃者はだまされませんシュートエージェント)。私の要点は、別の人間のコミュニケーション(音声、テキスト、モールスコードなど)を判断する人間をだますための技術的な修正はまったくないということです。強迫コードの問題は人間の層で機能します。暗号化されていないUDP、IPSec、または次のレイヤーで量子暗号化を使用しているかどうかは関係ありません。

それがあなたに役立つかどうかわかりません:)

8
gowenfawr

アリスがタイプするとき、彼女はすでに常に彼女が正しい肉体の人間であることの検証と現在の彼女のストレスのレベルが何であるかを入力しています。

私たちは単に彼女がタイピング中に使用する キーストロークダイナミクス を送信します。もっともらしい否認。会話のテキストログには、この情報は反映されません。

キーストロークダイナミクスは十分な信頼性があることが証明されており、15社以上の企業がこのソリューションを何らかのニーズに合わせて販売しています。

7
Incognito

私の最初の答えは、@ PulpSpyの「パニックパスワード」の説明に沿ったものでした-実際、私は元々、元のチャットでそのようなことを述べました... :)
(そして全体として、彼は最も完全な答えを持っているようです、自分自身をバックアップするための研究さえ持っています:))。

ただし、@ gowenfawrが言及しているように、これは事実上人間空間の問題であり、パニックパスワードでも2つの問題空間の融合を回避するのは困難です。

別の解決策-そして、適用性はシナリオに大きく依存します-認証されたユーザーができることを制限することになります(強制的に)do
これは、アリスがボブに自分の命が危険にさらされていることを知らせたいだけの場合には当てはまりません。これは、コメントで@ this.joshによって言及されているような状況に関連している可能性があります。

...不正なパーティーがあなたを物理的に強制している、つまり、銃を頭にかざしており、リモートパーティーにメッセージを送信するように強制している。つまり、「すべての資金をアカウント12345からアカウント67890に転送します」攻撃者は通信プロトコルがどのように機能することになっているのかを知っていると想定できるため、攻撃者は大幅な逸脱を検出できます。

アリスが強制的に転送されているため、転送を実行するようにボブに信号を送ろうとする代わりにnotの代わりに、システムである必要がありますアリスからのIMメッセージに基づいてこのような転送を実行することを許可しない
これは"Least Privilege"および "アダプティブ認証" ...

同様に、銀行のセキュリティが厳しくなったとき、 銀行のマネージャーの家族を誘拐する "傾向"がありました 、銀行マネージャーに銀行の盗難を強要しました。
銀行は、銀行長でさえも自分であまりにも多くの現金を引き出すことを禁止することにより、(うまくいったかどうかはわかりませんが)これに対抗しました。

つまり、アリスの身元を心配する代わりに、アリスの身元にできることを制限します。そうすれば、アリスが望んでも助けられないので、アリスの頭に銃を物理的に当てるインセンティブも少なくなります。


これは実際にはタイトルの質問(シグナルの方法)には答えませんが、そもそも状況を回避しようとします。
そして、これもアリスがボブに自分の命が危険にさらされていることを知らせない限り、アリスがそうするつもりはないことを知らない限り、強制力is実際の信号です。 (ラウンドアバウトのロジック、私は知っています...)

6
AviD

ルーチンを確立したり、苦痛のない状況で常に開始することを確認したりした場合はどうなりますか?そうすれば、口述されたり見られたりしているとき、あなたはルーチンに従わず、カバーが吹き飛ばされていることがわかります。

あなたも忘れた場合、それは偶然に引き起こされる可能性がありますが、もちろん、それがそのような重要性を持っている場合は、そうすべきではありません。

編集:100%安全なシステムはありません。あなたはそれを十分に安全にするだけです。 IMソフトウェアと他の必要なツールをROMチップに書き込み、適切なデバイスで使用することができます。おそらく十分安全です。このシナリオでは、大量のセキュリティチューブが必要になるので、当然のことですがクライアントの保護にも十分です。

別のアイデアは、株式を紙に解くことができる難しい数学的な挑戦にすることです。苦痛の中でそれはあなたが実際とは異なる方法でそれを解決すると主張するだけです。

5
Chris Dale

ここには2つの要素しかありません。 1.必要なメッセージを送信する機能2.受信者を選択する機能

最悪の場合のシナリオでは、不正な当事者がメッセージを読み取ることができると想定します。

これにより4つの可能性のある状況が残り、従来の方法に従えば、悪党が同じものを読み取ってすべてのパラメーターに影響を与える可能性があるため、すべてが失敗します。

[彼らが読めない場合-この議論全体は無意味です:)]

解決策:問題のある人がチェックプロセスを開始しないでください。これが鍵です。それは自由な人が始めなければならない。これは、事前に準備された質問と回答のペアにすることができます。間違った答えは単に問題を意味します。困っていないときはいつでも正しい答えを出すことができます。無回答状態でもトラブルと考えられます。

唯一の問題は、自由な人がこれをどのように開始するのですか?考えられる答え:毎日、事前定義された時間に実行してください。これは、考えられる唯一の可能な解決策です。理由は、あなたは悪党から受信者を選択する権利と、想像を絶するほど膨大な数の可能な解答から正しい解答を送信する能力を持っているということです。

プロセスはランダム化されているため、悪党に引き起こされるトラブルは他のソリューションよりも高くなります。これは、あなたが提起した問題を解決する非常に可能な方法の1つです。他のすべては何らかの状況で失敗する可能性がありますが、これはほとんどの希望を提供します。

5
Andrew Anderson

子供の話といくつかのニュース記事について考えなければなりません。

ある物語では、姉妹が誘拐され、兄に電話をかけられて罠にかけられました。彼女は彼がそれを嫌っていたのを知っているので、彼女は以前に決してしたことがない彼のニックネームを使いました。

ニュース記事は、子供の精神的な問題を治療するための施設に関するものでした。ニュース記事によると、子供たちはそこで虐待され、1人の母親が子供に「!」を使用することに同意したことが明らかになりました。手紙の「親愛なる母」行の「、」の代わりに。

インスタントメッセージの場合、これはスマイリーまたは行末の句読点の使用(ピリオドを使用するかどうかにかかわらず)です。

これらのアイデアはどちらも明らかにケルクホフの法則に違反しています。

4

迅速な返信が期待できない場合は、2段階の信号を使用できます。たとえば、最初のステップは、(あなたにとって)変わったタイポグラフィ( Ellipsisdiacritics またはすべて大文字など)の使用、またはどちらも知らない名前への参照です。 。これの直後に、 "Are you there?"または "のような特定の無害な文が続きます"購入しましたかその豪華なラップトップはまだですか?」

アクティブな会話をしている場合は、確認の3段階の信号を使用できます。遭難信号の初期化を受け取った後、他の人は「あなた、[あなたのパートナー/兄弟/その他]ですか?」返信のtoneは、それが実際の遭難信号であるのか、単なるエラーであるのかを判断できます。たとえば、単純な事実に基づく返信( "いいえ、それは私です")は状況を武装解除し、皮肉な/扇動/感情的な返信(「いいえ、それは彼女の知覚椅子です」/「なぜ愚かな質問をし続けるのですか?」)実際の緊急事態を示します。このような方法の優れた点は、侵入者が2人をよく知っていなければ、通常の通信方法ではないことを検出する必要があることです。

4
l0b0

プロトコル:

アリスとボブが正常にチャットしているとき、アリスは定期的にいくつかの特別な推測できないマロリーへのパスフレーズをボブに送信します。ボブがこのメッセージを受け取った後、彼はアリスがその時点まで強要されていなかったと確信することができます。

有効なトランザクションの例:

Alice: Hi Bob.
Bob: What's up?
Alice: Trent just delivered my new orange AK-47.
Alice: Please take $973 out of my account and put it into Trent's account.
Bob: Hold on ...
Bob: OK, it's done.
Bob: That doesn't sound like you.
Bob: I thought you said orange AK-47s looked hideous?
// Alice pulls open a drawer, peeks inside a file clearly labeled PASSWORDS, then types:
Alice: Sudo make me a sandwitch, Bob.
// Bob flips through his Rolodex.
// The camera zooms in on Bob's hand holding a Rolodex card with ALICE on the top tab,
// and "Sudo make me a sandwitch, Bob." hand-printed near the bottom.
Alice: The scatter pattern from Fred's orange AK-47 looks hideous.
Alice: Trent's orange AK-47 is totally different.

強要取引の例:

// sounds of glass shattering.
// Mallory steps through what used to be a sliding glass door, and
// puts a gun to Alice's head.
// Mallory: Alice, tell Bob to transfer $100,000 to Swiss bank account 555-1212.
Alice: Bob, transfer $100,000 to Swiss bank account number 555-1212.
Bob: Hold on ...
Bob: OK, it's done.
// Alice: OK, he did it. Can you let me go now?
// Mallory: That's not going to fool me.

元のエンディング:

// Mallory: By Kerckhoffs's principle,
// I know you have some kind of confirmation password thingy. Type that in now.
Alice: Sudo correct horse battery staple, Bob.
// Bob thinks to himself: Huh? This can't be yet another mis-spelled "sandwich".
// Bob thinks: This must be a real duress situation.
Bob: Verified.
// Mallory puts a bullet through Alice's cell phone and laptop,
// making it impossible for Alice to immediately call Bob back and cancel the transaction.
Bob: Alice?
// Bob waits a minute, but Alice never responds.
// Bob sends Trent to check on Alice.
// Mallory strides out through what used to be a sliding glass door.
// Lightning briefly silhouettes Mallory,
// then all we see is rain and darkness.

クエンティン・タランティーノエンディング:

// Mallory: By Kerckhoffs's principle,
// I know you have some kind of confirmation password thingy. Type that in now.
// Alice: It's so long and complicated, I can't remember it.
// Alice: It's written in my PASSWORDS file.
// Alice pulls open a drawer, and pulls out a file clearly labeled PASSWORDS.
// With her other hand, she pulls out an orange AK-47 (Chekhov's gun).

詳細:

ボブは最初、アリスが強制されているかどうかを知らないので、いくつかの信号がアリスからボブに伝わる必要があり、それによってボブはアリスが強迫されているかどうかを認識します。

ただし、マロリーが侵入した後、マロリーは「花も素敵だった」などのメッセージをブロックします。これには、「ボブ!頭!"。

したがって、プロトコルは、アリスが強迫状態にあることを示すメッセージのlackと、アリスが解放されていることを示す何らかの肯定的なメッセージに依存する必要があります。

ケルクホフスの原則に違反しないようにするには、アリスが解放されていることを示すsome肯定的なメッセージがあることをマロリーが知っていると想定する必要があります。マロリーがアリスのキーボードでそのメッセージを入力するのを防ぐために、メッセージはマロリーには推測できないものでなければなりません。

最初にトランザクションを要求し、後でパスフレーズのあとがきで本当にそれが本当に必要であることを確認することにより、Malloryがセッションをハイジャックすることは不可能ですafterAlice "logs 」とパスフレーズで。

潜在的な欠陥:マロリーが後ろにスクロールして、アリスの以前の会話履歴を見ることができる場合、彼は本当のパスフレーズが何であるかを理解できるかもしれません。いくつかの「ワンタイムパスフレーズ」回避策があります。

2
David Cary