PCEVA,PC绝对领域,探寻真正的电脑知识
打印 上一主题 下一主题
开启左侧

wifi路由器加密算法探讨:直接置入密码本

[复制链接]
跳转到指定楼层
1#
haierccc 发表于 2015-2-7 11:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
点击数:6402|回复数:31
本帖最后由 haierccc 于 2015-2-8 09:59 编辑

加密算法分为对称加密和非对称加密2种,前者加密强度高,但密钥的传递是个问题。后者的安全性一直没有在数学上被证明(安全性基于破解所需的巨大资源),但解决了密钥传递问题(公钥传递不需要保密通道)。

当前无线设备的安全问题已经引起广泛的注意和研究。
WIFI设备早期的wep加密,因为有漏洞的存在,不论密码如何复杂,被破解也只是分分钟的事情。
现在的WPA/WPA2的安全性已经大大加强了,但如果密码过于简单,也很容易被用查字典的方法快速解密。对于此,大多数的安全建议是:设置一个复杂的密码。
但我们从另一个方面考虑,用户之所以用简单密码,就是因为容易记忆,复杂密码的安全性是很高,但太难以记忆了。
比如下图:

对于这样一个长达18位(144bit)的复杂密码,想靠查字典,或者穷举的方法解密已经是不可能了,但谁又能记得住呢?
对于此,我们是否可以换一个思路:根本就不记忆密码,而是把密码作为文本存储(密码本),一次性植入设备。

我的设想是这样的:用程序随机生成一段密码(或者用任何文本代替,比如《红楼梦》),作为密码本置入wifi设备,以后加密的密钥从中汲取(比如一次取128bit),并且每隔一段时间(比如10分钟),就弃之不用,取下一个128bit,并一直取下去。
因为现在的存储器容量很大,而这类纯文本信息其实信息量并不大(也很容易压缩),所以很容易加入一个数据量巨大的密码本。
我们可以做一番计算:
假设内置16MB的FLASH存储密码本,其可以存储的比特数是:
16*1024*1024*8=134217728bit
如果每次取128bit作为密钥,可以使用134217728/128=1048576次。
如果每个密钥存活时间为10分钟,那么可以使用10485760分钟,也就是7281天。
7281/365=19年

就算是8M的FLASH,也可以有9年的使用期。
于是乎,此设备在终生试用期均不用更换密码了,而且安全性大大提高,毕竟在10分钟内无法靠暴力破解128bit秘钥。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
2#
gzfyhx 发表于 2015-2-7 12:25 | 只看该作者
理想是丰满的,现实是骨感的……

企业级的可能还能实现,民用级的,那个哈哈了。
3#
dert88 发表于 2015-2-7 14:51 | 只看该作者
技术要让位于人择,好的技术未必卖得好。
你告诉客户,这是一台10年不用改密码的设备。
客户可能心里想10年后就报废?就算其实他根本用不了10年,他也不会选这个产品,就和论坛里纠结SSD颗粒PE的那些家伙一样。。
没有一个直观可见的所谓的“密码”,客户还有可能觉得厂商内置的加密有后门,剥夺了他的自主权呢。

传统这一台是客户可以自己改密码的设备,虽然客户自己定的密码不安全,但是能让客户有一种自有自主的感觉。


4#
维他命W 发表于 2015-2-7 15:28 | 只看该作者
我很好奇,你设想的这套机制~
1、宿主设备如何把当前密码分发出去?!尤其是一个陌生设备首次请求建立信任连接的时候?
2、宿主的密码轮换后,如何再次分发新密码给在上一轮已经授权连接的设备?如果该设备当前离线,什么时候再次申请接入不可知(也许是轮换了很多轮次之后),用什么机制来保持这种曾经存在过的信任关系(以便把当前有效的最新密钥分发给该设备,实现信任关系的继承)?
5#
haierccc  楼主| 发表于 2015-2-7 17:29 | 只看该作者
本帖最后由 haierccc 于 2015-2-7 17:32 编辑
维他命W 发表于 2015-2-7 15:28
我很好奇,你设想的这套机制~
1、宿主设备如何把当前密码分发出去?!尤其是一个陌生设备首次请求建立信任 ...


因为WIFI是短距离的通信,所以没有密钥传递问题。用U盘传递这个16MB的密码本就可以了。
因为在2个设备上都有密码本,在使用的时候,2边要同步密码本的偏移量,这样就可以保证2边使用同样的密码

6#
Pale_Cheung 发表于 2015-2-7 17:36 | 只看该作者
radius + 证书

可以设置 要求客户端 强制验证服务器证书.

应该还可以,要求客户端出示自己的证书(这个我没实现过,我估计也可以的).

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
7#
维他命W 发表于 2015-2-7 18:05 | 只看该作者
haierccc 发表于 2015-2-7 17:29
因为WIFI是短距离的通信,所以没有密钥传递问题。用U盘传递这个16MB的密码本就可以了。
因为在2个设备上 ...

开销大,效率低……

以前只需要口述/抄写一个10多位长度的密码(并且这个机制总是可行的),现在需要传递一个16MB的密码本(这个机制不一定可行,比如:当前接入设备没有合适的接口,或者手边没有U盘的情况等等)。

设备如果离线后,过了一段时间,该设备再次接入,宿主系统通过什么机制告知该接入设备,目前轮换到哪里了?

如果有一个机制,可以通告目前轮换到哪里了(以便让这个以前被信任接入的设备再次接入)……

那么,你这个体系就崩溃了……因为 密码本 本身毫无秘密可言(既然可以用U盘复制出来并分发了,就意味着该设备一经上市,设备本身预制的 密码本 就视同天下皆知了……)

这样的话,倒是对攻击者更为方便了……毕竟,目前的攻击方式,使用字典的话,还有一个字典选择的问题,现在好了,字典都不用选了,现成的~

8#
batzxcboy 发表于 2015-2-7 18:12 | 只看该作者
路由器没有这种功能吗?wifi不设置密码 直接添加自己家用设备的MAC地址 ,非添加名单的MAC都不能链接wifi 不就行了。

mac地址不能改的吧
9#
维他命W 发表于 2015-2-7 18:13 | 只看该作者
batzxcboy 发表于 2015-2-7 18:12
路由器没有这种功能吗?wifi不设置密码 直接添加自己家用设备的MAC地址 ,非添加名单的MAC都不能链接wifi  ...

MAC地址可以改。
10#
batzxcboy 发表于 2015-2-7 18:16 | 只看该作者

我擦
真麻烦

11#
iFive 发表于 2015-2-7 18:18 发自PCEVA移动客户端 | 只看该作者
其他的我暂且不说。
单单是10分钟自动改密码后,原先的加入的设备就完蛋了。
因为KEY已经变化,而原先的设备还在使用原先的密匙,设备就不能正常联网了。
更安全的手法应该是使用802.1x加密,然后将每个账号都绑定上MAC。
12#
维他命W 发表于 2015-2-7 18:48 | 只看该作者
iFive 发表于 2015-2-7 18:18
其他的我暂且不说。
单单是10分钟自动改密码后,原先的加入的设备就完蛋了。
因为KEY已经变化,而原先的设 ...

在楼主的设想中,10分钟周期性变换密码,是可以解决的……

比如:如果该设备首次接入后,不再离线,那么可以有一个机制,在主端将要更换密码时,通知所有的接入端 “下一次通讯,将使用B组密码……balabala……”

但是楼主的设想的矛盾之处在于:
如果不存在这样的机制,通讯就会中断;
如果存在这样的机制,整个体系的安全性就会崩溃(因为 密码本 是已知的,然后主端还要向外界公开一部分的加密策略的细节的话……)

毕竟,目前我们所采用的看似笨拙的加密策略,它有一个关键性的安全因素,即主端是静默的。

13#
红色狂想 发表于 2015-2-7 19:31 | 只看该作者
看了撸主的探讨顿时觉得有点迷茫,不太明白是什么原理。看了后面黑猩猩的回复才明白,原来是动态轮换密码呀,这个伦家以前思考动态密码问题时也曾设想过啦
其他的不说,就该技术想要进入消费级市场的话,必须解决客户端一次授权后将不再需要用户操作的问题。否则他就只能应用于国防部数据中心安全系统
14#
iFive 发表于 2015-2-7 19:38 发自PCEVA移动客户端 | 只看该作者
红色狂想 发表于 2015-2-7 19:31
看了撸主的探讨顿时觉得有点迷茫,不太明白是什么原理。看了后面黑猩猩的回复才明白,原来是动态轮换密码呀 ...

国防部还能用这种buggy的方法?
红狂你又狂了…
妥妥的私有标准WAPI+证书验证走起~
15#
红色狂想 发表于 2015-2-7 19:39 | 只看该作者
dert88 发表于 2015-2-7 14:51
技术要让位于人择,好的技术未必卖得好。
你告诉客户,这是一台10年不用改密码的设备。
客户可能心里想10年 ...

这个密码本绝对不可能出厂预置,必须由用户或管理员手工编辑填写,等同于以前是单一静态的一条密码,现在改成N个不同的密码阵列,使客户端与宿主机同步轮询。
16#
红色狂想 发表于 2015-2-7 19:55 | 只看该作者
维他命W 发表于 2015-2-7 18:05
开销大,效率低……

以前只需要口述/抄写一个10多位长度的密码(并且这个机制总是可行的),现在需要传 ...

这个密码本绝对不可能出厂预置,必须由用户或管理员手工编辑填写,等同于以前是单一静态的一条密码,现在改成N个不同的密码阵列,使客户端与宿主机同步轮询。初次申请接入时需要手工输入或通过U盘拷贝将宿主机的密码本导入客户端。这里的关键问题是,怎样使处在离散时间中的多个客户端与宿主机完成可靠的动态同步。难道要利用量子纠缠现象吗?
17#
红色狂想 发表于 2015-2-7 20:02 | 只看该作者
iFive 发表于 2015-2-7 18:18
其他的我暂且不说。
单单是10分钟自动改密码后,原先的加入的设备就完蛋了。
因为KEY已经变化,而原先的设 ...

密码改变,客户端失去连接后就自动挨个儿轮啊,1毫秒申请一次,直到轮到那个正确的,此时安全系统同步完成
18#
维他命W 发表于 2015-2-7 21:15 | 只看该作者
红色狂想 发表于 2015-2-7 19:55
这个密码本绝对不可能出厂预置,必须由用户或管理员手工编辑填写,等同于以前是单一静态的一条密码,现在 ...

楼主的想法是这样的……

1、人为了便于记忆和便于输入,很难坚持选用足够长、足够复杂的密码;
2、人有惰性,很难坚持定期更新高强度密码(这同样会带来记忆和输入的难题);
3、密码总有被攻破的时候,而这个时间点是未知的,周期性的自动更换密码,那么不管密码是否被攻破,它的损失期是受控的(在楼主的例子里,是10分钟)。

如果有一套机制,自动在设备之间进行足够复杂(海量/不定长/乱序等等)的密码生成、自动周期性轮换,就能既不烦死人,又能有足够强健的安全性。

简单来说,就是建立了一套代理人机制来帮人执行强密码策略。

密码本出厂预置不是问题
1、只要它足够大,大过一个人所掌握的词汇量,大过一个典型的字典攻击中的字典词汇量(这样它就必然比你由管理员手工建立的密码矩阵更为有效);
2、它可以是随机生成的乱序码,没有任何意义;
3、使用的规则不一定是定长顺序使用,也可以是不定长/乱序。

我不是说楼主的设想没问题,我只是说出厂预置密码本不是问题……

点评

很对!就是这个意思。 因为WIFI环境是短距离通信,所以不用涉及长距离的密钥传递,这种情况下对称加密是优选,WIFI路由器就是这样的。剩下的就是密钥的复杂性了。   发表于 2015-2-8 13:03
19#
iFive 发表于 2015-2-7 21:17 发自PCEVA移动客户端 | 只看该作者
红色狂想 发表于 2015-2-7 20:02
密码改变,客户端失去连接后就自动挨个儿轮啊,1毫秒申请一次,直到轮到那个正确的,此时安全系统同步完 ...

1、1ms申请一次,你想把AP累死吗?
2、密码表谁都能拿,怎么保证安全性?即便是有签名,也只能找到泄露源啊,毙了泄露者有用吗
3、WPA PSK验证是需要时间的,10000个密码你要试多久
4、WPA PSK本来就是为个人用户设计的。稍微大点的企业有用WPA PSK的吗,这种很难管理的网络架构根本就不适合大的网络环境,更别提是国防系统了。。
5、有了证书+服务器这种成熟的验证+授权机制,谁还用这种方法啊???

点评

顺便补一句,没在显卡吧混过就别乱用斜眼笑,我受不了了。  发表于 2015-2-8 06:49
20#
rekashin 发表于 2015-2-8 22:28 | 只看该作者
Pale_Cheung 发表于 2015-2-7 17:36
radius + 证书

可以设置 要求客户端 强制验证服务器证书.

android也行吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部