Code With Me セキュリティの概要
Code With Me は、コードを共同で操作する機能を提供する強力なツールです。その機能には、コードとアクセスレベルを安全に保つ責任が伴います。
接続ワークフロー
Code With Me を使用して相互に接続したい 2 人のユーザーがいるとしましょう。
ユーザー(ホスト)が Code With Me セッションの開始アクションをクリックして、ローカル IDE でセッションを作成します。
ローカル IDE は、セッションの作成に関する通知をロビーサーバーに送信し、セッション接続を要求します。
登録後、リンクが作成されます。
生成されたリンクは、利用可能な任意の手段で別のユーザー(ゲスト)に送信されます。
例: Slack、WhatsApp メッセンジャー、メールなどを介して送信できます。
他のユーザー(ゲスト)は、受信したリンクをクリックします。
ゲストは、ホストへの接続方法に関するパラメーターを受け取り、接続を開始します。
この時点で、ホストからの許可が要求されます。ホストがアクセスを許可すると、接続が継続され、ゲストがセッションに接続します。
データ暗号化
セッション中、ホストとゲストはソースコード、パスワードなどの個人情報を交換します。
そのため、ホストとゲスト間の接続は、TLS 1.3 を使用してエンドツーエンドで暗号化されます。トラフィックがユーザー間で直接流れるか、JetBrains リレーサーバーを介して流れるかに関係なく、JetBrains を含むサードパーティーはこの通信チャネルにアクセスできません。
Man-in-the-Middle(MitM) 攻撃に対する保護
おそらく最大のリスクは、悪意のある攻撃者がホストまたはゲストになりすまして通信チャネルにアクセスすること、またはいわゆる中間者攻撃です。
正当なホストになりすます
接続の開始時に、ゲストとホストの両方が、パブリックセクションとプライベートセクションで構成される一意の SSL 証明書を生成します。ゲストとホストは、この SSL 証明書のペアによって認証されます。
参加リンクには、SSL 証明書の公開部分のハッシュであるホストの証明書のフィンガープリントが含まれています。ホスト以外の誰もこの証明書のプライベートセクションを保持していません。そのため、ゲストは悪意のあるアクターに物理的に接続して、ホストになりすますことはできません。
正当なゲストになりすます
ホストが漏洩したリンクを作成したとします。例: ホストがパブリックチャネルでリンクを共有した。
作成されたセッションに接続しようとしているゲストがホストにわからない場合は、ホストは PIN コードを確認できます。PIN コードはゲストの PIN コードと一致している必要があります。ホストは、利用可能なチャネルを使用して、ゲストがホスト側に表示される PIN コードに名前を付けることができることを確認する必要があります。PIN コードが一致した場合、セッションに接続しようとしているユーザーは正当なユーザーです。
関連ページ:
Code With Me セキュリティに関する FAQ
Code With Me は、コードを共同で操作できる強力なツールです。この機能には、コードとアクセスレベルを安全に保つ責任が伴います。Code With Me セッションでコンピューターへのアクセスを許可するときに発生する可能性のある質問を以下に示します。どのようなデータが JetBrains のサーバーを通過していますか? :プロジェクトデータは、エンドツーエンドで暗号化された JetBrains のサーバーを通過します。エンドツーエンド暗号化は、ホストとゲストがセキュリティコードが両端で一...
JetBrains Client UI の概要
Code With Me セッションへの招待を受け入れて JetBrains Client を開くと、作業環境を微調整するのに役立つ多くの設定オプションが使用可能になります。さまざまなツールウィンドウを表示し、ユーザーのアクセス許可に応じて、特定のアクションまたはタスクを実行することもできます。Code With Me セッションでの作業の詳細については、「共有セッションで作業する」を参照してください。設定:外観、コード編集、フォーマットなどに関連するオプションを構成できます。コードの編集、フォー...