此篇文章发布距今已超过360天,您需要注意文章的内容或图片是否可用!
国内很多网站喜欢用短信验证码来证明你是你,而短信验证码通过服务器后台发射,途径互联网,到达无线基站,再通过基站的无线空中接口到达你的手机,最后以6位数的验证码呈现在你的手机上。需要全程加密,这里分为两个阶段:以上需要同时满足,才具有用户身份验证的目的。而一旦其中之一不安全,那么就失去了验证的意义。因为其他人可以冒用你的身份信息而登录你的账户。以上阶段1的安全加密在服务器与基站之间进行,一旦到达基站解密之后就是明文。所以阶段2依然需要再次加密,这个由蜂窝网络4G/5G的数据链路层来完成,到达手机的数据链路层解密成明文,提交给短消息程序就是6位数的明文的验证码消息了。在阶段1服务器如何知道与自己安全通信的基站网关不是伪造的?这个简单,只需要在传输层TLS安全握手阶段,验证网关的数字证书。只需要单向身份认证(上行方向认证),即可确保这个TLS安全加密是可靠的。一旦认证成功,双方就可以分享一个PMK,根据PMK就可以推导出用于加密的TK以及安全校验的HMAC Key。阶段2,基站如何确保手机不是伪造的?手机如何确保基站是合法的,不是伪造的?需要手机在绑定基站,完成双向的数字证书认证(EAP-SIM),即手机要查看基站的证书,基站要查看手机的数字证书(嵌入在SIM卡)。一旦EAP-SIM认证成功,双方就可以分享一个PMK,根据PMK就可以推导出用于加密的TK以及安全校验的HMAC Key。这个过程也是安全的。但是,细心的读者可以看出,短信验证码在到达基站解密之后,其实会变成明文,对吗?如果基站本身不安全,或者人为因素变得不安全,发给你的短信验证码有可能在到达你的手机前已经泄露出去。为了杜绝以上安全隐患,需要确保基站的绝对安全。如果基站的安全有安全漏洞,即使以上阶段1、2是安全的,整体就是不安全的!所以,为了避免中间通信节点不安全,造成数据通信的不安全,最好的解决方案就是实现端到端(End-2-End)安全加密。端到端的安全加密通常实现在应用层(第七层)。端到端安全最好的诠释了,靠别人永远没有靠自己可靠!纵观整个通信领域,实现端到端安全加密的,常用的有电子邮件(可选项,应用程加密),iPhone的iMessage通信。以iMessage通信为例,默认应用程以下层的通信是不安全的,用户Alice的iMessage消息(发给Bob的)再发出之前,用Bob的公钥D,加密一个密钥E,然后用密钥E加密消息。Bob收到之后用自己的私钥P,尝试解密Bob公钥D加密的密钥E,很显然Bob非常轻松就解密并得到明文E,然后用E来解密消息,这个自然也是可以解密的。最终Bob得到了Alice发给自己的明文消息。Alice的iMessage消息会途径互联网,也会途径Apple的服务器,但是所有的中间节点保护Apple服务器是无法解密的,因为有能力解密消息的,只有Bob。当然以上端到端安全是基于Apple公司的诚信,即没有偷偷上传Bob的私钥P到服务器。如果Bob的私钥P上传服务器,那么理论上Apple服务器可以提前知晓明文消息。不是的,仅仅是传输层安全加密,服务器可以知晓用户的明文消息内容。 推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
https://ZhouSa.com
还没有评论,来说两句吧...