1

アプリケーション API キーとシークレットがソース コードに保存されている Dropbox ブラウザ クライアントは、だれでもそれらを使用してアプリケーションになりすます可能性があるため、お勧めできません。

  1. しかし、Dropbox API のキー エンコーダーを使用すると、サード パーティは元のキー/シークレットを取得できますか?
  2. 攻撃者がキーとシークレットのペアを入手した場合、侵害されたアプリケーションのユーザーに起こりうる最悪のシナリオは何ですか?
  3. (可能であれば)完全に安全な実装を行うために、ブラウザのみのクライアントで Dropbox のセキュリティを扱うベスト プラクティスは何ですか?

クライアントに保存されたアプリケーションが完全に安全になることは決してないと思いますが、それでも私よりも経験豊富な開発者の意見を聞きたいです。

よろしくお願いいたします。

4

1 に答える 1

1

警告: 私はセキュリティの専門家ではありません。

エンコーダーを使用すると、カジュアルな "攻撃者" がアプリ キーとシークレットを取得するのを思いとどまらせることができますが、真のセキュリティは提供されません。エンコードされたキーをエンコードされていないキー/秘密のペアに変換する JS ライブラリを使用したコード行を次に示します。

Dropbox.Util.atob(Dropbox.Util.encodeKey(encodedSecret).split('|')[1]).split('?')

とはいえ、ここでのセキュリティ リスクは、他の誰かがあなたのアプリ キーとシークレットを使用することです。これは間違いなく世界の終わりではありません。OAuth を使用するほぼすべてのクライアント アプリ (ブラウザー、デスクトップ、およびモバイル プラットフォーム) は、この問題に悩まされています。たとえば、Twitter の漏えいしたコンシューマ キー/シークレットについて説明している 1 つの記事があります: https://news.ycombinator.com/item?id=5337099

アプリのキーとシークレットを公開することの最も可能性の高い結果は、誰かがコードをコピーして貼り付け、資格情報を使用することだと思います. これはユーザー (OAuth 経由で承認するときにアプリの名前が表示される) に誤解を与える可能性があり、別のアプリがキーを取得して悪意のあるアプリで使用すると、正当なアプリが巻き添え被害を受ける可能性があります。

于 2013-06-19T17:29:50.453 に答える