2023年7月31日发(作者:)
为什么14位的复杂⼝令字是安全的?⽹络安全评估标准中,对⼝令字的安全要求是:由字母、数字、符号组成的长度不少于14位的复杂⼝令字。为什么这样的⼝令字是安全的呢?我⽤Python代码模拟了⿊客对这样的⼝令字进⾏暴⼒破解的过程,代码主要包括3点考虑:1. 正常情况下,⿊客会逐位递增尝试⼝令字的排列组合;2. 键盘上能作为⼝令字的字符有95个,包括⼤⼩写字母、数字和符号;3. 世界上最快的计算机是Summit,理论上的峰值运算速度可达每秒20亿亿次。由这三点考虑形成了如下代码:import mathnum_pass_length = 1 # 密码长度,⼝令字长度由1逐渐增加total_time = 0 # 破解时间,0位⼝令字为0num_pass_char = 26 + 26 + 10 + 33 # 95个能作为⼝令字的字符:包括52个⼤、⼩写字母,10个数字,33个符号for num_pass_length in range(1,16): # 测试的⼝令字长度为0到15位 num_total_path = (num_pass_char, num_pass_length) # 当前位数的⼝令字排列组合可能性 count_tianhe = 2 * (10, 17) # 最快的计算机理论上的峰值运算速度为20亿亿次/秒 year_to_sec = 365 * 24 * 60 * 60 # ⼀年多少秒钟 need_time_year = num_total_path /year_to_sec /count_tianhe # 当前长度的⼝令字需要破解的时间 total_time += need_time_year # 累计破解时长 if num_pass_length >= 5: print("{}位密码,理论上最快{:.3f}年内完全破解".format(num_pass_length, total_time))结果如下:5位密码,理论上最快0.000年内完全破解6位密码,理论上最快0.000年内完全破解7位密码,理论上最快0.000年内完全破解8位密码,理论上最快0.000年内完全破解9位密码,理论上最快0.000年内完全破解10位密码,理论上最快0.000年内完全破解11位密码,理论上最快0.001年内完全破解12位密码,理论上最快0.087年内完全破解13位密码,理论上最快8.226年内完全破解14位密码,理论上最快781.429年内完全破解15位密码,理论上最快74235.772年内完全破解通过结果可以看出,10位以下的⼝令字安全性很低。⽽11、12、13位的⼝令字通过周期更换的⽅法,可以被认为⽐较安全。⾄于14位以上的复杂⼝令字,因为破解13位以内的⼝令字已经需要耗费8年多,所以⿊客⼀般不会对14位以上的复杂⼝令字进⾏尝试,那么它当然是安全的!
2023年7月31日发(作者:)
为什么14位的复杂⼝令字是安全的?⽹络安全评估标准中,对⼝令字的安全要求是:由字母、数字、符号组成的长度不少于14位的复杂⼝令字。为什么这样的⼝令字是安全的呢?我⽤Python代码模拟了⿊客对这样的⼝令字进⾏暴⼒破解的过程,代码主要包括3点考虑:1. 正常情况下,⿊客会逐位递增尝试⼝令字的排列组合;2. 键盘上能作为⼝令字的字符有95个,包括⼤⼩写字母、数字和符号;3. 世界上最快的计算机是Summit,理论上的峰值运算速度可达每秒20亿亿次。由这三点考虑形成了如下代码:import mathnum_pass_length = 1 # 密码长度,⼝令字长度由1逐渐增加total_time = 0 # 破解时间,0位⼝令字为0num_pass_char = 26 + 26 + 10 + 33 # 95个能作为⼝令字的字符:包括52个⼤、⼩写字母,10个数字,33个符号for num_pass_length in range(1,16): # 测试的⼝令字长度为0到15位 num_total_path = (num_pass_char, num_pass_length) # 当前位数的⼝令字排列组合可能性 count_tianhe = 2 * (10, 17) # 最快的计算机理论上的峰值运算速度为20亿亿次/秒 year_to_sec = 365 * 24 * 60 * 60 # ⼀年多少秒钟 need_time_year = num_total_path /year_to_sec /count_tianhe # 当前长度的⼝令字需要破解的时间 total_time += need_time_year # 累计破解时长 if num_pass_length >= 5: print("{}位密码,理论上最快{:.3f}年内完全破解".format(num_pass_length, total_time))结果如下:5位密码,理论上最快0.000年内完全破解6位密码,理论上最快0.000年内完全破解7位密码,理论上最快0.000年内完全破解8位密码,理论上最快0.000年内完全破解9位密码,理论上最快0.000年内完全破解10位密码,理论上最快0.000年内完全破解11位密码,理论上最快0.001年内完全破解12位密码,理论上最快0.087年内完全破解13位密码,理论上最快8.226年内完全破解14位密码,理论上最快781.429年内完全破解15位密码,理论上最快74235.772年内完全破解通过结果可以看出,10位以下的⼝令字安全性很低。⽽11、12、13位的⼝令字通过周期更换的⽅法,可以被认为⽐较安全。⾄于14位以上的复杂⼝令字,因为破解13位以内的⼝令字已经需要耗费8年多,所以⿊客⼀般不会对14位以上的复杂⼝令字进⾏尝试,那么它当然是安全的!
发布评论