前言:信息安全=技术+管理

信息安全不止于数字信息,还包含实体信息;

信息安全,不仅要求能够防患未然,而且在问题发生时要求能够处理。

信息安全三元素:CIA,额外的三个元素AAA

什么是Hash?

Hash 用于防篡改,用于做快照,通过hash算法生成指定长度的唯一串。eg: 通过爬取网页内容生成hash,来判断网站内容是否更新

//这里了解一下相关的hash算法

非对称加密:

两种情况:1.用公钥加密 2.用私钥进行签名

用途:前者是为了对内容本身进行加密,后者是为了进行数字签名(目的是防止内容本身被篡改)

过程:

使用公钥(对内容加密):发送方使用公钥对内容加密后,接收方使用发送方的私钥进行解密。

使用私钥(对内容进行签名):

发送方:先对内容进行Hash(目的是生成固定长度的串),再通过私钥进行数字签名,将得到的签名值附在内容的尾部

接收方:使用公钥对签名进行处理,得到原始的内容Hash, 同时对内容生成hash,比对二者是否相等,最终判断内容是否被篡改

新时期,新风险:大算力暴力破解加密信息,在信息失去时效性前得到明文。

以下是AI扩展内容

信息安全导论:核心概念与基础技术

前言:信息安全是一个涵盖广泛的领域,其有效性建立在技术管理的紧密结合之上。它不仅关乎数字信息的安全,也包含实体信息(如纸质文件、设备)的保护。一个健全的信息安全体系不仅要能防患于未然,还必须在安全事件发生时具备有效的响应与处理能力。

信息安全的核心基石:CIA 三元组与 AAA

信息安全的目標通常围绕三个核心原则,即 CIA 三元组

  • 保密性 (Confidentiality):确保信息不被未授权的用户、实体或进程访问或泄露。

  • 完整性 (Integrity):保护数据免受未授权的篡改或破坏,确保数据的准确性和可靠性。

  • 可用性 (Availability):确保授权用户在需要时可以可靠地访问信息和相关资产。

此外,还有三个至关重要的支撑性元素,常被称为 AAA

  • 认证 (Authentication):验证用户、系统或实体的身份是否属实。(“你是你说的人吗?”)

  • 授权 (Authorization):决定通过认证的主体拥有哪些访问权限和操作权限。(“你被允许做什么?”)

  • 可审计性 (Accounting / Auditing):记录和审查用户及系统的活动日志,用于追踪、取证和合规性检查。(“你做了什么?”)

什么是哈希(Hash)?

哈希(Hash),或称散列,是一种将任意长度的输入(如消息、文件)通过哈希算法转换成固定长度、唯一(或近乎唯一)的输出串的函数。这个输出串称为哈希值或消息摘要。

  • 核心特性

    • 确定性:相同的输入永远产生相同的哈希值。

    • 快速计算:能快速计算出任意输入的哈希值。

    • 单向性:从哈希值极难(在计算上不可行)反推出原始输入。

    • 抗碰撞性:极难找到两个不同的输入得到相同的哈希值。

    • 雪崩效应:输入的微小变化会导致哈希值发生巨大且不可预测的变化。

  • 用途

    • 防篡改:正如您笔记中所说,这是哈希最主要的用途之一。例如,软件下载站会提供文件的哈希值。用户下载文件后可以自行计算其哈希值并与官网提供的进行比对,若不一致,则说明文件可能在传输过程中被篡改或损坏。

    • 快照与验证:用于检测数据变化。您的例子非常贴切:爬虫程序定期对网页内容生成哈希并存储。下一次爬取时,只需计算新内容的哈希并与旧值对比,即可高效判断网页内容是否更新,而无需比对整个网页内容。

    • 密码存储:系统通常不直接存储用户密码明文,而是存储其哈希值。用户登录时,系统对输入的密码再次进行哈希计算,并与存储的哈希值比对。这样即使数据库泄露,攻击者也无法直接获得用户的明文密码。

    • 区块链与数字货币:构成了区块链技术的基石,用于连接区块和保证交易记录的不可篡改性。

  • 常见哈希算法

    • MD5:产生128位哈希值。因其抗碰撞性已被攻破,不再推荐用于安全目的,但仍可用于简单的完整性校验。

    • SHA-1:产生160位哈希值。同样存在安全性弱点,已被大多数安全应用淘汰。

    • SHA-2 家族:包括 SHA-256SHA-384SHA-512 等,是目前广泛使用的安全哈希算法。

    • SHA-3:最新的哈希标准,设计上与SHA-2不同,提供了另一种选择。

非对称加密(公钥密码学)

非对称加密使用一对 mathematically related 的密钥:一个公钥 (Public Key) 和一个私钥 (Private Key)。公钥可以公开给任何人,而私钥必须由所有者严格保密。正如您所指出的,其应用主要分为两种情况:

1. 使用公钥加密(确保保密性)

这个过程旨在保护内容本身的机密性,防止窃听。

  • 发送方:使用接收方的公钥对明文消息进行加密,得到密文。

  • 接收方:使用自己的私钥对密文进行解密,恢复出原始明文。

关键点:因为只有接收方持有解密的私钥,所以即使密文在传输过程中被截获,任何没有私钥的第三方也无法解密其内容。这解决了对称加密中密钥分发难的问题。

2. 使用私钥进行签名(确保完整性与认证)

这个过程旨在验证发送方身份并确保内容未被篡改,即数字签名

  • 发送方(签名过程)

    1. 对要发送的原始消息(Message)应用哈希算法,生成一个固定长度的消息摘要(Digest)。

    2. 使用自己的私钥对这个摘要进行加密,加密后的结果就是数字签名(Signature)

    3. 原始消息数字签名一起发送给接收方。

  • 接收方(验证过程)

    1. 接收后,将收到的消息原文再次应用相同的哈希算法,独立计算出一个新的消息摘要(Digest`)。

    2. 使用发送方的公钥对附带的数字签名进行解密,得到发送方当时计算的原始摘要(Digest)。

    3. 对比两个摘要:

      • 如果 Digest == Digest,则证明:

        • 完整性:消息在传输过程中未被篡改。

        • 认证:消息确实来自于持有对应私钥的发送方(因为只有他的私钥能生成可用其公钥解开的签名)。

        • 不可否认性:发送方事后无法否认他发送过这条消息。

新时期的新风险:算力挑战

您提到的“大算力暴力破解”是当今信息安全面临的严峻挑战,特别是在量子计算兴起的背景下。

  • 暴力破解:攻击者尝试所有可能的密钥组合,直到找到能正确解密信息或碰撞出相同哈希值的那个密钥。

  • 算力增长:根据摩尔定律,计算设备的处理能力持续指数级增长,使得曾经被认为安全的密钥长度(如RSA-1024)在未来可能变得脆弱。

  • 量子计算威胁:Shor算法等量子算法能高效解决大整数质因数分解和离散对数问题,这直接威胁到目前广泛使用的RSA、ECC等非对称加密算法的安全。一个足够强大的量子计算机可以在短时间内破解这些加密。

  • 应对策略(后量子密码学)

    • 增加密钥长度:短期策略,但效率会降低。

    • 研发和迁移至抗量子密码算法(PQC):使用基于格、编码、多变量等数学难题的加密算法,这些难题被相信即使对于量子计算机也难以解决。各国标准机构(如NIST)正在积极推进PQC的标准化进程。