IPSec中的IKE协议是如何验证双方身份的?

 收藏
看网上资料说大概是公钥加密和预共享密钥.看了很多资料还是比较迷茫这两个到底是怎么实现身份验证的.尤其是共享密钥,A发送给B,如果B是一个中间人的话密钥不就泄露了吗?刚刚学习IPSec的小白,希望大神解答.
 

建议阅读RFC 2409 /4306/4309/5996/5998/6617/6989/7296/7427/7670/8247, 阅读完毕并充分理解,基本上就可以成为一名资深的VPN安全专家。有了这些良好的安全基础,再去学习其它安全分支技术,将变得游刃有余。。。
 
当然如果是小白同学,这些推荐书单有点超纲了,硬着头皮看也不会有什么收获。IKE握手可以用一副图片来描述:

 


简单的一副图片,里面涵盖了N多知识点,那个*代表什么意思嘛?代表加密。密钥是什么呢?密钥肯定从KE +Ni + Nr 中来啊,怎么推导出的?这个需要参考公式推导过程。
 
既然KE的交换,没有加密,也没有签名,如何判断KE / Nonce 就是真正的Peer发过来的呢?
 
没有办法,但可以秋后算账!如果没有听说过什么是秋后算账,那是因为没有在会员群里熏陶。没关系,只要知道这6个消息交互完,是真是假就分得清清楚楚了。
 
说了半天好像忘记了这篇文章的主题,双方的Pre-shared Key在哪里?和加密密钥有没有直接关系?
 
没有直接关系,Pre-shared Key只用于认证(Authentication),不用于加密(Encryption)。
 
Pre-shared Key其实隐藏在HASH_I HASH_R里,与哈希散列值融为一体,难解难分,除了通信双方知道这个Pre-shared Key,其他人如果要破解Pre-shared Key,只有重新生成一张海量的Hash表,用于碰撞(Collision)HASH_I HASH_R,一旦发生了碰撞匹配,那么Pre-shared Key就被破解了。
 
可是不要忘记,HASH_I 和HASH_R是加密传输(注意那个*),破解方只有将加密的消息解密了,才能获得HASH_I HASH_R,那攻击方至少需要拥有密钥才可以啊,难度很大吧?
 
攻击方不屑地说,这个不难啊,KE交换没有签名、也没有加密,我可以充当中间人攻击,获取加密的密钥啊。
 
没错,攻击方是可以欺骗攻击获取加密的密钥,解密得到明文的HASH_I HASH_R,然后就可以使用超级计算机来破解Pre-shared Key了。剩下的就是时间问题了,这取决于Pre-shared Key长度复杂度了。如果很不幸双方使用的是一个超级简单的Key,很快就可以破解出,然后你的VPN从此就不安全了,攻击方可以完全破解你后续的VPN加密流量。

至于双方如何认证对方,请继续阅读专业版文章,专业版文章仅供会员阅读。最近花了很多时间与精力,为会员量身打造了关于《VLAN》的培训教材,近2万字,这本教材将所有的VLAN技术都囊括其中。Access VLAN,Trunk VLAN, Private VLAN、Primary VLAN、Secondary VLAN、Standard Trunk 、Private VLAN Trunk、Super VLAN、QinQ(802.1ad)、MAC in MAC(802.1ah)、Native VLAN、Voice VLAN。如果从宏观的角度来概括一下,VLAN技术和MPLS标签技术异曲同工,POP/PUSH/SWAP/Transparent/Tunnel,这些技术也代表目前常用的网络交换、传输技术。
 
之所以写这本教材,是因为我发现一些同学,路由技术挺强的,但是二层交换技术较薄弱。在大多数网络的场景下,二层是透明传输,用户无法感知。正因为透明才难以捉摸,完美驾驭这些技术,需要从源头了解这些技术背后的用户需求,有了清晰的需求,就会明白为何有那么多奇奇怪怪的VLAN技术了。
 
如何成为会员?
公众号后台发关键字“会员群”,获取报名链接。《VLAN》这本教材,仅分发给2019年12月31日24点前加入的会员! 将会在2020年元旦集中分发,请勿提前索取!

回复