CN111831974A - 接口保护方法、装置、电子设备及存储介质 - Google Patents

接口保护方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111831974A
CN111831974A CN202010620659.2A CN202010620659A CN111831974A CN 111831974 A CN111831974 A CN 111831974A CN 202010620659 A CN202010620659 A CN 202010620659A CN 111831974 A CN111831974 A CN 111831974A
Authority
CN
China
Prior art keywords
parameter
key
parameter set
initiator
timing parameter
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.)
Granted
Application number
CN202010620659.2A
Other languages
English (en)
Other versions
CN111831974B (zh
Inventor
余小龙
李新国
常林
宫俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen National Engineering Laboratory Of Digital Television Co ltd
Original Assignee
Shenzhen National Engineering Laboratory Of Digital Television Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen National Engineering Laboratory Of Digital Television Co ltd filed Critical Shenzhen National Engineering Laboratory Of Digital Television Co ltd
Priority to CN202010620659.2A priority Critical patent/CN111831974B/zh
Publication of CN111831974A publication Critical patent/CN111831974A/zh
Application granted granted Critical
Publication of CN111831974B publication Critical patent/CN111831974B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种接口保护方法、装置、电子设备及存储介质,用于发起方和接收方,其中发起方包括:获取预设触发事件,根据所述预设触发事件发起认证流程;获取发起方所支持的加密数据,根据所述加密数据生成第一参数集合;将所述第一参数集合发送至接收方,并记录第一计时参数;获取所述接收方发送的第二参数集合,并记录第二计时参数;根据所述第二参数集合生成密钥数据,并根据所述密钥数据、所述第一计时参数和所述第二计时参数对所述第二参数集合进行校验,得到发起校验结果;将所述发起校验结果发送至所述接收方。通过上述接口保护方法,能够简化接口保护的认证流程,减少认证耗时,提高认证效率且具有更高的容错性。

Description

接口保护方法、装置、电子设备及存储介质
技术领域
本发明涉及电子器件领域,尤其是涉及一种接口保护方法、装置、电子设备及存储介质。
背景技术
电子设备上的USB、HDMI等都是数字接口,相对于VGA等模拟接口,目前模拟接口基本都被数字接口取代。在数字接口上传输的数字内容,很容易被截获,从而造成盗版,通常采用对数字内容进行加密的方式进行保护。内容保护往往包括内容加密和认证协议两部分。当前,主要的数字接口保护标准是国际的HDCP,HDCP认证协议包括AKE阶段((Authentication and key exchange)、LC阶段(Locality check)、SKE阶段(Session keyexchange)以及与repeater的认证阶段。通过四个阶段的加密和认证,可以实现接口保护。
在HDCP2.X认证协议中,需要至少7-pass(非接口中转方通信)实现内容保护认证协议,包括认证和密钥交换4-pass、本地地理位置验证2-pass,会话密钥交换(Session keyexchange)1-pass。当与接口中转方(repeater)通信,则需要额外的多次2-pass信息采集和2-pass命令控制认证,因此,目前的认证方式冗余,效率低下。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明实施例提出一种接口保护方法,用于发起方,能够简化接口保护的认证流程,减少认证耗时,提高认证效率且具有更高的容错性。
本发明实施例还提出一种接口保护方法,用于接收方。
本发明实施例还提出一种接口保护方法,用于发起方和接收方。
本发明实施例还提出一种接口保护装置。
本发明实施例还提出另一种接口保护装置。
本发明实施例还提出一种接口保护电子设备。
本发明实施例还提出一种接口保护存储介质。
根据本发明的第一方面实施例的接口保护方法,用于发起方,包括:
获取预设触发事件,根据所述预设触发事件发起认证流程;
获取发起方所支持的加密数据,根据所述加密数据生成第一参数集合;
将所述第一参数集合发送至接收方,并记录第一计时参数;
获取所述接收方发送的第二参数集合,并记录第二计时参数;
根据所述第二参数集合生成密钥数据,并根据所述密钥数据、所述第一计时参数和所述第二计时参数对所述第二参数集合进行校验,得到发起校验结果;
将所述发起校验结果发送至所述接收方。
根据本发明实施例第一方面的接口保护方法,至少具有如下有益效果:发起方根据预设触发事件发起认证流程,并根据自身所支持的密钥交换参数、密钥重用信息列表等第一参数集合发送至接收方供认证其选择,记录得到第一计时参数;然后接收得到第二参数集合,记录得到第二计时参数,对接收方发送的第二参数集合进行校验,得到发起校验结果;最后将发起校验结果发送至接收方,使得接收方可以完成验证密钥协商,能够简化接口保护的认证流程,减少认证耗时,提高认证效率且具有更高的容错性。
根据本发明的一些实施例,所述获取所述发起方所支持的加密数据,根据所述加密数据生成第一参数集合,包括:获取发起参数;获取所述发起方所支持的加密算法,根据所述加密算法生成第一子列表;获取所述发起方所支持的密钥协商算法,根据所述密钥协商数据生成第二子列表;获取所述发起方所支持的密钥重用信息,根据所述密钥重用信息生成第三子列表;根据所述发起参数、所述第一子列表、所述第二子列表和所述第三子列表得到第一参数集合。
根据本发明的一些实施例,所述根据所述第二参数集合生成密钥数据,并根据所述密钥数据、所述第一计时参数和所述第二计时参数对所述第二参数集合进行校验,得到发起校验结果,包括:当所述第二参数集合中包括密钥交换信息,基于所述第二参数集合生成第一主密钥;根据所述第一主密钥生成第一会话密钥;根据所述第一会话密钥对所述第二参数集合进行数字签名验证,根据所述第一计时参数和所述第二计时参数对所述第二参数集合进行通信延迟校验,并得到发起校验结果。
根据本发明的一些实施例,所述根据所述第二参数集合生成密钥数据,并根据所述密钥数据、所述第一计时参数和所述第二计时参数对所述第二参数集合进行校验,得到发起校验结果,包括:当所述第二参数集合中仅包含配对信息,查询得到第二主密钥;根据所述第二主密钥生成第二会话密钥;根据所述第二会话密钥、所对所述第二参数集合进行完整性校验,根据所述第一计时参数和所述第二计时参数对所述第二参数集合进行通信延迟校验,并得到发起校验结果。
根据本发明的第二方面实施例的接口保护方法,包括:用于接收方,其特征在于,所述方法包括:
接收发起方发送的第一参数集合,获取预设签名时长,并记录第三计时参数;
根据所述第一参数集合进行配对检测,基于检测结果生成配对信息,并记录第四计时参数;
根据所述预设签名时长、所述第三计时参数、所述配对信息和所述第四计时参数得到第二参数集合,将所述第二参数集合发送至发起方;
获取所述发起方发送的发起校验结果,基于所述发起校验结果进行验证,当所述发起校验结果验证通过时,确定完成认证。
根据本发明第二方面实施例的接口保护方法,至少具有如下有益效果:根据本发明第二方面实施例的接口保护方法,至少具有如下有益效果:接收方发起方通过接收方发送的第二参数集合,依据第二参数集合可以完成密钥协商,生成共享密钥,并根据第二参数集合中的时钟信息,完成地理位置校验,可以简化接口保护的认证流程,缩短认证的时间。
根据本发明的一些实施例,所述基于检测结果生成配对信息,包括:当获取到所述检测结果中的配对标识,利用私钥解密得到第三主密钥;获取第一接收参数,根据所述第一接收参数和所述第三主密钥生成第一密钥数据;根据所述第一密钥数据和所述配对标识生成配对信息。所述根据所述预设签名时长、所述第三计时参数、所述配对信息和所述第四计时参数得到第二参数集合,包括:根据所述预设签名时长、所述第三计时参数、所述配对信息和所述第四计时参数进行计算,得到第一预设记号值;根据所述预设签名时长、所述第三计时参数、所述配对信息、所述第四计时参数和所述第一预设记号值得到第二参数集合。
根据本发明的一些实施例,所述方法还包括:所述基于检测结果生成配对信息,包括:当没有获取到所述配对标识,查询得到目标密钥协商算法,根据所述目标密钥协商算法生成目标协商参数;根据所述目标协商参数计算得到第四主密钥;获取第二接收参数和预设标识,根据所述第二接收参数和所述第四主密钥生成第二密钥数据;根据所述第二密钥数据和所述预设标识生成配对信息;所述根据所述预设签名时长、所述第三计时参数、所述配对信息和所述第四计时参数得到第二参数集合,包括:获取密钥摘要值;根据所述密钥摘要值、所述预设签名时长、所述第三计时参数、所述配对信息和所述第四计时参数进行数字签名运算,得到第二预设记号值;根据所述预设签名时长、所述第三计时参数、所述配对信息、所述第四计时参数和所述第二预设记号值得到第二参数集合。
根据本发明第三方面实施例提出的接口保护方法,用于发起方和接收方,所述方法包括:
所述发起方执行如第一方面实施例所述的接口保护方法;对应的,所述接收方执行如第二方面实施例所述的接口保护方法。
根据本发明实施例第三方面的接口保护方法,至少具有如下有益效果:由发起方执行第一方面实施例提出的接口保护方法,由接收方执行第二方面实施例提出的接口保护方法,可以减少接口认证的回合数,简化认证流程,显著加快认证效率。
根据本发明实施例第四方面提出的接口保护装置,所述装置包括:
第一获取模块,用于获取预设触发事件,根据所述预设触发事件发起认证流程;
第二获取模块,用于获取所述发起方所支持的加密数据,根据所述加密数据生成第一参数集合;
第一发送模块,用于将所述第一参数集合发送至接收方,并记录第一计时参数;
第一接收模块,用于获取所述接收方发送的第二参数集合,并记录第二计时参数;
第一校验模块,用于根据所述第二参数集合生成密钥数据,并根据所述密钥数据、所述第一计时参数和所述第二计时参数对所述第二参数集合进行校验,得到发起校验结果;
第二发送模块,用于将所述发起校验结果发送至所述接收方。
根据本发明第四方面提出的接口保护装置,至少具有如下有益效果:由发起方根据预设触发事件发起认证流程,并根据自身所支持的密钥交换参数、密钥重用信息列表等第一参数集合发送至接收方供认证其选择,记录得到第一计时参数;然后接收得到第二参数集合,记录得到第二计时参数,对接收方发送的第二参数集合进行校验,得到发起校验结果;最后将发起校验结果发送至接收方,使得接收方可以完成验证密钥协商,能够简化接口保护的认证流程,减少认证耗时,提高认证效率且具有更高的容错性。
根据本发明第五方面提出的接口保护装置,所述装置包括:
第三获取模块,用于接收发起方发送的第一参数集合,获取预设签名时长,并记录第三计时参数;
检测模块,用于根据所述第一参数集合进行配对检测,基于检测结果生成配对信息,记录得到第四计时参数;
第三发送模块,用于根据所述预设签名时长、所述第三计时参数、所述配对信息和所述第四计时参数得到第二参数集合,将所述第二参数集合发送至所述发起方;
第二校验模块,用于获取所述发起方发送的发起校验结果,基于所述发起校验结果进行验证,当验证通过时,确定完成认证。
根据本发明第五方面提出的接口保护装置,至少具有如下有益效果:由接收方通过接收发送方发送的第一参数集合,依据第一参数集合可以完成密钥协商,生成共享密钥,并根据第一参数集合中的时钟信息,完成地理位置校验,得到第二参数集合,可以简化接口保护的认证流程,缩短认证的时间。
根据本发明第六方面提出的接口保护电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现:如本发明第一方面实施例所述的接口保护方法;或者,如本发明第二方面实施例所述的接口保护方法;或者,如本发明第三方面实施例所述的接口保护方法。
根据本发明第六方面提出的接口保护电子设备,至少具有如下有益效果:由发起方执行第一方面实施例提出的接口保护方法,由接收方执行第二方面实施例提出的接口保护方法,可以减少接口认证的回合数,简化认证流程,显著加快认证效率。
根据本发明第七方面提出的接口保护存储介质,存储有计算机可执行指令,所述计算机可执行指令用于:执行本发明第一方面实施例所述的接口保护方法;或者,执行本发明第二方面实施例所述的接口保护方法;或者,执行本发明第三方面实施例所述的接口保护方法。
根据本发明第七方面提出的接口保护存储介质,至少具有如下有益效果:由发起方执行第一方面实施例提出的接口保护方法,由接收方执行第二方面实施例提出的接口保护方法,可以减少接口认证的回合数,简化认证流程,显著加快认证效率。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明一实施例接口保护方法的流程示意图;
图2为本发明另一实施例的接口保护方法的流程示意图;
图3为本发明另一实施例的接口保护方法的流程示意图;
图4为本发明一实施例的接口保护装置的结构示意图;
图5为本发明另一实施例的接口保护装置的结构示意图;
图6为本发明一实施例的接口保护电子设备的功能模块图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
参照图1,示出了接口保护方法的流程示意图,用于发起方,该接口保护方法包括:
步骤S100,获取预设触发事件,根据预设触发事件发起认证流程。
其中,发起方可以为接口保护认证过程中发起认证的一方,发起方也可以称为认证发起方;接收方可以为接口保护的认证过程中进行查证的一方,接收方也可以称为认证接收方;预设触发事件可以是预先设置的触发认证流程的事件;认证流程可以是安排的接口保护的认证程序。可选的,预设触发事件可以为热插拔事件或者模式设置起效。当检测到上述热插拔事件或者模式设置起效后,则可以由发起方发起认证流程。
步骤S110,获取发起方所支持的加密数据,根据加密数据生成第一参数集合。
其中,加密数据可以是发起方自身所支持的加密算法、密钥协商算法和曲线,或发起方自身存储的密钥重用信息库中的信息等数据;第一参数集合可以根据加密数据生成的若干密钥交换参数和密钥重用信息列表组成的集合。可选的,加密数据可以包括:发起方生成的随机数、发起方自身支持的接口内容加密算法、发起方自身支持的密钥协商算法和曲线、发起方自身存储的密钥重用信息库中的若干配对密钥重用信息等,则可以分别根据上述加密数据生成第一参数集合,例如:获取发起方生成的随机数,该随机数可以用于数据传输过程中的数据防篡改。可以根据发起方支持的接口内容加密算法生成列表AlgList、可以根据发起方自身支持的密钥协商算法和曲线生成协商密钥参数列表AKE_Paras_List、可以根据上述若干配对密钥重用信息形成配对列表Pairing_list,根据列表AlgList、协商密钥参数列表AKE_Paras_List和配对列表Pairing_list组成第一参数集合。
步骤S120,将第一参数集合发送至接收方,并记录第一计时参数。
其中,第一计时参数可以是发起方记录得到的发送认证请求时的时间戳。记录得到第一计时参数T1可以得到认证请求时的发送时间戳,用于隔离出数字接口通信延时。可选的,可以是由发起方在发起认证流程时复用或启动一个新的计时器,可以采用watchdog看门狗实现该计时器功能。在将第一参数集合发送至接收方时,由该计时器进行计时得到第一计时参数T1。
步骤S130,获取接收方发送的第二参数集合,并记录第二计时参数。
其中,第二参数集合可以是由接收方选择的密钥协商机制和生成的相关参数的集合,第二参数集合中可以包括若干相关参数;第二计时参数可以是发起方记录得到的接收第二参数集合时的时间戳。可选的,发起方可以根据第二参数集合完成密钥协商,生成共享密钥;可以由发起方的在发起认证流程时复用或启动一个新的计时器记录得到第二计时参数,可以采用watchdog看门狗实现计时器功能,在获取接收方发送的第二参数集合时,由该计时器进行计时得到第二计时参数T2,记录T2可以用于计算得到数字接口的传播延迟。
步骤S140,根据第二参数集合生成密钥数据,并根据密钥数据、第一计时参数和所述第二计时参数对第二参数集合进行校验,得到发起校验结果。
其中,密钥数据可以是共享密钥的相关信息;发起校验结果可以是发起方对第二参数集合进行确认后得到的结果。可选的,可以根据第二参数集合中的参数生成相关密钥参数,可以根据密钥数据、第一计时参数T1和第二计时参数T2对第二参数集合中的参数进行验证,例如,可以是验证密钥确认和数字签名,得到校验结果。可以是得到校验成功的校验结果,或得到校验失败的校验结果,当得到校验成功的校验结果时,可以将校验成功的校验结果发送至接收方;当得到校验失败的校验结果时,可以根据校验失败的校验结果重新发起认证流程。
步骤S150,将发起校验结果发送至接收方。
可选的,将发起校验结果发送至接收方,使得接收方可以对发起校验结果进行验证,接收方可以判断该发起校验结果能否通过校验,从而可以判读是否完成此次接口认证。
通过发起方根据预设触发事件发起认证流程,并根据自身所支持的密钥交换参数、密钥重用信息列表等第一参数集合发送至接收方供认证其选择,并记录第一计时参数;然后接收得到第二参数集合,并记录第二计时参数,对接收方发送的第二参数集合进行校验,得到发起校验结果;最后将发起校验结果发送至接收方,使得接收方可以完成验证密钥协商,能够简化接口保护的认证流程,减少认证耗时,提高认证效率且具有更高的容错性。
在本发明的一些实施例中,获取发起方所支持的加密数据,根据加密数据生成第一参数集合,包括:
获取发起参数。其中,发起参数可以是发起方生成的一个随机参数;发起参数可以为请求参数,用于防止传递的第一参数集合被篡改。可选的,假设发起参数为发起方生成随机数Rtx,则可以获取发起参数为Rtx。
获取发起方所支持的加密算法,根据加密算法生成第一子列表。其中,加密算法可以为发起方所支持的、对传输信息进行加密的规则;第一子列表可以是第一参数集合中的第一个参数列表,可以根据不同的加密算法得到第一子列表。可选的,假设发起方所支持的加密算法为SM4-CTR,则可以根据SM4-CTR算法生成第一子列表AlgList;假设发起方所支持的加密算法为AES-128-CTR,则可以根据AES-128-CTR算法生成第一子列表AlgList。
获取发起方所支持的密钥协商算法,根据密钥协商数据生成第二子列表。其中,密钥协商算法可以是发起方所支持的不泄露密钥的情况下协商出一种密钥的算法和曲线;第二子列表可以为第一参数集合中的第二个参数列表,可以根据发起方所支持的密钥协商算法生成第二子列表。可选的,发起方所支持的密钥协商算法包括:基于有限域DH标准ffdhe2048,ffdhe3072,ffdhe4096,ffdhe6144,ffdhe8192,或椭圆曲线ECDH标准secp256r1,secp384r1,secp521r1,国密SM2。在一个具体的实施例中,假设发起方支持SM2和secp256r1密钥协商,假设第二子列表为AKE_Paras_List,则AKE_Paras_List={SM2,(x1,y1)},{secp256r1,(x2,y2)},其中,(x1,y1)为SM2的随机数即私钥与SM2基点标量乘后的公钥值,(x2,y2)为secp256r1的随机数即私钥与secp256r1基点标量乘后的协商公钥参数。由此可以得到第二子列表AKE_Paras_List。
获取发起方所支持的密钥重用信息,根据密钥重用信息生成第三子列表。其中,密钥重用信息可以是发起方自身存储的密钥重用信息库中的信息,密钥重用信息可以通过查询密钥重用信息库得到;第三子列表可以是第一参数集合中的第三个参数列表,可以根据发起方所支持的密钥重用信息生成第三子列表。可选的,假设查询密钥重用信息库得到10条最新的配对密钥重用信息,则可以根据这10条最新的配对密钥重用信息形成配对列表Pairing_list,即得到第三子列表Pairing_list。当在密钥重用信息库中没有查询到密钥重用信息时,即,当Pairing_list为空时,表示发起方暂不支持配对密钥重用方式认证。
在一些具体的实施例中,每条密钥重用信息都来自于之前连接该接口时接收方返回的配对密钥重用信息记为Pairing。配对信息Pairing由接收方的身份ID即rxID和加密数据psk构成。psk由接收方的私钥加密当前认证会话的主密钥生成。可选的,假设主密钥为km,则psk=E(hash(接收方私钥),km),即先把私钥摘要计算后,然后作为对称算法的密钥,对km加密生成psk。
根据发起参数、第一子列表、第二子列表和第三子列表得到第一参数集合。可选的,假设发起参数为Rtx,第一子列表为AlgList,第二子列表为AKE_Paras_List,第三子列表为Pairing_list,则可以将Rtx、AlgList、AKE_Paras_List和Pairing_list作为第一参数集合A,可以将上述第一参数集合A发送至接收方,使得接收方可以对第一参数集合A进行校验。通过分别查询发起方所支持的加密算法、密钥协商算法和密钥重用信息,可以分别得到第一子列表、第二子列表和第三子列表,可以将第一子列表、第二子列表和第三子列表组成第一参数集合,将第一参数集合发送至接收方,使得接收方可以根据第一参数集合进行密钥协商和地理位置校验,可以提高认证效率。
在本发明的一些实施例中,根据第二参数集合生成密钥数据,并根据密钥数据、第一计时参数和第四计时参数对第二参数集合进行校验,得到发起校验结果,包括:
当第二参数集合中包括密钥交换信息,基于第二参数集合生成第一主密钥。其中,密钥交换信息可以是第二参数集合中的AKE_Paras信息,第一主密钥可以是根据双向的协商密钥参数生成的共享密钥。可选的,可以根据双向协商密钥参数生成第一主密钥km。以ECDH secp256r1为例,第一主密钥km的值为发起方私钥标量乘接收方发送过来的对应算法的公钥(x3,y3)后获得的值。
根据第一主密钥生成第一会话密钥。其中,第一会话密钥可以是根据第一主密钥产生的加密和解密密钥。可选的,假设第一主密钥为km,假设第一会话密钥位ks,ks为km连同Rtx(发起参数)和第二参数集合中的Rrx(接收参数)通过密钥扩展函数生成。具体的,ks=HKDF(km,Rrx||Rtx||“会话密钥”),||表示级联,“会话密钥”为填充信息,由此可以得到第一会话密钥ks。
根据第一会话密钥对所述第二参数集合进行数字签名验证,根据第一计时参数和第二计时参数对第二参数集合进行通信延迟校验,并得到发起校验结果。当第二参数集合中包含AKE_Paras信息时,发起方可以对第二参数集合中的参数进行验证,例如进行数字签名验证和通信延迟校验,还可以依据第二参数集合中的接收方提供的时钟信息,完成地理位置校验。可选的,首先,根据第二参数集合中的密钥交换信息AKE_Paras启动非对称密钥协商,可以根据第一主密钥计算得到第一密钥确认摘要值H,例如:26、H=HMAC(km,rxID||Rtx||Rrx||”密钥确认”),HMAC为基于hash的摘要算法,||表示字符串级联。“密钥确认”是辅助填充数据。继而可以由发起方开始对第二参数集合进行数字签名验证和通信延迟校验,包括下述验证步骤:
(1)验证第二参数集合中的sign1值,验证第二参数集合中的自身参数(Recvinfo)中的证书有效性,并验证第二参数集合中的数字签名值;
(2)验证第二参数集合中的第四计时参数是否大于第三计时参数,即,T4是否大于T3;
(3)根据第一计时参数和第二计时参数、第二参数集合中的第三计时参数和第四计时参数计算通信延迟。例如,可以根据下列公式计算得到通信延迟t=(T2-T1)/M1-(T4+^T-T3)/M2,其中,M1为单调时钟的发起方频率,M2为接收方频率,^T为接收方预设数字签名耗时。然后判断所得t是否大于预先设定的阈值,例如,假设该预先设定的阈值为t1=20ms(t1可以根据需求设置),则验证t是否大于t1
最后,可以判断上述验证步骤(1)、(2)、(3)验证是否成功。当上述验证步骤(1)、(2)和(3)中所涉及的验证均通过时,则可以认为校验成功,得到校验成功的发起校验结果,可以把第一主密钥km和接收到的Pairing存储到发起方的配对密钥重用信息库中,并计算rxID(接收方的身份ID)、成功状态码status的HMAC值为sign2,HMAC的密钥为会话密钥。可以由发起方发送rxID、status,sign2给接收方;当上述(1)、(2)、(3)验证中至少存在一个验证不通过,则可以认为校验失败,得到校验失败的校验结果。例如,假设验证步骤(1)未通过验证,则可以认为校验失败。假设验证步骤(2)和验证步骤(3)未通过验证,则可以认为校验失败。当得到校验失败的校验结果时,可以重新发起认证流程。当第二参数集合中包括密钥交换信息时,可以生成第一主密钥,并根据第一主密钥生成第一会话密钥,继而可以启动非对称密钥协商,对第二参数集合进行校验,得到校验成功的校验结果,或者得到校验失败的校验结果。可以将校验成功的校验结果与rxID、status,sign2的值发送至接收方,可以根据校验失败的校验结果重新发起认证流程,从而可以简化认证过程,提高认证效率。
在本发明的一些实施例中,根据第二参数集合生成密钥数据,并根据密钥数据、第一计时参数和第二计时参数对第二参数集合进行校验,得到发起校验结果,包括:
当第二参数集合中仅包含配对信息,查询得到第二主密钥。其中,配对信息可以是接收方计算得到的配对信息,假设该配对信息为Pairing消息;第二主密钥可以是基于第二参数集合查找发起方的配对密钥重用信息库所得到的密钥。可选的,当第二参数集合中只含有Pairing消息(即配对消息)时,可以启动对称密钥重用,通过第二参数集合中的的配对信息rxID查找发起方的配对密钥重用信息库得到第二主密钥为km1。
根据第二主密钥生成第二会话密钥。其中,第二会话密钥可以是根据第二主密钥产生的加密和解密密钥。可选的,假设第二会话密钥为ks1,ks1为km1(第二主密钥)连同Rtx(发起参数)、Rrx(接收参数)通过密钥扩展函数生成,例如,ks1=HKDF(km1,Rrx||Rtx||“会话密钥”),||表示级联,“会话密钥”为填充信息。
根据第二会话密钥、对第二参数集合进行完整性校验,根据第一计时参数和第二计时参数对第二参数集合进行通信延迟校验,并得到发起校验结果。可选的,当第二参数中仅包含配对信息时,可以通过下述验证步骤对第二参数集合进行完整性校验:
(1)验证第二参数集合中的sign1值,可以使用第二会话密钥验证HMAC值;
(2)验证第二参数集合中的第四计时参数是否大于第三计时参数,即,T4是否大于T3;
(3)根据第一计时参数和第二计时参数、第二参数集合中的第三计时参数和第四计时参数计算通信延迟。例如,可以根据下列公式计算得到通信延迟t=(T2-T1)/M1-(T4+^T-T3)/M2,其中,M1为单调时钟的发起方频率,M2为接收方频率,^T为接收方预设数字签名耗时。然后判断所得t是否大于预先设定的阈值,例如,假设该预先设定的阈值为t1=20ms(t1可以根据需求设置),则验证t是否大于t1
当上述验证步骤(1)、(2)、(3)均通过验证,可以认为校验成功,可以进入下一个校验步骤。可选的,当校验成功时,可以由发起方计算新的km1(第二主密钥)值,记为km2。km2可以通过km1,Rrx,Rtx通过扩展函数计算得到,,km2=HKDF(km1,Rrx||Rtx||”新的主密钥”),||表示级联,”新的主密钥”为填充信息。可以将计算得到的km2和接收到的Pairing存储到配对密钥重用信息库中。可以计算rxID、成功状态码status的HMAC值为sign2,HMAC的密钥为会话密钥,并发送rxID、status,sign2给接收方。
当上述验证步骤(1)、(2)、(3)中至少一个验证失败时,可以认为校验失败,得到校验失败的校验结果,当校验失败时,可以重新发起认证流程,认证流程中Pairing_list设置为空。当第二参数集合中仅包含配对信息时,可以查询得到第二主密钥,并根据第二主密钥生成第二会话密钥,继而可以对第二参数集合进行校验,得到校验成功的校验结果,或者得到校验失败的校验结果。当得到校验成功的结果时,可以将第二主密钥的值进行更新,继而可以更新后的第二主密钥和接收到的Pairing存储到配对密钥重用信息库中,得到最后的校验结果。可以将校验成功的校验结果与rxID、status,sign2发送至接收方,可以根据校验失败的校验结果重新发起认证流程,从而可以简化认证过程,提高认证效率。
参照图2,根据本发明第二方面实施例提出的接口保护方法,用于接收方,包括:
步骤S200,接收发起方发送的第一参数集合,获取预设签名时长,并记录第三计时参数。
其中,预设签名时长可以是接收方预设的数字签名耗时^T,该耗时可以通过数字签名性能测试后写入到接收方代码中;第三计时参数可以是收方接收到发起方发送的第一参数集合时的时间戳。可选的,第三计时参数可以由接收方在接收发起方发送的第一参数集合时,通过复用或启动一个新的计时器计时得到,可以采用watchdog看门狗实现该计时器功能。记录得到第三计时参数可以用于计算通信延迟。
步骤S210,根据第一参数集合进行配对检测,基于检测结果生成配对信息,并记录第四计时参数。
其中,配对信息可以是对第一参数集合进行配对检测后得到的相关信息;第四计时参数可以是生成配对信息时的时间戳。可选的,可以根据第一参数集合进行配对检测,例如可以是对第一参数集合中的配对密钥重用信息进行配对检测,根据检测结果生成配对信息。第四计时参数可以根据接收方的计时器计时得到,可以采用watchdog看门狗实现该计时器功能。
步骤S220,根据预设签名时长、第三计时参数、配对信息和第四计时参数得到第二参数集合,将第二参数集合发送至发起方。
其中,第二参数集合可以是包括预设签名时长、第三计时参数、配对信息和第四计时参数的接收方的接收方相关参数的集合。可选的,当接收方对发起方发送的第一参数集合进行配对检测完毕后,可以认定发起方发送的参数信息是否为合法请求。当上述参数信息为合法请求时,可以将接收方相关参数的集合发送至发起方,使得发起方可以根据第二参数集合进行密钥协商和地理位置验证。
步骤S230,获取发起方发送的发起校验结果,基于所述发起校验结果进行验证,当发起校验结果验证通过时,确定完成认证。
可选的,接收方可以获取发起方的发起校验结果,并对发起校验结果进行验证,以判断是否完成本次接口认证。例如,当该发起校验结果验证成功时,可以判断本次接口认证完成;当发起校验结果验证失败时,可以判断本次接口认证失败,可以由接收方发送错误码给发起方,使得发起方重新发起认证流程。
在一些实施例中,在根据第一参数集合进行配对检测之前,还包括:接收方查询支持的内容加密算法,与接收到的第一参数集合中的Alg_List对比,选择一个接收方与发起方都支持的加密算法例如SM4-CTR算法,记为Alg。如果双方没有同时支持的算法,则返回认证发送方错误码,结束本次认证流程。
上述接口保护方法,接收方通过接收发送方发送的第一参数集合,依据第一参数集合可以完成密钥协商,生成共享密钥,并根据第一参数集合中的时钟信息,完成地理位置校验,得到第二参数集合,可以简化接口保护的认证流程,缩短认证的时间。
在本发明的一些实施例中,基于检测结果生成配对信息,包括:
当获取到检测结果中的配对标识,利用私钥解密得到第三主密钥。其中,配对标识可以是第一参数集合中的rxID中属于自身ID;第三主密钥可以是利用私钥解密后得到密钥。可选的,可以检测第一参数集合中的Pairing_list,取出Pairing_list中的配对密钥重用信息,并查找配对信息的rxID中是否有配对标识,当获取到该配对标识时,可以启动密钥重用,使用私钥解密第一参数集合中的加密数据psk得到第三主密钥。
获取第一接收参数,根据第一接收参数和第三主密钥生成第一密钥数据。其中,第一接收参数可以是当获取到配对标识时,接收方产生一个随机数;第一密钥数据可以根据第一接收参数和第三主密钥,使用私钥加密得到。可选的,假设第一接收参数为Rrx,假设第三主密钥为km3,则根据第一接收参数和第三主密钥生成第一密钥数据,可以为:(1)使用第三主密钥km3,Rtx(发起参数),Rrx(第一接收参数)通过密钥扩展函数生成会话密钥ks3和新的第三主密钥,可以将新的第三主密钥记为km3’。可选的,扩展函数为HKDF,即基于hash的密钥扩展函数。ks3=HKDF(km,Rrx||Rtx||“会话密钥”),||表示级联,“会话密钥”为填充信息。km3’=HKDF(km,Rrx||Rtx||”新的主密钥”),||表示级联,”新的主密钥”为填充信息。(2)接收方使用私钥加密km3’构成新的加密数据psk’,即得到第一密钥数据psk’。
根据第一密钥数据和配对标识生成配对信息。可选的,假设第一密钥数据表示为psk’,根据第一密钥数据和配对标识生成配对信息,可以为:将psk’连同配对标识一起构成配对信息Pairing={rxID,psk’},例如,psk’=E(hash(接收方私钥),km’),E为AES加密算法。
根据预设签名时长、第三计时参数、配对信息和第四计时参数得到第二参数集合,包括:
根据预设签名时长、第三计时参数、配对信息和第四计时参数进行计算,得到第一预设记号值。其中,第一预设记号值可以是根据预设签名时长、第三计时参数、配对信息和第四计时参数进行HMAC计算得到的结果,可以将该结果记为第一预设记号值sign1。HMAC运算(即HMAC算法)是一种基于密钥的报文完整性的验证方法,其安全性是建立在Hash加密算法基础上的。可选的,可以由接收方生成Recvinfo,接收方使用自身私钥对发起参数Rtx,第一参数列表中的AlgList、AKE_Paras_List、Pairing_list、Rrx、Alg、AKE_Paras(由目标密钥协商算法和目标协商参数构成AKE_Paras)、Recvinfo、Pairing,T3(第三计时参数)、T4(第四计时参数)、^T(预设签名时长)、M2(接收方频率)、sign1进行HMAC运算,得到预设记号值sign1。当认证接收方不是接口中转方时,Recvinfo即认证接收方自身的信息,比如rxID、数字证书、设备版本信息等;当认证接收方是接口中转方时,Recvinfo包括自身接口信息之外,还包括已经完成认证后获得的下游接口的拓扑信息。
根据预设签名时长、第三计时参数、配对信息、第四计时参数和第一预设记号值得到第二参数集合。可选的,可以将预设签名时长^T、第三计时参数T3、配对信息Pairing、第四计时参数T4和第一预设记号值sign1,连同接收参数(第一接收参数或第二接收参数)Rrx、Alg(发起方和接收方都支持的加密算法记为Alg)、M2(接收方频率)作为第二参数集合中的各个参数,并将第二参数集合给发起方,使得发起方可以接收第二参数集合完成密钥协商和地理位置校验。当检测到配对标识时,可以启动密钥重用,使用私钥解密加密数据得到第三主密钥,并由接收方加密后更新密钥重用信息,并对协商密钥参数、随机数、身份ID做密钥确认和数字签名运算,完成密钥协商和地理位置验证,可以对配对密钥重用的内容进行新的设计,简化认证流程。
在本发明的一些实施例中,基于检测结果生成配对信息,包括:
当没有获取到配对标识,查询得到目标密钥协商算法,根据目标密钥协商算法生成目标协商参数。其中,目标密钥协商算法可以为接收方支持的密钥协商算法;目标协商参数可以是根据目标密钥协商算法生成的相关参数。当第一参数集合中的Pairing_list为空,或者配对信息中不包含自身ID(即配对标识),则执行非对称密钥协商的步骤。可选的,由接收方查询支持的密钥协商算法,与接收到的第一参数集合中的AKE_Paras List对比,选择一个发起方和接收方都支持的密钥协商算法,并生成协商参数,由此可以得到目标密钥协商算法和目标协商参数,可以由目标密钥协商算法和目标协商参数构成AKE_Paras。例如,假设目标密钥协商算法为ECDH secp256r1,则选择AKE_Paras={secp256r1,(x3,y3)},其中secp256r1为算法,(x3,y3)为接收方生成随机数即私钥与secp256r1基点标量乘生成的ECDH的协商公钥参数值。
根据目标协商参数计算得到第四主密钥。其中,第四主密钥可以是根据目标协商参数生成的共享主密钥。可选的,以ECDH secp256r1为例,假设第四主密钥为km4,km4的值为接收方私钥标量乘认证发送方发送过来的对应算法的公钥参数(x2,y2)后获得的值。根据ECDH算法特性,km4的值等于认证发送方的私钥标量乘接收方发送的公钥参数(x3,y3)的值。
获取第二接收参数和预设标识,根据第二接收参数和所述第四主密钥生成第二密钥数据。其中,第二接收参数可以是接收方产生一个随机数;预设标识可以是接收方出厂自带的身边ID,可以将预设标识记为rxID。可选的,假设第二接收参数为Rrx,则可以根据第四主密钥km4和Rrx生成第二密钥数据,例如:使利用km4,Rtx(接收参数),Rrx(第二接收参数)通过密钥扩展函数生成会话密钥ks4。假设扩展函数为HKDF,即基于hash的密钥扩展函数,则ks4=HKDF(km4,Rrx||Rtx||“会话密钥”),||表示级联,“会话密钥”为填充信息。
根据第二密钥数据和预设标识生成配对信息。可选的,假设接收方产生第二接收参数为Rrx,假设预设标识记为rxID,假设第四主密钥为km4,可以由接收方使用私钥加密km4构成新的加密数据psk,例如,psk=E(hash(接收方私钥),km),E为AES加密算法。然后可以将psk连同rxID一起构成配对信息Pairing={rxID,psk}。
根据预设签名时长、第三计时参数、配对信息和所述第四计时参数得到第二参数集合,包括:
获取密钥摘要值。其中,密钥摘要值可以是接收方计算得到的密钥确认摘要值。可选的,假设密钥摘要值为H,H=HMAC(km,rxID||Rtx||Rrx||”密钥确认”),HMAC为基于hash的摘要算法,||表示字符串级联。“密钥确认”是辅助填充数据。
根据密钥摘要值、预设签名时长、第三计时参数、配对信息和第四计时参数进行数字签名运算,得到第二预设记号值。其中,数字签名可以是数字签名技术,持有私钥的一方对消息的摘要加密,而任意获得其公钥的一方对签名进行验证,数字签名技术具有身份认证,内容完整性保护和不可否认功能。数字签名标准包括基于RSA算法的PKCS#1v2。1,ECC算法的ECDSA签名标准ASNI X9。62等。而数字签名运算可以为:对数字签名内容进行验证,确保内容的签名者身份合法和内容的完整性,验证一般包括验证公钥和验证摘要值的合法性,验证公钥往往需要验证数字证书的可信链,验证摘要值则是对比内容的摘要与解密后的摘要是否一致。第二预设记号值可以为根据密钥摘要值、预设签名时长、第三计时参数、配对信息和第四计时参数进行数字签名运算所得的结果,可以将该结果记为第二预设记号值sign2。例如,可以由接收方生成Recvinfo,接收方使用自身私钥对发起参数Rtx,第一参数列表中的AlgList、AKE_Paras_List、Pairing_list、Rrx、Alg、AKE_Paras(由目标密钥协商算法和目标协商参数构成AKE_Paras)、Recvinfo、Pairing,T3(第三计时参数)、T4(第四计时参数)、^T(预设签名时长)、M2(接收方频率)、H(密钥摘要值)、sign2进行数字签名运算,得到第二预设记号值sign2。其中,当接收方不是接口中转方时,Recvinfo为接收方自身的信息,比如rxID、数字证书、设备版本信息等;当接收方是接口中转方时,Recvinfo可以包括自身接口信息之外,还包括已经完成认证后获得的下游接口的拓扑信息。
根据预设签名时长、第三计时参数、配对信息、第四计时参数和第二预设记号值得到第二参数集合。可选的,可以将预设签名时长^T、第三计时参数T3、配对信息Pairing、第四计时参数T4和第二预设记号值sign2,连同接收参数(第一接收参数或第二接收参数)Rrx、Alg(发起方和接收方都支持的加密算法记为Alg)、M2(接收方频率)作为第二参数集合中的各个参数,并将该第二参数集合给发起方,使得发起方可以接收第二参数集合完成密钥协商和地理位置校验。当没有检测到配对标识时,可以使用密钥交换参数计算出第四主密钥,并根据第四主密钥生成密钥重用信息,然后对协商密钥参数、随机数、身份ID做密钥确认和数字签名运算,完成密钥协商和地理位置验证,可以对配对密钥重用的内容进行新的设计,简化认证流程。
参照图3,根据本发明第三方面实施例提出的接口保护方法,用于发起方和接收方,发起方与接收方通信连接,该接口保护方法包括:
发起方执行如本发明第一方面实施例提出的接口保护方法;
接收方执行如本发明第二方面实施例提出的接口保护方法。
下面以一个具体的实施例详细描述本发明实施例的接口保护方法的过程。需要理解的是,下面描述仅是示例性说明,而不是对本发明的具体限制。
(1)发起方发布所有支持算法的Diffie-Hellman密钥交换参数、密钥重用信息列表供接收方选择。具体包括:
首先,当发起方检测到热插拔事件或者模式设置起效后,发起认证流程,并复用或启动一个新的计时器,或定时器,用于计时。
其次,发起方发起认证流程后;①可以由发起方查询自身支持的接口内容加密算法,例如比如SM4-CTR、AES-128-CTR等,由此可以形成列表AlgList;②发起方查询自身支持的密钥协商算法和曲线,生成协商密钥参数列表AKE_Paras_List,上述密钥协商算法和曲线可以包括:算法可能包括基于有限域DH标准ffdhe2048,ffdhe3072,ffdhe4096,ffdhe6144,ffdhe8192或椭圆曲线ECDH标准secp256r1,secp384r1,secp521r1,国密SM2;③发起方查询自身存储的密钥重用信息库,把最多10条最新的配对密钥重用信息形成配对列表Pairing_list。每条配对密钥重用信息都来自于之前连接该接口时接收方返回的配对密钥重用信息记为Pairing。当Pairing_list为空时,表示设定发起方暂不支持配对密钥重用方式认证。配对信息Pairing由接收方的身份ID即rxID和加密数据psk构成。Psk由接收方的私钥加密当前认证会话的主密钥生成。可选的,假设主密钥为km,则psk=E(hash(接收方私钥),km),即先把私钥摘要计算后,然后作为对称算法的密钥,对km加密生成psk。
最后,由发起方生成随机数Rtx,连同上述①、②、③所得AlgList、AKE_Paras_List、Pairing_list作为第一参数集合,将第一参数集合发送给接收方。由发起方的计时器记录得到当前计时器T1,即得到第一计时参数。
(2)接收方复用或启动一个新的计时器。首先,当接收方接收到发起方发送的第一参数集合时,由接收方的计时器记录得到当前计时器T3,即得到第三计时参数。
其次,接收方依据自身支持的算法以及密钥重用信息是否配对过的信息,选择Diffie-Hellman密钥交换参数或者密钥重用机制其中一种计算出共享密钥。具体包括:
①接收方预设数字签名耗时^T,^T可以通过数字签名性能测试后写入到接收方代码中;②接收方查询支持的内容加密算法,与接收到的Alg_List对比,选择一个双方都支持的加密算法记为Alg,例如选择SM4-CTR算法记为Alg。如果双方没有同时支持的算法,则返回发送方错误码,结束认证流程;
③根据接收的第一参数集合判断启动对称密钥重用或启动非对称密钥协商。当使用密钥重用机制,接收方加密后更新密钥重用信息。当使用DH/ECDH时,接收方加密后生成密钥重用信息;
④接收方对生成的协商密钥参数、随机数、接收方的身份ID做密钥确认和数字签名运算。将所得结果结果记为预设记号值sign1。并将Rrx、Alg、AKE_Paras、Recvinfo、Pairing、T3(第三计时参数)、T4(第四计时参数)、^T、M2、sign1作为第二参数集合,将第二参数集合给发起方。其中,接收方在密钥协商参数传递过程中附带操作时钟信息(即T3、T4)用于完成密钥协商和地理位置验证。
(3)发起方接收到第二参数集合后,由发起方的计时器记录当前计数器值为T2,即得到第二计时参数。
首先,发起方依据接收方选择的密钥协商机制和相关参数,完成密钥协商,生成共享密钥。当使用密钥重用机制时,查询密钥重新信息库,获取共享密钥;当使用DH/ECDH时,使用密钥交换参数计算出共享密钥。具体为:
①当接收消息中有AKE_Paras信息时,通过双向的协商密钥参数生成共享主密钥km1。以ECDH secp256r1为例,km1值为发起方私钥标量乘接收方发送过来的对应算法的公钥(x3,y3)后获得的值。否则若当接收消息中只含有Pairing消息时,通过配对信息rxID查找本地配对密钥重用信息库,查找出km1。
②发起方生成会话密钥ks1,ks1为km1连同Rtx、Rrx通过密钥扩展函数生成。例如,ks1=HKDF(km1,Rrx||Rtx||“会话密钥”),||表示级联,“会话密钥”为填充信息。若接收消息中为AKE_paras时,则启动非对称密钥协商,执行步骤③;当接收消息中为Pairing消息时,则执行步骤④。
③发起方计算密钥确认摘要值H,例如,H=HMAC(km1,rxID||Rtx||Rrx||”密钥确认”),HMAC为基于hash的摘要算法,||表示字符串级联,“密钥确认”是辅助填充数据。开始校验接收到的信息:(a)验证sign1值,验证Recvinfo中的证书有效性,并验证数字签名值;(b)验证T3>T2;(c)计算通信延迟(T2-T1)/M1-(T4+^T-T3)/M2,验证延迟是否小于一个阈值,比如20ms。当(a)、(b)(c)中都验证通过时,则认为校验成功。否则有至少一个验证失败,则认为校验失败,重新发起认证流程。若校验成功,可以发起方把km1和接收到的Pairing存储到配对密钥重用信息库中,并计算rxID(接收方的身份ID即rxID)、成功状态码status的HMAC值为sign2(HMAC的密钥为会话密钥),发送rxID、status,sign2作为发起校验结果,将发起校验结果给接收方。
④发起方开始校验接收到的第二参数集合。(a)验证sign1值,使用会话密钥验证HMAC值;②验证T3>T2;③计算通信延迟(T4-T1)/M1-(T3+^T-T2)/M2,验证延迟是否小于一个阈值,比如20ms。当(a)、(b)、(c)中都验证通过时,则认为校验成功。否则有至少一个验证失败,则认为校验失败,重新发起认证流程,认证流程中Pairing_list设置为空。若校验成功,则由发起方计算新的km1值,记为km1’。Km1’通过km,Rrx,Rtx通过扩展函数计算得到。可选的,km1’=HKDF(km,Rrx||Rtx||”新的主密钥”),||表示级联,”新的主密钥”为填充信息;发起方把km1’和接收到的Pairing存储到配对密钥重用信息库中。最后,发起方计算rxID、成功状态码status的HMAC值为sign2,HMAC的密钥为会话密钥,并将rxID、status,sign2作为发起校验结果,将发起校验结果发送至接收方。
(4)接收方开始校验接收到的信息。具体为:(a)验证sign2值,使用会话密钥校验HMAC值。会话密钥在步骤12中得出;(b)验证rxID与设备接收方的ID一致;(c)验证status为成功状态码。当(a)、(b)、(c)中都验证通过时,则认为校验成功,可以确定认证会话完成。在认证会话基础上,可建立管理指令下发信息和拓扑信息上报信息流程。在该认证会话基础上,使用协商的Alg加密算法使用内容会话密钥对接口的内容流进行加解密运算。若(a)、(b)、(c)中至少一个验证失败,则认为校验失败,可以发送错误码发送至发起方,使得发起方重新发起认证流程。
上述接口保护方法,可以将7-pass(非接口中转方通信)实现内容保护认证协议,简化为快速3-pass认证协议,可以简化接口保护的认证流程,缩短认证的时间,具有更高的容错性。
根据本发明第四方面实施例提出的接口保护装置,包括:
第一获取模块400,用于获取预设触发事件,根据所述预设触发事件发起认证流程;
第二获取模块410,用于获取所述发起方所支持的加密数据,根据所述加密数据生成第一参数集合;
第一发送模块420,用于将所述第一参数集合发送至接收方,并记录第一计时参数;
第一接收模块430,用于获取所述接收方发送的第二参数集合,并记录第二计时参数;
第一校验模块440,用于根据所述第二参数集合生成密钥数据,并根据所述密钥数据、所述第一计时参数和所述第二计时参数对所述第二参数集合进行校验,得到发起校验结果;
第二发送模块450,用于将所述发起校验结果发送至所述接收方。
通过上述接口保护装置,由发起方根据预设触发事件发起认证流程,并根据自身所支持的密钥交换参数、密钥重用信息列表等第一参数集合发送至接收方供认证其选择,记录得到第一计时参数;然后接收得到第二参数集合,记录得到第二计时参数,对接收方发送的第二参数集合进行校验,得到发起校验结果;最后将发起校验结果发送至接收方,使得接收方可以完成验证密钥协商,能够简化接口保护的认证流程,减少认证耗时,提高认证效率且具有更高的容错性。
上述接口保护装置还用于执行本发明第一方面实施例提出的接口保护方法。
根据本发明第五方面实施例提出的接口保护装置,包括:
第三获取模块500,用于接收发起方发送的第一参数集合,获取预设签名时长,并记录第三计时参数;
检测模块510,用于根据所述第一参数集合进行配对检测,基于检测结果生成配对信息,记录得到第四计时参数;
第三发送模块520,用于根据所述预设签名时长、所述第三计时参数、所述配对信息和所述第四计时参数得到第二参数集合,将所述第二参数集合发送至所述发起方;
第二校验模块530,用于获取所述发起方发送的发起校验结果,基于所述发起校验结果进行验证,当验证通过时,确定完成认证。
通过上述接口保护装置,由接收方通过接收发送方发送的第一参数集合,依据第一参数集合可以完成密钥协商,生成共享密钥,并根据第一参数集合中的时钟信息,完成地理位置校验,得到第二参数集合,可以简化接口保护的认证流程,缩短认证的时间。
上述接口保护装置还用于执行本发明第二方面实施例提出的接口保护方法。
参照图6,根据本发明第六方面实施例提出的接口保护电子设备,包括:
本发明实施例还提供了一种接口保护电子设备内部结构图,包括:至少一个处理器600,以及与所述至少一个处理器600通信连接的存储器610;还可以包括数据传输模块620、摄像头630、显示屏640。
其中,所述处理器600通过调用存储器610中存储的计算机程序,用于执行本发明第一方面实施例提出的接口保护方法,或执行本发明第二方面实施例提出的接口保护方法,或执行本发明第三方面实施例提出的接口保护方法。
存储器作为一种非暂态存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本发明第一方面实施例和/或第二方面实施例和/或第三方面实施例的接口保护方法。处理器通过运行存储在存储器中的非暂态软件程序以及指令,从而实现上述第一方面实施例中和/或上述第二方面实施例中和/或上述第三方面实施例中的接口保护方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储执行上述第一方面实施例中和/或上述第二方面实施例中和/或上述第三方面实施例中的接口保护方法。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述第一方面实施例中和/或上述第二方面实施例中和/或上述第三方面实施例中的接口保护方法所需的非暂态软件程序以及指令存储在存储器中,当被一个或者多个处理器执行时,执行上述第一方面实施例中和/或上述第二方面实施例中和/或上述第三方面实施例中的接口保护方法。通过上述接口保护电子设备,可以减少接口认证的回合数,简化认证流程,显著加快认证效率。
根据本发明第七方面实施例提出的接口保护存储介质,存储有计算机可执行指令,所述计算机可执行指令用于:执行本发明第一方面实施例中的接口保护方法,或执行本发明第二方面实施例中的接口保护方法,或执行本发明第三方面实施例中的接口保护方法。
在一些实施例中,该存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,被第六方面实施例的电子设备中的一个处理器执行,可使得上述一个或多个处理器执行上述第一方面实施例中和/或上述第二方面实施例中和/或上述第三方面实施例中的接口保护方法。
以上所描述的电子设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (12)

1.接口保护方法,用于发起方,其特征在于,所述方法包括:
获取预设触发事件,根据所述预设触发事件发起认证流程;
获取发起方所支持的加密数据,根据所述加密数据生成第一参数集合;
将所述第一参数集合发送至接收方,并记录第一计时参数;
获取所述接收方发送的第二参数集合,并记录第二计时参数;
根据所述第二参数集合生成密钥数据,并根据所述密钥数据、所述第一计时参数和所述第二计时参数对所述第二参数集合进行校验,得到发起校验结果;
将所述发起校验结果发送至所述接收方。
2.根据权利要求1所述的方法,其特征在于,所述获取所述发起方所支持的加密数据,根据所述加密数据生成第一参数集合,包括:
获取发起参数;
获取所述发起方所支持的加密算法,根据所述加密算法生成第一子列表;
获取所述发起方所支持的密钥协商算法,根据所述密钥协商数据生成第二子列表;
获取所述发起方所支持的密钥重用信息,根据所述密钥重用信息生成第三子列表;
根据所述发起参数、所述第一子列表、所述第二子列表和所述第三子列表得到第一参数集合。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第二参数集合生成密钥数据,并根据所述密钥数据、所述第一计时参数和所述第二计时参数对所述第二参数集合进行校验,得到发起校验结果,包括:
当所述第二参数集合中包括密钥交换信息,基于所述第二参数集合生成第一主密钥;
根据所述第一主密钥生成第一会话密钥;
根据所述第一会话密钥对所述第二参数集合进行数字签名验证,根据所述第一计时参数和所述第二计时参数对所述第二参数集合进行通信延迟校验,并得到发起校验结果。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第二参数集合生成密钥数据,并根据所述密钥数据、所述第一计时参数和所述第二计时参数对所述第二参数集合进行校验,得到发起校验结果,包括:
当所述第二参数集合中仅包含配对信息,查询得到第二主密钥;
根据所述第二主密钥生成第二会话密钥;
根据所述第二会话密钥对所述第二参数集合进行完整性校验,根据所述第一计时参数和所述第二计时参数对所述第二参数集合进行通信延迟校验,并得到发起校验结果。
5.接口保护方法,用于接收方,其特征在于,所述方法包括:
接收发起方发送的第一参数集合,获取预设签名时长,并记录第三计时参数;
根据所述第一参数集合进行配对检测,基于检测结果生成配对信息,并记录第四计时参数;
根据所述预设签名时长、所述第三计时参数、所述配对信息和所述第四计时参数得到第二参数集合,将所述第二参数集合发送至发起方;
获取所述发起方发送的发起校验结果,基于所述发起校验结果进行验证,当所述发起校验结果验证通过时,确定完成认证。
6.根据权利要求5所述的方法,其特征在于,所述基于检测结果生成配对信息,包括:
当获取到所述检测结果中的配对标识,利用私钥解密得到第三主密钥;
获取第一接收参数,根据所述第一接收参数和所述第三主密钥生成第一密钥数据;
根据所述第一密钥数据和所述配对标识生成配对信息;
所述根据所述预设签名时长、所述第三计时参数、所述配对信息和所述第四计时参数得到第二参数集合,包括:
根据所述预设签名时长、所述第三计时参数、所述配对信息和所述第四计时参数进行计算,得到第一预设记号值;
根据所述预设签名时长、所述第三计时参数、所述配对信息、所述第四计时参数和所述第一预设记号值得到第二参数集合。
7.根据权利要求5所述的方法,其特征在于,所述基于检测结果生成配对信息,包括:
当没有获取到所述配对标识,查询得到目标密钥协商算法,根据所述目标密钥协商算法生成目标协商参数;
根据所述目标协商参数计算得到第四主密钥;
获取第二接收参数和预设标识,根据所述第二接收参数和所述第四主密钥生成第二密钥数据;
根据所述第二密钥数据和所述预设标识生成配对信息;
所述根据所述预设签名时长、所述第三计时参数、所述配对信息和所述第四计时参数得到第二参数集合,包括:
获取密钥摘要值;
根据所述密钥摘要值、所述预设签名时长、所述第三计时参数、所述配对信息和所述第四计时参数进行数字签名运算,得到第二预设记号值;
根据所述预设签名时长、所述第三计时参数、所述配对信息、所述第四计时参数和所述第二预设记号值得到第二参数集合。
8.接口保护方法,用于发起方和接收方,所述发起方与所述接收方通信连接,其特征在于,所述方法包括:
所述发起方执行如权利要求1至4任一项所述的接口保护方法;对应的,所述接收方执行如权利要求5-7任一项所述的接口保护方法。
9.接口保护装置,其特征在于,所述装置包括:
第一获取模块,用于获取预设触发事件,根据所述预设触发事件发起认证流程;
第二获取模块,用于获取所述发起方所支持的加密数据,根据所述加密数据生成第一参数集合;
第一发送模块,用于将所述第一参数集合发送至接收方,并记录第一计时参数;
第一接收模块,用于获取所述接收方发送的第二参数集合,并记录第二计时参数;
第一校验模块,用于根据所述第二参数集合生成密钥数据,并根据所述密钥数据、所述第一计时参数和所述第二计时参数对所述第二参数集合进行校验,得到发起校验结果;
第二发送模块,用于将所述发起校验结果发送至所述接收方。
10.接口保护装置,其特征在于,所述装置包括:
第三获取模块,用于接收发起方发送的第一参数集合,获取预设签名时长,并记录第三计时参数;
检测模块,用于根据所述第一参数集合进行配对检测,基于检测结果生成配对信息,记录得到第四计时参数;
第三发送模块,用于根据所述预设签名时长、所述第三计时参数、所述配对信息和所述第四计时参数得到第二参数集合,将所述第二参数集合发送至所述发起方;
第二校验模块,用于获取所述发起方发送的发起校验结果,基于所述发起校验结果进行验证,当验证通过时,确定完成认证。
11.接口保护电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现:
如权利要求1至4中任一项所述的接口保护方法;
或者,
如权利要求5至7任一项所述的接口保护方法;
或者,
如权利要求8所述的接口保护方法。
12.接口保护存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于:
执行权利要求1至4中任一项所述的接口保护方法;
或者,
执行权利要求5至7任一项所述的接口保护方法;
或者,
执行权利要求8所述的接口保护方法。
CN202010620659.2A 2020-06-30 2020-06-30 接口保护方法、装置、电子设备及存储介质 Active CN111831974B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010620659.2A CN111831974B (zh) 2020-06-30 2020-06-30 接口保护方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010620659.2A CN111831974B (zh) 2020-06-30 2020-06-30 接口保护方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111831974A true CN111831974A (zh) 2020-10-27
CN111831974B CN111831974B (zh) 2024-02-23

Family

ID=72901083

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010620659.2A Active CN111831974B (zh) 2020-06-30 2020-06-30 接口保护方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111831974B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463125A (zh) * 2020-12-09 2021-03-09 百富计算机技术(深圳)有限公司 一种虚拟定时器的定时方法及设备
CN112787865A (zh) * 2021-01-21 2021-05-11 中科创达软件股份有限公司 Hdcp设备兼容方法、装置、电子设备和介质
CN115022042A (zh) * 2022-06-02 2022-09-06 贵州数据宝网络科技有限公司 一种保护数据隐私的合规码验证方法和计算机可读介质
WO2022257731A1 (zh) * 2021-06-11 2022-12-15 支付宝(杭州)信息技术有限公司 针对隐私计算进行算法协商的方法、装置及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105530235A (zh) * 2014-10-27 2016-04-27 中国移动通信集团公司 会话路由信息校验方法及装置
US20160164677A1 (en) * 2013-07-17 2016-06-09 Emerging Sense, Affärsutveckling Ab Selective revocation of certificates
US20180069706A1 (en) * 2015-05-04 2018-03-08 Telefonaktiebolaget Lm Ericsson (Publ) Generating Cryptographic Checksums
CN110048849A (zh) * 2019-03-11 2019-07-23 广东安创信息科技开发有限公司 一种多层保护的会话密钥协商方法
CN111049803A (zh) * 2019-11-20 2020-04-21 江苏物联网络科技发展有限公司 基于车载can总线通讯系统数据加密及平台安全访问的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160164677A1 (en) * 2013-07-17 2016-06-09 Emerging Sense, Affärsutveckling Ab Selective revocation of certificates
CN105530235A (zh) * 2014-10-27 2016-04-27 中国移动通信集团公司 会话路由信息校验方法及装置
US20180069706A1 (en) * 2015-05-04 2018-03-08 Telefonaktiebolaget Lm Ericsson (Publ) Generating Cryptographic Checksums
CN110048849A (zh) * 2019-03-11 2019-07-23 广东安创信息科技开发有限公司 一种多层保护的会话密钥协商方法
CN111049803A (zh) * 2019-11-20 2020-04-21 江苏物联网络科技发展有限公司 基于车载can总线通讯系统数据加密及平台安全访问的方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463125A (zh) * 2020-12-09 2021-03-09 百富计算机技术(深圳)有限公司 一种虚拟定时器的定时方法及设备
CN112463125B (zh) * 2020-12-09 2023-09-15 百富计算机技术(深圳)有限公司 一种虚拟定时器的定时方法及设备
CN112787865A (zh) * 2021-01-21 2021-05-11 中科创达软件股份有限公司 Hdcp设备兼容方法、装置、电子设备和介质
WO2022257731A1 (zh) * 2021-06-11 2022-12-15 支付宝(杭州)信息技术有限公司 针对隐私计算进行算法协商的方法、装置及系统
CN115022042A (zh) * 2022-06-02 2022-09-06 贵州数据宝网络科技有限公司 一种保护数据隐私的合规码验证方法和计算机可读介质

Also Published As

Publication number Publication date
CN111831974B (zh) 2024-02-23

Similar Documents

Publication Publication Date Title
CN111831974A (zh) 接口保护方法、装置、电子设备及存储介质
US11729612B2 (en) Secure BLE just works pairing method against man-in-the-middle attack
EP3014802B1 (en) Securing method for lawful interception
US8276209B2 (en) Proximity check server
US8122487B2 (en) Method and apparatus for checking proximity between devices using hash chain
US7653713B2 (en) Method of measuring round trip time and proximity checking method using the same
CN104836784A (zh) 一种信息处理方法、客户端和服务器
CN112968910B (zh) 一种防重放攻击方法和装置
KR20150135032A (ko) Puf를 이용한 비밀키 업데이트 시스템 및 방법
CN110943840B (zh) 一种签名验证方法
WO2015144042A1 (zh) 一种网络鉴权认证的方法及设备
CN107959569B (zh) 一种基于对称密钥池的密钥补充方法和密钥补充装置、密钥补充系统
CN114726536A (zh) 一种时间戳生成方法、装置、电子设备及存储介质
CN113676452B (zh) 基于一次性密钥的重放攻击抵御方法及系统
CN111797367A (zh) 软件认证方法及装置、处理节点及存储介质
CN116419217B (zh) Ota数据升级方法、系统、设备及存储介质
CN116527261A (zh) 密钥恢复方法、电子设备、存储介质
CN116456346A (zh) 一种动态分组的rfid群组标签认证方法
US20240064006A1 (en) Identity authentication method and apparatus, storage medium, program, and program product
WO2016086356A1 (zh) 一种无线通信网络中的鉴权方法、相关装置及系统
CN111598558B (zh) 记账方法及记账节点服务器、付款方节点服务器
CN106576245B (zh) 用户设备邻近请求认证
CN114745115A (zh) 一种信息传输方法、装置、计算机设备及存储介质
CN110868397B (zh) 一种企业异地多点数据交换方法及系统
CN117527238B (zh) 密钥生成方法、装置、电子设备及存储介质

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
GR01 Patent grant
GR01 Patent grant