公开/公告号CN106453431A
专利类型发明专利
公开/公告日2017-02-22
原文格式PDF
申请/专利权人 四川长虹电器股份有限公司;
申请/专利号CN201611175822.9
申请日2016-12-19
分类号H04L29/06(20060101);H04L9/32(20060101);
代理机构成都虹桥专利事务所(普通合伙);
代理人李凌峰
地址 621000 四川省绵阳市高新区绵兴东路35号
入库时间 2023-06-19 01:41:15
法律状态公告日
法律状态信息
法律状态
2019-08-06
授权
授权
2017-03-22
实质审查的生效 IPC(主分类):H04L29/06 申请日:20161219
实质审查的生效
2017-02-22
公开
公开
技术领域
本发明涉及认证技术,特别设计互联网系统间认证的技术。
背景技术
随着互联网迅速普及和发展,各种网络应用得到了快速的发展,诸如电子商务、电子政务、网上证券及网上银行等,将传统的商务活动及办公模式转移到移动网络化、信息化的环境中来,但由于互联网的开放性及缺乏统一的标准,促使互联网在带给人们便利之余,也带来了信息安全的问题,最为显著的问题包括网络实体的身份认证的合法性、数据传输的完整性及交易双方的不可抵赖性。目前最好的防范措施就是建立一套以数字证书为认证基础的安全机制。
目前传统CA(证书管理机构)基于RSA公钥密码体制建立的一套体系,目前主要用于银行、金融体系,它的主要特点是安全性比较高,但是流程比较繁琐,效率不高,不适合在互联网各应用的高并发、高可用、高性能及高负载的业务场景进行使用。
发明内容
本发明的目的是要解决目前传统认证流程效率不高的问题,提供了一种基于PKI实现互联网系统间认证的方法。
本发明解决其技术问题,采用的技术方案是,基于PKI实现互联网系统间认证的方法,其特征在于,包括以下步骤:
步骤1、服务器及终端分别向认证平台发起激活,服务器存储服务器ID、服务器公钥、服务器私钥、终端ID及终端公钥,终端存储终端ID、终端公钥、终端私钥及服务器公钥;
步骤2、服务器与终端第一次会话连接时,分别验证各自身份,验证时服务器需配置对应的安全策略,验证成功后进入步骤3;
步骤3、服务器与终端根据安全策略确认是否需要使用加密算法,若需要则进入步骤4,否则正常处理后续会话;
步骤4、服务器与终端协商密钥,分别对密钥进行保存;
步骤5、服务器与终端之间通过密钥进行数据交互。
具体的,步骤1中,所述服务器及终端分别向认证平台发起激活,服务器存储服务器ID、服务器公钥、服务器私钥、终端ID及终端公钥,终端存储终端ID、终端公钥、终端私钥及服务器公钥中,服务器向认证平台发起激活的方法为:
步骤101、服务器集成服务器SDK包,所述服务器SDK包中集成了ECC算法及认证平台证书;
步骤102、服务器向认证平台发起激活请求,向认证平台上传服务器的相关信息;
步骤103、认证平台根据上传的服务器的相关信息进行审核,审核通过后生成服务器ID,并利用认证平台的私钥对服务器ID进行签名,得到第一签名值,将第一签名值及审核结果发送给服务器;
步骤104、服务器接收到第一签名值,根据认证平台证书对其进行验证,验证成功则得到服务器ID,进入步骤105,否则认为认证平台不合法,回到步骤102;
步骤105、服务器调用ECC算法,生成ECC算法的服务器公钥及服务器私钥,通过服务器私钥对服务器ID进行签名,得到第二签名值,并将其与服务器公钥一起发送给认证平台;
步骤106、认证平台根据接收到的服务器公钥对接收到的第二签名值进行验证得到服务器ID,并存储服务器公钥。
进一步的,步骤101中,所述服务器的相关信息包括服务器应用ID、服务器域名及服务器MAC地址。
具体的,步骤1中,所述服务器及终端分别向认证平台发起激活,服务器存储服务器ID、服务器公钥、服务器私钥、终端ID及终端公钥,终端存储终端ID、终端公钥、终端私钥及服务器公钥中,终端向认证平台发起激活的方法为:
步骤107、终端集成终端SDK包,所述终端SDK包中集成了ECC算法及认证平台证书;
步骤108、终端向认证平台发起激活请求,向认证平台上传终端的相关信息;
步骤109、认证平台根据上传的终端的相关信息进行审核,审核通过后生成终端ID,并利用认证平台的私钥对终端ID进行签名,得到第三签名值,将第三签名值及审核结果发送给终端;
步骤110、终端接收到第三签名值,根据认证平台证书对其进行验证,验证成功则得到终端ID,进入步骤111,否则认为认证平台不合法,回到步骤108;
步骤111、终端调用ECC算法,生成ECC算法的终端公钥及终端私钥,通过终端私钥对终端ID进行签名,得到第四签名值,并将其与终端公钥一起发送给认证平台;
步骤112、认证平台根据接收到的终端公钥对接收到的第四签名值进行验证得到终端ID,并存储终端公钥,同时将终端公钥及终端ID发送给服务器进行存储,且将服务器公钥返回给终端进行存储。
再进一步的,步骤107中,所述终端的相关信息包括终端sn(序列号)、终端MAC地址及终端版本号。
具体的,步骤2中,所述服务器与终端第一次会话连接时,分别验证各自身份,验证时服务器需配置对应的安全策略,验证成功后进入步骤3中,服务器验证终端身份的方法为:
步骤201、终端产生一个随机值,将其与终端ID组成一个终端字符串;
步骤202、终端通过终端私钥及终端SDK包中的ECC算法对终端字符串进行签名,得到第五签名值,将其与终端ID一起发送给服务器;
步骤203、服务器接收到第五签名值及终端ID,根据终端ID查找到存储的对应的终端公钥,利用服务器SDK包中的ECC算法及终端公钥对第五签名值进行验证解析,若验证解析成功则得到终端ID及随机值,认为验证成功,否则认为验证失败,返回验证失败信息,回到步骤201。
再进一步的,步骤2中,所述服务器与终端第一次会话连接时,分别验证各自身份,验证时服务器需配置对应的安全策略,验证成功后进入步骤3中,终端验证服务器身份的方法为:
步骤204、当服务器验证终端成功后,服务器配置该会话的安全策略;
步骤205、服务器根据安全策略生成一个终端能够解析这个安全策略的服务器字符串;
步骤206、服务器通过服务器私钥及服务器SDK包中的ECC算法对服务器字符串进行签名,得到第六签名值,返回给终端;
步骤207、终端接收到第六签名值,利用自身存储的服务器公钥及终端SDK包中的ECC算法对其进行验证解析,若验证解析成功则得到该会话的安全策略,且向服务器反馈验证成功及终端ID,否则向服务器反馈验证失败及终端ID,回到步骤205。
具体的,步骤204中,所述安全策略包括会话过程中是否对数据进行加密或是否需要对会话过程中的数据进行完整性校验,及会话过程中需要对数据进行加密时的加密算法。
再进一步的,步骤4包括以下步骤:
步骤401、服务器根据安全策略中的加密算法生成密钥,将其与终端ID组成密钥字符串;
步骤402、服务器通过终端ID查询得到对应的终端公钥,使用服务器SDK包中的ECC算法及终端公钥对密钥字符串进行加密,发送给终端;
步骤403、终端利用自身的终端私钥对接收到的加密后的密钥字符串进行解密,若解密成功则得到密钥字符串,并向服务器反馈密钥获取成功消息,服务器接收到密钥获取成功消息后保存该密钥,否则向服务器反馈获取失败消息,回到步骤401。
本发明的有益效果是,在本发明方案中,通过上述基于PKI实现互联网系统间认证的方法,服务器与终端之间的认证及协商密钥的过程,若全部成功则只需要4次握手即可完成,且可保证整个会话连接时的数据安全,包括身份认证、数据的完整性校验及数据的隐私性,根据不同的业务的场景,可以灵活的进行安全策略的配置。这种方式,适应了互联网的轻量级的认证体系,保证了性能的损失减小到最少,同时保证了云端的通信安全。
具体实施方式
下面结合实施例,详细描述本发明的技术方案。
本发明所述基于PKI实现互联网系统间认证的方法为:首先服务器及终端分别向认证平台发起激活,服务器存储服务器ID、服务器公钥、服务器私钥、终端ID及终端公钥,终端存储终端ID、终端公钥、终端私钥及服务器公钥,服务器与终端第一次会话连接时,分别验证各自身份,验证时服务器需配置对应的安全策略,验证成功后服务器与终端根据安全策略确认是否需要使用加密算法,若不需要则正常处理后续会话,若需要则服务器与终端协商密钥,分别对密钥进行保存,最后服务器与终端之间通过密钥进行数据交互。
实施例
本发明实施例的基于PKI实现互联网系统间认证的方法,其包括以下步骤:
步骤1、服务器及终端分别向认证平台发起激活,服务器存储服务器ID、服务器公钥、服务器私钥、终端ID及终端公钥,终端存储终端ID、终端公钥、终端私钥及服务器公钥。
本步骤中,服务器及终端分别向认证平台发起激活,服务器存储服务器ID、服务器公钥、服务器私钥、终端ID及终端公钥,终端存储终端ID、终端公钥、终端私钥及服务器公钥中,服务器向认证平台发起激活的方法可以为:
步骤101、服务器集成服务器SDK包,所述服务器SDK包中集成了ECC算法及认证平台证书;这里,服务器的相关信息包括服务器应用ID、服务器域名及服务器MAC地址等;
步骤102、服务器向认证平台发起激活请求,向认证平台上传服务器的相关信息;
步骤103、认证平台根据上传的服务器的相关信息进行审核,审核通过后生成服务器ID,并利用认证平台的私钥对服务器ID进行签名,得到第一签名值,将第一签名值及审核结果发送给服务器;
步骤104、服务器接收到第一签名值,根据认证平台证书对其进行验证,验证成功则得到服务器ID,进入步骤105,否则认为认证平台不合法,回到步骤102;
步骤105、服务器调用ECC算法,生成ECC算法的服务器公钥及服务器私钥,通过服务器私钥对服务器ID进行签名,得到第二签名值,并将其与服务器公钥一起发送给认证平台;
步骤106、认证平台根据接收到的服务器公钥对接收到的第二签名值进行验证得到服务器ID,并存储服务器公钥。
服务器及终端分别向认证平台发起激活,服务器存储服务器ID、服务器公钥、服务器私钥、终端ID及终端公钥,终端存储终端ID、终端公钥、终端私钥及服务器公钥中,终端向认证平台发起激活的方法可以为:
步骤107、终端集成终端SDK包,所述终端SDK包中集成了ECC算法及认证平台证书;这里,终端的相关信息包括终端sn(序列号)、终端MAC地址及终端版本号等;
步骤108、终端向认证平台发起激活请求,向认证平台上传终端的相关信息;
步骤109、认证平台根据上传的终端的相关信息进行审核,审核通过后生成终端ID,并利用认证平台的私钥对终端ID进行签名,得到第三签名值,将第三签名值及审核结果发送给终端;
步骤110、终端接收到第三签名值,根据认证平台证书对其进行验证,验证成功则得到终端ID,进入步骤111,否则认为认证平台不合法,回到步骤108;
步骤111、终端调用ECC算法,生成ECC算法的终端公钥及终端私钥,通过终端私钥对终端ID进行签名,得到第四签名值,并将其与终端公钥一起发送给认证平台;
步骤112、认证平台根据接收到的终端公钥对接收到的第四签名值进行验证得到终端ID,并存储终端公钥,同时将终端公钥及终端ID发送给服务器进行存储,且将服务器公钥返回给终端进行存储。
步骤2、服务器与终端第一次会话连接时,分别验证各自身份,验证时服务器需配置对应的安全策略,验证成功后进入步骤3。
本步骤中,服务器与终端第一次会话连接时,分别验证各自身份,验证时服务器需配置对应的安全策略,验证成功后进入步骤3中,服务器验证终端身份的方法优选为:
步骤201、终端产生一个随机值,将其与终端ID组成一个终端字符串;
步骤202、终端通过终端私钥及终端SDK包中的ECC算法对终端字符串进行签名,得到第五签名值,将其与终端ID一起发送给服务器;
步骤203、服务器接收到第五签名值及终端ID,根据终端ID查找到存储的对应的终端公钥,利用服务器SDK包中的ECC算法及终端公钥对第五签名值进行验证解析,若验证解析成功则得到终端ID及随机值,认为验证成功,否则认为验证失败,返回验证失败信息,回到步骤201。
服务器与终端第一次会话连接时,分别验证各自身份,验证时服务器需配置对应的安全策略,验证成功后进入步骤3中,终端验证服务器身份的方法优选为:
步骤204、当服务器验证终端成功后,服务器配置该会话的安全策略;这里,安全策略包括会话过程中是否对数据进行加密或是否需要对会话过程中的数据进行完整性校验,及会话过程中需要对数据进行加密时的加密算法等;
步骤205、服务器根据安全策略生成一个终端能够解析这个安全策略的服务器字符串;
步骤206、服务器通过服务器私钥及服务器SDK包中的ECC算法对服务器字符串进行签名,得到第六签名值,返回给终端;
步骤207、终端接收到第六签名值,利用自身存储的服务器公钥及终端SDK包中的ECC算法对其进行验证解析,若验证解析成功则得到该会话的安全策略,且向服务器反馈验证成功及终端ID,否则向服务器反馈验证失败及终端ID,回到步骤205。
步骤3、服务器与终端根据安全策略确认是否需要使用加密算法,若需要则进入步骤4,否则正常处理后续会话。
步骤4、服务器与终端协商密钥,分别对密钥进行保存。
本步骤可以包括以下具体步骤:
步骤401、服务器根据安全策略中的加密算法生成密钥,将其与终端ID组成密钥字符串;
步骤402、服务器通过终端ID查询得到对应的终端公钥,使用服务器SDK包中的ECC算法及终端公钥对密钥字符串进行加密,发送给终端;
步骤403、终端利用自身的终端私钥对接收到的加密后的密钥字符串进行解密,若解密成功则得到密钥字符串,并向服务器反馈密钥获取成功消息,服务器接收到密钥获取成功消息后保存该密钥,否则向服务器反馈获取失败消息,回到步骤401。
步骤5、服务器与终端之间通过密钥进行数据交互。
机译: 便携式互联网系统中基于可扩展认证协议与设备认证共存的用户认证方法及系统
机译: 个人互联网系统和个人互联网系统的认证方法
机译: 个人互联网系统及个人互联网系统的认证方法