福建省经度科技有限公司

主营:区块链

*-滨州*开发

面议 中国 福建 厦门

产品属性

厦门*开发,SSL协议加密过程

前言
总括: 本文详细讲述了SSL协议中的数据加密的过程,数字证书、对称加密、非对称加密和SSL握手过程等概念。
SSL
只要你听过HTTPS,不可能没听过SSL协议吧,SSL协议是一种安全协议。对于互联网协议没有了解的童鞋可以参考博主另一篇博客:internet协议入门
HTTP+SSL = HTTPS
HTTPS之所以安全就是因为加持了SSL这个来对传输的数据进行加密,那么具体的加密方法又是什么呢?
请听我娓娓道来。先看下面两个概念:
对称加密
非对称加密

你知道上面两个概念是什么意思么??
OK,不管你懂不懂,我先用我的方式来给你解释下:
亲,你作过弊么??不要告诉我在你漫长的学生生涯里你没作过弊(那你的学生生涯得多枯燥),我们常用的方法是啥?(说把*写在胳膊大腿纸条上的同学请你出去,谢谢?) 当然是加密了!比如我出于人道主义,想要帮助小明同学,首先考试前我们会约定好一个暗号来传递选择题的*,摸头发——A,摸耳朵——B,咳嗽——C,跺脚——D,于是一个加密方法就诞生了。
这个加密方法只有我和小明知道,老师虽然看我抓耳挠腮但他顶多把我当成,并没有直接证据说我。好,这种我和小明知道,别人不知道的加密方法就是一种对称加密算法,对称加密算法也是我们日常常见的加密算法。这种算法?只有一把,加密*都用同一把*,一旦?*就全玩完了。
随时时代的进步,人们发现实际上加密和*不用同一把?也是可以的,只要加密和*的两把?存在某种关系就行了。
于是,层出不穷的非对称加密算法就被研究了出来,那么它基于什么样的道理呢?请严格记住下面这句话:
将a和b相乘得出乘积c很容易,但要是想要通过乘积c推导出a和b****难。即对一个大数进行因式分解****难。
听不懂因式分解的童鞋先去面壁5分钟,这么多年数学白学了?甩给你维基百科链接,自行补课:因式分解
好的,我们继续,非对称加密算法就多了两个概念——公钥c和私钥b。
用法如下:公钥加密的密文只能用私钥*,私钥加密的密文只能用公钥*。
公钥我们可以随便公开,因为别人知道了公钥毫无用处,经过公钥加密后的密文只能通过私钥来*。而想要通过公钥推导出a和b****难。但很明显的是,使用非对称加密效率不如对称加密,因为非对称加密需要有计算两个密钥的过程。
我们通过密码学中的两个典型的爱丽丝和鲍勃人物来解释这个非对称加密算法的过程:
客户端叫丽丝,服务器叫做鲍勃。
爱丽丝: 鲍勃我要给你发送一段消息,把你的公钥给我吧;
鲍勃: OK,这是我的公钥:234nkjdfdhjb*24**;
爱丽丝:收到公钥,我给你发送的消息经过公钥加密之后是这样的:#$#$@#@!$%*(@;
鲍勃:好的,收到了,亲,我来用我的私钥*看下你*要给我发送的内容;
上述过程就是一个非对称加密的过程,这个过程安全么?好像是很安全,即使查理(通信中的第三位参加者)截取了密文和公钥没有私钥还是没法得到明文。
可如果第三者查理发送给爱丽丝他自己的公钥,然后爱丽丝用查理给的公钥加密密文发送了出去,查理再通过自己的私钥*,这不就*信息了么?我们需要想个办法让爱丽丝判断这个公钥到底是不是鲍勃发来的。于是就有了数字证书的概念。
数字证书
数字证书就是互联网通讯中标志通讯各方*的一串数字,提供了一种在Internet上验证通信实体身份的方式,数字证书不是数字,而是身份认证机构盖在数字上的一个章或印(或者说加在数字上的一个签名)。
上面的解释看起来就头大。其实它就是一段信息。
数字证书内容大体如下:
签发证书的机构
鲍勃的加密算法
鲍勃所使用的Hash算法
鲍勃的公钥
证书到期时间
等等

数字证书是由*机构——CA机构统一来进行发行,我们信任这个机构,至于CA机构的安全性…反正99.99%之下都是安全的。
为了****中间有人对证书内容进行更改,有了一个数字签名的概念,所谓的数字签名就是把以上所有的内容做一个Hash操作,得到一个固定长度然后再传给鲍勃。然而如果别人截取了这个证书然后更改内容,同时生成了新的Hash值那怎么办?处于这个考虑,CA机构在颁发这个证书的时候会用自己的私钥将Hash值加密,从而****了数字证书被篡改。
好,我们来梳理下整个过程:
步:首先,当爱丽丝开启一个新的浏览器次去访问鲍勃的时候,会先让爱丽丝安装一个数字证书,这个数字证书里包含的主要信息就是CA机构的公钥。
第二步:鲍勃发送来了CA机构颁发给自己的数字证书,爱丽丝通过步中已经得到的公钥*CA用私钥加密的Hash-a(这个过程就是非对称加密),然后再用传递过来的HASH算法生成一个Hash-b,如果Hash-a === Hash-b就说明认证通过,确实是鲍勃发过来的。

如上,是整个数字证书的使用过程就是这样的。
多说一句,非对称加密实际应用的例子除了SSL还有很多,比如SSH、电子签名等;
如上提到的,非对称加密计算量很大,效率不如对称加密,我们打开网页注重的是啥?是速度!是速度!是速度!???
这点SSL就玩的很巧妙了,通信双方通过对称加密来加密密文,然后使用非对称加密的方式来传递对称加密所使用的密钥。这样效率和安全就都能保证了。
SSL协议的握手过程
先用语言来阐述下:
步:爱丽丝给出支持SSL协议版本号,一个客户端随机数(Clie*andom,请注意这是个随机数),客户端支持的加密方法等信息;
第二步:鲍勃收到信息后,确认双方使用的加密方法,并返回数字证书,一个服务器生成的随机数(Server random,注意这是第二个随机数)等信息;
第三步:爱丽丝确认数字证书的有效性,然后生成一个新的随机数(Premaster secret),然后使用数字证书中的公钥,加密这个随机数,发给鲍勃。
第四步:鲍勃使用自己的私钥,获取爱丽丝发来的随机数(即Premaster secret);(第三、四步就是非对称加密的过程了)
第五步:爱丽丝和鲍勃通过约定的加密方法(通常是AES算法),使用前面三个随机数,生成对话密钥,用来加密接下来的通信内容;

哈希函数

哈希函数是一种允许你对数据进行加密的数学函数。

哈希函数有三个属性:

它的输入可以是任意大小。

例如,我可以使用“我喜欢冰淇淋”这个短语作为输入,或者我也可以使用《*与和平》的全部文本,两者都行。

不论使用任何大小的输入,哈希函数的特定散列算法决定了其固定大小的输出。为了让算法过于简单,我们将使用256位输出(它是*所使用的)。

不论我使用“我喜欢冰淇淋”这一短语作为输入,还是使用《*与和平》的全文作为输入,两者都会产生相同大小的输出。

使用SHA 256算法,短语“我喜欢冰淇淋”(没有引号)创建输出:

138F4504A873C01D0864343FAD3027F03CA9BEA2F0109005FA4FC8C7DCC12634

从古腾堡计划(project Gutenberg)*的整本《*与和平》(全587,287词)创建输出:

57027F5B3877A*E43ACB101D59E963BC2CC0E86A6EBCCC34DFD035*F83B096

即使输入的文本长度相差146,821倍,你也可以获得相同大小的输出。这一点很酷也很有用。

函数是可****计算的,对于任何给定的输入字符串,你可以在合理的时间内获得输出。

即使我使用《*与和平》的整个文本作为输入,它仍然可以在较短时间内将其转换为输出。

以上是一般哈希函数的属性。一般哈希函数允许你将大量数据映射到一个小空间,这****于存储和处理不同类型的数据。

不过,我们应把*放在加密哈希函数上,因为它是*中使用的函数。

加密哈希函数有三个附加属性:

*碰撞性(Collision Resistance)
确定隐匿性(Deterministic Hiding)
难题友好性(Puzzle Friendliness)


加密哈希函数

*碰撞性

这里的碰撞是指两个不同的输入产生相同的输出。虽然输出大小相同,但输出本身不会与其他输出相同。“我喜欢冰淇淋”与《*与和平》的整个文本产生相同大小的输出,但字符不同。

如果它们产生完全相同的输出,你*了我发送给你的加密文本之后,并不会知道我是想告诉你“我喜欢冰淇淋”还是你应该阅读《*与和平》。

值得注意的是,两个“邻近”输入不会产生邻近的输出。《*与和平》的哈希与改变了一个字符的《*与和平》的哈希完全不同。

使用SHA 256,整本《*与和平》生成哈希值:

57027F5B3877A*E43ACB101D59E963BC2CC0E86A6EBCCC34DFD035*F83B096

如果我删除后一个句点,但保留其他所有内容,则会生成哈希值:

E2E2E4FFD582E20474F0310C2132EAE5F2D766C6A253C1BAF57861095B30FA

这非常类似于混沌系统中的两个“邻近”起点非常迅速地导致两个完全不同的未来轨迹。哈希函数的这种“混乱不规则性”会产生*碰撞性。它的输出几乎随机(理论上并不随机),因此不太可能发生碰撞。我们还能压缩数据,因为它可以将「无穷大」映射到有限空间。

这一特性在汇款时尤其重要。钱包的公钥是使用加密哈希函数从私钥生成的。谁都不希望其他人能够通过逆向工程获取公钥来计算你的私钥(因为你的钱可能被偷)。

如果没有人能找到碰撞的情况,则可以认为哈希函数是*碰撞的。从理论上讲,我们知道碰撞的存在是因为输入的数量是无限的,但输出的数量是有限的——只有有限种方法可以排列64个字符。

但在实践中,加密哈希函数SHA 256是*碰撞的,因为没有人发现过碰撞,并且它发生的几率是天文数字。如果人类制造的每台计算机自宇宙开始以来一直试图发现碰撞,那么它发生的可能性低于地球在接下来的两秒钟内被巨大的流星摧毁的可能性。

所以,碰撞是可能发生的,但我们首先还有很多其他更重要的问题要解决

济宁*哪家****-吉林*公司*福建省经度科技有限公司*莆田*报价-临沂*报价
内容声明:第一枪网为第三方互联网信息服务提供者,第一枪(含网站、微信、百家号等)所展示的产品/服务的标题、价格、详情等信息内容系由卖家发布,其真实性、准确性和合法性均由卖家负责,第一枪网概不负责,亦不负任何法律责任。第一枪网提醒您选择产品/服务前注意谨慎核实,如您对产品/服务的标题、价格、详情等任何信息有任何疑问的,请与卖家沟通确认;如您发现有任何违法/侵权信息,请立即向第一枪网举报并提供有效线索至b2b@dyq.cn