密码学基础-身份认证

密码学基础-身份认证

概述

书信的亲笔签名;公文、证书的印章起到了核准、认证的功能。

如前文密码学基础-数据加密所述,信息安全少不了身份认证的话题。只有认证了信息的来源,我们才能知道这条信息是否是正确的,合法的,安全可用的。

非对称加密技术实现身份认证

上节提到的非对称加密技术不仅可以用于实现实现机密性保护,还可以用于身份认证。

非对称加密体系依赖于一对密钥。其中一个为私钥private key,只有自己知道;另一个为公钥public key,可以分享给其他人。

  • 用于机密性保护时,使用公钥进行加密,并且只能通过对应的私钥进行解密。
  • 用于身份认证时,使用私钥对一段数据进行签名(对一段数据进行加密,比如对一段消息的 hash 做签名),对应的公钥进行签名认证(解密)。

    这种认证方式,需要确保数据接收方的公钥一定与数据发送方的私钥进行匹配。即通信双方约定的这对私钥-公钥要正常。否则可能发生中间人攻击,导致安全风险。上节提到的 ECDSA、RSA 非对称加密算法均可以用于这种身份认证机制。

中间人攻击

中间人攻击是对私钥-公钥认证体系的一种安全威胁。其基本原理如下:

  • 中间人截获了数据发送方要发给数据接收方的公钥1。
  • 中间人生成自己的私钥-公钥对,即私钥2、公钥2。
  • 中间人把自己的公钥2发送给数据接收方,伪装成正经的公钥1
  • 这样中间人就可以冒充合法的通信双方,使用公钥1破解数据发送方的数据,使用私钥2对数据进行签名,冒名顶替合法的数据发送方,给数据接收方发送数据。

基于 CA 系统的身份认证

为了避免中间人攻击。实际的通信系统会建立 CA 认证。CA 的身份认证系统中,除了数据发送方、数据接收方,还有一个第三方的认证机构,称为 CA。

就像警察局一样,CA是负责管理证书(颁发、续期、吊销)的权威机构,是一个可信的第三方。很多城市都有自己的网络 CA 认证服务器,这通常不被普通的用户感知到,他们是通信代理商自动部署的。

让我们来看以下,CA 系统如何避免中间人攻击。

  • 首先数据发送方向 CA 认证中心注册自己的公钥信息。CA 认证中心用自己的私钥签名公钥以及数据发送方的信息,生成对应的证书。以百度作为数据发送方为例:

    证书中的内容包括:
  • 数据接收方从 CA 中心申请一个根证书,内部含可信的CA中心认证证书。
  • 数据发送方对 CA 证书+公钥进行签名,并发送给数据接收方
  • 数据接收方拿到 CA 证书+公钥+签名后,先验证签名,然后上报 CA 证书+公钥到CA认证中心
  • CA 认证中心对公钥、CA 证书进行确认。以此判断此公钥的确来自已经在 CA 中心注册的、名字信息合法的数据发送方。
    总之,第三方校验机构(CA认证中心)的私钥-公钥对,来增强通信双方的身份认证。这将在下面的 TLS 连接中详细了解。

总结

  • 身份认证技术确保数据来源于可信合法的数据发送方。
  • 可以基于非对称加密算法,如 ECDSA、RSA来对数据进行签名,实现身份认证。
  • 简单的非对称加密算法实现的身份认证技术可能存在中间人攻击,可以通过 CA 认证体系,在第三方认证机构下增强身份认证,避免中间人攻击。
    (感谢点赞或收藏,持续更新)
相关推荐
奇遇0.004878 天前
tryhackme-公钥密码学基础
密码学·tryhackme
0x派大星10 天前
区块链中的数字签名:安全性与可信度的核心
区块链·密码学
CourserLi11 天前
【AI 解题】Yusa的密码学课堂 2026.1.25
人工智能·密码学
半路_出家ren12 天前
3.python模拟勒索病毒
python·网络安全·密码学·网络攻击模型·base64·病毒·勒索病毒
栗子~~14 天前
区块链中的密码学
区块链·密码学
半路_出家ren14 天前
1.古典密码概述
python·网络安全·密码学·古典密码·加密方式
码不停蹄Zzz17 天前
密码学算法之数字签名和认证协议篇(一)
密码学
じ☆冷颜〃19 天前
交换代数的解析延拓及在CS的应用
c语言·数据结构·笔记·线性代数·密码学
要做朋鱼燕20 天前
【AES加密专题】3.工具函数的编写(1)
笔记·密码学·嵌入式·aes
lightningyang21 天前
利用 OpenSSL 进行国际算法加密通信实验
服务器·密码学·openeuler·天枢一体化虚拟仿真靶场平台·openssl国际算法加密通信·密码实训