HTTPS的安全机制

【转自:http://blog.csdn.net/gschen_cn/article/details/79346047】

1 问题提出

现在广泛使用的HTTP协议采用的是一种明文传输的方式,因此通信双方的数据在网络上传输是十分不安全的。

2 解决方案
一种简单的解决方案就是对传输的数据进行加密处理,目前流行的加密方式有两种:"对称加密"和"非对称加密"。

2.1 对称加密
首先讨论对称加密方式,对称加密指的是通信双方使用同一套密钥对数据进行加密和解密,如果使用对称加密就意味着通信的双方必须都知道密钥,才能完成加密和解密操作。

【一种典型的场景是:】

客户端发送密钥至服务器,服务器接受该密钥,之后所有的数据传输都采用该密钥进行加密和解密;该方法虽然可以解决明文传输的问题,却存在安全隐患。在密钥协商阶段,客户端需要发送密钥给服务器,此时如果攻击者监测到该密钥,就可以使用该密钥来解密之后所有的数据,那么本次经对称加密后的数据传输也就变为明文传输。

因此,如何确保对称加密方式中密钥的安全是此方式中最为核心的问题。

2.2 非对称加密

接下来我们讨论非对称加密方式。 非对称加密的密钥有公钥和私钥之分,使用公钥加密的数据只有私钥才能解密,同理使用私钥加密的数据只有公钥才能解密。

那么对传输数据进行非对称加密是不是就是安全的呢?

【非对称加密一种典型的场景是:】 

由服务器生成公钥和私钥,并将公钥发送给客户端,之后服务器和客户端之间所有的数据都采用公钥和私钥加密。接下来我们分析下这种场景。 客户端接受到服务器发来的公钥,然后使用公钥对数据进行加密,根据非对称加密的原理,我们了解这种加密数据只有服务器使用私钥才能解密,因此任何攻击者截取到该信息都无法完成解密,所以任何由客户端向服务器发送的数据都是安全的。

但是,在开始阶段,服务器需要将公钥发送给客户端,在这个过程中,攻击者就有可能会拿到公钥,这就意味之后所有由服务器发给客户端的,经私钥加密的数据,攻击者同样可以用截取到的公钥对其进行解密。
综上,我们得出,采用非对称加密的方式只能保证客户端到服务器的数据是安全的,并不能保证服务器到客户端也是安全的,因此只是一种单向安全的加密方式。

2.3 混合加密方式

接下来我们探讨采用对称加密+非对称加密混合加密方式。

通过2.1 对称加密方式 一节的分析,我们知道,此种方式最大的问题在于密钥的安全性,一旦密钥被攻击者获取,那么本次传输将变为明文传输。通过2.2 非对称加密方式 我们了解非对称加密只是单向安全的数据传输,即只有客户端到服务器的传输才是安全的。

结合二者的特点,我们提出,通信双方所有的数据传输采用对称加密方式,密钥的传输采用非对称加密方式。
【一种典型的场景是:】

服务器生成公钥和私钥,并将公钥发给客户端;客户端生成对称加密的密钥,用公钥对该密钥进行加密,并发给服务器,之后所有的数据传输都使用该密钥进行加密;服务器收到该客户端发过来的经公钥加密的数据,使用私钥对其解密,从而得到客户端的密钥,之后所有来自该客户端的数据,都使用该密钥解密。

这种混合加密的方式在一定程度上确实能提高数据传输的安全性,但是它就一定安全吗? 

我们日常上网经常会使用代理服务器,如果代理服务器伪造来自真实服务器的公钥并发给客户端,那么之后所有的传输也将变为明文传输。因此,对于混合加密方式核心的问题在于无法确认该公钥是否来自真实服务器,而不是代理服务器的公钥。

2.4 证书

在混合加密方式中,客户端是直接向服务器请求公钥,该公钥有可能被伪造。我们改进一下这种方式,引入证书的概念。

证书包含三部分信息:
服务器公钥等明文信息;
摘要;
数字签名;
摘要 = hash(明文信息);
数字签名 = 该证书的颁发机构私钥加密(摘要);

【一种典型的场景是:】
客户端向服务器请求证书;
找到证书颁发机构的证书,获取公钥,然后解密数字签名,得到摘要A;
hash(明文信息) = 摘要B;
比较A和B是否相等,验证证书合法性。
此举能够验证该证书确实是由某证书机构颁发的,但是该机构就一定是合法的吗?所以需要再次验证它的合法性。

采取上述同样的方法来验证该机构的合法性,一层层的向上验证,最终在客户端浏览器中会预先安装全球受信任的证书颁发机构的证书,我们称之为根证书。

所以对于每一个服务器的证书,采取向上一层层的验证证书颁发颁发机构的合法性,只要最终经过了根证书的验证,则表示该证书是合法的。

附录
常见的hash算法: MD5 SHA1 SHA256
常见的对称加密算法: DES 3DES TDEA Blowfish RC5 IDEA
常见的非对称加密算法: RSA ECC Elgamal

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MapReduce安全机制是通过结合不同的技术和组件来保护计算过程和结果的隐私安全性。其中,Airavat是一个在MapReduce中实现了强制访问控制和差分隐私保护的工具。它结合了Selinux、DFS、JVM和MapReduce,确保了计算过程和结果的隐私安全性。 在MapReduce中,有一些常见的安全机制和措施,包括: 1. 访问控制:通过设置访问权限和角色控制,限制对MapReduce任务和数据的访问。 2. 身份验证和授权:使用身份验证机制,确保只有经过授权的用户才能执行MapReduce任务。 3. 数据加密:对敏感数据进行加密,以保护数据的机密性。 4. 安全传输:使用安全传输协议(如HTTPS)来保护数据在节点之间的传输过程中的机密性和完整性。 5. 审计和日志记录:记录MapReduce任务的执行过程和访问日志,以便进行审计和故障排除。 除了上述安全机制外,MapReduce还有一些其他的安全考虑,例如: - 文件切分和数据源:MapReduce可以处理分布式系统中存储在多个节点上的文件。文件切分和数据源的管理由Hadoop框架负责。 - 数据切分和分组:MapReduce将输入数据切分为多个数据块,并将这些数据块分配给不同的Map任务进行处理。Reduce任务接收到来自不同Map任务的输出后,会根据键值对进行分组和排序。 - 多个Reduce任务:MapReduce框架支持多个Reduce任务并行执行,可以通过配置来控制Reduce任务的数量和任务划分。 总结起来,MapReduce安全机制通过结合不同的技术和组件,如访问控制、身份验证、数据加密、安全传输、审计和日志记录等,来保护计算过程和结果的隐私安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值