見出し画像

BitLockerの回復キーに使える数字を探したい

BitLockerはWindows標準のストレージ暗号化機能です。
無料ですし、処理負荷も少ないし、Windowsにしては珍しい使える機能です。
このBitLockerを有効にすると勝手に48桁の回復キーが作られますが、それとは別にマスターキー的な任意の回復キーを追加で作っておいた方が管理が楽です。

しかし、この任意の回復キーを考えるのが結構メンドクサイ。
BitLockerの回復キーに使える数字の条件はこのようになっています。
・数字6ケタを1単位の8個のグループ
・数字6ケタは11で割り切れること
・数字6ケタは720896より小さい

自分で探すと大変なので
PowerShellで数字を探すコードを書いてみました。

###
# 回復キーに使える数字を探して適当なキーを表示するコード
###

$recoverykey = "" # 回復キー
$keylist = New-Object System.Collections.ArrayList # 回復キー候補

for($i=11;$i -lt 720896;$i++){
	if( ($i % 11) -eq 0){
		$res = $keylist.add($("{0:D6}" -f $i))
	}
}

# 回復キー候補からランダムに8つ取り出す
$rand_key = Get-random $keylist -count 8

foreach($i in $rand_key){
	$recoverykey = $recoverykey + $i + "-"
}
# 一番後ろの"-"を取り除く
$recoverykey = $recoverykey.Substring(0, $recoverykey.Length - 1)

write-host $recoverykey

処理の説明をすると6桁までの数字で11で割り切れるものを検索して、その中からランダムに8個取り出しています。
6桁までの数字で11で割り切れる数字が知りたい場合は「$keylist」を実行すると全部表示されます。



#PowerShell #BitLocker #コマンドレット #プログラミング学習 #プログラミング学習 #Windows #回復キー

この記事が気に入ったらサポートをしてみませんか?