端到端加密(E2EE)
发表日期:2018-11-29
什么是端到端加密?
端到端加密技术是指数据在发送时被发送方加密,在接收方接收时被解密的技术。端到端加密只发生在发送方与接收方,而在整个传输过程中数据均已密文的形式存在,且无法进行解密操作,极大的加强了数据的安全性。因而端到端加密技术可以有效地防范数据被窃取利用的风险,成为通信应用安全的首选。
1 在端到端加密系统中,只有参与通信的双方用户可以读取通信数据。不仅网络犯罪分子无法窃听到这种通信信息,甚至连服务提供商都无法获取到通信数据。
2 可以有效防止攻击者轻易地获取到用于解密通信会话的加密密钥,能防止攻击者对用户的通信数据进行拦截或窃听。
3 端到端加密系统实现简单,只需在发送方和接收方提供加解密服务即可,无需考虑中间传输环节。
目前常用的非对称算法中存在着两种不同的技术,一种是国际标准的密码算法,另外一种是我国国产密码算法。其中国产密码算法(国密算法)是指国家密码局认定的国产商用密码算法,目前主要使用公开的SM2、SM3、SM4三类算法,分别是非对称算法、哈希算法和对称算法。
SM2算法:SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。
SM3算法:SM3杂凑算法是我国自主设计的密码杂凑算法,适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。为了保证杂凑算法的安全性,其产生的杂凑值的长度不应太短,
SM4算法:SM4分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。
接下来,我们将通过下面的问答环节来向大家介绍有关国密算法的内容。
国密算法 | 应用算法及描述 | 对应的国际算法 | 对比 | |
非对称加密 | SM2 | 身份认证,数据签名,密码交换,256位椭圆曲线 | RSA、RSA4096 | 256位的SM2密码强度已经比2048位的RSA密码强度要高 |
对称加密 | SM1 | 128位数据加密,算法不公开,仅以IP核的形式存在于芯片中。 智能IC卡、智能密码钥匙、加密卡、加密机等硬件设备 | DES、3DES、AES(128)、AES192、AES256
AES是取代DES的算法 | 算法安全保密强度及相关软硬件实现性能与 AES 相当 |
SM4 | 128位数据加密,相当于AES(128) | SM4算法与AES算法具有相同的密钥长度分组长度128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。因此在安全性上高于3DES算法。 | ||
完整性运算 | SM3 | 256位数据摘要计算,相当于SHA256 | SHA/MD5 | 国际密码MD5输出128比特杂凑值,输出长度太短,影响其安全性;SHA-1算法的输出长度为160比特,SM3算法的输出长度为256比特,因此SM3算法的安全性要高于MD5算法和SHA-1算法。 |
SM2,双方注册后生成的密钥集通过SM2进行签名验签、协商出初始根密钥、密钥交换、初始化双方单聊的加密会话,同时还用来做数字签名。
SM3,使用SM3算法将密钥链和消息密钥衍生出加密密钥。
SM4,使用SM4算法对消息内容进行加密和认证,对称加解密。
目前世界上使用人数最多的即时通信服务WhatsApp已经在他们的通信服务中引入了端到端加密技术,而且几乎所有的移动设备都可以使用这项服务,包括Android、iPhone、黑莓、诺基亚、以及WindowsPhone在内。国内一款即时通信应用企业密信也采用了相同的处理机制,不仅会对每一条信息、每一张照片、每一个视频、以及每一份文件进行加密处理,而且还会对用户的语音通话信息进行加密,并且按照一消息一密钥的机制来加密。端到端加密可以确保只有通信双方(即信息的发送方和接收方)能够对数据进行解密,即使是app的开发人员也无法解密这些数据。
下图显示了一次完整的即时通信数据加解密流程: