web-dev-qa-db-ja.com

ハードコーディングされたoAuthトークンを、個人的な使用のみを目的として構築されたアプリで保持することは安全ですか?

私はAndroidアプリを作成しました。これは私だけが使用するアプリです。ストアなどには展開されていません。HockeyAppを使用してスマートフォンにダウンロードします。

ただし、このアプリにはoAuthトークンが文字列としてハードコード化されており、Githubのプライベートリポジトリにアクセスできます。これはセキュリティ上のリスクですか?プロセス全体を実行したくありません。 oAuthフローを実装して、なんらかのサインインを介してトークンを生成するため、ハードコーディングしたままにしておきます。

私はGoogleのCEOではないので、可能性はあると思いますが、誰かが私の携帯電話からそのようなものを悪意のある目的で盗もうとすることはほとんどありません。

2
Bassinator

「安全」は相対的な用語であり、セキュリティのコンテキストではあまり役に立ちません。それが「安全」であるかどうかは、それが何を保護し、どのように使用するかによって異なります。アプリが米国の核兵器を制御していて、イランを訪れている間に公衆トイレのカウンターで頻繁にスマートフォンのロックを解除したままにしておくと、それはひどく危険です。自分の個人のGitHub(notに州/貿易の秘密または核発射コードが含まれている)にのみアクセスする場合、それは妥当だと思います。

共有しないアプリの資格情報をハードコーディングすることは、携帯電話やパソコンと同じくらい安全です。電話のセキュリティの観点からすると、あなたの電話に完全にアクセスできる人は、oAuthフローまたはソースコードのどちらから来たかにかかわらず、電話のメモリからも同じくらい簡単にキーを取得できます。 。

プラスの側面として、ハードコードされているという事実は、oAuthフローを攻撃できないことを意味します-セキュリティリスクが1つ少なくなります。ただし、ラップトップのプレーンテキストで(ソースコード内に)保存されます。おそらく)-もう1つのセキュリティリスクですが、これも状況と予想される脅威によって異なりますが、熟練したハッカーの直接の標的になっていない一般的な人にとっては、それほど大きな違いはありません。

3
Conor Mancone