SQLの窓 イラストAC フリー素材

2014年10月10日

hash_hmac は秘密鍵があるので、辞書の総当りとかでパスワードは解りませんから。パスワード抜かれるのは、フィッシングがスパイウェアか、本人が口に出した場合ですね。

ただの hash なら、md5 で password は 5f4dcc3b5aa765d61d8327deb882cf99 ですね(Google で 15,300 件ヒット)。サーバーのデータベースにもし生のパスワードが入ってたら大笑いですが、どんなにアホでもサーバーの責任を回避する手段として、サーバー側が解読できるパスワードなんて保存しないというか、誰が考えてもしたく無いです。
<?php

print hash_hmac("md5","password","lightbox") . "\n";

//0b8d1a7cf74154638a19eb9958b8e475

print hash_hmac("md5","password","2014") . "\n";

//27ad87de8ac47d30710f9144ba48d7fa

?>

よく、パスワードを忘れたら新しいパスワードを入力します。たまーーにパスワード送って来るシステムがありますが、暗号化してデータベースに保存しているのでしょう。余程運用に自信があるか、そこまでしてもメリットのあるサービスが運営されているはずです。
<?php
session_start();
header( "Content-Type: text/html; Charset=utf-8" );
header( "pragma: no-cache" );
header( "Expires: Wed, 31 May 2000 14:59:58 GMT" );
header( "Cache-control: no-cache" );
// 日本語

if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {

	if ( hash_hmac( 'sha256',$_POST['pass'], "himitsu" ) == 'a15c6fe4973d69106646f5304c44a03ef41490d964e9bcca4f0848431b9cfe0b' ) {
		$_SESSION['login'] = 'yes';
		header('Location: http://localhost/web/1008/005/control.php');
		exit();
	}

}

//print "<pre>";
//print_r($_SERVER);
//print "</pre>";

?>
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body>
<form method="post">
<input type="password" name="pass">
<input type="submit" name="send">
</form>
</body>
</html>



ですから、パスワードが盗まれるのはこういう経路ではなく、フィッシング詐欺です。

フィッシング詐欺の出発点は、メールから内容で不安感を煽って直接パスワードを入力させるもので、向こう側でそのパスワードがダイレクトに手に入ります。普通は気が付きますが、中には気がつかない人も居るわけで、悪い奴はハナからそういう人を狙ってます。

しかし、もっとあくどいのが、スパイウェアでして、こいつにやられたらキー入力とか全部バレたりするので正しい処理をしていてもパスワードが盗まれます。

実際は、銀行側の機能で対処します

オンラインバンキングでは、一時パスワードを処理毎に発行できるようになるのが普通で、楽天銀行だとお金を移動するのに、3つのパスワードと2つの一時パスワードが必要です。そこまでしてて盗まれたらお手あげですが、そもそもオンライン銀行にバカみたいに高額のお金を置かなければいいので、取引銀行の機能としてオンラインバンキングするのでは無く、オンラインバンキング専用の銀行を別に用意すればいいですね。

セキュリティキーボード

毎回変換配置の変わるキーボードですね。マウスでクリックするのが普通ですが、毎回変わるのでキーボードでもかまわないという特徴もあります(a と入れたい場合に x だったり 8 だったり)。これを使うと悪者はお手上げのはずです。

ワンタイムパスワードの送り先

ハードを借りるという単純なものもありますが、インターネットだとメールアドレスに送ったりするものもあります。その場合、携帯やスマホへ送るようにすれば、やはり悪者はお手上げです。



【PHPの最新記事】
posted by at 2014-10-10 23:54 | PHP | このブログの読者になる | 更新情報をチェックする