CN106790078A - 一种sdk和电子凭证系统之间的安全通信方法与装置 - Google Patents
一种sdk和电子凭证系统之间的安全通信方法与装置 Download PDFInfo
- Publication number
- CN106790078A CN106790078A CN201611195984.9A CN201611195984A CN106790078A CN 106790078 A CN106790078 A CN 106790078A CN 201611195984 A CN201611195984 A CN 201611195984A CN 106790078 A CN106790078 A CN 106790078A
- Authority
- CN
- China
- Prior art keywords
- electronic certificate
- sdk
- request
- certificate system
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种SDK和电子凭证系统之间的安全通信方法与装置。SDK在得到电子凭证系统的信任后,电子凭证系统对SDK请求的数据进行验证、对SDK请求的合法性进行身份认证;电子凭证系统完成验证和认证后,才会执行相应的业务逻辑并返回给SDK其处理结果。安全通信方法包括:SDK请求密钥;电子凭证系统进行请求密钥互信认证;电子凭证系统对请求密钥用户请求身份认证;电子凭证系统计算密钥并缓存;SDK接收返回的密钥并缓存;SDK根据密钥进行请求参数加密进行业务请求;电子凭证系统进行互相认证;电子凭证系统进行用户请求身份认证;电子凭证系统进行请求业务执行;电子凭证系统返回执行结果。
Description
技术领域
本发明涉及一种通信方法及其通信装置,尤其涉及一种SDK和电子凭证系统之间的网络安全通信方法及其通信装置。
背景技术
随着科技的发展,尤其是云计算、物联网的出现,智能家居的概念也进入公众的视线。随着社会、经济水平的发展,人们对家居品质的追求也越来越高,要求家居舒适化、安全化,家居生活舒适化、智能化,对智能家居系统的需求也越来越强烈。现阶段无线智能家居表现出的技术优势在于配备基于BLE技术的智能家居,只要拿着手机就能进行远程控制家居设备。让人满意的是,它不需要扒开墙壁,布置纷繁复杂的线路,方便安装;方便组网,设备扩展性强;成本低,功耗低,符合现代家庭绿色生活理念;维修方便,可以及时有效地发现故障和维修。
当前追求市场化运作,很多企业在研发产品的过程中考虑到各方面的原因对安全的考虑不是非常完善,从而会对用户的隐私以及财产造成损失。现阶段基于BLE的物联网设备在通过手机等可连接互联网的终端在联网过程中采用普通基于https协议的互联网请求,来获取互联网的数据;基于BLE技术进行数据传输,通常由于连接的两端均可以断开网络,在不加密的情况下数据传输相对是安全的,每次传输都是建立在当前连接的基础上进行的。
现有的基于蓝牙的物联网网络通信仅仅依赖https和BLE连接进行数据传输,https虽然解决了传输过程中的加密,但是传输的两端依然是明文的,BLE则是明文传输。基于https的请求在请求的两端数据是明文的,在手机等终端存在获取用户隐私或安全数据的危险;基于BLE技术数据传输截获终端蓝牙嗅探器的出现,使得在使用不加密数据进行传输的时候数据会被截获并被恶意使用,会导致比较严重的后果。
其中,缩略语和关键术语定义如下。
BLE:蓝牙低能耗技术是低成本、短距离、可互操作的鲁棒性无线技术,工作在免许可的2.4GHz ISM射频频段。BLE技术采用非常快速的连接方式,因此平时可以处于“非连接”状态(节省能源),此时链路两端相互间只是知晓对方,只有在必要时才开启链路,然后在尽可能短的时间内关闭链路。
HTTPS:HTTPS(全称:Hyper Text Transfer Protocol over Secure SocketLayer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
身份认证:身份认证也称为“身份验证”或“身份鉴别”,是指在计算机及计算机网络系统中确认操作者身份的过程,从而确定该用户是否具有对某种资源的访问和使用权限,进而使计算机和网络系统的访问策略能够可靠、有效地执行,防止攻击者假冒合法用户获得资源的访问权限,保证系统和数据的安全,以及授权访问者的合法利益。
发明内容
为了解决上述技术问题,本发明提出了一种SDK和电子凭证系统之间的网络安全通信方法及其通信装置,本发明能在SDK和电子凭证系统之间,将从数据存储、数据传输、数据使用过程中对数据两端进行认证和加密,从而解决数据在存储中的被窃取、数据传输中的盗用、数据使用中的篡改等安全隐患。
本发明的解决方案是:一种SDK和电子凭证系统之间的网络安全通信方法,SDK在得到所述电子凭证系统的信任后,所述电子凭证系统对SDK请求的数据进行验证、对SDK请求的合法性进行身份认证;所述电子凭证系统在完成验证和认证后,才会执行相应的业务逻辑并返回给SDK其处理结果;所述网络安全通信方法包括以下步骤:
步骤一、SDK请求密钥:SDK根据预先约定好的加密密钥和加密方式进行请求参数的加密,向电子凭证系统发起https的请求;
步骤二、电子凭证系统进行请求密钥互信认证:电子凭证系统接收到SDK发起的请求密钥请求之后对请求进行互信认证;如果互信认证成功则执行后续步骤,否则直接执行后续的第十步骤;
步骤三、电子凭证系统对请求密钥用户请求身份认证:电子凭证系统对请求参数中携带的必要信息进行用户身份认证,如果身份验证成功则执行后续步骤,否则直接执行后续的第十步骤;
步骤四、电子凭证系统计算密钥并缓存:电子凭证系统计算SDK在建立当前连接之后的请求参数加密密钥,并对密钥数据进行时效设置和加密存储,以备后续使用;
步骤五、SDK接收返回的密钥并缓存:SDK接收到返回的密钥,并在SDK中实现存储,以便在后续请求中用此密钥进行参数加密,否则后续请求在后续步骤七的互信认证和步骤八的身份认证无法正确被认证;
步骤六、SDK根据密钥进行请求参数加密进行业务请求:SDK根据缓存的密钥即第五步骤获得的密钥对业务请求参数进行加密,并通过https方式发起业务请求;
步骤七、电子凭证系统进行互相认证:电子凭证系统接收到SDK发起的业务请求之后对请求进行互信认证;如果互信认证成功则执行后续步骤,否则直接执行后续的第十步骤;
步骤八、电子凭证系统进行用户请求身份认证:电子凭证系统对请求参数中携带的必要信息进行用户身份认证,如果身份验证成功则执行后续步骤,否则直接执行后续的第十步骤;
步骤九、电子凭证系统进行请求业务执行:电子凭证系统根据SDK的请求进行电子凭证系统的业务逻辑进行计算执行,以得到请求的结果值;
步骤十、电子凭证系统返回执行结果:电子凭证系统对请求的执行结果进行返回。
作为上述方案的进一步改进,互信认证需要验证请求来源是否合法,请求参数是否合法。
作为上述方案的进一步改进,身份认证需要调用SDK提供的https业务认证接口进行身份验证。
进一步地,身份认证包括以下步骤:
获取请求head数据:将请求head携带的数据从请求中分离出来,并从对分离出的数据进行校验,如果合法则进行后续操作,如果不合法则直接执行身份认证的最后步骤:返回结果;
解密并校验head数据:对获取请求head数据步骤分离的数据进行解密,解密后验证参数是否合法,如果合法则进行后续操作,如果不合法则直接执行身份认证的最后步骤:返回结果;
调用业务系统进行用户验证:对解密后并校验成功的数据进行处理后,调用业务系统开放的用户验证接口验证用户是否合法,如果合法则继续执行,否则直接执行身份认证的最后步骤:返回结果;
执行凭证系统业务:完成用户验证后对请求执行业务逻辑,业务执行完成后组织返回数据;
返回结果:将请求执行结果返回给接口调用放。
本发明还提供一种SDK和电子凭证系统之间的网络安全通信装置,所述SDK在得到所述电子凭证系统的信任后,所述电子凭证系统对SDK请求的数据进行验证、对SDK请求的合法性进行身份认证;而所述电子凭证系统在完成验证和认证后,才会执行相应的业务逻辑并返回给SDK其处理结果;所述网络安全通信装置包括:
SDK请求密钥模块,用于使SDK请求密钥:SDK根据预先约定好的加密密钥和加密方式进行请求参数的加密,向电子凭证系统发起https的请求;
请求密钥互信认证模块,用于使电子凭证系统进行请求密钥互信认证:电子凭证系统接收到SDK发起的请求密钥请求之后对请求进行互信认证;如果互信认证成功则执行后续的请求身份认证模块,否则直接执行后续的返回执行结果模块;
请求身份认证模块,用于使电子凭证系统对请求密钥用户请求身份认证:电子凭证系统对请求参数中携带的必要信息进行用户身份认证,如果身份验证成功则执行后续的计算密钥并缓存模块,否则直接执行后续的返回执行结果模块;
计算密钥并缓存模块,用于使电子凭证系统计算密钥并缓存:电子凭证系统计算SDK在建立当前连接之后的请求参数加密密钥,并对密钥数据进行时效设置和加密存储,以备后续使用;
接收模块,用于使SDK接收返回的密钥并缓存:SDK接收到返回的密钥,并在SDK中实现存储,以便在后续请求中用此密钥进行参数加密,否则后续请求在后续的互相认证模块的互信认证和用户请求身份认证模块的身份认证无法正确被认证;
业务请求模块,用于使SDK根据密钥进行请求参数加密进行业务请求:SDK根据缓存的密钥即接收模块获得的密钥对业务请求参数进行加密,并通过https方式发起业务请求;
互相认证模块,用于使电子凭证系统进行互相认证:电子凭证系统接收到SDK发起的业务请求之后对请求进行互信认证;如果互信认证成功则执行后续的用户请求身份认证模块,否则直接执行后续的返回执行结果模块;
用户请求身份认证模块,用于使电子凭证系统进行用户请求身份认证:电子凭证系统对请求参数中携带的必要信息进行用户身份认证,如果身份验证成功则执行后续的请求业务执行模块,否则直接执行后续的返回执行结果模块;
请求业务执行模块,用于使电子凭证系统进行请求业务执行:电子凭证系统根据SDK的请求进行电子凭证系统的业务逻辑进行计算执行,以得到请求的结果值;
返回执行结果模块,用于使电子凭证系统返回执行结果:电子凭证系统对请求的执行结果进行返回。
作为上述方案的进一步改进,互信认证需要验证请求来源是否合法,请求参数是否合法。
作为上述方案的进一步改进,身份认证需要调用SDK提供的https业务认证接口进行身份验证。
进一步地,所有的身份认证包括以下步骤:
获取请求head数据:将请求head携带的数据从请求中分离出来,并从对分离出的数据进行校验,如果合法则进行后续操作,如果不合法则直接执行身份认证的最后步骤:返回结果;
解密并校验head数据:对获取请求head数据步骤分离的数据进行解密,解密后验证参数是否合法,如果合法则进行后续操作,如果不合法则直接执行身份认证的最后步骤:返回结果;
调用业务系统进行用户验证:对解密后并校验成功的数据进行处理后,调用业务系统开放的用户验证接口验证用户是否合法,如果合法则继续执行,否则直接执行身份认证的最后步骤:返回结果;
执行凭证系统业务:完成用户验证后对请求执行业务逻辑,业务执行完成后组织返回数据;
返回结果:将请求执行结果返回给接口调用放。
采用本发明将更有效的保证数据传输的安全并避免用户使用过程中的盗用情况。
附图说明
图1是本发明网络安全通信系统的整体构架图。
图2是业务系统和电子凭证系统之间的网络安全通信方法的流程图。
图3是SDK和电子凭证系统之间的网络安全通信方法的流程图。
图4是业务系统和电子凭证系统之间的网络安全通信方法的身份认证方法的流程图。
图5是门锁的加密芯片和SDK之间基于蓝牙的互信及加解密方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明网络安全通信系统将从数据存储、数据传输、数据使用过程中对数据两端进行认证和加密,从而解决数据在存储中的被窃取、数据传输中的盗用、数据使用中的篡改等安全隐患。因此,本发明的目的是从网络数据存储、传输、使用整个过程中解决安全问题,提供全套的安全解决方案。
请参阅图1,本发明的网络安全通信系统用于协调业务系统、电子凭证系统、移动通信终端(如手机)之间安全通信,本发明的网络安全通信系统可作为软件APP或者插件等等形式附在电子凭证系统中,实现业务系统、电子凭证系统、手机之间的安全通信。
本发明还可以应用在移动通讯终端如手机上,SDK是给APP的提供是一些服务用的部件,与手机内部的加密芯片实现信息交换。电子凭证系统在云端生成安全加密的电子凭证数据,通过网络加密传输,在SDK侧加密存储,然后通过SDK传输到加密芯片进行解密验证。电子凭证系统可包含Sever、API接口、Json接口、身份认证机制以及具有支持自定义数据的电子凭证数据的数据存储器。
业务系统可为给基于SDK安装在移动通讯终端上的应用程序,为提供服务的后台系统。业务系统在得到电子凭证系统的信任后,对用户请求的数据进行验证、对用户请求的合法性进行身份认证;而电子凭证系统在业务系统完成验证和认证后,才会执行相应的业务逻辑并返回给业务系统其处理结果。
电子凭证系统本身提供了数据的安全存储,数据加密存储只有电子凭证系统通过接口程序获取数据的时候才能够正常解密,其他途径均无法查看到加密数据原始内容。
本发明中涉及到的网络通讯在每次通讯连接建立的初始均会彼此协商加密密钥,用于通讯两端对数据交互过程中的数据进行加密和解密使用,其他环节即使截获了数据也无法得到加密密钥,从而杜绝了传输过程中的数据被窃取的风险。本发明在网络通讯的过程中在首次连接建立的时候会对彼此的身份进行验证,只有在身份验证成功之后才会进行后续通讯,从而杜绝了非合法用户窃取数据的风险。本发明还在业务系统和电子凭证系统之间加入了通过业务系统参与认证的验证方式,从而使系统间的数据安全性达到最高。
电子凭证系统在云端生成安全加密的电子凭证数据,通过网络加密传输,在手机上的SDK侧加密存储,然后通过SDK传输到手机上的加密芯片进行解密验证。
网络安全通信系统可在API接口和业务系统之间设置互信及加解密机制一,形成业务系统和电子凭证系统之间网络安全通信装置,实现相应的网络安全通信方法。
如图2所示,业务系统与电子凭证系统的API接口之间的通讯机制,业务系统在得到电子凭证系统的信任后对请求的数据进行验证、对请求的合法性进行身份认证;当系统完成验证和认证后才会执行相应的业务逻辑并返回给业务系统处理结果。
网络安全通信系统还可在Json接口和SDK之间设置一个互信及加解密机制二,形成SDK和电子凭证系统之间网络安全通信装置,实现相应的网络安全通信方法。
如图3所示,SDK与电子凭证系统的JSON接口之间的通讯机制,SDK在得到电子凭证系统的信任后,电子凭证系统对请求的数据进行验证、对请求的合法性进行身份认证;当电子凭证系统完成验证和认证后才会执行相应的业务逻辑并返回给SDK处理结果。
网络安全通信系统还可采用业务系统的HTTPS业务认证接口在业务系统和电子凭证系统之间设置身份认证机制,形成业务系统和电子凭证系统之间网络安全通信方法的身份认证装置,实现网络安全通信方法的身份认证方法。
如图4所示,电子凭证系统对业务系统以及SDK发起的请求进行身份认证,身份认证的依据来源于业务系统,即业务系统开放第三方系统对用户有效性检查的接口,第三方系统通过接口返回值判断是否满足条件。
网络安全通信系统还可在SDK和加密芯片之间设置一个基于蓝牙的物联网互信及加解密机制三,形成门锁的加密芯片和SDK之间的互信及加解密装置,实现门锁的加密芯片和SDK(如手机上的SDK)之间的互信及加解密方法。
如图5所示,SDK与加密芯片之间的通讯机制,SDK在每次与加密芯片建立连接的时候完成认证;认证完成后才会执行相应的业务逻辑并返回结果给SDK进行后续处理。
接下去对本发明的以上设计要点进行一一详细展开说明。
一、互信及加解密机制一(即业务系统和电子凭证系统之间网络安全通信方法及其装置)
请参阅图2,业务系统和电子凭证系统之间网络安全通信装置包括10大模块,每大模块执行一个相应的步骤。依据这10大模块,业务系统和电子凭证系统之间网络安全通信方法的主要步骤描述:
1、请求密钥模块,用于使业务系统请求密钥功能。
业务系统根据预先约定好的加密密钥和加密方式进行请求参数的加密,向电子凭证系统发起https的请求。
2、请求密钥互信认证模块,用于使电子凭证系统进行请求密钥互信认证。
电子凭证系统接收到业务系统发起的请求密钥请求之后对请求进行互信认证,需要验证请求来源是否合法,请求参数是否合法等。如果认证成功则执行后续步骤,否则直接执行第10步。
3、请求身份认证模块,用于使电子凭证系统进行请求密钥用户请求身份认证。
电子凭证系统对请求参数中携带的必要信息进行用户身份认证,需要调用业务系统提供的https的接口进行验证,如果验证成功则执行后续步骤,否则直接执行第10步。
4、计算密钥并缓存模块,用于使电子凭证系统计算密钥并缓存。
电子凭证系统计算业务系统在建立当前连接之后的请求参数加密密钥,并对密钥数据进行时效设置和加密存储,以备后续使用。
5、接收模块,用于使业务系统接收返回的密钥并缓存。
业务系统接收到返回的密钥,并在业务系统中实现存储,以便在后续请求中用此密钥进行参数加密,否则后续请求在互信认证(第7步)和身份认证(第8步)无法正确被认证。
6、业务请求模块,用于使业务系统根据密钥进行请求参数加密进行业务请求。
业务系统根据缓存的密钥(第5步获得的密钥)对业务请求参数进行加密,并通过https方式发起业务请求。
7、互相认证模块,用于使电子凭证系统进行互相认证。
电子凭证系统接收到业务系统发起的业务请求之后对请求进行互信认证,需要验证请求来源是否合法,请求参数是否合法,请求参数加密方式是否合法等。如果认证成功则执行后续步骤,否则直接执行第10步。
8、用户请求身份认证模块,用于使电子凭证系统进行用户请求身份认证。
电子凭证系统对请求参数中携带的必要信息进行用户身份认证,需要调用业务系统提供的https的接口进行验证,如果验证成功则执行后续步骤,否则直接执行第10步。
9、请求业务执行模块,用于使电子凭证系统进行请求业务执行。
电子凭证系统根据业务系统的请求进行电子凭证系统的业务逻辑进行计算执行,以得到请求的结果值。
10、返回执行结果模块,用于使电子凭证系统返回执行结果。
电子凭证系统对请求的执行结果进行返回。
二、互信及加解密机制二(即SDK和电子凭证系统之间的网络安全通信方法及其装置)
请参阅图3,SDK和电子凭证系统之间的网络安全通信装置也包括10大模块,每大模块执行一个相应的步骤。依据这10大模块,手机SDK和电子凭证系统之间的网络安全通信方法的主要步骤描述:
1、SDK请求密钥模块,用于使SDK请求密钥。
SDK根据预先约定好的加密密钥和加密方式进行请求参数的加密,向电子凭证系统发起https的请求。
2、请求密钥互信认证模块,用于使电子凭证系统进行请求密钥互信认证。
电子凭证系统接收到SDK发起的请求密钥请求之后对请求进行互信认证,需要验证请求来源是否合法,请求参数是否合法等。如果认证成功则执行后续步骤,否则直接执行第10步。
3、请求身份认证模块,用于使电子凭证系统进行请求密钥用户请求身份认证。
电子凭证系统对请求参数中携带的必要信息进行用户身份认证,需要调用SDK提供的https的接口进行验证,如果验证成功则执行后续步骤,否则直接执行第10步。
4、计算密钥并缓存模块,用于使电子凭证系统计算密钥并缓存。
电子凭证系统计算SDK在建立当前连接之后的请求参数加密密钥,并对密钥数据进行时效设置和加密存储,以备后续使用。
5、接收模块,用于使SDK接收返回的密钥并缓存。
SDK接收到返回的密钥,并在SDK中实现存储,以便在后续请求中用此密钥进行参数加密,否则后续请求在互信认证(第7步)和身份认证(第8步)无法正确被认证。需要指出的是,如果基于SDK的app退出则密钥也直接失效,整个流程需要重新开始。
6、业务请求模块,用于使SDK根据密钥进行请求参数加密进行业务请求。
SDK根据缓存的密钥(第5步获得的密钥)对业务请求参数进行加密,并通过https方式发起业务请求。
7、互相认证模块,用于使电子凭证系统进行互相认证。
电子凭证系统接收到SDK发起的业务请求之后对请求进行互信认证,需要验证请求来源是否合法,请求参数是否合法,请求参数加密方式是否合法等。如果认证成功则执行后续步骤,否则直接执行第10步。
8、用户请求身份认证模块,用于使电子凭证系统进行用户请求身份认证。
电子凭证系统对请求参数中携带的必要信息进行用户身份认证,需要调用SDK提供的https的接口进行验证,如果验证成功则执行后续步骤,否则直接执行第10步。
9、请求业务执行模块,用于使电子凭证系统进行请求业务执行。
电子凭证系统根据SDK的请求进行电子凭证系统的业务逻辑进行计算执行,以得到请求的结果值。
10、返回执行结果模块,用于使电子凭证系统返回执行结果。
电子凭证系统对请求的执行结果进行返回。
三、互信加解密机制三(即门锁的加密芯片和SDK之间基于蓝牙的物联网互信及加解密方法及其装置)
请参阅图4,门锁的加密芯片和SDK之间的互信及加解密装置包括5大模块,每大模块执行一个相应的步骤。依据这5大模块,门锁的加密芯片和SDK之间的互信及加解密方法的主要步骤描述:
1、连接建立模块,用于使SDK与BLE建立连接。
SDK通过蓝牙与BLE建立连接。
2、互信认证模块,用于使SDK与BLE进行互信认证。
建立连接之后SDK根据预先约定好的加密密钥和加密方式将数据传输给BLE,BLE根据预先约定的密钥进行数据解密,根据获得的数据进行验证并返回给SDK互信数据,SDK对返回的数据进行认证,认证通过之后互信认证连接完成建立。
3、BLE缓存并返回密钥模块,用于使BLE缓存并返回密钥模块。
依据预先建立的互信连接(第1、2步建立的连接)BLE将密钥缓存并传输给SDK。
4、接收模块,用于使SDK接收返回的密钥并缓存。
SDK接收BLE返回的密钥,并加密缓存在本地,为后续数据传输加密提供密钥。
5、数据传输模块,用于使SDK与BLE基于当前连接的数据传输。
基于预先建立的互信连接(第1、2步建立的连接)在数据传输过程中将所有数据根据密钥(第4步缓存的密钥)进行数据加密传输。
需要指出的是,在任何过程中,只要蓝牙断开,SDK存储的密钥直接清零,整个流程需要重新开始。
四、身份认证机制(即业务系统和电子凭证系统之间网络安全通信方法的身份认证方法及其装置)
请参阅图5,业务系统和电子凭证系统之间网络安全通信方法的身份认证装置包括5大模块,每大模块执行一个相应的步骤。依据这5大模块,业务系统和电子凭证系统之间网络安全通信方法的身份认证方法的主要步骤描述:
1、获取请求head数据模块,用于获取请求head数据。
将请求head携带的数据从请求中分离出来,并从对分离出的数据进行校验,如果合法则进行后续操作,如果不合法则直接执行第5步。
2、解密并校验head数据模块,用于解密并校验head数据。
对第1步分离的数据进行解密,解密后验证参数是否合法,如果合法则进行后续操作,如果不合法则直接执行第5步。
3、调用业务系统进行用户验证模块,用于调用业务系统进行用户验证。
对解密后并校验成功的数据进行处理后,调用业务系统开放的用户验证接口验证用户是否合法,如果合法则继续执行,否则直接执行第5步。
4、执行凭证系统业务模块,用于执行凭证系统业务。
完成用户验证后对请求执行业务逻辑,业务执行完成后组织返回数据。
5、返回结果模块,用于返回结果。
将请求执行结果返回给接口调用放。
综上所述,本发明从网络数据存储、传输、使用整个过程中解决安全问题,提供全套的安全解决方案。电子凭证系统本身提供了数据的安全存储,数据加密存储只有系统通过接口程序获取数据的时候才能够正常解密,其他途径均无法查看到加密数据原始内容。
本发明的特点如下:
1、基于https协议之上的安全机制,SDK与电子凭证系统进行数据交互前要先进行互信验证和密钥协商,完成互信认证和密钥协商之后使用基于协商密钥进行数据加密传输,在https的两端完成加密;
2、电子凭证存储和传输的凭证数据由两部分组成,即通讯数据和自定义数据,通讯数据为用于和蓝牙芯片互信交互的数据;自定义数据为使用电子凭证系统的用户根据自身需要而设计的数据结构,此数据是在SDK与蓝牙芯片完成互信后直接传递给蓝牙芯片的;
3、蓝牙连接互信机制,SDK与蓝牙芯片建立初始连接之后先进行互信验证和密钥协商,完成互信认证和密钥协商之后使用基于协商密钥进行数据加密传输;
4、本方案整体说明网络安全通信机制。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种SDK和电子凭证系统之间的网络安全通信方法,SDK在得到所述电子凭证系统的信任后,所述电子凭证系统对SDK请求的数据进行验证、对SDK请求的合法性进行身份认证;所述电子凭证系统在完成验证和认证后,才会执行相应的业务逻辑并返回给SDK其处理结果;其特征在于:所述安全通信方法包括以下步骤:
步骤一、SDK请求密钥:SDK根据预先约定好的加密密钥和加密方式进行请求参数的加密,向电子凭证系统发起https的请求;
步骤二、电子凭证系统进行请求密钥互信认证:电子凭证系统接收到SDK发起的请求密钥请求之后对请求进行互信认证;如果互信认证成功则执行后续步骤,否则直接执行后续的第十步骤;
步骤三、电子凭证系统对请求密钥用户请求身份认证:电子凭证系统对请求参数中携带的必要信息进行用户身份认证,如果身份验证成功则执行后续步骤,否则直接执行后续的第十步骤;
步骤四、电子凭证系统计算密钥并缓存:电子凭证系统计算SDK在建立当前连接之后的请求参数加密密钥,并对密钥数据进行时效设置和加密存储,以备后续使用;
步骤五、SDK接收返回的密钥并缓存:SDK接收到返回的密钥,并在SDK中实现存储,以便在后续请求中用此密钥进行参数加密,否则后续请求在后续步骤七的互信认证和步骤八的身份认证无法正确被认证;
步骤六、SDK根据密钥进行请求参数加密进行业务请求:SDK根据缓存的密钥即第五步骤获得的密钥对业务请求参数进行加密,并通过https方式发起业务请求;
步骤七、电子凭证系统进行互相认证:电子凭证系统接收到SDK发起的业务请求之后对请求进行互信认证;如果互信认证成功则执行后续步骤,否则直接执行后续的第十步骤;
步骤八、电子凭证系统进行用户请求身份认证:电子凭证系统对请求参数中携带的必要信息进行用户身份认证,如果身份验证成功则执行后续步骤,否则直接执行后续的第十步骤;
步骤九、电子凭证系统进行请求业务执行:电子凭证系统根据SDK的请求进行电子凭证系统的业务逻辑进行计算执行,以得到请求的结果值;
步骤十、电子凭证系统返回执行结果:电子凭证系统对请求的执行结果进行返回。
2.如权利要求1所述的SDK和电子凭证系统之间的网络安全通信方法,其特征在于:互信认证需要验证请求来源是否合法,请求参数是否合法。
3.如权利要求1所述的SDK和电子凭证系统之间的网络安全通信方法,其特征在于:身份认证需要调用SDK提供的https业务认证接口进行身份验证。
4.如权利要求3所述的SDK和电子凭证系统之间的网络安全通信方法,其特征在于:身份认证包括以下步骤:
获取请求head数据:将请求head携带的数据从请求中分离出来,并从对分离出的数据进行校验,如果合法则进行后续操作,如果不合法则直接执行身份认证的最后步骤:返回结果;
解密并校验head数据:对获取请求head数据步骤分离的数据进行解密,解密后验证参数是否合法,如果合法则进行后续操作,如果不合法则直接执行身份认证的最后步骤:返回结果;
调用业务系统进行用户验证:对解密后并校验成功的数据进行处理后,调用业务系统开放的用户验证接口验证用户是否合法,如果合法则继续执行,否则直接执行身份认证的最后步骤:返回结果;
执行凭证系统业务:完成用户验证后对请求执行业务逻辑,业务执行完成后组织返回数据;
返回结果:将请求执行结果返回给接口调用放。
5.一种SDK和电子凭证系统之间的网络安全通信装置,所述SDK在得到所述电子凭证系统的信任后,所述电子凭证系统对SDK请求的数据进行验证、对SDK请求的合法性进行身份认证;而所述电子凭证系统在完成验证和认证后,才会执行相应的业务逻辑并返回给SDK其处理结果;其特征在于:所述网络安全通信装置包括:
SDK请求密钥模块,用于使SDK请求密钥:SDK根据预先约定好的加密密钥和加密方式进行请求参数的加密,向电子凭证系统发起https的请求;
请求密钥互信认证模块,用于使电子凭证系统进行请求密钥互信认证:电子凭证系统接收到SDK发起的请求密钥请求之后对请求进行互信认证;如果互信认证成功则执行后续的请求身份认证模块,否则直接执行后续的返回执行结果模块;
请求身份认证模块,用于使电子凭证系统对请求密钥用户请求身份认证:电子凭证系统对请求参数中携带的必要信息进行用户身份认证,如果身份验证成功则执行后续的计算密钥并缓存模块,否则直接执行后续的返回执行结果模块;
计算密钥并缓存模块,用于使电子凭证系统计算密钥并缓存:电子凭证系统计算SDK在建立当前连接之后的请求参数加密密钥,并对密钥数据进行时效设置和加密存储,以备后续使用;
接收模块,用于使SDK接收返回的密钥并缓存:SDK接收到返回的密钥,并在SDK中实现存储,以便在后续请求中用此密钥进行参数加密,否则后续请求在后续的互相认证模块的互信认证和用户请求身份认证模块的身份认证无法正确被认证;
业务请求模块,用于使SDK根据密钥进行请求参数加密进行业务请求:SDK根据缓存的密钥即接收模块获得的密钥对业务请求参数进行加密,并通过https方式发起业务请求;
互相认证模块,用于使电子凭证系统进行互相认证:电子凭证系统接收到SDK发起的业务请求之后对请求进行互信认证;如果互信认证成功则执行后续的用户请求身份认证模块,否则直接执行后续的返回执行结果模块;
用户请求身份认证模块,用于使电子凭证系统进行用户请求身份认证:电子凭证系统对请求参数中携带的必要信息进行用户身份认证,如果身份验证成功则执行后续的请求业务执行模块,否则直接执行后续的返回执行结果模块;
请求业务执行模块,用于使电子凭证系统进行请求业务执行:电子凭证系统根据SDK的请求进行电子凭证系统的业务逻辑进行计算执行,以得到请求的结果值;
返回执行结果模块,用于使电子凭证系统返回执行结果:电子凭证系统对请求的执行结果进行返回。
6.如权利要求5所述的SDK和电子凭证系统之间的网络安全通信装置,其特征在于:互信认证需要验证请求来源是否合法,请求参数是否合法。
7.如权利要求5所述的SDK和电子凭证系统之间的网络安全通信装置,其特征在于:身份认证需要调用SDK提供的https业务认证接口进行身份验证。
8.如权利要求7所述的SDK和电子凭证系统之间的网络安全通信装置,其特征在于:所有的身份认证包括以下步骤:
获取请求head数据:将请求head携带的数据从请求中分离出来,并从对分离出的数据进行校验,如果合法则进行后续操作,如果不合法则直接执行身份认证的最后步骤:返回结果;
解密并校验head数据:对获取请求head数据步骤分离的数据进行解密,解密后验证参数是否合法,如果合法则进行后续操作,如果不合法则直接执行身份认证的最后步骤:返回结果;
调用业务系统进行用户验证:对解密后并校验成功的数据进行处理后,调用业务系统开放的用户验证接口验证用户是否合法,如果合法则继续执行,否则直接执行身份认证的最后步骤:返回结果;
执行凭证系统业务:完成用户验证后对请求执行业务逻辑,业务执行完成后组织返回数据;
返回结果:将请求执行结果返回给接口调用放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611195984.9A CN106790078A (zh) | 2016-12-22 | 2016-12-22 | 一种sdk和电子凭证系统之间的安全通信方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611195984.9A CN106790078A (zh) | 2016-12-22 | 2016-12-22 | 一种sdk和电子凭证系统之间的安全通信方法与装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106790078A true CN106790078A (zh) | 2017-05-31 |
Family
ID=58900275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611195984.9A Withdrawn CN106790078A (zh) | 2016-12-22 | 2016-12-22 | 一种sdk和电子凭证系统之间的安全通信方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106790078A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108966235A (zh) * | 2018-06-20 | 2018-12-07 | 融慧金科金融服务外包(北京)有限公司 | Ios用户的网络身份证rhidfa及其运行方法 |
CN109858905A (zh) * | 2018-12-21 | 2019-06-07 | 航天信息软件技术有限公司 | 跨系统的电子凭证处理方法及装置 |
CN110535807A (zh) * | 2018-05-24 | 2019-12-03 | 腾讯科技(深圳)有限公司 | 一种业务鉴权方法、装置和介质 |
CN113806715A (zh) * | 2020-06-16 | 2021-12-17 | 上海交通大学 | 嵌入式设备sdk安全性分析方法 |
-
2016
- 2016-12-22 CN CN201611195984.9A patent/CN106790078A/zh not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535807A (zh) * | 2018-05-24 | 2019-12-03 | 腾讯科技(深圳)有限公司 | 一种业务鉴权方法、装置和介质 |
CN108966235A (zh) * | 2018-06-20 | 2018-12-07 | 融慧金科金融服务外包(北京)有限公司 | Ios用户的网络身份证rhidfa及其运行方法 |
CN109858905A (zh) * | 2018-12-21 | 2019-06-07 | 航天信息软件技术有限公司 | 跨系统的电子凭证处理方法及装置 |
CN113806715A (zh) * | 2020-06-16 | 2021-12-17 | 上海交通大学 | 嵌入式设备sdk安全性分析方法 |
CN113806715B (zh) * | 2020-06-16 | 2024-04-05 | 上海交通大学 | 嵌入式设备sdk安全性分析方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108512862B (zh) | 基于无证书标识认证技术的物联网终端安全认证管控平台 | |
CN106790080A (zh) | 业务系统和电子凭证系统之间的网络安全通信方法与装置 | |
CN104205891B (zh) | 虚拟sim卡云平台 | |
US7725717B2 (en) | Method and apparatus for user authentication | |
CN108347729B (zh) | 网络切片内鉴权方法、切片鉴权代理实体及会话管理实体 | |
CN110177354A (zh) | 一种车辆的无线控制方法及系统 | |
US10050791B2 (en) | Method for verifying the identity of a user of a communicating terminal and associated system | |
CN105050081A (zh) | 网络接入设备接入无线网络接入点的方法、装置和系统 | |
CN106230838A (zh) | 一种第三方应用访问资源的方法和装置 | |
CN101371550A (zh) | 自动安全地向移动通信终端的用户供给在线服务的服务访问凭证的方法和系统 | |
KR20190004499A (ko) | eSIM 단말과 서버가 디지털 인증서를 협의하는 방법 및 장치 | |
JP2005504459A (ja) | 電気通信用の携帯用品と公開アクセス端末との間の認証方法 | |
CN107959686A (zh) | 一种物联网安全认证系统及认证方法 | |
WO2017185450A1 (zh) | 终端的认证方法及系统 | |
CN105871777A (zh) | 无线路由器的接入处理、接入方法及装置 | |
US9319882B2 (en) | Method for mutual authentication between a terminal and a remote server by means of a third-party portal | |
CN105282179A (zh) | 一种基于cpk的家庭物联网安全控制的方法 | |
CN106790078A (zh) | 一种sdk和电子凭证系统之间的安全通信方法与装置 | |
CN107612949B (zh) | 一种基于射频指纹的无线智能终端接入认证方法及系统 | |
JP2016519873A (ja) | 汎用ブートストラッピングアーキテクチャを用いてセキュアな音声通信を確立する方法 | |
CN107733652A (zh) | 用于共享交通工具的开锁方法和系统及车锁 | |
WO2019056971A1 (zh) | 一种鉴权方法及设备 | |
CN110278083A (zh) | 身份认证请求处理方法和装置、设备重置方法和装置 | |
CN104168565A (zh) | 一种非可信无线网络环境下智能终端安全通讯的控制方法 | |
CN110278084B (zh) | eID建立方法、相关设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180703 Address after: 518052 Room 201, building A, 1 front Bay Road, Shenzhen Qianhai cooperation zone, Shenzhen, Guangdong Applicant after: Shenzhen Qianhai Sheng Tai Industrial Co., Ltd. Address before: 518066 room 2407, Oriental Science and technology building, 16 Keyuan Road, Nanshan District, Shenzhen, Guangdong Applicant before: Shenzhen Zhongcheng science and Technology Co. Ltd |
|
TA01 | Transfer of patent application right | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20170531 |
|
WW01 | Invention patent application withdrawn after publication |