您现在的位置是:首页 >技术交流 >网络安全之密码学网站首页技术交流

网络安全之密码学

White乄joker 2023-05-20 16:00:02
简介网络安全之密码学

目录

密码学

定义

密码的分类

对称加密

非对称加密

对称算法与非对称算法的优缺点

最佳解决办法 --- 用非对称加密算法加密对称加密算法的密钥

非对称加密如何解决对称加密的困境

密钥传输风险

密码管理难

常见算法

对称算法

非对称算法

完整性与身份认证最佳解决方案

密码学的应用

身份认证技术的应用

如何确认信息发送者是本人

存在问题

解决问题

 CA

PKI

PKI体系

CA中心

数字证书

密码学完整应用​编辑

SSL协议分析

定义

介绍

无客户端认证的握手过程​编辑

有客户端认证的握手过程​编辑

会话恢复过程(之前已经建立过会话,再次连接)

SSL协议的细节

        协议位置

        体系结构​编辑

        SSL的两个概念


密码学

定义

        密码学是网络安全、信息安全、区块链等产品的基础,常见的非对称加密、对称加密、散列函数等,都属于密码学范畴。密码学有数千年的历史,从最开始的替换法到如今的非对称加密算法,经历了古典密码学,近代密码学和现代密码学三个阶段。密码学不仅仅是数学家们的智慧,更是如今网络空间安全的重要基础。

        替换法 --- 就是用固定的信息将原文替换成无法直接阅读的密文信息。例如将 b 替换成 w ,e 替换成p ,这样bee 单词就变换成了wpp,不知道替换规则的人就无法阅读出原文的含义。

        密码学之于信息传输 --- 在不安全的环境下建立安全输出通道

        密码 --- 明文 -->算法+密钥 ---> 密文

举例:
明文: ok
使用凯撒密码
算法:对字母进行平移可以左也可以右,移动若干位
密钥:向右平移3个字母
密文:rn

密码的分类

对称加密

        加解密用的是同一个密钥,数学角度是一个双向函数

        对称加密首先要保证算法足够复杂以及密钥传输足够安全

加密信息传递又两个通道

        密文传递通道

        密钥传递通道

        存在问题 --- 密钥如何传输

非对称加密

        在互联网时代我们希望能偶在网上公开途径传输密钥

        diff和hellmen开创了非对称加密算法 --- DH算法

DH算法解决了在公开场合密钥安全传递问题

对称算法与非对称算法的优缺点

  • 对称加密算法解决信息的安全传输通道
  • 非对称加密算法解决对称加密算法密钥的安全传输通道
  • 对称加密速度快,但不安全
  • 非对称加密算法速度慢,但安全

最佳解决办法 --- 用非对称加密算法加密对称加密算法的密钥

非对称加密如何解决对称加密的困境

        密钥安全传输 --- 对称加密算法的缺陷

密钥传输风险

        Alice与bob必须使用一个安全的信道来传输对称密钥,但是消息传输的通道是不安全的。对称加密A的密钥需要用对称加密B来传输---B的密钥不安全会导致A的不安全。

密码管理难

        如果没有非对称加密,百度这个企业需要和用户做安全传输,就需要保存至少3-5亿个密钥。根据我们上图的非对称算法只需要一把公钥,而对称需要亿级别的钥匙

常见算法

对称算法

非对称算法

完整性与身份认证最佳解决方案

        核心原理 --- 私钥加密公钥解密

        过程 --- 对明文a进行hash运算得到定长值h,然后对h进行非对称运算用私钥加密得到值k,然后对明文值a进行对称运算得到y,传输时同时传输给y和k,收到后用非对称公钥解开k得到h,然后用堆成算法解开y得到a,然后对a进行hash得到h``,如果h与h``相同, 则证明完整性与身份认证。

密码学的应用

身份认证技术的应用

        身份认证 --- 通过标识和鉴别用户身份,防止攻击者假冒合法用户来获取访问权限

        身份认证技术 --- 在网络总确认操作者身份的过程而产生的有效解决方法

如何确认信息发送者是本人

        发送者是alice,使用非对称算法,生成私钥A,公钥B。

  1. alice把公钥给bob

  2. alice发送信息hello,world!

  3. alice把发送的信息用对称加密算法加密到加密信息C。

  4. alice把发送的hello,world!先用hash算法计算得到hash值D。

  5. alice把hash值D用非对称加密计算得到E。E值就是用于身份验证的。

  6. alice把C,E一起发给bob。

  7. bob收到C,E值,先用非对称的公钥对E进行解密,如果能正常解开则证明C值是alice的。

存在问题

        上述1中如果黑客偷换了alice的公钥,那么就会出现身份认证漏洞  

解决问题

解决思路:

        alice把公钥给bob的环节能确保是安全的,一定是alice给的。

        想办法证明alice的公钥一定是alice的。

配置公钥的“身份证”-----数字证书

 CA

PKI

        定义 --- PKI(公开密钥体系, Public Key Infrastructure )是一种遵循标准的利用 非对称加密技术 为电子商务的开展提供一套安全基础平台的技术和规范。
        简单说就是利用公钥技术建立的提供安全服务的基础设施。通过第三方的可信机构, CA认证中心 把用户的公钥与用户的其他标识信息捆绑在一起放在用户证书中,在互联网上验证用户身份。

PKI体系

        PKI --- 是创建、颁发、管理、注销证书所涉及到的所有软件、硬件的集合体。其核心元素数字认证书核心执行者CA认证机构 

CA中心

        CA中心 --- 即证书授权中心(Certificate Authority ),或称证书授权机构,作为 电子商务交易 中受信任的第三方。

数字证书

        包括 --- 用户身份信息;用户公钥信息;身份验证机构的信息及签名数据

        分类 --- 签名证书 ---- 身份验证,不可抵赖性

                     加密证书 ---- 加密,完整性机密性

密码学完整应用

SSL协议分析

定义

        SSL协议(Secure Sockets Layer)安全套接层 --- 由美国网景通信(Netscape)公司自1990年开发,用于保证WWW通信安全。主要任务是提供私密性信息完整性身份认证

介绍

        SSL --- 一个不依赖于平台和运用程序的协议,位于TCP/IP协议与各种应用层协议之间,为数据通信提高安全支持

无客户端认证的握手过程

注意:

        可能遭受到的攻击:重放攻击

        重放攻击(Replay Attacks) --- 又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证正确性

 PreMasterKey密钥参数 --- 合成对称密钥的前置数值

初始化向量

有客户端认证的握手过程

报文类型参数
hello_request
client_hello版本、随机数、会话ID、密文族、压缩方法
server_hello版本、随机数、会话ID、密文族、压缩方法
certificatex.509V3证书链
server_key_exchange参数、签名
certificate_request类型、授权
server_done
certificate_verify签名
client_key_exchange

参数、签名

finishedHash值

会话恢复过程(之前已经建立过会话,再次连接)

SSL协议的细节

        协议位置

注意:

        ssl --- 介于应用层tcp层之间。应用层数据不再直接传递给传输层,而是传递给ssl层,ssl层对从应用层收到的数据进行加密,并增加自己的ssl头。

        体系结构

         SSL握手协议(SSL Handshake Protocol) --- 建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

        SSL记录协议(SSL Record Protocol) --- 建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装压缩加密等基本功能的支持。

注意:

        SSL协议实际上是SSL握手协议SSL修改密文协议SSL警告协议SSL记录协议组成的一个协议族

        SSL修改密文协议 --- 在客服端和服务器完成握手协议之后,它需要向对方发送相关消息(该消息只包含一个值为1的单字节),通知对方随后的数据将用刚刚协商的密码规范算法关联的密钥处理,并负责协调本方模块按照协商的算法密钥工作

        SSL报警协议 --- 是用来为对等实体传递SSL的相关警告。如果在通信过程中某一方发现任何异常,就需要给对方发送一条警示消息通告

        SSL的两个概念

        连接 --- 是一个提供一种合适类型服务的传输(OSI分层的定义)。SSL是点对点的关系。连接是暂时的,每一个连接一个会话关联。

        会话 --- 是在客户服务器之间的一个关联。会话由handshake protocol创建。会话定义了一组可供多个连接共享的密码安全参数。会话用以避免为每个连接提供新的安全参数所需的昂贵的协商代价

 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。