私は現在、ユーザーが自分のデータを取得するために掻き集める別のWebサービスの資格情報を入力するWebサイトを構築しています。資格情報を暗号化して安全に再利用する
私のデータベースに資格情報を保存する際には、最高レベルのセキュリティを確保するために最高の暗号化と最高のアーキテクチャを使用しています。
私が心に持っていた最初のアイデアは、RSAパブキー(PBKDF2、PKCS1_OAEP、AES 256bit ... ???)を使用してデータを暗号化し、私のスクラップスクリプトが秘密鍵を使用して資格情報を入力して使用します。
- 私のサーバーがハッキングされている場合、ハッカーはデータベースと秘密鍵の両方にアクセスできます。これは、スクラップスクリプトを実行し、DBをホストするサーバー上に保持されるためです。これを解決するアーキテクチャパターンはありますか?
- 最高のセキュリティを実現するためにハッシングと暗号化が混在している必要がありますが、ハッシュは単方向性であり、資格情報を再利用する必要があるため、ユースケースには合致しません。最高の暗号化サイファー/パターンで私にアドバイスできれば、素晴らしいかもしれません。
私はPythonでコーディングしています。私はPyCryptoが暗号化のためのgo-toライブラリだと信じています。 (私は混乱の技術であるかもしれないので、申し訳ありませんが、私は暗号についてほとんど知識を持っている)
サーバーがハッキングされている場合、おそらくあまりできることはありません。おそらく、追加のセキュリティとして、プライベートキーを第3のサーバーに格納して、メインサーバーから必要なときにのみフェッチすることもできます。そうすれば、ハッカーはメインサーバーとdbをダンプしてデータにアクセスすることができます。しかし、Pythonアプリケーションを監視しているサーバー上にいる場合は、取得時にキーを見ることができるため、何もできません。 –
ありがとうございます@ this.lau_、ええ、それはDBとプライベートキーが別のサーバー上にある必要がありますようです。私はこの可能性を探求します。 – mandok
私はこれについて悪い気持ちになる。 SE.Cryptoのサイトにアクセスし、専門家にこの計画について何を考えるか尋ねてください。しかし、その間にhttps://en.wikipedia.org/wiki/OAuthを見てください –