0

クロームエクステンションを構築しています。その機能の1つは、サーバーに連絡してメッセージを保存することです。知っているユーザーだけがそれを行うことができます。クロムエクステンションとサーバー間のセキュリティ保護された通信

私の問題は、私がやっていることが安全ではないということです。私はユーザー名と暗号化されたパスワードを格納しているサーバー上のデータベースを持っています。

私のサーバにメッセージを送信するには、ユーザは毎回自分のパスワードを書き留めてください。拡張子はそれを記憶しません。 XMLHttpRequestを使用してサーバーに接続する場合は、2つの選択肢があります。

myServerDomain + '?message=' + myMessage + '&user=' + myUserName + '&password=' + myPassword 

をそして、それが良いものであるかどうかを確認するために私のサーバー上でパスワードを暗号化: 私は送ることができます。

それとも私が送ることができます:

myServerDomain + '?message=' + myMessage + '&user=' + myUserName + '&password=' + myPasswordEncrypted 

を直接保存されたものと一致してmyPasswordEncrypted場合は私のサーバー上で確認してください。

しかし両方の方法で、私はユーザーのコンピュータにアクセスし、googleのchromeのウィンドウをチェックしてからコンソールに行き、myPasswordEncryptedまたはmyPasswordを取得して自分の変更した要求を送信するネットワーク要求に行く必要があります。

どうすれば保護できますか?

+0

パスワードを暗号化せず、塩でハッシュして繰り返し、100msの時間を達成します。 password_hash、PBKDF2、Bcryptなどの関数を使用します。 OWASP(オープンWebアプリケーションセキュリティプロジェクト)[パスワード保存チートシート](https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet#Leverage_an_adaptive_one-way_function)を参照してください。 – zaph

答えて

1

パスワードが暗号化されていないサーバーに送信されている場合は、間違っています。あなたが絶対にやらなければならないことは、パスワードがHTTPS経由で送信されていることを確認することです。その後、サーバー上でハッシュすることができます。クライアントでそれをハッシュすることは無意味なものであり、馬鹿馬鹿しく簡単に回避する方法です。 See here for more details

関連する問題