2

GAE + Python を使用して、機密データのリアルタイム更新をクライアントに送信する必要があるアプリケーションを作成しています。App Engine Channel APIが安全かどうかを知りたいと思っていました。HTTPS を使用するだけで十分ですか、それともチャネルに独自のセキュリティ プロトコルが必要ですか?

また、App Engine Channel APIの基本的な実装は何ですか? ウェブソケット、SSE? 実際には、チャネルを介してサーバーからクライアントへの一方向通信のみを提供し、クライアントに標準の HTTP 要求を使用してサーバーと通信させるようです。

4

2 に答える 2

5

チャネル API への接続は、ページの読み込み方法に関係なく、HTTPS 経由で行われるため、チャネル API 接続の内容を傍受することはできません。チャネル キーを秘密にしておく限り、チャネルはアプリとクライアント間の安全な通信チャネルになります。

チャネルは、ロング ポーリング (コメット) を使用して実装されます。

于 2012-04-18T05:29:25.943 に答える
0

チャネルはサーバーとクライアントの間の長期的な接続であるため、多くの場合、チャネルはパフォーマンスを考慮して、リソースを消費するセキュリティ アプローチを使用できません。公式マニュアルで宣言されているように、サーバーはクライアントからの更新メッセージを HTTP リクエスト経由でのみ受信します。また、私の知る限り、Dropbox でさえ、HTTP 経由で長期通知メッセージを送信し、非常に短い通知メッセージを使用して、何か新しいものがあるかどうかを伝えるだけです。

幸いなことに、セキュリティを確保する方法は 2 つあります。

  1. 一部の状態が変化した場合にのみ、HTTP チャネルを介してクライアントに通知します。その後、安全な通信である可能性がある追加の要求を行う必要があるかどうかをクライアントに決定させます。これは、チャネルが使用される最も一般的な方法です。

  2. これは私が個人的に推奨する方法ではありませんが、データを自分で暗号化し、これらの暗号化されたデータを安全でない HTTP チャネルで実行することができます。

于 2012-04-18T03:21:54.183 に答える