房门AB钥匙-软件设计安全中心

背景1:最近在准备交房,第一次听说房门还有A钥匙和B钥匙,表示有点懵逼。那么什么是A钥匙什么是B钥匙?AB钥匙为何而生?软件设计安全中心中是不是也需要这样的AB钥匙呢?

新房的AB钥匙

拿量子双排AB锁来说明,B钥匙是为了给开发商或物业的安装工人使用,因为验房时会发现新房的一些BUG需要安装工人开门修复BUG。等修复完成,房东要使用A钥匙插入锁芯转动360度,B钥匙就自动失效了。之后只能由A钥匙来开房门。

房门AB钥匙-软件设计安全中心_第1张图片
量子双排AB锁说明

下面是A钥匙和B钥匙,A钥匙贴纸做了标记(后面测试有用),网上查看AB钥匙的牙齿是有规律了,高级开锁师傅是可以根据牙齿配出来对应的钥匙,做了特殊的图片处理(再者网上的图片也不代表是谁家哪个单元哪层的房门钥匙,处不处理无所谓)。

房门AB钥匙-软件设计安全中心_第2张图片
左B右A(A贴了纸)

注意:不要拿房就测试哈,要不然A钥匙就起不到安装工人使用的作用。

A钥匙插上旋转后房门打开了(注意开的时候带有标签一侧朝上)。

房门AB钥匙-软件设计安全中心_第3张图片
A钥匙打开房门

装修完了,房屋内BUG修复完了,使用B钥匙开启房门,同时A钥匙失效了。

房门AB钥匙-软件设计安全中心_第4张图片
B钥匙开启房门

试一下A钥匙是不是失效了呢?A钥匙插进去,开门没有反应锁开不了(带有标签的一侧朝下)。

房门AB钥匙-软件设计安全中心_第5张图片
A钥匙无法开启房门

软件设计安全中心

软件安全级别要求高的一般采用HTTPS。两个系统对接采用HTTPS通信,拿双向认证来说,点击查看单双向认证流程。

客户端和服务端通信前要互换对方的根证书*_ca.cert,这样在客户端给服务端发请求建立链接时就可以使用服务端的根证书校验服务端公钥证书的合法性,客户端将客户端公钥证书发给服务端时服务端使用客户端根证书校验客户端公钥证书的合法性。

1) 客户端给服务端发请求建立链接时服务端响应公钥证书server_public.cert,客户端使用服务端的根证书server_ca.cert校验server_public.cert的合法性。

2) 校验成功后(当然也可以采取容忍措施,校验失败也可以走下去,但不建议),客户端将客户端公钥证书client_public.cert发给服务端,服务端使用客户端根证书client_ca.cert校验客户端公钥证书client_public.cert的合法性。

3) 当客户端服务端双方依次校验对方的公钥证书*_public.cert成功后,服务端使用客户端公钥加密client_public.cert发消息给客户端;

4) 客户端使用自身的私钥client_private.cert解密3)服务端的消息成功后,产生随机码做为对称加密密钥。客户端将对称加密密钥采用服务端公钥server_public.cert加密后发消息给服务端。

5) 服务端使用自身的私钥server_private.cert解密4)客户端的消息成功后,得到对称加密密钥。

完成以上5步后客户端和服务端就可以通过对称密钥安全的通信了。

房门AB钥匙-软件设计安全中心_第6张图片
双向认证流程

客户端和服务端通信前要互换对方的根证书*_ca.cert,此外公钥*_public.cert是通信TCP三次握手建链时通知对端的,私钥*_private.cert是不能传输的,客户端保留自己的,也保留服务端自己的,是不对外暴露的,否则通信则不安全。

客户端系统是A厂商的,服务端系统是B厂商的,当运行商C买了这套系统后,不放心客户端提供的根证书/公钥/私钥或者担心服务端提供的根证书/公钥/私钥。在开局时各个厂商可以使用各自厂商的根证书调试,但商用时运行商C想把一个厂商或多个厂商的根证书换掉(当然通过以上介绍后根证书一换,那么由根证书签发的公钥/私钥也要跟着重新生成)。

需求来了:各个厂商安全中心有根证书管理功能,由运行商提供根证书后,各个厂商根据根证书导入后自动生成公钥和私钥,此外对接系统导入对端的根证书。

此外制作过根证书/公钥/私钥时一般会有证书失效的时间点,当证书失效后就无法使用。这是根证书替换另外一种使用场景。

重点重点:根证书的管理权限不是每个人(角色)都有的,要高级管理员用户才可以拥有。

以上是通过新房AB钥匙和HTTPS证书想到的https根证书管理(创建和替换)。

你可能感兴趣的:(房门AB钥匙-软件设计安全中心)