私の知り合いの大部分はITの分野で十分な知識を持っていない人なので、安全だと思う異常なサービスやユーティリティを使用するように自分を磨かなければなりません。
有名なVKontakteネットワークを介したテキスト通信用の安全なチャネルをインストールする比較的簡単な方法を提供します。 このため、追加のソフトウェアや情報セキュリティの分野での広範な知識は必要ありません。 必要なものは、WebブラウザとGreaseMonkeyアドオンだけです。
一般的な情報
この方法の動機は、仲介者なしで対話者によって制御されるチャネルを作成することです。 サーバーが暗号化されていないメッセージテキストを表示しないようにします。 もちろん、公開鍵のなりすましによる典型的な中間者攻撃は非常に可能ですが、リアルタイムで盗聴するのではなく、たとえば、特別なサービスのリクエストなどで、近い将来にメッセージのテキストを危険にさらす潜在的な危険があるため、非常にまれです。
上で言ったように、独自のメッセンジャーを作成するというアイデアがありました
- 私の友人と私は私の製品を信頼できます。
- 私は彼を思い通りに作ることができます。
- これは楽しい!
しかし、いくつかの困難を経て、その中に-製品開発と非プログラマーの間での実装の両方。 したがって、VKontakteはこれらの倒錯の対象として一意に選択され、 GreaseMonkeyアドオンが最終製品を導入するためのプラットフォームになりました。
- ほとんどの知人はVKontakteを使用します。
- スクリプトを展開するプロセスを説明するのは非常に簡単です。
いくつかの有名な技術データ
この記事の対象読者に基づいて、GreaseMonkeyと私のスクリプトのインストールプロセスについては説明しません。 これを行う方法がわからない場合は、たとえばこちらのマニュアルをお読みください (このリンクについてはGoogleに感謝します )
もちろん、標準実装の一意のRSAが暗号化メカニズムとして選択されます。 このメカニズムについて説明するのも意味がありません。記事ではこのメカニズムについてではなく、このプロセスの自動化についてですが、念のため、双方向の非対称暗号化は次のようになります。
- 対話者は公開鍵を交換します。 このプロセスは、スクリプトによって自動化されています。
- 対話者の1人がメッセージを送信します。 このメッセージは、パートナーの公開(公開)キーで暗号化されます。
- もう1人がこのメッセージを受け取ります。 このメッセージは、プライベート(プライベート)キーで解読されます。
写真のプロセス:
RSAアルゴリズムを実装するために、 Stanford guysが作成したJS実装を使用しました。 彼女は私の目を引いた最初の一人であり、私の期待に完全に応えてくれたので、それを使いました。
要点をつかむ
では、スクリプトは何をしますか?
- VKページを開いたときにVKページに埋め込み、ドキュメントにパッチを適用し、
CTRL+SHIFT+V
押してイベントを追加します。 - 最後の組み合わせを押すと、暗号化されたメッセージを送信し、パートナーの公開キーを生成するボタンが追加されます。
- これは、
"%n:__"
や"%m:_"
message"%m:_"
などのメッセージに反応し、パートナーから公開キーを受け取ったという事実に関する通知または復号化されたテキストに置き換えます。 - 状態を保存するために、接頭辞「vksl-」が付いた属性を持つDOM要素にパッチを適用します。
簡単な説明
チャットページを開くと、右上隅に「VKSL loaded」というメッセージが表示されます(別のページから切り替えた場合は、F5キーを押す必要がある場合があります)。 チャットページで
CTRL+SHIFT+V
を押すと、再びページコードへの暗号化の成功(または失敗)に関するメッセージが表示されます。
その後、各対話者はリンク「GENERATE KEYS NOW」をクリックする必要があります。 数秒(おそらく数十秒)後に、キーが生成されて送信されるというメッセージが表示されます。 その結果、相手側の対話者にもこれが通知されます。
これで会話を始めることができます。 通常のメッセージを送信するには、標準ボタンを使用して、暗号化して送信します- 「SEND ENCRYPTED」をクリックします。 反対側のスクリプトは、暗号化されたメッセージを受信した場合に何をする必要があるかを理解します。
これまで修正するのが面倒だった(そしてそうすべき)問題
- このスクリプトは会議では機能しませんが、双方向通信専用に設計されています。
- 現時点での最大メッセージ長はわずか32バイトです。テキストをブロックに分割し、現在のように暗号化する必要はありません。
- 「Enter」を押すと、ネイティブ送信が呼び出されます。 このイベントを置き換えるには、コードをもう少し掘り下げる必要があります。
- 添付ファイルは実際にはメッセージの一部ではないため、暗号化されません。
ここからスクリプトをインストールできます: http : //userscripts.org/scripts/show/396094
ご清聴ありがとうございました!
編集:読者が親切に私の注意を引いた多くのスペルミスをおpoび申し上げます。 すべてを修正したようです。