人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

以前、PHPでのパスワードの暗号化を質問しましたが、復号させるにはどうすればいいでしょうか?

管理画面などでパスワードを表示させる必要があるため。。。
※復号以外の方法があれば、それでもかまいません。

●質問者: makocan
●カテゴリ:インターネット ウェブ制作
✍キーワード:PHP パスワード 暗号 管理
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● F-15X
●20ポイント

もしかしてMD5を使いましたか?

MD5は暗号化ではありません。ハッシュ値を生成します。

(基本的に戻せません)

http://d.hatena.ne.jp/keyword/MD5


MySQLでカラムの暗号化/復元

http://www.ironhearts.com/diary/archives/001255.html

AES_ENCRYPT関数(暗号化)

AES_DECRYPT関数(戻す)

◎質問者からの返答

ありがとうございます。

ただ、復号を使おうとしている時点でなんですが、セキュリティ的にはどうなのでしょうか??


2 ● Mook
●20ポイント

どのような理由があれ、パスワードを表示するというのはシステム運用上好ましくありません。


認証に関してはやり方はご理解いただけていると思いますが、パスワードがわからなくなった場合は、管理者が新たな暫定パスワードを付与し、ユーザが次回ログオン時に変更するというのが妥当な運用だと思います。


ちなみに、MD5などの暗号化(ハッシュ関数)は一方向関数なので、複合はできません。

MD5


3 ● ofk
●20ポイント

パスワードを表示させる必要がある場面というのは「パスワードを忘れてしまったので秘密の質問等で利用者のみにパスワードを知らせる」ぐらいしか無いと思われます。(もし、他の使い道があるなら、書いて頂けると具体的に答えれるかもしれません)

で、忘れてしまった場合は、今までのパスワードを破棄して、システムがランダムな文字列をパスワードに設定してしまい、メールやその画面(お勧めはしないが)で利用者に通知し、ログイン後パスワードの再設定を求めることが良いように思われます。

http://example.com

◎質問者からの返答

Mook様と合わせて、お答えさせていただきます

。パスワードを表示させる理由としましては、

複数の会社のログインパスワードを管理する管理者がおりまして、その方が全員のパスワードを表示させる様なものを作成したいと言っているためです。


4 ● Mook
●20ポイント

コメントが無効になっているため、再度の回答で失礼します。

こちらはポイント不要です。


「その方」が昨今のセキュリティ事情に詳しい方であることを期待しますが・・・。

まず、「全員のパスワードを表示させるようなもの」を作る必要があるのか、また作った場合、それが悪用される危険性は十分検討しておくべきかと思います。

(その管理者が会社を辞めて、あるいは役職が変わって、悪意を持って他の社員の情報を盗用しようとしたりしたときに、それが出来てしまったりしたら問題です。)


管理者というのは、使用者がシステムを安全に運用するよう管理する人であって、すべての情報を知りうるべき人ではありません。


技術的には、MD5は複合できないものですので、すでにこれで実装されている場合、もし複合可能な暗号に置き換えるにはすべてのパスワードを再設定する必要があります。


セキュリティの基本(10)セキュリティ対策運用のポイント

◎質問者からの返答

恐らくは、総合で管理かしているマスターな管理者自体も管理している会社さんの管理している各会社の管理画面にログインしたいのだと思います。

セキュリティ的には良くないですが、何とか少しでも向上できませんでしょうか?

また、運用はしていないため、MD5からシフトすることは可能です。


5 ● Yota
●20ポイント

暗号化復号化の関数はPHPでもいろいろ用意されています。

例えば、下のようなもの。

http://www.php.net/manual/ja/function.mcrypt-encrypt.php

http://www.php.net/manual/ja/function.mcrypt-decrypt.php

ただし、上の議論と同じようのことになりますが、パスワードの管理は以下のような方法が安全だと思います。

1.管理者が初回パスワードを発行する。

2.ユーザは初回ログインのときにパスワードを変更する。(管理者はそのパスワードが何か知らない)

3.パスワードには期限があって、定期的に変更しなければいけない。

ユーザがパスワードを忘れた場合は、そのパスワードを削除して最初からやり直す。

管理者(スーパーユーザ)のパスワードは一般ユーザとは別の方法で管理する。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ