一种基于无证书技术的身份认证系统及其工作方法与流程

文档序号:35412532发布日期:2023-09-09 23:08阅读:56来源:国知局
一种基于无证书技术的身份认证系统及其工作方法与流程

本发明涉及一种基于无证书技术的身份认证系统及其工作方法,属于电力系统信息安全。


背景技术:

1、分布式电力系统是由各型号的分布式电源发电终端组合而成的,系统庞大而复杂,联动性较强,举一发而动全具。若通信中心及站点之间出现安全故障,影响范围很可能会波及整个电力通信系统。

2、因此,分布式电源发电终端通信的信息安全就变的尤为重要。分布式电源发电终端的身份认证作为信息安全中最重要的一环,其具有如下特点:

3、(1)、海量分布式发电终端导致pki证书管理复杂。

4、(2)、pki系统中密钥托管机制导致密钥集中存储问题。

5、(3)、部分分布式电源发电终端受限于计算资源、存储资源等问题,不能使用证书方式进行身份认证。

6、现有的身份认证技术,如无证书公钥密码系统、基于证书的身份验证被广泛应用于各位身份认证领域,但现有技术由于自身算法特点,在应用于分布式电源发电终端认证时,还有如下不足:

7、(1)、对主体的识别基于证书信息,而证书信息中的主体身份信息与主体本身特征并不绑定,即无法单通过证书来确定是主体是否合法,还需要其他额外信息来确认主体身份,如用户名、指纹等。

8、(2)、在pki体系中,为了方便密钥管理,证书主体的私钥信息一般均会在ca中进行集中托管,因此私钥的安全性严重依赖ca组织的安全性。

9、(3)、认证方需要进行两次计算才能够完成验证工作,第一次计算证书的签名的有效性,第二次计算应答消息的有效性。

10、(4)、在海量终端设备的分布式电源场景中,ca中心的方式在证书生成和存储方面有一定的制约。

11、因此,如何在提高认证效率的同时,增强认证安全性,是分布式电源发电终端身份认证急需要解决的技术问题。


技术实现思路

1、目的:为了克服现有技术中存在的不足,本发明提供一种基于无证书技术的身份认证系统及其工作方法,能够弥补证书系统存在的问题,使之能够在分布式电源场景中为分布式电源终端提供高效安全的身份衍生方式。

2、技术方案:为解决上述技术问题,本发明采用的技术方案为:

3、第一方面,一种基于无证书技术的身份认证系统,包括:终端sdk、前置服务、设备中心、密钥中心。

4、所述终端sdk,用于负责终端信息采集,终端身份信息生成以及认证工作。

5、所述前置服务,用于负责终端sdk与后端服务进行数据交互工作。

6、所述设备中心,用于负责终端设备的注册以及设备管理工作。

7、所述密钥中心,用于负责kgc参数的生成以及终端设备相关密钥信息的生成工作,并将所生成的相关信息发布到前置服务中。

8、进一步的,还包括:安全中心,用于负责安全策略设置以及安全审计工作。

9、进一步的,所述终端sdk,具体包括:

10、信息采集组件:用于收集终端sdk所在终端设备的终端信息,包括:设备信息、操作系统信息、sim卡信息;将收集到终端信息通过散列算法生成相应的id信息。

11、身份信息生成组件:用于将id信息以及协商好的随机数通过算法生成终端id。从前置服务获取密钥中心的公共参数params以及终端设备的部分私钥ppk,并通过公共参数params、终端设备部分私钥ppk、终端设备的终端id生成终端设备的秘密值xid。通过终端设备的秘密值xid,公共参数params、终端设备的终端id,生成终端设备的公钥pkid。生成一个随机消息m,并使用终端设备的秘密值xid、公共参数params、终端设备的终端id以及终端设备的部分私钥ppk对随机消息m进行签名,生成随机消息m的签名。将终端设备的公钥pkid,随机消息m以及随机消息m的签名进行打包,生成终端设备的认证信息auth。

12、认证组件:用于通过公共参数params,提取认证信息auth中的随机消息m的签名、随机消息m和终端设备的公钥pkid,根据随机消息m和终端设备的公钥pkid对随机消息m的签名其进行验证,若验证通过,则认为身份验证通过,若验证未通过,则认为身份验证未通过。

13、进一步的,所述前置服务,具体包括:

14、终端信息采集组件:用于接收终端sdk发送的终端设备的设备id、操作系统id、sim卡id信息。

15、密钥发布组件:用于发布公共参数params,终端设备的部分私钥ppk。

16、数据代理组件:用于代理转发终端sdk与设备中心、密钥之间交互的信息。

17、进一步的,所述设备中心,具体包括:

18、设备注册组件:用于设备的生命周期管理,至少包括其中之一:设备注册、变更、删除。

19、设备管理组件:用于设备状态管理,至少包括其中之一:设备在线、离线。

20、进一步的,所述密钥中心,具体包括:

21、密钥生成组件:用于产生系统密钥,包括:公共参数params、主密钥msk以及终端设备的部分私钥ppk。

22、参数发布组件:用于将公共参数params,终端设备的部分私钥ppk发送至公网侧。

23、第二方面,一种基于无证书技术的身份认证系统工作方法,包括如下步骤:

24、步骤1:密钥中心生成对外公开的公共参数params、不对外公开的主密钥msk,并将公共参数params发布在前置服务的密钥发布组件中。

25、步骤2:设备中心通过前置服务分别与终端设备a、终端设备b上终端sdk进行通讯,获取终端设备a、终端设备b各自的id信息,并对终端设备a、终端设备b进行注册。设备中心与终端设备a、终端设备b上的终端sdk进行协调,生成终端设备a、终端设备b的终端id,并将终端设备a、终端设备b的终端id保存在设备中心。

26、步骤3:密钥中心从设备中心获取终端设备a、终端设备b的终端id,并根据终端设备a、终端设备b的终端id和主密钥msk分别通过算法生成终端设备a、终端设备b的部分私钥ppk,并发布在前置服务的密钥发布组件中。

27、步骤4:终端设备a上的终端sdk从前置服务的密钥发布组件中获取公共参数params、终端设备a的部分私钥ppk,通过公共参数params、终端设备a的部分私钥ppk、终端设备a的终端id生成终端设备a的秘密值xid。

28、步骤5:终端设备a上的终端sdk通过终端设备a的秘密值xid,公共参数params、终端设备a的终端id,生成终端设备a的公钥pkid。

29、步骤6:终端设备a上的终端sdk生成一个随机消息m,并使用终端设备a的秘密值xid、公共参数params、终端设备a的终端id以及终端设备a的部分私钥ppk对随机消息m进行签名,生成随机消息m的签名。

30、步骤7:终端设备a上的终端sdk将终端设备a的公钥pkid,随机消息m以及随机消息m的签名进行打包,生成终端设备a的认证信息auth。

31、步骤8:终端设备b上的终端sdk从前置服务的密钥发布组件中获取公共参数params、终端设备b的部分私钥ppk,通过公共参数params、终端设备b的部分私钥ppk、终端设备b的终端id生成终端设备b的秘密值xid。

32、步骤9:终端设备b上的终端sdk通过终端设备b的秘密值xid,公共参数params、终端设备b的终端id,生成终端设备b的公钥pkid。

33、步骤10:终端设备b上的终端sdk生成一个随机消息m,并使用终端设备b的秘密值xid、公共参数params、终端设备b的终端id以及终端设备b的部分私钥ppk对随机消息m进行签名,生成随机消息m的签名。

34、步骤11:终端设备b上的终端sdk将终端设备b的公钥pkid,随机消息m以及随机消息m的签名进行打包,生成终端设备b的认证信息auth。

35、步骤12:终端设备a上的终端sdk将终端设备a的认证信息auth发送给终端设备b上的终端sdk,终端设备b上的终端sdk将终端设备b的认证信息auth发送给终端设备a上的终端sdk。

36、步骤13:终端设备a上的终端sdk提取终端设备b的认证信息auth中的签名信息,并对签名信息进行验证,若验证通过,则认为身份验证通过,若验证未通过,则认为身份验证未通过。

37、步骤14:终端设备b上的终端sdk提取终端设备a的认证信息auth中的签名信息,并对签名信息进行验证,若验证通过,则认为身份验证通过,若验证未通过,则认为身份验证未通过。

38、进一步的,还包括:

39、步骤15:终端设备a、终端设备b均通过对方验证通过后,终端设备a与终端设备b建立连接。

40、步骤16:终端设备a、终端设备b任一方未通过对方验证通过后,终端设备a与终端设备b关闭连接。

41、进一步的,所述设备中心与终端设备a、终端设备b上的终端sdk进行协调,生成终端设备a、终端设备b的终端id,具体包括:

42、步骤a、终端sdk采集终端设备a\终端设备b的终端信息,包括:设备信息、操作系统信息以及sim卡信息。

43、步骤b、终端sdk通过前置服务的数据代理组件与设备中心进行通信,终端sdk与设备中心的设备注册组件之间协商一个随机数。

44、步骤c、终端sdk将采集的终端信息分别生成相应的id,即设备id、操作系统id、sim卡id,并将生成的3类id上传到设备注册组件。

45、步骤d、终端sdk与设备中心将3类id与随机数通过算法生成终端id,终端id作为终端设备的唯一标识。

46、步骤e、设备注册组件将生成的终端id传送到设备管理组件进行管理。

47、进一步的,所述步骤13,具体包括:

48、终端设备a上的终端sdk通过公共参数params提取终端设备b的认证信息auth中的随机消息m的签名、随机消息m和终端设备b的公钥pkid,并根据随机消息m和终端设备b的公钥pkid对随机消息m的签名其进行验证,若验证通过,则认为身份验证通过,若验证未通过,则认为身份验证未通过。

49、进一步的,所述步骤14,具体包括:

50、终端设备b上的终端sdk通过公共参数params提取终端设备a的认证信息auth中的随机消息m的签名、随机消息m和终端设备a的公钥pkid,并根据随机消息m和终端设备a的公钥pkid对随机消息m的签名其进行验证,若验证通过,则认为身份验证通过,若验证未通过,则认为身份验证未通过。

51、有益效果:本发明提供的一种基于无证书技术的身份认证系统及其工作方法,设置了前置服务,在逻辑上将终端设备与核心服务(设备中心、密钥中心等)之间进行了隔离,在隐藏核心服务的同时能够有效的防止外部攻击对核心服务造成损害。终端id的融合生成机制,通过引入随机数参数,加大非法人员破解终端id生成规则的难度;从设备特征、操作系统特征、通信特正三个维度对终端设备进行描述,能够确保终端id的唯一性并能够有效的防止机卡分离、终端冒用等事件的发生。

52、相较于现有技术其优点如下:

53、1、身份认证信息与认证主体绑定,大幅减少认证步骤。

54、证书方式认证主体的身份认证信是作为一个属性信息存储在证书中,其并未参加任何计算,因此,在基于证书的认证方式中,均需要额外的认证信息,如用户名、密码等。而在基于无证书技术的认证方式中,用户身份信息直接参与认证信息计算,因此使用基于无证书技术的认证方式进行身份认证无需其他的认证信息。以挑战/应答方式为例,相比基于证书的认证方式,基于无证书的认证方式交互流程减少1/3。

55、2、高度自动化的注册流程,减少管理成本、提升管理效率。

56、在ca系统中,用户的注册以及密钥获取一般是手动流程,基于保密性原则,终端的私钥一般不能再线上直接获取,证书一般需要手动导入,自动化程度不高。再本发明中,终端的身份id、私钥、公钥、认证信息均由终端sdk自动产生,不需要人工操作,相比ca方案效率大幅提升。

57、3、更加安全的系统架构,提供原生安全能力,能够更加有效的应对外部攻击。

58、本发明设置了前置服务,终端设备与核心服务之间的通信、数据交换均通过前置服务组件进行,核心服务同时将需要共享的数据发布到前置服务组件进行数据共享,前置服务组件将终端与核心服务之间进行了逻辑隔离,该架构能够有效的防止外部攻击对核心服务的破坏,造成服务终止或数据丢失。

59、4、密钥中心不进行密钥托管,相比ca系统密钥安全性更高。

60、传统ca系统为了密钥管理方便,一般都会提供密钥托管功能,即对终端的私钥进行集中的管理,方便终端进行密钥恢复。在本发明中,终端私钥由终端sdk自动生成,当终端的认证信息文件丢失或因某些原因不可用是,终端可以通过保存的信息恢复相应的认证信息文件,或重新注册获取新的认证文件,密钥中心不需要对终端的密钥进行托管。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1