searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

双数字证书及其在国密VPN中的应用

2023-04-14 07:17:16
274
0

引言

数字证书是互联网的重要安全基础设施,它通过绑定证书持有者的身份信息与对应的非对称密钥对,提供身份认证和保密性两种基本安全功能。非对称密钥对包括私钥和公钥,私钥主要用于签名和解密,由用户自己保存;公钥用于签名验证和加密,可以随着数字证书一起对外发布。

 

                       图1:数字证书绑定了持有者身份与密钥对

1.   双证书来源

数字证书等密码学技术的普及,在保护网络安全和用户数据安全的同时,也给互联网管理带来了困难。一方面数字证书提供的身份识别是互联网安全的基石,另外一方面组织可以使用数字证书的加密功能逃避互联网管理。为了保护网络安全,管理者需要具备管理加密通信的能力,并在必要的情况下依法实施管理行为。为了解决安全和管理的矛盾,安全标准组织提出了双数字证书体系。

2.   双证书原理

双数字证书分离了数字证书的身份认证和保密性功能,它将数字证书分为签名证书和加密证书两类。一个实体同时绑定一个签名证书和一个加密证书。签名证书仅用于数字签名,提供身份认证服务,私钥由用户私有,保证身份信息安全;加密证书仅用于数据加密,提供保密性服务,私钥由用户和管理机构共有,管理机构可以通过共有的加密证书私钥来解密用户流量。加密证书和签名证书绑定的用户身份信息可以相同也可以不同,不同的情况下两个身份信息代表同一个实体。例如可以使用“/CN=fuxuming_signature”作为签名证书的身份信息,“/CN=fuxuming_encrypt”作为加密证书的身份信息,” fuxuming_signature”与“/CN=fuxuming_encrypt”都绑定了一个实体“fuxuming”。

目前只有X.509v3证书格式支持双证书,X.509v3格式增加了一个“Key Usage(密钥用法)”扩展限制证书的用途,上层应用系统通过该扩展确定该证书是双证书加密证书、双证书签名证书还是通用证书。

加密证书Key Usage取值:

keyEncipherment   --- 密钥加密

dataEncipherment  --- 数据加密

keyAgreement      --- 密钥协商

签名证书Key Usage取值:

digitalSignature  --- 数字签名

nonrepudiation   ---  不可否认

                           图2 通用证书的Key Usage扩展

   从图2可以看到,通用证书的Key Usage扩展同时包含数据签名和数据加密。

                                  图3 双证书加密证书Key Usage扩展

                               图4 双证书签名证书Key Usage扩展

从图3,图4可以看到,加密证书和签名证书属于同一个使用者实体,双证书加密证书Key Usage扩展只包含数据加密。签名证书Key Usage扩展只包含数据签名。上层应用通过识别证书的Key Usage扩展,限制数字证书的用途。签名证书不能应用于加密用途,加密证书也不能应用于签名用途。

我们可以通过支持双证书的商用证书服务器获得双证书,也可以通过openssl等开源软件生成双证书。

3.   双证书发展现状

双证书是通过在证书文件上打“标签”的方式来分离证书的加密和签名功能,但是从功能实现上,将加密证书用于签名或者将签名证书用于加密,不存在任何问题,因此双证书体制的实现要求上层的应用程序严格遵守使用限制。但是在实际上,大多数应用程序因为各种原因,并没有执行双证书定义的使用限制。

一方面双证书体系并不是因用户需求而出现,而是为了符合管理需求而出现,应用厂商缺少推行的动力;另外一方面网络管理面临非常多的困难和阻力,所以目前为止双证书体系并未得到广泛的普及。

4.   国密VPN中的应用

国密IPsec VPN是密码管理局在IKEv1/IPsec协议基础上,修改制定的VPN标准。国密VPN一般用于保护重要数据通信场景,需要保证有能力对这些通信进行管理,管理者也有能力在这些场景下、在合适的时机下推动管理措施落地,因此该国密IPsec VPN标准设计时引入了双证书体系。

IKEv1证书方式和国密IKE的协商方式分别如下:

IKEv1 1阶段证书认证方式:(RFC2409)

    其中CERT为协商双方交换的数字证书,SIG_I, SIG_r为使用证书私钥的计算得到的签名信息。

商密IKE 1阶段: (GM-T0022-2014)

其中CERT_sig_i, CERT_sig_r为签名证书,CERT_enc_i, CERT_enc_r为加密证书,Asymmetric_Encrypt(Ski, pub_r)和Asymmetric_Encrypt(SKr, pub_i)为使用加密证书加密的对称密钥,SIGi_b,SIGr_b为使用签名证书计算得到的签名结果。

     通过对比可以发现,IKEv1协议在5,6条报文中进行了普通证书传递,并使用证书做身份认证。国密IKE协议在2,3条报文中传递了加密、签名双证书,在3,4条报文中使用加密证书数字信封进行了密钥材料交换,使用签名证书进行了身份认证。

                                                   图5 国密IKE协商过程中报文传递双证书

按照国密VPN标准要求,加密证书的密钥对是由权威第三方管理机构生成的,也就是密钥对是由管理机构与证书所有者共有的。管理机构可以通过抓取国密协商报文,并使用加密证书私钥解密得到对称密钥Ski, SKr, 进一步解密国密报文其他载荷,计算出协商双方的的IPsec SA密钥,进而解密用户数据流量,达到管理的目的。

0条评论
0 / 1000
燃烧的蔬菜
3文章数
0粉丝数
燃烧的蔬菜
3 文章 | 0 粉丝
燃烧的蔬菜
3文章数
0粉丝数
燃烧的蔬菜
3 文章 | 0 粉丝
原创

双数字证书及其在国密VPN中的应用

2023-04-14 07:17:16
274
0

引言

数字证书是互联网的重要安全基础设施,它通过绑定证书持有者的身份信息与对应的非对称密钥对,提供身份认证和保密性两种基本安全功能。非对称密钥对包括私钥和公钥,私钥主要用于签名和解密,由用户自己保存;公钥用于签名验证和加密,可以随着数字证书一起对外发布。

 

                       图1:数字证书绑定了持有者身份与密钥对

1.   双证书来源

数字证书等密码学技术的普及,在保护网络安全和用户数据安全的同时,也给互联网管理带来了困难。一方面数字证书提供的身份识别是互联网安全的基石,另外一方面组织可以使用数字证书的加密功能逃避互联网管理。为了保护网络安全,管理者需要具备管理加密通信的能力,并在必要的情况下依法实施管理行为。为了解决安全和管理的矛盾,安全标准组织提出了双数字证书体系。

2.   双证书原理

双数字证书分离了数字证书的身份认证和保密性功能,它将数字证书分为签名证书和加密证书两类。一个实体同时绑定一个签名证书和一个加密证书。签名证书仅用于数字签名,提供身份认证服务,私钥由用户私有,保证身份信息安全;加密证书仅用于数据加密,提供保密性服务,私钥由用户和管理机构共有,管理机构可以通过共有的加密证书私钥来解密用户流量。加密证书和签名证书绑定的用户身份信息可以相同也可以不同,不同的情况下两个身份信息代表同一个实体。例如可以使用“/CN=fuxuming_signature”作为签名证书的身份信息,“/CN=fuxuming_encrypt”作为加密证书的身份信息,” fuxuming_signature”与“/CN=fuxuming_encrypt”都绑定了一个实体“fuxuming”。

目前只有X.509v3证书格式支持双证书,X.509v3格式增加了一个“Key Usage(密钥用法)”扩展限制证书的用途,上层应用系统通过该扩展确定该证书是双证书加密证书、双证书签名证书还是通用证书。

加密证书Key Usage取值:

keyEncipherment   --- 密钥加密

dataEncipherment  --- 数据加密

keyAgreement      --- 密钥协商

签名证书Key Usage取值:

digitalSignature  --- 数字签名

nonrepudiation   ---  不可否认

                           图2 通用证书的Key Usage扩展

   从图2可以看到,通用证书的Key Usage扩展同时包含数据签名和数据加密。

                                  图3 双证书加密证书Key Usage扩展

                               图4 双证书签名证书Key Usage扩展

从图3,图4可以看到,加密证书和签名证书属于同一个使用者实体,双证书加密证书Key Usage扩展只包含数据加密。签名证书Key Usage扩展只包含数据签名。上层应用通过识别证书的Key Usage扩展,限制数字证书的用途。签名证书不能应用于加密用途,加密证书也不能应用于签名用途。

我们可以通过支持双证书的商用证书服务器获得双证书,也可以通过openssl等开源软件生成双证书。

3.   双证书发展现状

双证书是通过在证书文件上打“标签”的方式来分离证书的加密和签名功能,但是从功能实现上,将加密证书用于签名或者将签名证书用于加密,不存在任何问题,因此双证书体制的实现要求上层的应用程序严格遵守使用限制。但是在实际上,大多数应用程序因为各种原因,并没有执行双证书定义的使用限制。

一方面双证书体系并不是因用户需求而出现,而是为了符合管理需求而出现,应用厂商缺少推行的动力;另外一方面网络管理面临非常多的困难和阻力,所以目前为止双证书体系并未得到广泛的普及。

4.   国密VPN中的应用

国密IPsec VPN是密码管理局在IKEv1/IPsec协议基础上,修改制定的VPN标准。国密VPN一般用于保护重要数据通信场景,需要保证有能力对这些通信进行管理,管理者也有能力在这些场景下、在合适的时机下推动管理措施落地,因此该国密IPsec VPN标准设计时引入了双证书体系。

IKEv1证书方式和国密IKE的协商方式分别如下:

IKEv1 1阶段证书认证方式:(RFC2409)

    其中CERT为协商双方交换的数字证书,SIG_I, SIG_r为使用证书私钥的计算得到的签名信息。

商密IKE 1阶段: (GM-T0022-2014)

其中CERT_sig_i, CERT_sig_r为签名证书,CERT_enc_i, CERT_enc_r为加密证书,Asymmetric_Encrypt(Ski, pub_r)和Asymmetric_Encrypt(SKr, pub_i)为使用加密证书加密的对称密钥,SIGi_b,SIGr_b为使用签名证书计算得到的签名结果。

     通过对比可以发现,IKEv1协议在5,6条报文中进行了普通证书传递,并使用证书做身份认证。国密IKE协议在2,3条报文中传递了加密、签名双证书,在3,4条报文中使用加密证书数字信封进行了密钥材料交换,使用签名证书进行了身份认证。

                                                   图5 国密IKE协商过程中报文传递双证书

按照国密VPN标准要求,加密证书的密钥对是由权威第三方管理机构生成的,也就是密钥对是由管理机构与证书所有者共有的。管理机构可以通过抓取国密协商报文,并使用加密证书私钥解密得到对称密钥Ski, SKr, 进一步解密国密报文其他载荷,计算出协商双方的的IPsec SA密钥,进而解密用户数据流量,达到管理的目的。

文章来自个人专栏
国密IPsec VPN
1 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0