gaeTiddlywikiパスワード管理について

passcypt.png

	/*uuid=salt*/
	public String getHashedidpass(String id, String password, String uuid){
		String recursivehashed = "";
		String idhashed = Password.obfuscate(id);
		StringBuilder sb = new StringBuilder();
		for(int i=0;i<1000;i++){ /*key stretching*/
			sb.delete(0, sb.length());
			recursivehashed = Md5sum.md5sum(Password.obfuscate(sb.append(recursivehashed).append(idhashed).append(password).append(uuid).toString()));
		}
		return recursivehashed;
	}

仮にsqlインサート文のエスケープ誤りを突いた攻撃やデータベースファイルそのものがコピーされ全てのデータが流出したとして(上写真)、またデータを格納するにあたって暗号化ハッシュコードを作成するプログラムソースコードも解読されたとしても、この情報から有効なid,passwordペアを復号することは殆ど現実的でないと考える。
(ただし、例えばid:test,password:testとかの場合にはデータの流出にかかわらず正規のルートで試しログインするような構図で試し打ちid:試し打ちpassword本当のid:本当のpasswordと同じものであるのがバレる。これは現在技術的に回避できる問題でない)

セキュリティ概念

    last modified: 14 July 2013 [ View wiki source Close ]
     
SEARCH DIFFERENCE ATTACHMENT RECENT POST