当前位置: 首页 > news >正文

钦州市建设网站深圳响应式网站价格

钦州市建设网站,深圳响应式网站价格,旅游网站建设参考文献,百度网页版主页文章目录一、认识HTTPS协议二、为什么要发明HTTPS三、HTTP与HTTPS的区别四、常见的加密方式1. 对称加密2. 非对称加密3. 数据摘要4. 数字签名五、HTTPS的原理探究方案1#xff1a;只使用对称加密方案2#xff1a;只使用非对称加密方案3#xff1a;双方都使用非对称加密方案4… 文章目录一、认识HTTPS协议二、为什么要发明HTTPS三、HTTP与HTTPS的区别四、常见的加密方式1. 对称加密2. 非对称加密3. 数据摘要4. 数字签名五、HTTPS的原理探究方案1只使用对称加密方案2只使用非对称加密方案3双方都使用非对称加密方案4非对称加密 对称加密引入证书方案5非对称加密 对称加密 证书认证总结一、认识HTTPS协议 HTTPS背景 HTTPS是由网景公司Netscape于1994年发明的。在当时网络刚刚兴起人们开始使用互联网进行各种通信和交易但是网络安全问题也随之成为人们关注的焦点。网景公司的工程师们在HTTP协议的基础上开发了SSLSecure Sockets Layer协议通过在传输层对数据进行加密从而保障网络传输的安全性。 后来SSL协议逐渐得到了广泛的应用和推广并在1999年被标准化为TLSTransport Layer Security协议。TLS协议是SSL的升级版具有更高的安全性和可扩展性被广泛应用于Web浏览器和Web服务器之间的数据传输以确保网络通信的安全和隐私。 尽管网景公司在1998年被AOL收购但HTTPS协议仍然被广泛应用于现代互联网中成为了保护网络通信安全的标准协议。 HTTPS协议 HTTPS是一种用于保护互联网通信安全的协议全称为超文本传输安全协议Hypertext Transfer Protocol Secure。它是基于HTTP协议的加密传输协议通过在传输数据之前使用加密算法利用 SSL/TLS 来加密数据包对数据进行加密以确保通信的安全性。 HTTPS协议的加密过程主要分为三个步骤握手、加密和身份验证。具体步骤如下 握手阶段客户端向服务器发起HTTPS连接请求服务器会向客户端发送数字证书和公钥客户端会验证证书的有效性如果证书通过验证客户端就生成一个随机数使用服务器的公钥对其进行加密然后将加密后的随机数发送给服务器。 加密阶段服务器使用私钥解密客户端发送过来的随机数然后使用这个随机数生成对称密钥再将对称密钥用客户端的公钥进行加密发送给客户端。客户端使用私钥解密服务器发送过来的对称密钥然后使用这个密钥对所有传输的数据进行加密。 身份验证阶段在握手阶段客户端会验证服务器的数字证书以确认连接的安全性。而服务器也可以要求客户端进行身份验证以确认客户端的身份。 使用HTTPS协议可以有效地保护网站的访问安全性防止数据被窃听、篡改、伪造等问题。对于一些需要保密性的数据交互例如金融交易、个人账户信息等使用HTTPS协议进行加密传输是非常必要的。 二、为什么要发明HTTPS HTTPS的发明主要是为了解决HTTP协议的安全问题。 因为HTTP协议是一种基于文本的协议所有传输的数据都是明文传输因此容易被黑客截获并窃取敏感信息。例如当用户在浏览器中输 入用户名和密码时这些信息就以明文形式在网络上传输黑客可以通过截获这些数据来获取用户的敏感信息。 HTTPS通过在HTTP协议的基础上增加了加密传输的功能将传输的数据进行加密从而保证通信的安全性。这使得HTTPS协议可以有效地保护网站的访问安全性防止数据被窃听、篡改、伪造等问题。 此外随着网络的发展和应用场景的不断拓展越来越多的网站需要进行身份验证和身份认证。HTTPS协议通过数字证书的方式可以对服务器和客户端进行身份验证防止恶意用户伪造网站从而保护用户的隐私和财产安全。 因此HTTPS协议的发明是为了保障网络通信的安全和隐私保护用户敏感信息不被窃取、篡改和伪造使用户能够更加安全地浏览网页和进行网上交易。 三、HTTP与HTTPS的区别 HTTPHyperText Transfer Protocol是一种基于文本的协议用于在Web浏览器和Web服务器之间传输数据它的数据传输是明文传输不提供加密和安全保障。而HTTPSHyperText Transfer Protocol Secure是HTTP协议的安全版本提供了加密和身份认证的功能。 以下是HTTP和HTTPS之间的主要区别 数据传输安全性 HTTP传输的数据是明文传输的容易被黑客截获并窃取敏感信息。而HTTPS在HTTP的基础上增加了加密传输的功能将传输的数据进行加密从而保证通信的安全性。 传输协议 HTTP是基于TCP/IP协议进行通信的而HTTPS在HTTP的基础上加入了SSL/TLS协议进行加密以保证数据传输的安全性。 端口号 HTTP默认使用80端口进行传输而HTTPS默认使用443端口进行传输。 证书和身份认证 HTTPS使用数字证书进行身份验证和身份认证确保客户端和服务器的安全连接。而HTTP不需要进行身份验证和身份认证容易被攻击者伪装。 性能 由于加密和身份验证的额外开销HTTPS相对于HTTP会增加一些网络负载和延迟因此会有一定的性能损失。 综上所述HTTPS相比于HTTP具有更高的安全性和可信度但会增加一定的性能开销。因此对于需要保护用户隐私和数据安全的网站应该采用HTTPS协议来确保通信的安全性。 四、常见的加密方式 1. 对称加密 采⽤单钥密码系统的加密⽅法同⼀个密钥可以同时⽤作信息的加密和解密这种加密⽅法称为对称加密也称为单密钥加密。其特征是加密和解密所⽤的密钥是相同的。 最常见的对称算法包括AESAdvanced Encryption Standard、DESData Encryption Standard和3DESTriple Data Encryption Algorithm。 对称加密的特点 算法公开、计算量⼩、加密速度快、加密效率⾼。 对称加密其实就是通过同⼀个 “密钥”把明文加密成密文并且也能把密文解密成明文。例如一个简单的对称加密按位异或。 假设明文a 1234密钥key 8888。 则加密 a ^ key 得到的密文b为9834。 然后针对密文 9834 再次进行运算 b ^ key得到的就是原来的明文 1234。 对于字符串的对称加密也是同理每⼀个字符都可以表示成⼀个数字。 当然按位异或只是最简单的对称加密而HTTPS中并不是使用按位异或来进行加密。 2. 非对称加密 非对称加密需要两个密钥来进⾏加密和解密这两个密钥是公开密钥public key简称公钥和私有密钥private key简称私钥。 常见的非对称加密算法包括RSARivest-Shamir-Adleman、DSADigital Signature Algorithm和ECCElliptic Curve Cryptography。 非对称加密的特点 算法强度复杂、安全性依赖于算法与密钥。但是由于其算法复杂使得加密解密速度没有对称加密解密的速度快。 公钥和私钥是配对的最大的缺点就是运算速度非常慢比对称加密要慢很多。一般加密和解密方式如下 通过公钥对明文加密变成密文通过私钥对密文解密变成明文 也可以反着使用 通过私钥对明文加密变成密文通过公钥对密文解密变成明文 3. 数据摘要 数据摘要Data digest也称为哈希值Hash是指将任意长度的数据通过一个特定的算法转化成固定长度的数字或字母序列。摘要值通常具有以下特点 输入数据的任意微小变化都会导致输出结果的明显差异。 输入数据相同生成的摘要值也必定相同。 摘要值是不可逆的无法通过摘要值推算出原始数据通常用来进行数据对比判断数据有没有被窜改。 摘要常见算法包括MD5、SHA-1、SHA-2等。需要注意的是由于摘要值是固定长度的因此无论输入数据有多长摘要值的长度总是相同的。这意味着在输入数据较大时可能会发生哈希碰撞Hash collision即两个不同的输入数据生成了相同的摘要值因此在使用哈希算法时需要注意这种风险。 4. 数字签名 数字签名Digital Signature是指利用公钥密码学技术对数字信息进行签名以证明信息的完整性、来源和不可抵赖性。数字签名通常包括两个过程签名和验证。 在签名过程中发送方使用私钥对原始数据进行加密生成数字签名。数字签名可以证明发送方对原始数据进行了签名并且保证数据的完整性和不可抵赖性。在验证过程中接收方使用发送方的公钥对数字签名进行解密以验证数字签名的真实性和完整性。 数字签名的主要作用是确保数字信息的可靠性和安全性。它可以防止信息被篡改、冒充和否认同时也能确保信息的来源和完整性。数字签名技术在电子商务、电子政务、网络支付和数字版权保护等领域得到了广泛的应用。 常用的数字签名算法包括RSA、DSA、ECDSA等。其中RSA是最常用的数字签名算法之一它使用公钥加密、私钥解密的方式对数字信息进行签名和验证。DSA和ECDSA则是基于椭圆曲线密码学的数字签名算法具有更高的安全性和更短的密钥长度。 五、HTTPS的原理探究 方案1只使用对称加密 如果通信双方都各自持有同⼀个密钥X且没有别人知道这两方的通信安全当然是可以被保证的除非密钥被破解。 引入对称加密之后即使数据被截获由于黑客不知道密钥是啥因此就无法进行解密也就不知道请求的真实内容。 但事情没这么简单。服务器同一时刻其实是给很多客户端提供服务的。这么多客户端每个的秘钥都必须是不同的(如果是相同那密钥就太容易扩散了黑客就也能轻易拿到)。因此服务器就需要维护每个客户端和每个密钥之间的关联关系这也是个很麻烦的事情。 比较理想的做法就是能在客户端和服务器建立连接的时候双方协商确定这次的密钥 但是如果直接把密钥明文传输那么⿊客也就能获得密钥了此时后续的加密操作就形同虚设。因此密钥的传输也必须加密传输但是要想对密钥进行对称加密就仍然需要先协商确定⼀个 “密钥的密钥”这就成了 “先有鸡还是先有蛋” 的问题了。此时密钥的传输再用对称加密就行不通了。 方案2只使用非对称加密 鉴于非对称加密的机制如果服务器先把公钥以明文方式传输给浏览器之后浏览器向服务器传数据前都先用这个公钥加密好再传从客户端到服务器信道似乎是安全的因为只有服务器有相应的私钥能解开公钥加密的数据。 但是服务器到浏览器的这条路怎么保障安全 如果服务器用它的私钥加密数据传给浏览器那么浏览器用公钥可以解密它而这个公钥是⼀开始通过明文传输给浏览器的若这个公钥被中间人劫持到了那他也能用该公钥解密服务器传来的信息了因此只使用非对称加密也是行不通的。 方案3双方都使用非对称加密 例如 服务端拥有公钥S与对应的私钥S’客户端拥有公钥C与对应的私钥C’ 。然后客户端和服务端交换公钥。客户端给服务端发信息先用S对数据加密再发送此数据只能由服务器解密因为只有服务器有私钥S’ 。服务端给客⼾端发信息先用C对数据加密在发送此数据只能由客户端解密因为只有客户端有私钥C’ 。 这样的加密方式看似行得通但是别忘了非对称加密最大的缺点就是运算速度非常慢因此效率会非常低并且也会存在安全问题。 例如中间人在双方建立连接一开始就截取了服务端发送给客户端的公钥然后替换成自己的公钥因此客户端就会误以为是服务端的公钥导致此后双方通信的数据被破解。 方案4非对称加密 对称加密 这样的加密方式可以解决效率问题 服务端具有非对称公钥S和私钥S’ 。客户端发起HTTPS请求获取服务端公钥S。客户端在本地生成对称密钥C通过公钥S加密发送给服务器。由于中间的网络设备没有私钥即使截获了数据也无法还原出内部的原文也就无法获取到对称密钥理论上如此。服务器通过私钥S’解密还原出客户端发送的对称密钥C并且使用这个对称密钥加密给客户端返回的响应数据。后续客户端和服务器的通信都只用对称加密即可。由于该密钥只有客户端和服务器两个主机知道其他主机不知道密钥即使截获数据也没有意义。 由于对称加密的效率比非对称加密高很多因此只是在开始阶段协商密钥的时候使用非对称加密后续的传输仍然使用对称加密。 虽然上面的加密方式已经比较接近实际原理了但是依旧有安全问题。因为方案2、方案3、方案4都存在⼀个共同的问题那就是如果最开始建立连接的时候中间人Man-in-the-MiddleAttack简称“MITM攻击”。就已经开始攻击了呢 中间人攻击针对上面的场景 在方案 2/3/4 中客户端获取到公钥S之后对客户端形成的对称秘钥X用服务端给客户端的公钥S进行加密中间⼈即使窃取到了数据此时中间⼈确实无法解出客⼾端形成的密钥X因为只有服务器有私钥S’。但是中间人的攻击如果在最开始握手协商的时候就进行了那就不⼀定了假设hacker已经成功成为中间人 服务器具有非对称加密算法的公钥S私钥S’。中间人具有非对称加密算法的公钥M私钥M’。客户端向服务器发起请求服务器明文传送公钥S给客户端。中间人劫持数据报文提取公钥S并保存好然后将被劫持报文中的公钥S替换成为自己的公钥M并将伪造报文发给客户端。客户端收到报文提取公钥M(自己当然不知道公钥被更换过了)形成对称秘钥X用公钥M加密X形成报文发送给服务器。中间人劫持后直接用自己的私钥M’进行解密得到通信秘钥X再用曾经保存的服务端公钥S加密后将报文推送给服务器。服务器拿到报文用自己的私钥S’解密得到通信秘钥X。双方开始采用X进行对称加密进⾏通信。但是⼀切都在中间⼈的掌握中劫持数据进行窃听甚至修改数据都是可以的。 上⾯的攻击方案同样适用于方案2和方案3。其问题的本质就是客户端无法确定收到的含有公钥的数据报⽂就是目标服务器发送过来的 引入证书 CA认证 CA证书Certificate Authority Certificate是一种数字证书由认证机构Certificate Authority简称CA颁发给其它数字证书。它是一种用于身份验证和加密通信的工具用于确保网络通信的机密性、完整性和可信性。 CA是一个第三方机构其任务是验证证书申请人的身份并为该申请人颁发数字证书。数字证书中包含了证书申请人的公钥、CA的公钥以及其他相关信息包括证书有效期和用途等。 当一个用户在浏览器中访问一个使用了数字证书保护的网站时浏览器会验证该网站的数字证书是否由已知和可信任的CA颁发并且证书是否已被撤销。如果验证成功浏览器将建立一个安全的加密连接确保所有通信都是加密的、完整的和安全的。 这个 证书 可以理解成是⼀个结构化的字符串里面包含了以下信息 证书发布机构证书有效期公钥证书所有者签名服务器的基本信息… 需要注意的是申请证书的时候需要在特定平台生成才会同时生成一对公钥和私钥。这对密钥就是用来在网络通信中进行明文加密以及数据签名的。其中公钥会随着CSR文件⼀起发给CA进行权威认证私钥服务端自己保留用来后续进行通信其实主要就是用来交换对称秘钥。 例如下列流程 当服务端申请CA证书的时候CA机构会对该服务端进行审核并专门为该网站形成数字签名过程如下 CA机构拥有非对称加密的私钥A和公钥A’。CA机构对服务端申请的证书明文数据进行Hash形成数据摘要。然后对数据摘要用CA私钥A’加密得到数字签名。 服务端申请的证书明文和数字签名S共同组成了数字证书这样一份数字证书就可以颁发给服务器了。 方案5非对称加密 对称加密 证书认证 在客户端和服务器刚⼀建⽴连接的时候服务器给客户端返回⼀个证书其中包含了之前服务端的公 钥也包含了网站的身份信息。 客户端进行认证 当客户端获取到这个证书之后会对证书进行以下校验以防止证书是伪造的。 判定证书的有效期是否过期。判定证书的发布机构是否受信任现在操作系统中已内置的受信任的证书发布机构。验证证书是否被篡改从系统中拿到该证书发布机构的公钥对签名解密得到⼀个hash值(称为数据摘要)设为hash1。然后计算整个证书的hash值设为hash2。对比hash1和hash2是否相等。如果相等则说明证书是没有被篡改过的。 中间人有没有可能篡改该证书 假如中间人篡改了证书的明文。由于他没有CA机构的私钥所以⽆法hash之后⽤私钥加密形成签名那么也就没法办法对篡改后 的证书形成匹配的签名如果强行篡改客户端收到该证书后会发现明文和签名解密后的值不一致则说明证书已被篡改证书不可信从而终止向服务器传输信息防止信息泄露给中间人。 如果中间整个掉包证书? 因为中间人没有CA私钥所以无法制作假的证书。所以中间人只能向CA申请真证书然后用自己申请的证书进行掉包。这个确实能做到证书的整体掉包但是别忘记证书明文中包含了域名等服务端认证信息如果整体掉包客户端依旧能够识别出来。因为中间人没有CA私钥所以对任何证书都无法进行合法修改包括自己的证书。 使用HTTPS进行通信的完整流程 总结 HTTPS工作过程中涉及到的密钥有三组 第一组(非对称加密)用于校验证书是否被篡改。服务器持有私钥(私钥在形成CSR文件与申请证书时获得)客⼾端持有公钥(操作系统包含了可信任的CA认证机构有哪些同时持有对应的公钥)。服务器在客户端请求是返回携带签名的证书。客户端通过这个公钥进行证书验证保证证书的合法性进⼀步保证证书中携带的服务端公钥权威性。第二组(非对称加密)用于协商⽣成对称加密的密钥。客户端用收到的CA证书中的公钥(是可被信任的)给随机生成的对称加密的密钥加密传输给服务器服务器通过私钥解密获取到对称加密密钥。第三组(对称加密)客户端和服务器后续传输的数据都通过这个对称密钥加密解密。 其实⼀切的关键都是围绕这个对称加密的密钥其他的机制也都是辅助这个密钥进行工作的。 第二组非对称加密的密钥是为了让客户端把这个对称密钥传给服务器。第一组非对称加密的密钥是为了让客户端拿到第二组非对称加密的公钥。
http://www.w-s-a.com/news/655392/

相关文章:

  • 如何加强网站建设和信息宣传wordpress 搜索提示
  • 灰色网站怎么做php yaf 网站开发框架
  • 浙江建设网站首页提供做网站公司有哪些
  • 建公司网站报价公司seo是什么级别
  • 可信赖的武进网站建设中山网站建设方案
  • 网站设计方面有什么公司运动鞋网站建设目的
  • 学校门户网站流程建设方案找人做网站 多少钱
  • 网站域名更换相应内容网站策划 要求
  • 百盛联合建设集团网站开发网站的步骤
  • php做网站评价网络公司经营范围可以加技
  • 网站积分的作用保定专业网站建设
  • 莆田做网站公司电话如何提升网站访问速度
  • 网站开发流程步骤 口袋网页访问wordpress
  • 湘潭做网站的公司自助建站教程
  • 做网站推广和头条推广wordpress 验证密码错误
  • 淘宝联盟网站怎么做深圳市创想三维科技有限公司
  • 校园网站建设招标公告php网站开发什么
  • 06628 网页制作与网站开发陕西省交通建设网站
  • 做wish如何利用数据网站暗红色网站
  • 企业 网站备案 法人长春建站模板搭建
  • 网站做快照网站改版 升级的目的
  • 自己做一个网站要多少钱海外推广什么意思
  • 郑州做网站哪家专业网络基础知识大全
  • 济南制作网站企业php 调试网站
  • 互联网站管理工作细则做网站通栏模糊
  • 徐州手机网站开发公司电话青岛有名的互联网公司
  • 如何在手机做网站wordpress 网站搬迁
  • 网站透明导航代码国外卖货平台有哪些
  • 张家界网站建设方案中国网页设计师
  • 淮南网站建设服务东莞营销型手机网站建设