• 信息安全基础


    基础概念

    明文 ⇒ \Rightarrow 密文 ⇒ \Rightarrow 明文

    加密:

    • 对称加密:加密和解密的密钥相同,例如AES加密算法
    • 非对称加密:公钥和私钥不同。公钥加密后由私钥解密;私钥加密后由公钥解密。例如RSA加密算法

    对称加密:

    • 优点:运算速度快
    • 缺点:密钥需要通信双方共享,一旦被窃取,消息会被破解
      非对称加密:
    • 优点:私钥严格保密,公钥随意分发,只知公钥无法破解密文
    • 缺点:运算速度满

    https:用非对称加密传对称加密的密钥,后面就用对称加密的密钥通信

    身份验证

    Bob将自己的公钥给Susan,Susan用Bob公钥加密信件发给Bob,只有Bob能解密信件。
    若Bob用自己的私钥加密信件,Susan用Bob的公钥解密了此信件,说明此信件必定由Bob发出 ⇒ \Rightarrow 身份验证
    身份验证:私钥加密,公钥解密

    摘要算法和数据的完整性

    摘要算法:实现信息完整性的手段。又称散列函数,哈希函数,例如MD5
    摘要算法实现:任意长度的报文 ⇒ \Rightarrow 固定长度的报文。数据指纹,摘要
    摘要算法的特质:

    1. 不可逆:只有算法,没有密钥,只能加密,不能解密
    2. 难题友好性:想要破解,只能暴力枚举
    3. 发散性:只要对原文进行一点点改动,摘要就会发生剧烈变化(雪崩效应)
    4. 抗碰撞性:原文不同,计算后的摘要也不同(让碰撞的可能性尽量小)

    常见的摘要算法:MD5,SHA1(没有强的抗碰撞性),SHA2(SHA224,SHA256,SHA384)用的多

    如何保证信件没有被篡改?

    • 将信件的摘要加在信件后面一起发过去,让接收方来识别是否被篡改
    • (Bob对message使用摘要算法生成摘要message digest,然后将message和message digest一起发给Alice;Alice收到信件后对message使用相同摘要算法生成摘要message digest2,然后对比message digest1和message digest2即可)

    摘要算法只能保证完整性,不能保证机密性:

    • 黑客将Bob的信件劫持,然后直接用新的message及对应摘要伪装成Bob发送给Alice。
    • 所以要对摘要用密钥加密:Bob使用摘要算法生成message digest,再用Bob私钥对digest加密,得到数字签名signatrue,然后将message和signature一起发给Alice。Alice收到信件后,使用Bob公钥对signature加密,得到摘要degest1,然后再使用摘要算法得到degest2,对比degest1和degest2(验签),即可保证信件是由Bob发送的,且未被修改。

    数字签名可保证信息传递过程中没被篡改,以及信息发送者身份的验证

    数字证书和https协议

    数字证书

    Dog将Dog的公钥发送给Alice,并声称自己是Bob。然后Dog使用Bob身份对Alice发送含有message和signature的信件给Alice。造成了信息不安全

    **公钥的信任:**黑客可以伪造公钥,如何判断公钥是真实的? ⇒ \Rightarrow 数字证书

    数字证书包含:

    1. 公钥名
    2. 公钥所有者
    3. 颁布者:CA(Certificate Authority,证书认证机构)
    4. 有效期
    5. 签名哈希算法(摘要算法)
    6. 指纹:证书的摘要
    7. 签名算法
    8. 序列号:证书的唯一标识

    数字证书的形成:数字证书信息 ⇒ \Rightarrow 摘要 ⇒ \Rightarrow 用CA私钥加密得到签名。证书信息和signature共同形成数字证书。

    Bob发送信件包括message,signature,数字证书。

    • Alice首先对数字证书验签:使用CA公钥得到证书摘要,对比证书的摘要(摘要算法)确保未被修改。
    • 然后对信件验签。使用证书中的Bob公钥得到信件摘要,使用摘要算法得到信件摘要,对比摘要,即可确保信件未被修改,且确定是Bob发送的

    https中的数字证书

    1. https网站首先向CA申请数字证书,CA颁布数字证书给该网站(CA用其私钥加密数字证书并签名,数字证书中还有网站的公钥)。
    2. 浏览器向该网站发送加密请求,https网站响应该请求,并发送网页和数字证书。
    3. 浏览器使用CA公钥加密数字证书并验签(CA公钥默认安装在操作系统中),判断网址是否与证书是否一致,是不是权威机构颁布的数字证书。
    4. 验签完成后,浏览使用数字证书上的网站公钥与该网站交换加密信息
  • 相关阅读:
    超级实用的电脑小技巧大全
    技术状态管理计划-模板
    大厂设计师力推的14款平面图设计工具!
    DSL查询语法
    Linux 批量杀死进程(详细版本)
    代码版的《本草纲目》毽子舞!如何本地整一个
    NLP实践——Few-shot事件抽取《Building an Event Extractor with Only a Few Examples》
    通过pipeline配置sonar自动化实现过程解析
    拨号上网和宽带上网的区别分析
    求 k 整除最大元素和(dp)
  • 原文地址:https://blog.csdn.net/qq_41358366/article/details/125541665