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

网站建设都有哪些wordpress 图片服务器配置

网站建设都有哪些,wordpress 图片服务器配置,中国空间站成为全人类太空之家,建网站怎么建为什么要有 HTTPS 为什么要有 HTTPS#xff1f;简单的回答是#xff1a;“因为 HTTP 不安全”。HTTP 怎么不安全呢#xff1f; 通信的消息会被窃取#xff0c;无法保证机密性#xff08;保密性#xff09;#xff1a;由于 HTTP 是 “明文” 传输#xff0c;整个通信过…为什么要有 HTTPS 为什么要有 HTTPS简单的回答是“因为 HTTP 不安全”。HTTP 怎么不安全呢 通信的消息会被窃取无法保证机密性保密性由于 HTTP 是 “明文” 传输整个通信过程完全透明其他人能够窃取到传输的明文信息。通信的消息会被篡改无法保证完整性使用 HTTP 通信任何人都能够在通信的过程中截获并篡改请求报文、响应报文但消息接收者无法识别报文是否被篡改。通信的消息会被伪造无法确认消息发送者的真实身份身份认证使用 HTTP 通信任何人都能够给一个接收者发送消息但是消息接收者无法确认消息发送者的真实身份。也就是说无法进行身份认证。无法保证不可否认性不可抵赖使用 HTTP 通信消息接收者收到一个消息后通信的一方可以否认抵赖消息不是他发送的。也就是说消息接收者无法证明这一消息的确是由通信的一方发送的。 只有同时具备了机密性、完整性、身份认证、不可否认这四个特性才能算得上是安全的通信。 HTTPS 使用 HTTP 进行通信并使用 SSL/TLS 为 HTTP 增加了机密性、完整性、身份认证、不可否认这四大安全特性。 介绍 SSL/TLS SSL 即安全套接层Secure Sockets Layer。 SSL 发展到 v3 时已经证明了它是一个非常好的安全通信协议于是互联网工程组 IETF 在 1999 年把 SSL 改名为 TLS传输层安全Transport Layer Security正式标准化版本号从 1.0 重新算起所以 TLS1.0 实际上就是 SSLv3.1。 至今TLS 已经发展出了三个版本分别是 2006 年的 1.1、2008 年的 1.2 和 2018 的 1.3每个新版本都紧跟密码学的发展和互联网的现状持续强化安全和性能。目前应用最广泛的 TLS 版本是 1.2而之前的版本TLS1.1 / 1.0、SSLv3 / v2都已经被认为是不安全的。 TLS 综合使用了对称加密、非对称加密、身份认证等许多密码学前沿技术。非对称加密在这个场景中发挥的作用是 “密钥协商”通信的双方协商得到会话密钥。会话密钥用于 HTTP 报文的加解密以实现机密性。 TLS 由记录协议、握手协议、警报协议、变更密码规范协议、扩展协议等几个子协议组成 **记录协议Record Protocol**规定了 TLS 收发数据的基本单位是记录record。它有点像是 TCP 里的 segment所有其他的子协议都需要通过记录协议发出。多个记录数据可以在一个 TCP 包里一次性发出。**握手协议Handshake Protocol**是 TLS 里最复杂的子协议。通信的双方在 TLS 握手的过程中协商 TLS 的版本号、密码套件交换随机数、数字证书和密钥参数最终通信的双方协商得到会话密钥。**警报协议Alert Protocol**的职责是向对方发出警报信息。收到警报的一方可以选择继续连接也可以立即终止连接。它有点像是 HTTP 里的状态码比如 protocol_version 就是不支持旧版本bad_certificate 就是证书有问题。**变更密码规范协议Change Cipher Spec Protocol**就是一个“通知”告诉对方后续传输的都是对称密钥加密的密文。也就是说“Change Cipher Spec” 消息之前传输的都是明文之后传输的都是对称密钥加密的密文。 TLS 的密钥套件 通信的双方在 TLS 握手的过程中会协商使用的密码套件cipher suite也被称为加密套件。 TLS 的密码套件命名非常规范。固定的格式是“密钥交换算法 签名算法 对称加密算法 分组模式 消息摘要算法”例如 “ECDHE-RSA-AES256-GCM-SHA384” 密码套件的意思就是 **密钥交换算法使用的是ECDHE。**通信的双方在 TLS 握手的过程中协商 TLS 的版本号、密码套件交换随机数、数字证书和密钥参数通信的双方使用 ECDHE 算法算法 “Pre Master Secret”。 **签名算法使用的是RSA。**TLS 握手的过程中使用 RSA 签名算法进行数字签名。服务器给浏览器发送 “Server Key Exchange” 消息服务器对密钥参数消息中的 Public 参数进行数字签名然后把签名值一并发送给浏览器。浏览器收到 “Server Key Exchange” 消息后使用数字证书中的公钥对密钥参数消息中的 Public 参数进行验签。 对称加密算法使用的是AES-256。TLS 握手后的通信使用 AES 对称加密算法进行加密以实现机密性。对称密钥的长度 256 位 **分组模式使用的是GCM。**加密明文的长度不固定而一次对称加密只能处理特定长度的一块数据这就需要进行迭代以便将一段很长的数据全部加密而迭代的方法就是分组模式。 **消息摘要算法使用的是SHA-384。**TLS 握手的过程中两次用到了该消息摘要算法。一次是“PRF” 通过消息摘要算法根据三个随机数Client Random、Server Random 和 Pre Master Secret计算主密钥 “Master Secret” 的值。另一次是通信的双方给对方发送 “Finished” 消息。一方对之前发送的数据做摘要再使用会话密钥对摘要进行对称加密让对方进行验证类似数字签名的验签。TLS 握手后的通信使用该消息摘要算法进行消息认证防止消息被篡改。 TLS1.2 握手的过程 使用 HTTPS 协议通信通信的双方会先建立 TCP 连接然后执行 TLS 握手之后就可以在安全的通信环境里收发 HTTP 请求和响应了。 执行 TLS 握手的目的是通信的双方安全的协商会话密钥。会话密钥用于 HTTP 报文的加解密以实现机密性。 TLS1.2 握手可以划分为两种方式使用 RSA 算法实现密钥交换 和 使用 ECDHE 算法实现密钥交换。 下面说的是使用 ECDHE 算法实现密钥交换的 TLS 握手过程。 TLS 握手过程的简要描述通信的双方在 TLS 握手的过程中协商 TLS 的版本号、密码套件交换随机数、数字证书和密钥参数最终通信的双方协商得到会话密钥。“Hello” 消息交换随机数“Key Exchange” 消息交换密钥参数。 浏览器给服务器发送 “Client Hello” 消息服务器给浏览器发送 “Server Hello” 消息。通信的双方协商 TLS 的版本号、密码套件并交换随机数。交换数字证书服务器为了向浏览器证明自己的身份服务器给浏览器发送 “server Certificate” 消息以发送数字证书链其中包含了两个证书。一个是 CA 机构颁发的数字证书另一个是 CA 机构的数字证书。服务器给浏览器发送 “Server Key Exchange” 消息浏览器给服务器发送 “Client Key Exchange” 消息。通信的双方交换密钥参数Client Params 和 Server Params然后通信的双方使用 ECDHE 算法算出 “Pre Master Secret”。通信的双方根据自己已知的参数Client Random、Server Random 和 Pre Master Secret算出主密钥 “Master Secret”并使用主密钥拓展出更多的密钥会话密钥避免只用一个密钥带来的安全隐患。浏览器给服务器发送 “Change Cipher Spec” 消息服务器也给浏览器发送 “Change Cipher Spec” 消息。告诉对方后续传输的都是对称密钥加密的密文。浏览器给服务器发送 “Finished” 消息服务器也给浏览器发送 “Finished” 消息。通信的双方把之前发送的数据做摘要再使用会话密钥对摘要进行对称加密让对方进行验证类似数字签名的验签。双方都验证成功握手正式结束之后就可以正常收发被加密的 HTTP 请求和响应了。 TLS 握手的过程如下图所示其中每一个框都是一个记录多个记录组合成一个 TCP 包发送。所以最多经过两次消息往返4 个消息或者说 4 个 TCP 包就可以完成 TLS 握手。 第一个消息往返 浏览器与服务器建立 TCP 连接之后浏览器会首先给服务器发送 “Client Hello” 消息。“Client Hello” 消息携带几个参数Version、Random、Cipher Suites。 VersionTLS 的版本号Random浏览器生成的随机数Client Random。随机数用于后续生成主密钥Cipher Suites浏览器支持的密码套件 Handshake Protocol: Client HelloVersion: TLS 1.2 (0x0303)Random: 1cbf803321fd2623408dfe…Cipher Suites (17 suites)Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f)Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)服务器收到浏览器发送的 “Client Hello” 消息后服务器给浏览器发送 “Server Hello” 消息。“Server Hello” 消息携带几个参数Version、Random、Cipher Suite。 VersionTLS 的版本号Random服务器生成的随机数Server Random。随机数用于后续生成主密钥Cipher Suite服务器选择使用的密码套件服务器从浏览器发送的 “Client Hello” 消息的 Cipher Suites 参数中选 Handshake Protocol: Server HelloVersion: TLS 1.2 (0x0303)Random: 0e6320f21bae50842e96…Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)服务器为了向浏览器证明自己的身份服务器给浏览器发送一个证书链包含了两个证书。一个是 CA 机构颁发的数字证书另一个是 CA 机构的数字证书。 通过引入数字证书实现了服务器的身份认证功能这样即便黑客伪造了服务器但是由于数字证书是没有办法伪造的所以黑客依然无法欺骗用户。 由于服务器选择了使用 ECDHE 密钥交换算法因此服务器需要给浏览器发送【服务端的椭圆曲线的公钥】Server Params。为了防止公钥被第三方篡改、被黑客冒充服务器会对公钥进行数字签名然后把签名值一并发送给浏览器。浏览器收到后使用数字证书中的公钥对密钥参数消息中的 Public 参数进行验签。 服务器给浏览器发送 “Server Key Exchange” 消息。“Server Key Exchange” 消息携带几个参数Curve Type、Named Curve、Pubkey、Signature Algorithm、Signature。 Curve Type、Named Curve使用的椭圆曲线的类型Pubkey根据【服务端的椭圆曲线的私钥】和 基点 G 计算出的【服务端的椭圆曲线的公钥】Server Params用于后续计算 “Pre Master Secret”Signature Algorithm、Signature使用的签名算法、签名值 Handshake Protocol: Server Key ExchangeEC Diffie-Hellman Server ParamsCurve Type: named_curve (0x03)Named Curve: x25519 (0x001d)Pubkey: 3b39deaf00217894e...Signature Algorithm: rsa_pkcs1_sha512 (0x0601)Signature: 37141adac38ea4...服务器给浏览器发送 “Server Key Exchange” 消息之后服务器发送信息完毕。服务器给浏览器发送 “Server Hello Done” 消息服务器向浏览器说明服务器发送信息完毕了。 至此第一个消息往返就结束了2 个消息或者说 2 个 TCP 包。结果是通信的双方通过明文传输共享了如下信息浏览器生成的随机数Client Random、服务器生成的随机数Server Random、使用的椭圆曲线的类型、服务端的椭圆曲线的公钥Server Params。 验证数字证书 浏览器收到服务器发送的数字证书之后浏览器需要验证数字证书是否合法、有效。 浏览器验证完数字证书合法、有效后浏览器再用数字证书中的公钥验证【服务器给浏览器发送的 “Server Key Exchange” 消息】的签名以确认服务器的身份。 浏览器确认了服务器的身份之后就开始了第二个消息往返。 第二个消息往返 由于通信的双方协商的使用 ECDHE 密钥交换算法。因此浏览器需要给服务器发送【客户端的椭圆曲线的公钥】Client Params。浏览器给服务器发送 “Client Key Exchange” 消息。 Handshake Protocol: Client Key ExchangeEC Diffie-Hellman Client ParamsPubkey: 8c674d0e08dc27b5eaa…至此通信的双方都获取到了 ECDHE 密钥交换算法需要的两个参数Client Params、Server Params于是通信的双方就使用 ECDHE 算法算出一个随机数这个随机数被叫做 “Pre Master Secret”。 ECDHE 算法可以保证即使黑客截获了之前的参数黑客也绝对算不出这个 “Pre Master Secret” 随机数因为 “Pre Master Secret” 的计算还使用了椭圆曲线的私钥。 目前通信的双方已知三个随机数Client Random、Server Random 和 Pre Master Secret。通信的双方使用这三个随机数作为原始信息通过 PRF 算出主密钥Master Secret。因为黑客拿不到 “Pre Master Secret”所以黑客也就无法得到主密钥。 主密钥 “Master Secret” 的计算这里的 “PRF” 就是伪随机数函数它基于密码套件里的最后一个参数消息摘要算法比如 SHA384。“PRF” 通过 SHA384 消息摘要算法再一次强化 “Master Secret” 的随机性。 master_secret PRF(pre_master_secret, master secret, ClientHello.random ServerHello.random)主密钥的长度为 48 字节但是主密钥并不是最终用于通信的会话密钥还会再用 PRF 扩展出更多的密钥比如浏览器发送用的会话密钥client_write_key、服务器发送用的会话密钥server_write_key等避免只用一个密钥带来的安全隐患。有了主密钥和派生的会话密钥TLS 握手就快结束了。 浏览器给服务器发送 “Change Cipher Spec” 消息。浏览器告诉服务器浏览器后续传输的都是对称密钥加密的密文。浏览器给服务器发送 “Finished” 消息。浏览器对之前发送的数据做摘要再使用会话密钥对摘要进行对称加密让服务器进行验证类似数字签名的验签。 服务器也进行和浏览器同样的操作。 服务器给浏览器发送 “Change Cipher Spec” 消息。服务器告诉浏览器服务器后续传输的都是对称密钥加密的密文。服务器给浏览器发送 “Finished” 消息。浏览器对之前发送的数据做摘要再使用会话密钥对摘要进行对称加密让浏览器进行验证。 双方都验证成功握手正式结束之后就可以正常收发被加密的 HTTP 请求和响应了。 使用 RSA 的 TLS 握手 TLS1.2 握手可以划分为两种方式使用 RSA 算法实现钥交换 和 使用 ECDHE 算法实现密钥交换。 上面说了【使用 ECDHE 算法实现密钥交换的 TLS 握手过程】下面说【使用 RSA 算法实现密钥交换的 TLS 握手过程】。 TLS 握手过程的简要描述通信的双方在 TLS 握手的过程中协商 TLS 的版本号、密码套件交换随机数、数字证书和密钥参数最终通信的双方协商得到会话密钥。“Hello” 消息交换随机数“Key Exchange” 消息交换 “Pre Master Secret”。 浏览器给服务器发送 “Client Hello” 消息服务器给浏览器发送 “Server Hello” 消息。通信的双方协商 TLS 的版本号、密码套件并交换随机数。交换数字证书服务器为了向浏览器证明自己的身份服务器给浏览器发送 “server Certificate” 消息以发送数字证书链其中包含了两个证书。一个是 CA 机构颁发的数字证书另一个是 CA 机构的数字证书。服务器给浏览器发送 “Server Hello Done” 消息服务器向浏览器说明服务器发送信息完毕了。浏览器验证数字证书合法、有效后获取数字证书中【服务器的公钥】。浏览器生成随机数 “Pre Master Secret”使用【服务器的公钥】对生成的 “Pre Master Secret” 进行加密。然后浏览器给服务器发送 “Client Key Exchange” 消息把加密后的 “Pre Master Secret” 发送给服务器。服务器收到浏览器发送的 “Client Key Exchange” 消息后使用【服务器的私钥】解密出随机数 “Pre Master Secret”。通信的双方根据自己已知的参数Client Random、Server Random 和 Pre Master Secret算出主密钥 “Master Secret”并使用主密钥拓展出更多的密钥会话密钥避免只用一个密钥带来的安全隐患。浏览器给服务器发送 “Change Cipher Spec” 消息服务器也给浏览器发送 “Change Cipher Spec” 消息。告诉对方后续传输的都是对称密钥加密的密文。浏览器给服务器发送 “Finished” 消息服务器也给浏览器发送 “Finished” 消息。通信的双方把之前发送的数据做摘要再使用会话密钥对摘要进行对称加密让对方进行验证类似数字签名的验签。双方都验证成功握手正式结束之后就可以正常收发被加密的 HTTP 请求和响应了。 【使用 RSA 算法实现钥交换的 TLS 握手过程】的大体流程没有变只是 “Pre Master Secret” 不再需要通信的双方根据密钥参数使用算法算出而是由浏览器生成浏览器再使用服务器的公钥对生成的 “Pre Master Secret” 进行加密。然后浏览器给服务器发送 “Server Key Exchange” 消息把加密后的 “Pre Master Secret” 发送给服务器。服务器收到浏览器发送的 “Server Key Exchange” 消息后使用服务器的私钥解密出随机数 “Pre Master Secret”。 这样通信的双方也已知三个随机数Client Random、Server Random 和 Pre Master Secret就可以生成主密钥了。 参考资料 23 | HTTPS是什么SSL/TLS又是什么 (geekbang.org) 26 | 信任始于握手TLS1.2连接过程解析 (geekbang.org) 3.4 HTTPS ECDHE 握手解析 | 小林coding (xiaolincoding.com)
http://www.hkea.cn/news/14399810/

相关文章:

  • 个人网站源代码下载班级优化大师下载安装最新版
  • .加强网站安全建设小伙做钓鱼网站 背警方带走
  • 帮人做淘宝网站骗钱ios定制微信免费下载
  • 北京在线建站模板网站查询服务器ip
  • 那些网站可以做问答网站备案关闭
  • 什么行业愿意做网站wordpress积分 充值
  • 金华建设技工学校网站网站网站建设平台
  • 学技巧网站制作贵阳白云网站建设
  • 个人网站的域名注册logo在线设计生成器下载
  • 帮企业建设网站和维护软文推广公司有哪些
  • 金华大奇网站建设网站怎么谈设计
  • wordpress首页显示文章列表网店seo关键词
  • 电商网站项目企业形象网站建设意义
  • 百度网盘怎样做网站网站建设费用的会计
  • 网站里的活动专题栏怎么做wordpress 载入时间
  • 想做网站濮阳网站建设优秀的设计网站有哪些
  • 兰州西固区公司网站建设浙江中联建设集团有限公司网站
  • 骨科医院网站模板营销型网站有哪些特点
  • 京东网站建设的目的贵州两学一做教育网站
  • 网站版面设计流程包括哪些营销策略4p
  • 太原市建设工程招投标信息网站响应式网站 拖拽
  • 网站建设是必须的吗网投怎么做网站
  • 网站建设及优化 赣icp某公司网页设计
  • 东营的招聘网站哪个有用毕业设计做课程网站好
  • 简约式网站淘宝上做网站怎么样
  • 建设营销网站做网站济南西
  • 网站建设温州网站建设论文ppt
  • 免费隐私网站推广广东seo价格是多少钱
  • 竹子系统做的网站可以优化么广告行业做网站哪个好
  • 哈密建设局网站网站建设方式优化