0

私は現在、複数のアカウントを持つWebベースのパスワードデータベースと、MySQLまたはOracleのようなデータベースエンジンに保存されているログイン/パスワードについて考えています。ウェブベースのパスワードデータベースの設定方法

ユーザAがログインし、新しいログイン情報を作成し、この情報をユーザBとユーザCが利用できるようにするためにチェックします。ユーザDとEはそれを見るべきではありません。

私の最初の考え:

パスワードはデータベースに暗号化されて保存されています。

ここでの主な問題は、サーバーへのアクセス権があれば、スクリプトを見て解読アルゴリズムを検出すると、すべての保存されたパスワードを一度に解読できます。

私は、各ユーザーが暗号化/復号化アルゴリズムの一部であるパスワードツール(ユーザーがこのマスターパスワードを入力し、自分の資格情報でログイン)にマスターパスワードを取得すると考えました。これは、第三者が単にスクリプトを見て、マスターパスワードを知っていたのとまったく同じように解読されているかどうかを見ることができないという利点がありました。しかし、もちろん、非常に限られたアクセス権を持つユーザーが、マスターパスワードを知っているので、すべてのパスワードを解読することは可能です。

基本的に私の質問です。誰かがサーバーにアクセスすると、単純なソースを見て簡単にクラックされないWebベースの複数のユーザーパスワードデータベースをどのように持つことができますか?復号化を何らかの形でユーザのログインに依存させることは可能ですか?それは正式にパスワードを見るかもしれませんか?

これについてのヒントをありがとう!物事をより明確にする

お知らせ: 異なるアプリケーションのログイン認証情報が保存され、ユーザーがログインして、彼らはこれらのアプリケーションのために使用する必要がどのような資格情報を見ることができますパスワードデータベースであることを意図しています。 1Passwordのようなパスワード管理ツールのように。これは単純なルックアップテーブルで、ユーザー名とパスワードを使用しているため、サードパーティのアプリケーションを挿入したり操作したりしないでください。

+0

が重複する可能性[は?それは、複数の秘密鍵(PHP)で暗号化をすることは可能です](http://stackoverflow.com/questions/4605139/is -if-possible-to-have-with-multiple-private-keys-php) – acme

+0

私はもっと良い質問を追加しました。おそらくこれは誤解を招く可能性があるため閉鎖できます...ごめんなさい – acme

答えて

0

またはSHA-1(またはその一部の変形が強い)などの一方向ハッシュアルゴリズムを使用します。この方法では、保存されたパスワードをリバースエンジニアリングする方法はありません。

+0

私は上記の通知を追加しました - これはパスワード管理ツールを意図しているため、ログイン資格情報はログイン後にユーザーに表示/非表示にする必要があります。 – acme

0

Passwordstateのような製品を見たことがありますか?すべてのパスワードはデータベース内で暗号化され、複数のユーザー間で共有され、さらに保護のためにすべてのページが難読化され、Active Directoryと統合されて認証されます。

あなたがチェックアウトしたい場合は、無料の10ユーザライセンスがあります。

関連する問題