目前app服务器的通信基本上采用加密算法来传输数据包,防止数据包在传输过程中被篡改。APP加密的传输方式一般采用APK和服务器端的硬编码,解决了反向获取的问题。为了保证服务器的安全,需要截获应用程序与服务器之间的通信,重放操作,并对包数据包进行加密更改。即使安全人员获得加密方式,也需要对每个包进行解密,进行安全测试。因此,还需要使用多种工具来协调测试,导致测试效率低,界面分析不方便。
“对称式”和“非对称式”
对称式加密就是加密和解密使用同一个密钥,被称为“Session Key” 这种加密技术是目前广泛使用的,
非对称加密是用于加密和解密的相同密钥,通常是两个密钥..一个是公钥,另一个是私钥。两个密钥需要配对,否则无法打开文件。“公钥”是指它可以公开,而“私钥”不能公开。只有一个持有者知道。它的优点就在这里,因为对称加密方法,例如在网络上传输密文,很难告诉对方密钥,无论使用什么方法,都有可能在非对称加密方法中有两个密钥被监听,而且公开密钥时不必担心被别人知道。接收者只能用自己的私钥进行解密,以避免密钥传输的安全问题。一般数据加密可以三层实现:链路加密、节点加密和端到端加密。
链路加密:链路加密,又称在线加密,是只在物理层前面的数据链路层对传输数据进行加密。接收方是传输路径上的每个节点机。信息必须在每台节点机中解密和加密,以便继续进行,直到到达目的地。
节点加密:节点加密可以为网络数据提供更高的安全性,但是在操作模式中,两者都类似于链路加密,两者都在传输消息的通信链路上提供安全性,这两者都在中间节点上解密消息,然后加密,因为必须对所有发送的数据进行加密,加密过程对于用户是透明的,然后使用另一个不同的密钥进行秘密,其在节点上的安全模块中进行,节点加密要求头部和路由信息以明文发送,使得中间节点可以获取关于如何处理消息的信息,这样的方法很容易防止攻击者分析通信业务。
端到端加密:端到端加密允许数据在从源点到结束点的传输过程中始终以密文的形式存在。使用端到端加密(也称为离线加密或数据包加密)。消息在传输到端点之前不会被解密。由于消息在整个传输过程中都受到保护,即使任何节点受到损坏,也不会泄露消息。端到端加密系统的价格相对便宜,比链路加密和节点加密更可靠,设计、实现和维护更容易。端到端加密也避免了其他加密系统固有的同步问题,因为每个消息jazz都是独立加密的,所以一个消息包的传输错误不会影响后续的消息包。另外,从用户到安全直观上讲,端到端加密更为自然。单个用户可以选择此加密方法,以免影响网络上的其他用户。只要源点和端点是保密的,端到端加密系统一般不允许对消息的目的地址进行加密,由于每个通过每条消息的节点都要使用该地址来确定如何发送该消息,因此很容易防止攻击者分析通信流量,因为这种秘密方法不能掩盖所发送消息的源点和端点。