CN112637211B - 一种基于区块链的跨域访问的认证方法及系统 - Google Patents

一种基于区块链的跨域访问的认证方法及系统 Download PDF

Info

Publication number
CN112637211B
CN112637211B CN202011551808.0A CN202011551808A CN112637211B CN 112637211 B CN112637211 B CN 112637211B CN 202011551808 A CN202011551808 A CN 202011551808A CN 112637211 B CN112637211 B CN 112637211B
Authority
CN
China
Prior art keywords
domain
gateway
cross
information
public 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.)
Active
Application number
CN202011551808.0A
Other languages
English (en)
Other versions
CN112637211A (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.)
State Grid Corp of China SGCC
Beijing University of Posts and Telecommunications
Information and Telecommunication Branch of State Grid Hebei Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
Beijing University of Posts and Telecommunications
Information and Telecommunication Branch of State Grid Hebei Electric Power 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 State Grid Corp of China SGCC, Beijing University of Posts and Telecommunications, Information and Telecommunication Branch of State Grid Hebei Electric Power Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN202011551808.0A priority Critical patent/CN112637211B/zh
Publication of CN112637211A publication Critical patent/CN112637211A/zh
Application granted granted Critical
Publication of CN112637211B publication Critical patent/CN112637211B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种基于区块链的跨域访问的认证方法及系统,应用于计算机技术领域。该方法包括:目标设备在进行针对目标信任域的跨域访问时,利用目标设备的域内私钥和跨域私钥,对自身的设备标识进行签名并加密,得到第一信息,将第一信息发送至第一网关;第一网关利用第二网关的域内公钥和跨域公钥对第一信息中所包括信息进行加密,得到目标设备的第二信息,向目标信任域内的第二网关发送携带有第二信息的访问请求;第二网关利用第二网关的跨域私钥和域内私钥,对第二信息解密,得到目标设备的设备标识,对目标设备的设备标识进行验证,在验证通过后,确定目标设备对目标信任域进行跨域访问时的密钥。解决了云服务器的管理压力的问题。

Description

一种基于区块链的跨域访问的认证方法及系统
技术领域
本发明涉及计算机技术领域,特别是涉及一种基于区块链的跨域访问的认证方法及系统。
背景技术
由设备和云服务器构成的信任域是物联网的重要组成部分,且不同信任域之间的认证方式存在差异。由于同一信任域内的资源有限,因此,物联网内的各设备的跨域访问需求也越来越多。
现有技术中,在目标设备在A域注册时,A域的云服务器为目标设备生成第一密钥,并将目标设备的设备标识和第一密钥发布至联盟链;当A域内的目标设备访问B域时,A域内的云服务器向B域的云服务器发送携带有目标设备的设备标识的访问请求;相应的,B域的云服务器通过联盟链中存储的该第一密钥,验证目标设备的设备标识,并在验证通过后,为目标设备生成在B域内的第二密钥,并将第二密钥发布至联盟链,以完成认证。
然而,目标设备在进行跨域访问时,由于既需要域内的云服务器生成第一密钥,还需要域外的云服务器在检验了第一密钥后,为目标设备生成第二密钥,从而增加了云服务器的管理压力。
发明内容
本发明实施例的目的在于提供一种基于区块链的跨域访问的认证方法及系统,用以解决云服务器的管理压力的问题。具体技术方案如下:
第一方面,本发明实施例提供了一种基于区块链的跨域访问的认证方法,所述方法包括:
目标设备在进行针对目标信任域的跨域访问时,利用预先生成的所述目标设备的域内私钥和跨域私钥,对自身的设备标识进行签名并加密,得到第一信息,并将所述第一信息发送至第一网关;所述第一网关为所述目标设备所属信任域内的网关;
所述第一网关接收所述第一信息后,利用预先生成的第二网关的域内公钥和跨域公钥对所述第一信息中所包括信息进行加密,得到所述目标设备的第二信息,并向所述目标信任域内的所述第二网关发送携带有所述第二信息的访问请求;其中,所述第二网关为所述目标信任域内的网关;
所述第二网关接收所述访问请求,利用预先生成的所述第二网关的跨域私钥和域内私钥,对所述第二信息解密,得到所述目标设备的设备标识,并利用所述目标设备的跨域公钥,对所述目标设备的设备标识进行验证,在验证通过后,确定所述目标设备对所述目标信任域进行跨域访问时的密钥,完成跨域认证。
可选地,所述目标设备利用预先生成的所述目标设备的域内私钥和跨域私钥,对自身的设备标识进行签名并加密,得到第一信息,包括:
所述目标设备利用预先生成的所述目标设备的域内私钥和跨域私钥,并结合随机数对自身的设备标识进行签名并加密,得到第一信息;
所述第一网关利用第二网关的域内公钥和跨域公钥,对所述第一信息中所包括信息进行加密,得到所述目标设备的第二信息,包括:
所述第一网关利用第二网关的域内公钥和跨域公钥,对所述第一信息内的所述随机数进行加密,得到所述目标设备的第二信息。
可选地,所述方法还包括:
所述第二网关确定自身的域内公钥和域内私钥,并利用所述第二网关对应的云服务器的公钥,对所述第二网关的域内公钥和设备标识进行加密,得到第三信息,发送所述第三信息至所述第二网关对应的云服务器;
所述第二网关对应的云服务器对所述第三信息解密,得到所述第二网关的设备标识并校验所述第二网关的设备标识,在校验通过后,为所述第二网关生成用于跨域交互的跨域私钥和跨域公钥,并发送至所述第二网关;
所述第二网关对接收的所述跨域私钥和跨域公钥进行校验,并在校验通过后,将所述第二网关的设备标识、域内公钥和跨域公钥通过所述第二网关对应的云服务器发布至联盟链。
可选地,所述第一网关利用预先生成的第二网关的域内公钥和跨域公钥对所述第一信息中所包括信息进行加密,包括:
所述第一网关通过自身对应的云服务器从所述联盟链中请求第二网关的域内公钥和跨域公钥,并利用所请求到的第二网关的域内公钥和跨域公钥,对所述第一信息中所包括信息进行加密。
可选地,所述方法还包括:
所述第一网关确定所述目标设备的域内公钥和域内私钥,利用所述第一网关自身的域内私钥对所述目标设备的域内公钥签名,得到注册信息,并将所述注册信息发送至所述第一网关对应的云服务器;所述第一网关对应的云服务器,利用预先获取的所述第一网关的签名,对所述目标设备的域内公钥进行校验,并在校验通过后,为所述目标设备生成跨域公钥和跨域私钥,并将所述目标设备的跨域公钥和跨域私钥,发送至所述第一网关;
所述第一网关对所述目标设备的跨域公钥和跨域私钥进行校验,并在校验通过后,将所述目标设备的跨域公钥、设备标识通过所述第一网关对应的云服务器发布至所述联盟链;
所述第二网关利用所述目标设备的跨域公钥,对所述目标设备的设备标识进行验证,包括:
所述第二网关通过自身的云服务器从所述联盟链中获取所述目标设备的跨域公钥,对所述目标设备的设备标识进行验证。
可选地,所述第二网关对应的云服务器为所述第二网关生成用于跨域交互的跨域私钥和跨域公钥,包括:
所述第二网关对应的云服务器基于公共参数,利用预设的第一公式,为所述第二网关生成用于跨域交互的跨域私钥和跨域公钥,所述公共参数为所述联盟链中多个云服务器协商生成的参数;
所述第一公式包括:
Figure BDA0002858183160000031
Figure BDA0002858183160000032
其中,
Figure BDA0002858183160000033
为所述第二网关的跨域公钥,
Figure BDA0002858183160000034
为所述第二网关的域内公钥,
Figure BDA0002858183160000041
为所述第二网关的跨域私钥,H0为基于所述公共参数定义的哈希函数,IDg为所述第二网关的设备标识,SK1为所述第二网关对应的云服务器的域内私钥,di为预设范围内的任一整数,P为所述公共参数所包含的参数。
可选地,所述第二网关利用预先生成的所述第二网关的跨域私钥和域内私钥,对所述第二信息解密,得到所述目标设备的设备标识,并对所述目标设备的设备标识进行验证,包括:
所述第二网关利用第二公式,以及预先生成的所述第二网关的跨域私钥和域内私钥,对所述第二信息解密,得到所述目标设备的设备标识;
利用公共参数和第三公式,对所述目标设备的设备标识进行验证;其中,所述公共参数为联盟链中的各个云服务器协商生成的参数;所述第二公式包括:
Figure BDA0002858183160000042
Figure BDA0002858183160000043
其中,s用于表征第一信息,
Figure BDA0002858183160000044
为第二网关的域内私钥,
Figure BDA0002858183160000045
为第二网关的跨域私钥,IDj为所述目标设备的设备标识,H2为基于所述公共参数定义的哈希函数,C和Yi0为所述第二网关接收到的所述第二信息中所包含的信息;
所述第三公式包括:
Figure BDA0002858183160000046
Figure BDA0002858183160000047
Figure BDA0002858183160000048
则校验通过,其中,T=r1·P,T为对r1加密后的值,hi0和h0均为待校验的哈希值,
Figure BDA0002858183160000049
为所述第二网关的域内公钥,
Figure BDA00028581831600000410
为所述第二网关的跨域公钥,
Figure BDA00028581831600000411
为所述目标设备的域内公钥,
Figure BDA00028581831600000412
为所述目标设备的跨域公钥,H0和H1均为基于所述公共参数定义的哈希函数,IDj为所述目标设备的设备标识,IDg为所述第二网关的设备标识。
第二方面,本发明实施例提供了一种基于区块链的跨域访问的认证系统,包括:由多个云服务器构成的联盟链、多个设备和多个网关,且一个云服务器对应一个信任域,所述信任域包括至少一个设备和网关;
目标设备,用于目标设备在进行针对目标信任域的跨域访问时,利用预先生成的所述目标设备的域内私钥和跨域私钥,对自身的设备标识进行签名并加密,得到第一信息,并将所述第一信息发送至所述第一网关;所述第一网关为所述目标设备所属信任域内的网关;
所述第一网关,用于接收所述第一信息后,利用第二网关的域内公钥和跨域公钥对所述第一信息中所包括信息进行加密,得到所述目标设备的第二信息,并向所述目标信任域内的第二网关发送携带有所述第二信息的访问请求;其中,所述第二网关为所述目标信任域内的网关;
所述第二网关,用于接收所述访问请求,利用预先生成的所述第二网关的跨域私钥和域内私钥,对所述第二信息解密,得到所述目标设备的设备标识,并利用所述目标设备的跨域公钥,对所述目标设备的设备标识进行验证,在验证通过后,确定所述目标设备对所述目标信任域进行跨域访问时的密钥,完成跨域认证。
可选地,所述目标设备利用预先生成的所述目标设备的域内私钥和跨域私钥,对自身的设备标识进行签名并加密,得到第一信息,包括:
所述目标设备利用预先生成的所述目标设备的域内私钥和跨域私钥,并结合随机数对自身的设备标识进行签名并加密,得到第一信息;
所述第一网关利用第二网关的域内公钥和跨域公钥,对所述第一信息中所包括信息进行加密,得到所述目标设备的第二信息,包括:
所述第一网关利用第二网关的域内公钥和跨域公钥,对所述第一信息内的所述随机数进行加密,得到所述目标设备的第二信息。
可选地,所述第二网关,还用于:确定自身的域内公钥和域内私钥,并利用所述第二网关对应的云服务器的公钥,对所述第二网关的域内公钥和设备标识进行加密,得到第三信息,发送所述第三信息至所述第二网关对应的云服务器;
所述第二网关对应的云服务器,用于对所述第三信息解密,得到所述第二网关的设备标识并校验所述第二网关的设备标识,在校验通过后,为所述第二网关生成用于跨域交互的跨域私钥和跨域公钥,并发送至所述第二网关;
所述第二网关,还用于:对接收的所述跨域私钥和跨域公钥进行校验,并在校验通过后,将所述第二网关的设备标识、域内公钥和跨域公钥通过所述第二网关对应的云服务器发布至联盟链。
本发明实施例有益效果:
本发明实施例提供的一种基于区块链的跨域访问的认证方法,当目标设备在进行针对目标信任域的跨域访问时,由域内的第一网关向跨域的第二网关发送访问请求,第二网关校验目标设备的设备标识,在校验通过后,为目标设备生成对所述目标信任域进行跨域访问时的密钥,无需跨域的云服务器为目标设备生成密钥,也无需将跨域的密钥发布至联盟链,从而降低了云服务器的管理压力。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明的一种基于区块链的跨域访问的认证方法的流程图;
图2为本发明的一种基于区块链的跨域访问的认证方法的另一流程图;
图3为本发明的一种基于区块链的跨域访问的认证系统的结构示意图;
图4为本发明的一种基于区块链的跨域访问的认证系统的原理图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决云服务器的管理压力的问题,本发明实施例提供了一种基于区块链的跨域访问的认证方法及系统。
需要说明的是,本发明提供的一种基于区块链的跨域访问的认证方法,应用于认证系统,该认证系统包括:由多个云服务器构成的联盟链、多个设备和多个网关,且一个云服务器对应一个信任域,所述信任域包括至少一个设备和网关。
其中,所述联盟链内的每一云服务器可以向所述联盟链发布信息,所述联盟链内的其他云服务器可以对该云服务器发布至所述联盟链的信息进行访问。各云服务器对应的信任域所包含的可被访问的信息资源,可以完全不同也可以部分相同,每一信任域内的设备与该信任域内的至少一个网关建立有通信,该网关可以获取该设备的设备信息,该设备可以通过该网关向任一云服务器发送访问请求,每一云服务器可以获取该云服务器对应的网关的属性信息,例如网关的签名,网关的设备标识等等。
为了方便理解方案,下面结合图4,对本发明实施例所应用的认证系统中包含的多个设备、多个网关以及多个云服务器进行概要介绍。
该认证系统可以包括设备层、边缘层以及区块链层,设备层中的多个设备指代物联网中的各类设备,是物联网中业务的实际执行者,具有迥异的通信接口和隐私保护需求,打通物联网首先需要屏蔽其接口底层的异构特性实现管控。
边缘层中,多个网关对不同设备进行汇聚,屏蔽底层异构特性并且,支持各种设备之间的多种通信协议和数据类型,可以实现各种设备之间通信的数据格式转换,并以统一的数据格式上传。同时,可将收到的获取或控制命令,转换成满足特定设备通信协议的消息。网关仅作为逻辑概念,可部署于某些能力较强的设备上。
区块链层中,由多个云服务器构成联盟链,每一云服务器可以作为一个证书颁发机构(Certification Authority,CA)的角色,为自身可操控的网关提供密钥,即信任证书,对发布到联盟链上的信息进行共识,提供认证信息的实时共享,从而避免不同CA之间反复重定向带来的流程冗余及失效等问题,联盟链提供基础的查询及写入功能,各云服务器之间通过协商发布智能合约,并通过调用合约实现复杂功能。
该认证系统中,设备注册到自身所在的网关,例如,通过手机导入了家庭的空调、插座、灯等,网关对设备进行匿名化处理,屏蔽隐私信息后发布至联盟链完成共识。其他网关通过区块链层获取到该信息,隶属于其他网关的用户可通过与该网关交互完成对该设备的操控。
基于图4所示的认证系统,认证系统的所涉及到的处理流程包括如下多个步骤:1.设备注册,2.设备匿名,3.注册上链,4.共识达成,生成区块,5.可信注册信息同步,6.跨域认证,7.服务提供。其中,步骤1-5为系统中各个设备的初始化过程,步骤6为设备的跨域认证过程,步骤7为跨域认证之后的服务提供过程。关于步骤1-5和步骤6的详细过程,结合下文所示的实施例进行介绍。通过引入边缘网关可以屏蔽物联网底层接口协议差异性,增强物联网的连通性;并且,通过联盟链可以实现多CA之间认证信息透明共享。进而简化多信任域之间的认证流程,为物联网构建了可信的跨域信息交互环境。此外,该认证系统采用区块链实现多信任域之间的信息共享,提高了多信任域合作的效率,为跨域之间的认证通过设计了统一的字段接口和流程,实现了跨域可信认证。
并且,通过整合多CA的认证资源,为更丰富的物联网服务提供了可能性。相比较传统CA之间互通困难造成的信任孤岛,该系统的结构打通了认证域之间的隔离,促使不同的物联网之间打通隔离。
缩短了不同CA的跨域流程,为现有的物联网服务提高了处理效率。具体而言,传统CA之间互相多次重定向并签密延长了跨域认证所需的时间,该系统的结构通过智能合约加速了跨域之间的认证,提高了处理效率。
下面结合附图对本发明实施例提供的一种基于区块链的跨域访问的认证方法进行介绍。
如图1所示,对本发明实施例提供的一种基于区块链的跨域访问的认证方法可以包括:
S101,目标设备在进行针对目标信任域的跨域访问时,利用预先生成的所述目标设备的域内私钥和跨域私钥,对自身的设备标识进行签名并加密,得到第一信息,并将所述第一信息发送至所述第一网关;
所述第一网关为所述目标设备所属信任域内的网关。
其中,目标设备可以为物联网中多个设备中的任一个,为了方便为目标设备生成域内私钥和跨域私钥,可以借助联盟链中的多个云服务器协商的公共参数来生成。也就是说,所述目标设备的域内私钥、跨域私钥可以为所述第一网关将所述目标设备注册至联盟链时,利用联盟链内的公共参数所确定的并且,该联盟链可以为第一网关所属云服务器所在的联盟链。
可以理解的是,目标设备的设备标识可以为目标设备的设备ID,此外,为了提高目标设备在跨域访问时的信息安全性,目标设备的设备标识,也可以为第一网关为目标设备预先构造的设备标识。示例性的,第一网关结合任一数字,构造目标设备的设备标识,并将构造的该设备标识与目标设备的设备ID建立映射关系,并将构造的该设备标识发送至目标设备。
另外,多个云服务器协商生成的公共参数为用于定义哈希函数的参数,该公共参数可以包括椭圆曲线G,及其生成元P。多个云服务器在协商生成公共参数后,将公共参数发布至联盟链。
其中,对自身的设备标识进行签名并加密时,加密的具体方式可以为现有技术中任一种加密的方式,在此不做限定,并且,每一加密方式有其对应的解密方式,在对设备标识进行加密后,可以通过对应的解密方式进行解密。
为了方案清楚以及布局清晰,针对所述目标设备利用预先生成的所述目标设备的域内私钥和跨域私钥,对自身的设备标识进行签名并加密的实现方式,后续结合另一实施例进行介绍。
S102,所述第一网关接收所述第一信息后,利用预先生成的第二网关的域内公钥和跨域公钥对所述第一信息中所包括信息进行加密,得到所述目标设备的第二信息,并向所述目标信任域内的所述第二网关发送携带有所述第二信息的访问请求。
其中,所述第二网关为所述目标信任域内的网关。
此外,所述第二网关的域内公钥和跨域公钥可以为所述第二网关注册至联盟链时,利用公共参数所生成的,该联盟链为第二网关所属的云服务器,以及第一网关所属的云服务器共同所在的联盟链。
示例性的,在一种实现方式中,所述第一网关利用预先生成的第二网关的域内公钥和跨域公钥对所述第一信息中所包括信息进行加密可以包括:
所述第一网关通过自身对应的云服务器,从联盟链内获取第二网关的域内公钥和跨域公钥,并利用所述第二网关的域内公钥和跨域公钥对所述第一信息中所包括信息进行加密。
可以理解的是,从联盟链内获取第二网关的域内公钥和跨域公钥时,可以在所述第一网关接收所述第一信息之后,也可以在所述第一网关接收所述第一信息之前。另外,在对所述第一信息中所包括信息进行加密时,可以对所述第一信息中所包括信息的任一信息进行加密,加密方式也可以为现有方式的任一种加密方式,在此不做限定。
为了方案清楚以及布局清晰,后续结合另一实施例对第二网关的域内公钥和跨域公钥的生成方式进行介绍。
S103,所述第二网关接收所述访问请求,利用预先生成的所述第二网关的跨域私钥和域内私钥,对所述第二信息解密,得到所述目标设备的设备标识,并利用所述目标设备的跨域公钥,对所述目标设备的设备标识进行验证,在验证通过后,确定所述目标设备对所述目标信任域进行跨域访问时的密钥,完成跨域认证。
其中,所述第二网关的跨域私钥和域内私钥可以为所述第二网关注册至联盟链时,利用公共参数所生成的。
示例性的,在一种实现方式中,所述第二网关确定所述目标设备对所述目标信任域进行跨域访问时的密钥可以包括:所述第二网关利用所述目标设备的跨域公钥对随机生成的任一数字序列进行加密,将加密后的数字序列,作为所述目标设备对所述目标信任域进行跨域访问时的密钥,并将该密钥发送至所述目标设备。
本发明实施例提供的一种基于区块链的跨域访问的认证方法,当目标设备在进行针对目标信任域的跨域访问时,由域内的第一网关向跨域的第二网关发送访问请求,第二网关校验目标设备的设备标识,在校验通过后,为目标设备生成对所述目标信任域进行跨域访问时的密钥,无需跨域的云服务器为目标设备生成密钥,也无需将跨域的密钥发布至联盟链,从而降低了云服务器的管理压力。
可选地,本发明实施例中,所述目标设备利用预先生成的所述目标设备的域内私钥和跨域私钥,对自身的设备标识进行签名并加密,得到第一信息,可以包括:
所述目标设备利用预先生成的所述目标设备的域内私钥和跨域私钥,并结合随机数对自身的设备标识进行签名并加密,得到第一信息;
其中,所述目标设备选取不大于q的任一整数r1,计算T=r1·P,
Figure BDA0002858183160000112
得到第一信息,其中,T为对r1加密后的值,P为公共参数所包含的参数,h为基于预先定义的哈希函数确定的哈希值,H1为基于所述公共参数定义的哈希函数,并且,
Figure BDA0002858183160000113
其中,0,1指二进制序列,
Figure BDA0002858183160000114
为不大于q的整数集合,
Figure BDA0002858183160000115
为所述目标设备的域内私钥,
Figure BDA0002858183160000117
为所述目标设备的跨域私钥,
Figure BDA0002858183160000116
为所述目标设备的域内公钥,IDj为所述目标设备的设备标识,s用于表征第一信息。
所述第一网关利用第二网关的域内公钥和跨域公钥,对所述第一信息中所包括信息进行加密,得到所述目标设备的第二信息,包括:
所述第一网关利用第二网关的域内公钥和跨域公钥,对所述第一信息内的所述随机数进行加密,得到所述目标设备的第二信息。
其中,所述第一网关选取任一不大于q的整数r2,计算R=r2·P,
Figure BDA0002858183160000111
得到第二信息,其中,
Figure BDA0002858183160000121
为第二网关的域内公钥,
Figure BDA0002858183160000122
为第二网关的跨域公钥,PK1为所述第二网关对应的云服务器的域内公钥,H2为基于所述公共参数定义的哈希函数,并且,H2(G)→{0,1}*,0,1指二进制序列,IDj为所述目标设备的设备标识,s用于表征第一信息,第二信息中包含C和Yi
所述第二网关利用预先生成的所述第二网关的跨域私钥和域内私钥,对所述第二信息解密,得到所述目标设备的设备标识,并对所述目标设备的设备标识进行验证,包括:
所述第二网关利用第二公式和预先生成的所述第二网关的跨域私钥和域内私钥,对所述第二信息解密,得到所述目标设备的设备标识;
利用公共参数和第三公式,对所述目标设备的设备标识进行验证;其中,所述公共参数为联盟链中的各个云服务器协商生成的参数;
所述第二公式包括:
Figure BDA0002858183160000123
Figure BDA0002858183160000124
其中,IDj||s表征利用s解密得到IDj,IDj为所述目标设备的设备标识,s用于表征第一信息,
Figure BDA0002858183160000125
为第二网关的域内私钥,
Figure BDA0002858183160000126
为第二网关的跨域私钥,C和Yi0为所述第二网关接收到的所述第二信息中所包含的信息。
所述第三公式包括:
Figure BDA0002858183160000127
Figure BDA0002858183160000128
Figure BDA0002858183160000129
则校验通过,其中,T=r1·P,T为对r1加密后的值,hi0和h0为待校验的哈希值,
Figure BDA00028581831600001210
为第二网关的域内公钥,
Figure BDA0002858183160000131
为第二网关的跨域公钥,
Figure BDA0002858183160000132
为所述目标设备的域内公钥,
Figure BDA0002858183160000133
为所述目标设备的跨域公钥,H0和H1均为基于所述公共参数定义的哈希函数,IDj为所述目标设备的设备标识,IDg为第二网关的设备标识。
可以理解的是,为了提高跨域认证时的信息安全性,所述目标设备对自身的设备标识进行签名并加密是,可以随机生成任一数字,作为随机数,并将该随机数与目标设备的设备标识进行签名并加密,得到第一信息。并且,所述第一网关可以利用第二网关的域内公钥和跨域公钥对第一信息中的随机数进行加密,以进一步提高跨域认证时的信息安全。
可见,本方案,当目标设备在进行针对目标信任域的跨域访问时,由域内的第一网关向跨域的第二网关发送访问请求,第二网关校验目标设备的设备标识,在校验通过后,为目标设备生成对所述目标信任域进行跨域访问时的密钥,无需跨域的云服务器为目标设备生成密钥,也无需将跨域的密钥发布至联盟链,从而降低了云服务器的管理压力。
可选地,相对于图1所示的实施例,如图2所示,本发明实施例中,所述方法还包括:
S104,所述第二网关确定自身的域内公钥和域内私钥,并利用所述第二网关对应的云服务器的公钥,对所述第二网关的域内公钥和设备标识进行加密,得到第三信息,发送所述第三信息至所述第二网关对应的云服务器。
示例性的,在一种实现方式中,所述第二网关确定自身的域内公钥和域内私钥,并利用所述第二网关对应的云服务器的域内公钥,对所述第二网关的域内公钥和设备标识进行加密,可以包括:
第二网关选取任一不大于q的整数,作为自身的域内私钥,其中,q为根据预先定义的哈希函数确定的;
第二网关利用公式:
Figure BDA0002858183160000134
确定自身的域内公钥,其中,
Figure BDA0002858183160000135
为第二网关的域内私钥,
Figure BDA0002858183160000136
为第二网关的域内公钥,P为公共参数;
第二网关利用该网关对应的云服务器的域内公钥,通过网关加密公式:
Figure BDA0002858183160000141
对所述第二网关的域内公钥和设备标识进行加密,其中,IDg为第二网关的设备标识,ENPK1用于表征加密形式。
S105,所述第二网关对应的云服务器对所述第三信息解密,得到所述第二网关的设备标识并校验所述第二网关的设备标识,在校验通过后,为所述第二网关生成用于跨域交互的跨域私钥和跨域公钥,并发送至所述第二网关。
示例性的,在一种实现方式中,所述第二网关对应的云服务器对所述第三信息解密,得到所述第二网关的设备标识并校验所述第二网关的设备标识,可以包括:
所述第二网关对应的云服务器,利用预设的网关解密公式,所述对所述第三信息解密,得到所述第二网关的设备标识,其中,所述网关解密公式为基于所述网关加密公式确定的;
所述第二网关对应的云服务器将解密得到的第二网关的设备标识,与该云服务器中预先注册的第二网关的设备标识进行对比,当二者相同时,则校验通过。
示例性的,在一种实现方式中,所述第二网关对应的云服务器为所述第二网关生成用于跨域交互的跨域私钥和跨域公钥,可以包括:
所述第二网关对应的云服务器基于所述公共参数,利用预设的第一公式,为所述第二网关生成用于跨域交互的跨域私钥和跨域公钥;
所述第一公式包括:
Figure BDA0002858183160000142
Figure BDA0002858183160000143
其中,
Figure BDA0002858183160000144
为所述第二网关的跨域公钥,
Figure BDA0002858183160000145
为所述第二网关的跨域私钥,H0为基于所述公共参数定义的哈希函数,并且,
Figure BDA0002858183160000146
0,1指二进制序列,
Figure BDA0002858183160000147
为不大于q的整数集合,IDg为所述第二网关的设备标识,SK1为所述第二网关对应的云服务器的域内私钥,di为不大于q的任一整数,P为所述公共参数所包含的参数。
可以理解的是,为了提高信息交互时的安全性,所述第二网关对应的云服务器将所述第二网关的跨域私钥和跨域公钥,发送至所述第二网关前,所述第二网关对应的云服务器可以利用所述第二网关的域内公钥对所述第二网关的跨域私钥和跨域公钥进行加密,示例性的,加密方式可以为:
Figure BDA0002858183160000151
S106,所述第二网关对接收的所述跨域私钥和跨域公钥进行校验,并在校验通过后,将所述第二网关的设备标识、域内公钥和跨域公钥通过所述第二网关对应的云服务器发布至联盟链。
示例性的,在一种实现方式中,所述第二网关对接收的所述跨域私钥和跨域公钥进行校验包括:所述第二网关利用预设的网关校验公式,对接收的所述跨域私钥和跨域公钥进行校验,所述网关校验公式包括:
Figure BDA0002858183160000152
其中,
Figure BDA0002858183160000153
hi为由基于预先定义的哈希函数计算得到的哈希值,若验证公式成立时,则校验通过。P为公共参数,
Figure BDA0002858183160000154
为所述第二网关的跨域公钥,
Figure BDA0002858183160000155
为所述第二网关的跨域私钥,PK1所述第二网关对应的云服务器的域内公钥。
可以理解的是,当第二网关对应的云服务器为第二网关生成用于跨域交互的跨域私钥和跨域公钥后,第一网关则可以利用已生成的第二网关的域内公钥和跨域公钥对所述第一信息中所包括信息进行加密。
示例性的,在一种实现方式中,所述第一网关利用预先生成的第二网关的域内公钥和跨域公钥对所述第一信息中所包括信息进行加密,包括:
所述第一网关通过自身对应的云服务器从所述联盟链中请求第二网关的域内公钥和跨域公钥,并利用所请求到的第二网关的域内公钥和跨域公钥,对所述第一信息中所包括信息进行加密。
可见,本方案,当目标设备在进行针对目标信任域的跨域访问时,由域内的第一网关向跨域的第二网关发送访问请求,第二网关校验目标设备的设备标识,在校验通过后,为目标设备生成对所述目标信任域进行跨域访问时的密钥,无需跨域的云服务器为目标设备生成密钥,也无需将跨域的密钥发布至联盟链,从而降低了云服务器的管理压力。另外,通过S105-S107可以实现第二网关的快速初始化,进而基于初始化后的第二网关,可以实现跨域访问。
可选地,基于图1或图2的基础上,本发明实施例中,所述方法还包括步骤(1)-(3):
(1),所述第一网关确定所述目标设备的域内公钥和域内私钥,利用所述第一网关自身的域内私钥对所述目标设备的域内公钥签名,得到注册信息,并将所述注册信息发送至所述第一网关对应的云服务器。
可以理解的是,为了实现跨域访问,在利用目标设备的域内公钥和域内私钥前,需要先确定所述目标设备的域内公钥和域内私钥。由于目标设备可以具备远距离通信及自身密钥的生成和管理功能,也可以不具备远距离通信及自身密钥的生成和管理功能,因此,当目标设备具备远距离通信及自身密钥的生成和管理功能时,目标设备的域内公钥和域内私钥可以由目标设备生成,当目标设备不具备远距离通信及自身密钥的生成和管理功能时,目标设备的域内公钥和域内私钥可以由第一网关协助生成。
示例性的,在一种实现方式中,所述第一网关确定所述目标设备的域内公钥和域内私钥可以包括:所述第一网关为所述目标设备生成该设备的域内公钥和跨域私钥。
示例性的,在另一种实现方式中,所述第一网关确定所述目标设备的域内公钥和域内私钥可以包括:所述第一网关获取由所述目标设备生成的,该设备自身的域内公钥和域内私钥。
可以理解的是,为了方便将目标设备注册至所述第一网关对应的云服务器,第一网关在于目标设备建立通信后,可以获取目标设备的功能并配置设备的权限管理策略。例如,目标设备为一盏台灯时,目标设备的功能可以为开/关、亮度调节等,此时,目标设备的权限管理策略可以为:仅允许本地网关控制/本地网关授权后可以控制/可以直接控制等等。
(2),所述第一网关对应的云服务器,利用预先获取的所述第一网关的签名,对所述目标设备的域内公钥进行校验,并在校验通过后,为所述目标设备生成跨域公钥和跨域私钥,并将所述目标设备的跨域公钥和跨域私钥,发送至所述第一网关。
示例性的,在一种实现方式中,所述第一网关对应的云服务器,利用预先获取的所述第一网关的签名,对所述目标设备的域内公钥和域内私钥进行校验,可以包括:
所述第一网关对应的云服务器获取所述第一网关的签名;
将获取到的所述第一网关的签名,与接收到的所述注册信息中的签名进行对比,若二者相同时,则校验通过。
可以理解的是,所述第一网关对应的云服务器在获取所述第一网关的签名时,可以在所述第一网关发送注册信息至所述第一网关对应的云服务器之后,也可以在所述第一网关发送注册信息至所述第一网关对应的云服务器之前。
另外,所述第一网关对应的云服务器为所述目标设备生成跨域公钥和跨域私钥的过程可以与上述实施例中步骤S105内的,所述第二网关对应的云服务器为所述第二网关生成用于跨域交互的跨域私钥和跨域公钥的过程类似,此处不再赘述。
(3),所述第一网关对所述目标设备的跨域公钥和跨域私钥进行校验,并在校验通过后,将所述目标设备的跨域公钥、设备标识通过所述第一网关对应的云服务器发布至联盟链;
可以理解的是,当将目标设备的跨域公钥、设备标识发布至联盟链后,第二网关可以利用该目标设备的跨域公钥,对所述目标设备的设备标识进行验证。
示例性的,在一种实现方式中,所述第二网关利用所述目标设备的跨域公钥,对所述目标设备的设备标识进行验证,包括:
所述第二网关通过自身的云服务器从所述联盟链中获取所述目标设备的跨域公钥,对所述目标设备的设备标识进行验证。
其中,所述第一网关对所述目标设备的跨域公钥和跨域私钥进行校验的过程,可以与所述第二网关对接收的所述跨域私钥和跨域公钥进行校验的过程类似,此处不再赘述。
另外,当第一网关注销后,目标设备的设备信息仍可以从联盟链上进行查询,若需要更新目标设备的设备信息,可以将目标设备重新注册至目标设备所属信任域内的其他网关,由其他设备将目标设备的更新的设备信息发布至联盟链。
可以理解的是,由于目标设备与用户的行为直接相关,为了保护目标设备的信息安全,可以对目标设备做如下A-C的规定:
A,第一网关用于扩展目标设备的安全及通信能力,与目标设备直接连接,可以获取到目标设备的明文信息。
B,目标设备的设备标识及行为与用户密切相关,在不进行跨域访问时,目标设备的设备标识及行为,对联盟链上其他云服务器及网关保密。
C,目标设备本身具有移动性,应确保即使其更换所属网关,仍可继续使用。
可见,本方案,当目标设备在进行针对目标信任域的跨域访问时,由域内的第一网关向跨域的第二网关发送访问请求,第二网关校验目标设备的设备标识,在校验通过后,为目标设备生成对所述目标信任域进行跨域访问时的密钥,无需跨域的云服务器为目标设备生成密钥,也无需将跨域的密钥发布至联盟链,从而降低了云服务器的管理压力。另外,通过步骤(1)-(3)可以将目标设备快速注册至第二网关,进而基于注册后的目标设备,实现跨域访问。
为了方便进行跨域访问,所述第二网关对应的云服务器可以基于所述公共参数生成自身的公钥和私钥,并将所述第二网关对应的云服务器的公钥发布至所述联盟链。
示例性的,所述第二网关对应的云服务器基于所述公共参数生成自身的域内公钥和域内私钥可以包括:
所述第二网关对应的云服务器从
Figure BDA0002858183160000181
中选取自身的域内私钥,计算PK1=SK1·,其中,SK1为所述第二网关对应的云服务器的域内私钥,PK1为所述第二网关对应的云服务器的域内公钥。
为了方便理解方案,本方案中涉及到的交互过程如下:
目标设备接入到第一网关的底层通信协议根据目标设备类型的不同有所不同,但写入到第一网关的上层数据格式可以进行统一如下。
目标设备的信息按照json格式列出如下:
Device{
“Type”:devicetype,//设备类型
“ID”:deviceID,//设备ID
“GID”:Gateway ID,//所属网关
“Version”:key version//密钥版本
“Pubkey”:public key,//设备公钥
“keyvalue”:[
Key:protected key//私钥或加密后的私钥
Keytype:key//密钥生成算法
Validate:validate,//密钥有效期
]
“Permission”:permissioned type,//权限许可类型
“Privacy”:[//隐私描述
“Period”:key period,//密钥更新周期
“Signdate”:Sign date,//当前密钥签发时间
]
“Deviceswitch”:switch,//设备开关
“devicefunction”:[
“func1”:value 1,//设备功能1的值
“func 2”:value 2,//设备功能2的值
“func n”:value n,//设备功能n的值
]
}
其中,当目标设备密钥由目标设备自身生成时填写加密后的私钥,由第一网关生成则直接填写密钥。
权限许可类型分为三类:public,protected,private三类,对于public设备可直接发起调用,protected需获取到本地网关的许可,private情形下需获取到设备自身的许可。privacy部分填充密钥更新的频率。此字段为空时说明无需更换。
网关向所属的云服务器,即CA发起的请求格式如下:
Request{
“gateway”:gatewayID,//第一网关ID
“CA”:CAid,//为该网关签发许可的CA公钥
“commandtype”:command,//请求类型,包括写入、更新、查询。
“DeviceID”:Public key,//对应的设备公钥
“Description”:[
“Attribute1”:value1,//属性1
“Attribute2”:value2,//属性2
,//对于写入及更新的请求,需要更新的信息封装为json字段
}
查询请求的description字段为空,合约为其返回对应设备。注册请求需提供设备的功能描述及权限许可等属性信息。更新请求的description字段只包括需要更新的信息。
第一网关向第二网关发出的跨域认证请求如下:
Authenticate{
“gateway”:gatewayID,//第一网关ID
“CA”:CAid,//为发起请求的第一网关签发许可的CA公钥
“message1”:Y,
“message1”:T,
“message1”:C,//Y,T,C为第一网关为目标设备跨域访问生成的加密字段
“time”:timestamp;
}
当收到请求的第二网关完成验证,确定进行跨域访问时的密钥后,第一网关向第二网关发出的跨域访问请求如下。
Access{
“gateway”:gatewayID,//第一网关ID
“CA”:CAid,//为发起请求的第一网关签发许可的CA公钥
“DeviceID”:Public key,//需控制的目标设备公钥
“Deviceswitch”:switch,//目标设备开关
“commandtype”:[
“func1”:value 1,//目标设备功能1的值
“func 2”:value 2,//目标设备功能2的值
“func n”:value n,//目标设备功能n的值
]
“time”:timestamp;
}
此时收到请求的第二网关校验权限允许之后,执行conmandtype中的函数。
相对于上述方法的实施例,如图3所示,本发明实施例提供了一种基于区块链的跨域访问的认证系统,包括:由多个云服务器310构成的联盟链、多个设备330和多个网关320,且一个云服务器310对应一个信任域,所述信任域包括至少一个设备330和网关320;
目标设备,用于目标设备在进行针对目标信任域的跨域访问时,利用预先生成的所述目标设备的域内私钥和跨域私钥,对自身的设备标识进行签名并加密,得到第一信息,并将所述第一信息发送至所述第一网关;所述第一网关为所述目标设备所属信任域内的网关;
所述第一网关,用于接收所述第一信息后,利用第二网关的域内公钥和跨域公钥对所述第一信息中所包括信息进行加密,得到所述目标设备的第二信息,并向所述目标信任域内的第二网关发送携带有所述第二信息的访问请求;其中,所述第二网关为所述目标信任域内的网关;
所述第二网关,用于接收所述访问请求,利用预先生成的所述第二网关的跨域私钥和域内私钥,对所述第二信息解密,得到所述目标设备的设备标识,并利用所述公共参数对所述目标设备的设备标识进行验证,在验证通过后,确定所述目标设备对所述目标信任域进行跨域访问时的密钥,完成跨域认证。
其中,所述目标设备为所述多个设备320中的任一个;所述目标设备的域内私钥、跨域私钥为所述第一网关将所述目标设备注册至所述联盟链时,利用所述联盟链内的公共参数所生成的,所述公共参数为所述多个云服务器协商生成的;所述第二网关的跨域私钥和域内私钥为所述第二网关注册至所述联盟链时,利用所述公共参数所生成的。
可见,本方案,当目标设备在进行针对目标信任域的跨域访问时,由域内的第一网关向跨域的第二网关发送访问请求,第二网关利用联盟链内的公共参数校验目标设备的设备标识,校验通过后,为目标设备生成对所述目标信任域进行跨域访问时的密钥,无需跨域的云服务器为目标设备生成密钥,也无需将跨域的密钥发布至联盟链,从而降低了云服务器的管理压力。
可选地,所述目标设备利用预先生成的所述目标设备的域内私钥和跨域私钥,对自身的设备标识进行签名并加密,得到第一信息,包括:
所述目标设备利用预先生成的所述目标设备的域内私钥和跨域私钥,并结合随机数对自身的设备标识进行签名并加密,得到第一信息;
所述第一网关利用第二网关的域内公钥和跨域公钥,对所述第一信息中所包括信息进行加密,得到所述目标设备的第二信息,包括:
所述第一网关利用第二网关的域内公钥和跨域公钥,对所述第一信息内的所述随机数进行加密,得到所述目标设备的第二信息。
可选地,所述第二网关,还用于:确定自身的域内公钥和域内私钥,并利用所述第二网关对应的云服务器的公钥,对所述第二网关的域内公钥和设备标识进行加密,得到第三信息,发送所述第三信息至所述第二网关对应的云服务器;
所述第二网关对应的云服务器,用于对所述第三信息解密,得到所述第二网关的设备标识并校验所述第二网关的设备标识,在校验通过后,为所述第二网关生成用于跨域交互的跨域私钥和跨域公钥,并发送至所述第二网关;
所述第二网关,还用于:对接收的所述跨域私钥和跨域公钥进行校验,并在校验通过后,将所述第二网关的设备标识、域内公钥和跨域公钥通过所述第二网关对应的云服务器发布至联盟链。
可选地,所述第一网关利用预先生成的第二网关的域内公钥和跨域公钥对所述第一信息中所包括信息进行加密,包括:
所述第一网关通过自身对应的云服务器从所述联盟链中请求第二网关的域内公钥和跨域公钥,并利用所请求到的第二网关的域内公钥和跨域公钥,对所述第一信息中所包括信息进行加密。
可选地,所述第一网关还用于,确定所述目标设备的域内公钥和域内私钥,利用所述第一网关自身的域内私钥对所述目标设备的域内公钥签名,得到注册信息,并将所述注册信息发送至所述第一网关对应的云服务器;
所述第一网关对应的云服务器,用于利用预先获取的所述第一网关的签名,对所述目标设备的域内公钥进行校验,并在校验通过后,为所述目标设备生成跨域公钥和跨域私钥,并将所述目标设备的跨域公钥和跨域私钥,发送至所述第一网关;
所述第一网关还用于,对所述目标设备的跨域公钥和跨域私钥进行校验,并在校验通过后,将所述目标设备的跨域公钥、设备标识通过所述第一网关对应的云服务器发布至联盟链;
所述第二网关利用所述目标设备的跨域公钥,对所述目标设备的设备标识进行验证,包括:
所述第二网关通过自身的云服务器从所述联盟链中获取所述目标设备的跨域公钥,对所述目标设备的设备标识进行验证。
可选地,所述第二网关对应的云服务器为所述第二网关生成用于跨域交互的跨域私钥和跨域公钥,包括:
所述第二网关对应的云服务器基于公共参数,利用预设的第一公式,为所述第二网关生成用于跨域交互的跨域私钥和跨域公钥,所述公共参数为所述联盟链中多个云服务器协商生成的参数;
所述第一公式包括:
Figure BDA0002858183160000241
Figure BDA0002858183160000242
其中,
Figure BDA0002858183160000243
为所述第二网关的跨域公钥,
Figure BDA0002858183160000244
为所述第二网关的域内公钥,
Figure BDA0002858183160000245
为所述第二网关的跨域私钥,H0为基于所述公共参数定义的哈希函数,IDg为所述第二网关的设备标识,SK1为所述第二网关对应的云服务器的域内私钥,di为预设范围内的任一整数,P为所述公共参数所包含的参数。
可选地,所述第二网关利用预先生成的所述第二网关的跨域私钥和域内私钥,对所述第二信息解密,得到所述目标设备的设备标识,并对所述目标设备的设备标识进行验证,包括:
所述第二网关利用第二公式,以及预先生成的所述第二网关的跨域私钥和域内私钥,对所述第二信息解密,得到所述目标设备的设备标识;
利用公共参数和第三公式,对所述目标设备的设备标识进行验证;其中,所述公共参数为联盟链中的各个云服务器协商生成的参数;所述第二公式包括:
Figure BDA0002858183160000251
Figure BDA0002858183160000252
其中,s用于表征第一信息,
Figure BDA0002858183160000253
为第二网关的域内私钥,
Figure BDA0002858183160000254
为第二网关的跨域私钥,IDj为所述目标设备的设备标识,H2为基于所述公共参数定义的哈希函数,C和Yi0为所述第二网关接收到的所述第二信息中所包含的信息;
所述第三公式包括:
Figure BDA0002858183160000255
Figure BDA0002858183160000256
Figure BDA0002858183160000257
则校验通过,其中,T=r1·,T为对随机数r1加密后的值,hi0和h0均为待校验的哈希值,
Figure BDA0002858183160000258
为所述第二网关的域内公钥,
Figure BDA0002858183160000259
为所述第二网关的跨域公钥,
Figure BDA00028581831600002510
为所述目标设备的域内公钥,
Figure BDA00028581831600002511
为所述目标设备的跨域公钥,H0和H1均为基于所述公共参数定义的哈希函数,IDj为所述目标设备的设备标识,IDg为所述第二网关的设备标识。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (7)

1.一种基于区块链的跨域访问的认证方法,其特征在于,所述方法包括:
目标设备在进行针对目标信任域的跨域访问时,利用预先生成的所述目标设备的域内私钥和跨域私钥,对自身的设备标识进行签名并加密,得到第一信息,并将所述第一信息发送至第一网关;所述第一网关为所述目标设备所属信任域内的网关;
所述第一网关接收所述第一信息后,利用预先生成的第二网关的域内公钥和跨域公钥对所述第一信息中所包括信息进行加密,得到所述目标设备的第二信息,并向所述目标信任域内的所述第二网关发送携带有所述第二信息的访问请求;其中,所述第二网关为所述目标信任域内的网关;
所述第二网关接收所述访问请求,利用预先生成的所述第二网关的跨域私钥和域内私钥,对所述第二信息解密,得到所述目标设备的设备标识,并利用所述目标设备的跨域公钥,对所述目标设备的设备标识进行验证,在验证通过后,确定所述目标设备对所述目标信任域进行跨域访问时的密钥,完成跨域认证;
所述第二网关确定自身的域内公钥和域内私钥,并利用所述第二网关对应的云服务器的公钥,对所述第二网关的域内公钥和设备标识进行加密,得到第三信息,发送所述第三信息至所述第二网关对应的云服务器;
所述第二网关对应的云服务器对所述第三信息解密,得到所述第二网关的设备标识并校验所述第二网关的设备标识,在校验通过后,所述第二网关对应的云服务器基于公共参数,利用预设的第一公式,为所述第二网关生成用于跨域交互的跨域私钥和跨域公钥,并发送至所述第二网关,所述公共参数为所述联盟链中多个云服务器协商生成的参数;
所述第一公式包括:
Figure FDA0003720560140000011
Figure FDA0003720560140000012
其中,
Figure FDA0003720560140000013
为所述第二网关的跨域公钥,
Figure FDA0003720560140000014
为所述第二网关的域内公钥,
Figure FDA0003720560140000015
为所述第二网关的跨域私钥,H0为基于所述公共参数定义的哈希函数,IDg为所述第二网关的设备标识,SK1为所述第二网关对应的云服务器的域内私钥,di为预设范围内的任一整数,P为所述公共参数所包含的参数;
所述第二网关对接收的所述跨域私钥和跨域公钥进行校验,并在校验通过后,将所述第二网关的设备标识、域内公钥和跨域公钥通过所述第二网关对应的云服务器发布至联盟链。
2.根据权利要求1所述的方法,其特征在于,所述目标设备利用预先生成的所述目标设备的域内私钥和跨域私钥,对自身的设备标识进行签名并加密,得到第一信息,包括:
所述目标设备利用预先生成的所述目标设备的域内私钥和跨域私钥,并结合随机数对自身的设备标识进行签名并加密,得到第一信息;
所述第一网关利用第二网关的域内公钥和跨域公钥,对所述第一信息中所包括信息进行加密,得到所述目标设备的第二信息,包括:
所述第一网关利用第二网关的域内公钥和跨域公钥,对所述第一信息内的所述随机数进行加密,得到所述目标设备的第二信息。
3.根据权利要求1所述的方法,其特征在于,所述第一网关利用预先生成的第二网关的域内公钥和跨域公钥对所述第一信息中所包括信息进行加密,包括:
所述第一网关通过自身对应的云服务器从所述联盟链中请求第二网关的域内公钥和跨域公钥,并利用所请求到的第二网关的域内公钥和跨域公钥,对所述第一信息中所包括信息进行加密。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第一网关确定所述目标设备的域内公钥和域内私钥,利用所述第一网关自身的域内私钥对所述目标设备的域内公钥签名,得到注册信息,并将所述注册信息发送至所述第一网关对应的云服务器;
所述第一网关对应的云服务器,利用预先获取的所述第一网关的签名,对所述目标设备的域内公钥进行校验,并在校验通过后,为所述目标设备生成跨域公钥和跨域私钥,并将所述目标设备的跨域公钥和跨域私钥,发送至所述第一网关;
所述第一网关对所述目标设备的跨域公钥和跨域私钥进行校验,并在校验通过后,将所述目标设备的跨域公钥、设备标识通过所述第一网关对应的云服务器发布至联盟链;
所述第二网关利用所述目标设备的跨域公钥,对所述目标设备的设备标识进行验证,包括:
所述第二网关通过自身的云服务器从所述联盟链中获取所述目标设备的跨域公钥,对所述目标设备的设备标识进行验证。
5.根据权利要求2所述的方法,其特征在于,所述第二网关利用预先生成的所述第二网关的跨域私钥和域内私钥,对所述第二信息解密,得到所述目标设备的设备标识,并对所述目标设备的设备标识进行验证,包括:
所述第二网关利用第二公式,以及预先生成的所述第二网关的跨域私钥和域内私钥,对所述第二信息解密,得到所述目标设备的设备标识;
利用公共参数和第三公式,对所述目标设备的设备标识进行验证;其中,所述公共参数为联盟链中的各个云服务器协商生成的参数;所述第二公式包括:
Figure FDA0003720560140000031
Figure FDA0003720560140000032
其中,s用于表征第一信息,
Figure FDA0003720560140000036
为第二网关的域内私钥,
Figure FDA0003720560140000037
为第二网关的跨域私钥,IDj为所述目标设备的设备标识,H2为基于所述公共参数定义的哈希函数,C和Yi0为所述第二网关接收到的所述第二信息中所包含的信息;
所述第三公式包括:
Figure FDA0003720560140000033
Figure FDA0003720560140000034
Figure FDA0003720560140000035
则校验通过,其中,T=r1·P,T为对随机数r1加密后的值,hi0和h0均为待校验的哈希值,
Figure FDA0003720560140000038
为所述第二网关的域内公钥,
Figure FDA0003720560140000041
为所述第二网关的跨域公钥,
Figure FDA0003720560140000042
为所述目标设备的域内公钥,
Figure FDA0003720560140000043
为所述目标设备的跨域公钥,H0和H1均为基于所述公共参数定义的哈希函数,IDj为所述目标设备的设备标识,IDg为所述第二网关的设备标识。
6.一种基于区块链的跨域访问的认证系统,其特征在于,包括:由多个云服务器构成的联盟链、多个设备和多个网关,且一个云服务器对应一个信任域,所述信任域包括至少一个设备和网关;
目标设备,用于在进行针对目标信任域的跨域访问时,利用预先生成的所述目标设备的域内私钥和跨域私钥,对自身的设备标识进行签名并加密,得到第一信息,并将所述第一信息发送至第一网关;所述第一网关为所述目标设备所属信任域内的网关;
所述第一网关,用于接收所述第一信息后,利用第二网关的域内公钥和跨域公钥对所述第一信息中所包括信息进行加密,得到所述目标设备的第二信息,并向所述目标信任域内的第二网关发送携带有所述第二信息的访问请求;其中,所述第二网关为所述目标信任域内的网关;
所述第二网关,用于接收所述访问请求,利用预先生成的所述第二网关的跨域私钥和域内私钥,对所述第二信息解密,得到所述目标设备的设备标识,并利用所述目标设备的跨域公钥,对所述目标设备的设备标识进行验证,在验证通过后,确定所述目标设备对所述目标信任域进行跨域访问时的密钥,完成跨域认证;确定自身的域内公钥和域内私钥,并利用所述第二网关对应的云服务器的公钥,对所述第二网关的域内公钥和设备标识进行加密,得到第三信息,发送所述第三信息至所述第二网关对应的云服务器;所述第二网关对应的云服务器,用于对所述第三信息解密,得到所述第二网关的设备标识并校验所述第二网关的设备标识,在校验通过后,所述第二网关对应的云服务器基于公共参数,利用预设的第一公式,为所述第二网关生成用于跨域交互的跨域私钥和跨域公钥,并发送至所述第二网关,所述公共参数为所述联盟链中多个云服务器协商生成的参数;
所述第一公式包括:
Figure FDA0003720560140000051
Figure FDA0003720560140000052
其中,
Figure FDA0003720560140000053
为所述第二网关的跨域公钥,
Figure FDA0003720560140000054
为所述第二网关的域内公钥,
Figure FDA0003720560140000055
为所述第二网关的跨域私钥,H0为基于所述公共参数定义的哈希函数,IDg为所述第二网关的设备标识,SK1为所述第二网关对应的云服务器的域内私钥,di为预设范围内的任一整数,P为所述公共参数所包含的参数;
所述第二网关,还用于:对接收的所述跨域私钥和跨域公钥进行校验,并在校验通过后,将所述第二网关的设备标识、域内公钥和跨域公钥通过所述第二网关对应的云服务器发布至联盟链。
7.根据权利要求6所述的系统,其特征在于,所述目标设备利用预先生成的所述目标设备的域内私钥和跨域私钥,对自身的设备标识进行签名并加密,得到第一信息,包括:
所述目标设备利用预先生成的所述目标设备的域内私钥和跨域私钥,并结合随机数对自身的设备标识进行签名并加密,得到第一信息;
所述第一网关利用第二网关的域内公钥和跨域公钥,对所述第一信息中所包括信息进行加密,得到所述目标设备的第二信息,包括:
所述第一网关利用第二网关的域内公钥和跨域公钥,对所述第一信息内的所述随机数进行加密,得到所述目标设备的第二信息。
CN202011551808.0A 2020-12-24 2020-12-24 一种基于区块链的跨域访问的认证方法及系统 Active CN112637211B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011551808.0A CN112637211B (zh) 2020-12-24 2020-12-24 一种基于区块链的跨域访问的认证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011551808.0A CN112637211B (zh) 2020-12-24 2020-12-24 一种基于区块链的跨域访问的认证方法及系统

Publications (2)

Publication Number Publication Date
CN112637211A CN112637211A (zh) 2021-04-09
CN112637211B true CN112637211B (zh) 2022-09-20

Family

ID=75324526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011551808.0A Active CN112637211B (zh) 2020-12-24 2020-12-24 一种基于区块链的跨域访问的认证方法及系统

Country Status (1)

Country Link
CN (1) CN112637211B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113507370B (zh) * 2021-06-24 2023-04-18 西南林业大学 基于区块链的林业物联网设备授权认证访问控制方法
CN114221796A (zh) * 2021-12-02 2022-03-22 北京八分量信息科技有限公司 异构网络中匿名性身份认证方法、装置及相关产品
CN114172739B (zh) * 2021-12-14 2024-01-26 杭州数梦工场科技有限公司 网关通信方法、装置、电子设备及存储介质
CN114584313B (zh) * 2022-02-25 2023-11-03 杭州萤石软件有限公司 一种设备物理身份认证方法、系统、装置及第一平台
CN115134163B (zh) * 2022-07-18 2023-08-25 西交利物浦大学 跨域密钥管理系统、跨域密钥建立方法、设备及存储介质
CN115580415B (zh) * 2022-12-12 2023-03-31 南方电网数字电网研究院有限公司 区块链中数据交互认证方法、装置与系统
CN117424708A (zh) * 2023-11-24 2024-01-19 云南大学 基于区块链和无证书签名的跨域认证方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110138560A (zh) * 2019-06-04 2019-08-16 北京理工大学 一种基于标识密码和联盟链的双代理跨域认证方法
CN112073479A (zh) * 2020-08-26 2020-12-11 重庆邮电大学 一种基于区块链的去中心数据访问控制方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101994371B1 (ko) * 2018-10-23 2019-06-28 주식회사 컴퍼니위 스마트 블럭체인컴퍼니위형 국가간전력거래중개모듈·aos블록체인모듈로 이루어진 하이브리드형 국가간 전력거래 활성화장치
CN109274694A (zh) * 2018-11-14 2019-01-25 天津市国瑞数码安全系统股份有限公司 一种基于标识的通用跨域认证方法
CN111245834B (zh) * 2020-01-13 2020-12-29 北京科技大学 一种基于虚拟标识的物联网跨域访问控制方法
CN111683101B (zh) * 2020-06-16 2021-01-22 铭数科技(青岛)有限公司 一种基于区块链的自主跨域访问控制方法
CN111835528B (zh) * 2020-07-16 2023-04-07 广州大学 一种去中心化的物联网跨域访问授权方法及系统
CN112039872B (zh) * 2020-08-28 2022-07-05 武汉见邦融智科技有限公司 基于区块链的跨域匿名认证方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110138560A (zh) * 2019-06-04 2019-08-16 北京理工大学 一种基于标识密码和联盟链的双代理跨域认证方法
CN112073479A (zh) * 2020-08-26 2020-12-11 重庆邮电大学 一种基于区块链的去中心数据访问控制方法及系统

Also Published As

Publication number Publication date
CN112637211A (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
CN112637211B (zh) 一种基于区块链的跨域访问的认证方法及系统
JP7267294B2 (ja) トランザクションコネクタ及びブローカサービスを使用してブロックチェーンネットワークのバージョン化されたブロックとしてデバイスライフサイクルトランザクションを記録するためのシステム及び方法
JP7267295B2 (ja) ゲートウェイ装置に接続された非ipエンドポイントデバイスと接続されたサービスとの間のデータ転送を安全にするためのシステム及び方法
US10667131B2 (en) Method for connecting network access device to wireless network access point, network access device, and application server
JP7227919B2 (ja) モノのインターネット(iot)デバイスの管理
KR102116399B1 (ko) 서비스 레이어에서의 콘텐츠 보안
CN108235806B (zh) 安全访问区块链的方法、装置、系统、存储介质及电子设备
US11849029B2 (en) Method of data transfer, a method of controlling use of data and cryptographic device
US20090240941A1 (en) Method and apparatus for authenticating device in multi domain home network environment
US9680827B2 (en) Geo-fencing cryptographic key material
US9654922B2 (en) Geo-fencing cryptographic key material
RU2685975C2 (ru) Обеспечение безопасности связи с расширенными мультимедийными платформами
WO2022100356A1 (zh) 身份认证系统、方法、装置、设备及计算机可读存储介质
Togan et al. A smart-phone based privacy-preserving security framework for IoT devices
Xue et al. A blockchain based user subscription data management and access control scheme in mobile communication networks
US20160134423A1 (en) Off device storage of cryptographic key material
Zwattendorfer et al. A federated cloud identity broker-model for enhanced privacy via proxy re-encryption
CN114091009A (zh) 利用分布式身份标识建立安全链接的方法
CN110012467A (zh) 窄带物联网的分组认证方法
CN104243435A (zh) 一种基于OAuth的HTTP协议的通讯方法
WO2022252845A1 (zh) 一种用户数据管理方法以及相关设备
CN115795446A (zh) 在可信计算平台中处理数据的方法及管理装置
CN117118622A (zh) 安全通信的方法与装置
Niwa et al. Construction of a multi-domain functional encryption system on functional information infrastructure
Weerasinghe et al. Parameter Based Access Control Model for Mobile Handsets

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