news 2026/6/15 13:39:03

什么是Keychain

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
什么是Keychain

文章目录

    • 为什么需要keychain
    • keychain是由哪些部分组成
    • keychain是如何工作的
    • keychain的典型应用



Keychain中的Key,不是算法,也不是密钥,而是一套加密和认证的规则。keychain通过对它拥有的一系列Key进行集中控制和灵活管理,为应用程序提供动态的安全认证服务。本文从为什么需要keychain,组成部分,如何工作,典型应用这几个方面展开介绍。


为什么需要keychain

RIP、IS-IS、OSPF、BGP等应用程序在和对端进行会话之前,需要首先建立传输层的连接。

为了保证应用程序会话连接和交互数据的安全性,可以对报文进行MD5算法的认证,但MD5认证存在如下缺点:

  • MD5算法相对简单,无法满足安全性要求高的网络。
  • 考虑到密钥安全,应定期更换密钥。MD5算法和密钥直接在应用程序中配置,与应用程序之间是一对一的静态绑定。因此,需要分别在两端设备的多个应用程序上逐个进行手动更换。

为了替代MD5,Keychain定义了应用程序认证的Key的集合:

  • Keychain中的每个Key中可以灵活挑选相对MD5更安全的算法,后续还能扩展选择更安全的算法。
  • Keychain中的每个Key拥有独立的算法、密钥和活跃时间。两端设备的应用程序使用了Keychain认证,即会匹配多个Key。因此可以根据Key的活跃时间实现在两端设备的多个应用程序上定期自动更换认证算法和密钥。
  • Keychain中的Key在进行动态更换时,不需要断开重连正在使用的传输层连接,可以始终保持应用程序会话连接的稳定性,不会中断业务。

keychain是由哪些部分组成

Keychain是加密规则(key)的集合。每个规则必须含有以下三部分:认证算法、认证密钥、Key的活跃时间。其中认证算法和认证密钥用来控制加密/解密报文,Key的活跃时间表示在这段时间内,能够使用配置的算法和密钥对报文认证后发送/接收。

  • 认证算法:支持MD5、SHA-1、HMAC-MD5、HMAC-SHA1-12、HMAC-SHA1-20、HMAC-SHA-256、SHA-256、SM3、HMAC-SHA-384、HMAC-SHA-512算法。
  • 认证密钥:一段用于加密的字符串。同一明文信息使用不同的密钥加密,会得到不同的密文;只有使用同一个密钥加密,才会得到相同的密文。
  • Key的活跃时间:代表了这个Key生效的时间段,当一个Key没有处于活跃时间时,会由另一个活跃的Key来替代。

keychain是如何工作的

按照不同应用程序应用Keychain进行认证的不同处理流程,可分为非TCP应用程序使用Keychain认证和TCP应用程序使用Keychain认证。

Keychain的实现原理(非TCP)

Keychain本身只对加密和认证的Key进行管理,只有在被应用程序使用时,Keychain才能发挥作用。

应用程序在使用Keychain认证时,是通过绑定一条Keychain来实现,例如绑定KeychainA,则可以使用这条Keychain中的Key集合来进行加密和解密。

  • 加密过程

非TCP应用程序使用Keychain认证的加密过程

  • 解密过程


非TCP应用程序使用Keychain认证的解密过程

Keychain的实现原理(TCP)

TCP应用程序使用Keychain认证的原理与非TCP应用程序类似,只是增加了TCP增强认证选项。

  • TCP增强认证选项
    TCP增强认证选项的格式如下图所示,TCP报文头中会携带此认证选项,专门用于为TCP连接提供认证保护。

TCP增强认证选项的格式

  • Kind:8个比特,用于标识此选项的类型,由IANA分配。
  • Length:8个比特,用于标识此选项的总长度。
  • T:1个比特,用于标识此选项是否被包含在TCP增强认证计算的对象中,0表示包含,默认值是0。
  • K:1个比特,为以后预留,当前值是0。
  • Alg-id:6个比特,用于标识TCP增强认证的算法。
  • Res:2个比特,为以后预留,当前值是0。
  • Key-id:6个比特,用于标识Keychain认证的Key。
  • Authentication Data:长度可变,至少包含TCP增强认证计算的结果。

由于IANA没有统一定义Kind和Alg-id字段的取值,各设备商使用不同的取值。为了使不同厂商的设备能够互通,Keychain支持配置TCP Kind和TCP algrithm-id。

  • 加密过程

TCP应用程序使用Keychain认证的加密过程

  • 解密过程

TCP应用程序使用Keychain认证的解密过程

keychain的典型应用

RIP、IS-IS、OSPF、BGP等协议报文都需要进行加密才能符合网络完全性,Keychain为这些协议报文提供了认证保护,Keychain通过动态的更改认证算法和密钥,提高了协议报文的安全性。下面以Keychain在IS-IS协议报文上的应用进行简要介绍。

IS-IS作为一种广泛应用的路由协议,提高IS-IS协议的安全性是保证IS-IS正确路由的基础。IS-IS可以通过配置固定认证算法或密钥的方式对其进行认证,但是固定认证算法和密钥很容易被破解。为了增强IS-IS协议的安全性,可以使用Keychain对IS-IS协议报文进行认证。

如下图所示,需要在每台设备上建立Keychain,然后在IS-IS进程下配置路由域认证和区域认证,同时在接口下配置接口认证,才能实现所有设备之间通过IS-IS协议实现网络互连。

使用Keychain对IS-IS协议进行认证


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 18:19:15

什么是跨站脚本攻击(XSS)

文章目录跨站脚本攻击是如何工作的常见跨站脚本攻击类型如何防止跨站脚本攻击华为安全产品帮助您防御跨站脚本攻击跨站脚本攻击(Cross-site Scripting,通常称为XSS),是一种典型的Web程序漏洞利用攻击。攻击者利用Web程序对用户输入…

作者头像 李华
网站建设 2026/6/15 14:09:36

《创业之路》-812-商业的本质是价值竞争与价值交换。没有真实价值的“交换”,只是欺骗或泡沫。

“商业的本质是价值竞争与价值交换。”这短短一句话,道破了所有商业模式、企业兴衰、产品成败背后的底层逻辑。它比“赚钱”“卖货”“市场份额”等表层概念更接近本质。我们来深入拆解这句话,并构建一个清晰的认知框架。一、商业 ≠ 交易 ≠ 赚钱真正的…

作者头像 李华
网站建设 2026/6/15 18:09:45

专科生必看!8个降AI率工具,高效避坑推荐

专科生必看!8个降AI率工具,高效避坑推荐 AI降重工具:让论文更自然,更安全 随着人工智能技术的快速发展,越来越多的专科生在撰写论文时开始使用AI辅助工具。然而,AI生成的内容往往存在明显的痕迹&#xff0c…

作者头像 李华