智能手机用户在使用手机APP的时候,是否注意到了APP的网络传输安全性呢,小编觉得我们有必要关注一下,下面小编就给大家介绍下如何保障手机app网络传输安全性。
为了保证传输数据的安全,需要使用加密算法。在决定什么样的业务场景使用什么样的加密算法之前,先要了解我们的工具箱里有哪些可用工具。加密算法的工具箱里其实就两种工具:“对称”加密算法和“非对称”加密算法。清楚这两个分类是合理设计加密算法使用场景的大前提,两个分类里我们各挑选一个代表算法来研究,“对称”加密挑选AES,“非对称”加密选择RSA。了解AES和RSA之后我们再针对一些特定业务场景设计安全模型。
非对称加密之RSA
对称加密的安全性全系于加密密钥的管理,在非对称加密算法出现之前,如何动态的协商密钥一直是个难题,大部分的应用场景都是采用通信双方通过其他手段预先交流密钥的方式。一旦密钥泄漏,就会导致严重的安全事故。直到1976年Diffie Hellman算法出现解决了密钥协商的问题,1977年RSA诞生同时提供了密钥协商方案和电子签名方案。
RSA的使用已经相当广泛,也有很多优秀的教程解释其原理,推荐其中一篇。
关于RSA这种非对称加密算法,在App的使用当中,需要明白其主要作用有2个:
信息加密:通信双方可以在公开的网络环境下,“安全”的商量对称加密算法所使用的密钥。
电子签名:为了防止中间人攻击,通信双方在商量密钥之前可以通过签名算法确认对方的身份。
非对称加密算法本身是一种加密算法,但由于RSA本身加解密的性能在现在的计算机硬件条件下存在一定瓶颈,同时对加密数据的“安全长度”也有限制,被加密数据的长度一般要求不超过公钥的长度。所以RSA更多的是被用来商量一个密钥,如果密钥是安全的,那么后续的通信都可以使用上面提到的AES来完成,AES在性能上不存在瓶颈。
RSA算法最经典也是最广泛的应用场景是HTTPS,HTTPS的安全握手流程完整的阐释了“加密”和“签名”这两个概念。推荐一篇文章详细的分析HTTPS的握手流程。
RSA有另一个竞争者ECC,ECC现在使用也越来越广泛。二者在安全性上都不存在问题。不过ECC额外的优势,公钥私钥的生成速度快于RSA,在需要大量生产密钥对的业务场景下ECC会是更好的选择。ECC的最短安全公钥也比RSA要短的多,224bits的ECC公钥就已经足够安全,而同等级别的RSA公钥需要长达2048bits。RSA由于实现简单,出现较早,可以预见在很长一段时间内都将和ECC共存。
以上内容希望对您有所帮助,本站还有很多通讯安全小知识,下期我们将介绍手机下载网络资源需注意哪些危险隐患,欢迎查阅。