CN116112176A - 基于区块链的物联网签名认证方法、***及存储介质 - Google Patents
基于区块链的物联网签名认证方法、***及存储介质 Download PDFInfo
- Publication number
- CN116112176A CN116112176A CN202211683049.2A CN202211683049A CN116112176A CN 116112176 A CN116112176 A CN 116112176A CN 202211683049 A CN202211683049 A CN 202211683049A CN 116112176 A CN116112176 A CN 116112176A
- Authority
- CN
- China
- Prior art keywords
- application
- authentication
- encryption string
- call
- request
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开一种基于区块链的物联网签名认证方法、***及存储介质,应用于物联网技术领域,能够缓解物联网平台签名认证存在的安全隐患问题,提高物联网平台数据调用的安全性和可靠性。该方法包括:获取包括用户身份标识的第一调用认证请求,从区块链查询得到第一加密串并返回应用客户端;获取第二调用认证请求;应用客户端对第一加密串进行私钥解密得到解密数据,发起第二调用认证请求;当根据第二调用认证请求验证第一加密串满足预设条件得到认证通过结果,并返回应用客户端;获取接口调用请求;应用客户端根据认证通过结果发起接口调用请求;当根据接口调用请求进行签名算法验证通过,返回应用调用响应结果。
Description
技术领域
本发明涉及物联网技术领域,尤其涉及一种基于区块链的物联网签名认证方法、***及存储介质。
背景技术
在物联网应用中,应用***通过调用物联网平台的接口来下发指令控制设备。应用***在调用物联网平台的接口时,物联网平台会使用签名机制进行验证。相关技术中,常用的签名机制主要通过key和secret进行签名认证,只要获取了key和secret,则应用***端便可以成功调用物联网平台的接口,这就导致了接口调用过程存在较大的安全隐患,容易出现非法调用等问题。因此,如何缓解物联网平台签名认证存在的安全隐患问题,提高物联网平台数据调用的安全性和可靠性,成为亟需解决的问题。
发明内容
为了解决上述技术问题的至少之一,本发明提出一种基于区块链的物联网签名认证方法、***及存储介质,能够缓解物联网平台签名认证存在的安全隐患问题,有效提高物联网平台数据调用的安全性和可靠性。
一方面,本发明实施例提供了一种基于区块链的物联网签名认证方法,包括以下步骤:
获取第一调用认证请求;其中,所述第一调用认证请求包括用户身份标识;
根据所述用户身份标识从区块链查询得到相应的第一加密串,并将所述第一加密串返回应用客户端;
获取第二调用认证请求;其中,所述应用客户端对所述第一加密串进行私钥解密得到解密数据,并发起所述第二调用认证请求,所述第二调用认证请求包括所述解密数据;
当根据所述第二调用认证请求验证所述第一加密串满足预设条件得到认证通过结果,并将所述认证通过结果返回所述应用客户端;其中,所述预设条件包括所述第一加密串与预设加密串匹配,加密串变更标记为未变更标记;
获取接口调用请求;其中,所述应用客户端根据所述认证通过结果发起所述接口调用请求;所述接口调用请求包括所述应用唯一标识、应用接口公匙以及接口调用参数;
当根据所述接口调用请求进行签名算法验证通过,返回应用调用响应结果。
根据本发明实施例的一种基于区块链的物联网签名认证方法,至少具有如下有益效果:本实施例获取到包含用户身份标识的第一调用请求后,根据用户身份标识从区块链查询得到相应的第一加密串,并将第一加密串返回应用客户端。接着,应用客户端对第一加密串进行私钥解密得到解密数据后,发起第二调用认证请求。本实施例通过第二调用认证请求对第一加密串是否满足预设条件进行验证,当验证得到第一加密串与预设加密串匹配,且加密串变更标记为未变更标记,则验证通过,得到认证通过结果。本实施例通过区块链查询用户身份标识对应的第一加密串的方式,能够有效缓解非法用户登录的问题,同时,通过验证加密串变更标记是否为未变更标记,以验证该用户身份标识对应的应用用户账户是否有效,从而缓解了通过失效应用用户账户登录导致的安全问题。进一步地,应用客户端在接收到认证通过结果后,根据认证通过结果发起接口调用请求。本实施例获取到包括用户身份标识、应用接口公匙以及接口调用参数的接口调用请求后,根据接口调用请求进行签名算法验证。当根据接口调用请求进行签名认证通过免责返回应用调用响应结果,实现接口调用。本实施例通过签名算法验证的方式,以缓解外部人员对接口调用的问题,从而进一步地提升接口调用的安全性能。本实施例通过对第一加密串进行验证,以及签名算法验证的双重认证的方式,优化了物联网平台的签名认证过程,缓解了物联网平台签名认证存在的安全隐患问题,提高了应用接口调用的安全,有效提升了物联网平台数据调用的安全性和可靠性。
根据本发明的一些实施例,所述根据所述认证通过结果发起所述接口调用请求,包括:
当接收到所述认证通过结果,通过预设编码算法对所述应用唯一标识、所述应用接口公匙以及所述接口调用参数进行编码,得到编码数据;
根据应用接口私匙通过预设键控哈希算法对所述编码数据进行摘要,得到签名摘要数据;
根据所述签名摘要数据发起所述接口调用请求。
根据本发明的一些实施例,所述通过预设编码算法对所述应用唯一标识、所述应用接口公匙以及所述接口调用参数进行编码,得到编码数据,包括:
通过utf-8编码算法对所述用户身份、所述应用接口公匙以及所述接口调用参数进行编码,得到所述编码数据。
根据本发明的一些实施例,所述方法还包括:
获取第一应用创建请求;
根据所述第一应用创建请求生成所述用户身份标识;其中,所述用户身份标识与预设关联数据关联,所述预设关联数据包括用户状态参数和所述加密串变更标记,将所述用户状态参数初始化为有效状态,将所述加密串变更标记初始化为未变更标记;
将所述用户身份标识发送至所述应用客户端;
获取用户公钥数据;其中,所述应用客户端根据所述用户身份标识生成用户公钥数据和用户私钥数据;
根据所述用户公钥数据对所述用户状态参数进行加密,得到所述第一加密串;
将所述第一加密串与所述用户身份标识进行绑定存储至所述区块链中,并将存储结果返回所述应用客户端;其中,所述应用客户端根据所述存储结果发起第二应用创建请求;
获取第二应用创建请求,根据所述第二应用创建请求进行应用创建并生成应用认证参数;其中,所述应用认证参数包括所述应用唯一标识、所述应用接口公匙和应用接口私匙;
将所述应用认证参数下发至所述应用客户端。
根据本发明的一些实施例,所述方法还包括:
获取用户状态变更请求;其中,所述用户状态变更请求包括所述用户身份标识;
将所述用户身份标识相关联的所述用户状态参数进行变更,得到状态变更数据;
通过所述用户公钥数据对所述状态变更数据进行加密,得到第二加密串;
根据状态变更数据设置所述用户身份标识相关联的所述加密串变更标记;其中,所述加密串变更标记包括已变更标记和所述未变更标记;
将所述用户身份标识和所述第二加密串更新至所述区块链中,并将更新结果返回所述应用客户端。
根据本发明的一些实施例,在执行所述当根据所述第二调用认证请求验证所述第一加密串满足预设条件得到认证通过结果这一步骤过程中,所述方法还包括:
当根据所述第二调用认证请求验证所述第一加密串与所述预设加密串不匹配,或者所述加密串变更标记为已变更标记,得到认证失败结果。
根据本发明的一些实施例,所述状态变更数据包括所述有效状态和无效状态;
所述根据状态变更数据设置所述用户身份标识相关联的所述加密串变更标记,包括:
当所述状态变更数据为有效状态,将所述加密串变更标记设置为所述未变更标记;
或者,当所述状态变更数据为无效状态,将所述加密串变更标记设置为已变更标记。
另一方面,本发明实施例还提供了一种基于区块链的物联网签名认证***,包括:
第一获取模块,用于获取第一调用认证请求;其中,所述第一调用认证请求包括用户身份标识;
查询模块,用于根据所述用户身份标识从区块链查询得到相应的第一加密串,并将所述第一加密串返回应用客户端;
第二获取模块,用于获取第二调用认证请求;其中,所述应用客户端对所述第一加密串进行私钥解密得到解密数据,并发起所述第二调用认证请求,所述第二调用认证请求包括所述解密数据;
第一验证模块,用于当根据所述第二调用认证请求验证所述第一加密串满足预设条件得到认证通过结果,并将所述认证通过结果返回所述应用客户端;其中,所述预设条件包括所述第一加密串与预设加密串匹配,加密串变更标记为未变更标记;
第三获取模块,用于获取接口调用请求;其中,所述应用客户端根据所述认证通过结果发起所述接口调用请求;所述接口调用请求包括所述应用唯一标识、应用接口公匙以及接口调用参数;
第二验证模块,用于当根据所述接口调用请求进行签名算法验证通过,返回应用调用响应结果。
另一方面,本发明实施例还提供了一种基于区块链的物联网签名认证***,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得至少一个所述处理器实现如上述实施例所述的基于区块链的物联网签名认证方法。
另一方面,本发明实施例还提供了一种计算机存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由所述处理器执行时用于实现如上述实施例所述的基于区块链的物联网签名认证方法。
附图说明
图1是本发明实施例提供的基于区块链的物联网签名认证方法流程图;
图2是本发明实施例提供的基于区块链的物联网签名认证***原理框图。
具体实施方式
本申请实施例所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在物联网应用中,应用***通过调用物联网平台的接口来下发指令控制设备。而在应用系调用物联网平台的接口时,为了保证数据的安全性,物联网平台通常会使用签名机制进行调用认证,通过调用认证后才能进行相应的接口调用。目前常用的签名机制主要为通过key和secret进行签名认证,即只要获取了key和secret,则应用***端便可成功调用物联网平台的接口。相关技术中,通过key和secret进行签名认证以实现调用认证的方式在一定程度上提高了物联网平台的数据安全性。但是,这种认证方式存在一定的局限性。例如,当某个持有key和secret的人员离职后,仍能通过该key和secret进行接口调用,从而获取得到相应的数据,这也造成了物联网平台数据的安全隐患。而由于在物联网业务中,大部分是有多个应用客户***调用物联网平台接口的场景,如果直接更新整个应用参数,如直接更新key和secret,则可能导致某些应用无法实时获取变更后的参数而出现调用失败的问题。因此,如何缓解物联网平台签名认证存在的安全隐患问题,提高物联网平台数据调用的安全性和可靠性,成为亟需解决的问题。
基于此,本发明的一个实施例提供了一种基于区块链的物联网签名认证方法,缓解物联网平台签名认证存在的安全隐患问题,有效提高物联网平台数据调用的安全性和可靠性。参照图1,本发明实施例的方法包括但不限于步骤S110、步骤S120、步骤S130、步骤S140、步骤S150和步骤S160。
具体地,本发明实施例的方法应用过程包括但不限于以下步骤:
S110:获取第一调用认证请求。其中,第一调用认证请求包括用户身份标识。
S120:根据用户身份标识从区块链查询得到相应的第一加密串,并将第一加密串返回应用客户端。
S130:获取第二调用认证请求。其中,应用客户端对第一加密串进行私钥解密得到解密数据,并发起第二调用认证请求,第二调用认证请求包括解密数据。
S140:当根据第二调用认证请求验证第一加密串满足预设条件得到认证通过结果,并将认证通过结果返回应用客户端。其中,预设条件包括第一加密串与预设加密串匹配,加密串变更标记为未变更标记。
S150:获取接口调用请求。其中,应用客户端根据认证通过结果发起接口调用请求。接口调用请求包括应用唯一标识、应用接口公匙以及接口调用参数。
S160:当根据接口调用请求进行签名算法验证通过,返回应用调用响应结果。
在本具体实施例工作过程中,本实施例首先获取第一调用认证请求。具体地,第一调用认证请求包括用户身份标识,例如用户ID。应用客户端发起第一调用认证请求至物联网平台,并携带用户ID,即用户身份标识,作为入参。接着,本实施例根据用户身份标识从区块链查询得到相应的第一加密串,并将查询得到的第一加密串返回应用客户端。具体地,本实施例中物联网平台接收到第一调用请求后,发起调用方的加密串查询,从区块链中查询第一调用请求中的用户身份标识对应的加密串数据,即第一加密串。然后,本实施例将查询得到的第一加密串返回至应用客户端进行私钥解密。应用客户端接收到物联网平台反馈的第一加密串后,通过私钥对第一加密串进行私钥解密,得到相应的解密数据。同时,应用客户端根据解密得到的解密数据向物联网平台发起第二调用认证请求。进一步地,本实施例获取第二调用认证请求,并根据第二调用认证请求对第一加密串是否满足预设条件进行验证。具体地,本实施例中物联网平台获取到第二调用认证请求后,根据第一加密串解码得到的解码数据验证第一加密串与预设加密串是否匹配。同时,本实施例还验证加密串变更标记是否为未变更标记。本实施例通过加密串变更标记表示用户身份标识对应的应用用户账户的有效性。例如,当加密串变更标记为未变更标记,则表示该用户身份标识有效,而当加密串变更标记为已变更标记,则表示该用户身份标识已失效。当验证得到第一加密串与预设加密串匹配,且加密串变更标记为未变更标记,则验证通过,得到认证通过结果,并将认证通过结果返回至应用客户端。容易理解的是,当验证得到第一加密串与预设加密串不匹配时,则表示发起调用方的身份验证失败。而当验证得到加密串变更标记为已变更标记时,该用户身边标识已失效,该用户ID的调用权限已经被限制,例如,相应的人员已经离职或被降权限。因此,本实施例需要同时对加密串数据的匹配情况以及加密串变更标记进行验证,以对物联网签名认证过程进行优化,缓解物联网平台签名认证存在的安全隐患问题。
进一步地,当应用客户端接收到认证通过结果时,发起接口调用请求。具体地,接口调用请求包括应用唯一标识、应用接口公匙以及接口调用参数,例如,应用ID、应用key以及接口调用所需的其它参数。另外,当应用客户端接收到认证失败结果时,则结束进程。接着,当物联网平台接收到应用客户端发起的接口调用请求后,本实施例根据接口调用请求的相关参数进行签名算法验证。当根据接口调用请求进行签名算法验证通过时,返回应用调用响应结果,应用调用成功。反之,当签名算法验证失败时,则返回调用响应失败。本实施例通过设置用户身份识别标识以及加密串变更标记,以验证发起调用方是否为非法用户或用户状态是否有效,当非法用户想要获取接口信息时,由于非法用户ID无法从区块链中查询得到相应的加密串或者没有私匙而无法对获取的加密串进行解密,从而无法通过认证获取相应的接口数据,提升了接口数据安全。同时,当应用侧有员工工作变动时,通过调整相应的加密串变更标记,从而通过由用户有效状态生成的加密串进行权限控制,缓解了通过原有账户密码对接口进行控制的问题,进一步提高了接口数据的安全性。另外,本实施例在通过用户身份识别标识以及加密串变更标记进行验证通过后,对接口调用参数使用应用ID、应用key以及应用secret等参数进行签名的方式进行进一步签名验证,从而进一步提升接口调用的安全性能,实现对安全权限的精确认证和控制,有效缓解了物联网平台签名认证存在的安全隐患问题,有效提高物联网平台数据调用的安全性和可靠性。
示例性地,在本实施例中物联网平台包括应用管理模块、用户管理模块以及区块链服务模块。当应用客户端发起第一调用认证请求至用户管理模块,并携带用户ID,即用户身份标识,作为入参。用户管理模块在接收到第一调用认证请求后,根据用户ID向区块链服务模块发起申请查询调用方的加密串。接着,区块链服务模块根据用户ID查询得到相应的第一加密串后,将第一加密串返回至应用客户端。应用客户端对区块链服务模块返回的第一加密串进行私钥解密,得到相应的解密数据,然后向用户管理模块发起第二调用认证请求。用户管理模块首先验证加密串是否匹配,即第一加密串与预设加密串是否匹配,同时通过加密串变更标记检验加密串是否有变化。相应地,本实施例将认证通过结果或认证不通过结果返回至应用客户端。当应用客户端接收到认证不通过结果时,则结束进程。而当应用客户端接收到认证通过结果时,则向应用管理模块发起接口调用请求。应用管理模块根据接口调用请求进行签名算法认证,当验证成功则返回应用调用响应结果,而当验证不成功则返回失败。
在本发明的一些实施例中,根据认证通过结果发起接口调用请求,包括但不限于:
当接收到认证通过结果,通过预设编码算法对应用唯一标识、应用接口公匙以及接口调用参数进行编码,得到编码数据。
根据应用接口私匙通过预设键控哈希算法对编码数据进行摘要,得到签名摘要数据。
根据签名摘要数据发起接口调用请求。
在本具体实施例中,当应用客户端接收到认证通过结果后,向物联网平台发起接口调用请求。具体地,本实施例中当接收到认证通过结果,应用客户端对应用唯一标识、应用接口公匙以及接口调用参数进行预设编码算法的编码,得到编码数据。然后,本实施例对编码得到的编码数据使用应用接口私匙通过预设键控哈希算法进行摘要,得到签名摘要数据,从而根据签名摘要数据发起接口调用请求。其中,预设键控哈希算法包括HMAC-SHA1算法。HMAC-SHA1是从SHA1哈希函数构造的一种键控哈希算法,被用作HMAC(基于哈希的消息验证代码)。该HMAC进程将密钥与信息数据混合,使用哈希函数对混合结果进行哈希计算,并将所得哈希值与应用接口私钥进行混合,然后在次应用哈希函数。SHA1算法(安全哈希算法)是一种加密哈希算法,它将从任意长度的字符串生成160位的哈希值。因此,HMAC-SHA1算法接受任何大小的编码数据,并将其生成160位的哈希序列,实现对数据进行摘要。
在本发明的一些实施例中,通过预设编码算法对用户身份、应用接口公匙以及接口调用参数进行编码,得到编码数据,包括但不限于:
通过utf-8编码算法对用户身份、应用接口公匙以及接口调用参数进行编码,得到编码数据。
在本具体实施例中,本实施例通过utf-8编码算法进行编码得到编码数据。具体地,utf-8(8-bit Unicode Transformation Format)编码算法是Unicode字符集的一种字符编码方式。其特点是使用变长字节数,即变长码元序列或变宽码元序列,来进行编码。本实施例通过utf-8编码算法对用户身份、应用接口公匙以及接口调用参数进行编码,以使得得到的编码数据占用空间更小,便于进行传输。
在本发明的一些实施例中,本实施例提供的基于区块链的物联网签名认证方法还包括但不限于:
获取第一应用创建请求。
根据第一应用创建请求生成用户身份标识。其中,用户身份标识与预设关联数据关联,预设关联数据包括用户状态参数和加密串变更标记,将用户状态参数初始化为有效状态,将加密串变更标记初始化为未变更标记。
将用户身份标识发送至应用客户端。
获取用户公钥数据。其中,应用客户端根据用户身份标识生成用户公钥数据和用户私钥数据;
根据用户公钥数据对用户状态参数进行加密,得到第一加密串;
将第一加密串与用户身份标识进行绑定存储至区块链中,并将存储结果返回应用客户端。其中,应用客户端根据存储结果发起第二应用创建请求。
获取第二应用创建请求,根据第二应用创建请求进行应用创建并生成应用认证参数。其中,应用认证参数包括应用唯一标识、应用接口公匙和应用接口私匙。
将应用认证参数下发至应用客户端。
在本具体实施例中,本实施例首先获取第一应用创建请求。其中,第一应用创建请求由应用客户端向物联网平台发起。接着,本实施例根据第一应用创建请求生成用户身份标识。具体地,物联网平台随机生成所需要数量的用户ID,即用户身份标识。相应地,本实施例生成用户身份标识时,与用户身份标识相匹配地设置了相应的预设关联数据,预设关联数据包括用户状态参数和加密串变更标记,预设关联数据与用户身份标识关联匹配。用户状态参数表示相应用户身份标识的有效性,即该用户ID的有效性。而加密串变更标记则表示第一加密串的变更情况。本实施例中将各个用户身份标识所关联的用户状态参数初始化为有效状态,并将加密串变更标记初始化为未变更标记。进一步地,本实施例将相应的用户身份标识发送至应用客户端。应用客户端在接收到用户身份标识后,根据用户身份标识初始化生成相应的用户公钥数据和用户私钥数据,并将用户私钥数据存储至应用客户端本地,然后将用户公钥数据传输至物联网平台。接着,当物联网平台获取到用户公钥数据后,根据用户公钥数据对用户状态参数进行加密得到第一加密串。进一步地,本实施例将第一加密串与对应的用户身份标识进行绑定,并传输至区块链中进行存储。需要说明的是,本实施例通过区块链存储用户身份标识和第一加密串的过程中,将该用户身份识别标识相关联的预设关联数据也进行存储。当区块链存储完成后,向应用客户端反馈存储结果。接着,应用客户端向物联网平台发起第二应用创建请求。本实施例根据第二应用创建请求生成相应的应用认证参数。具体地,应用认证参数包括应用唯一标识、应用接口公匙以及应用接口私匙。例如,物联网平台在接收到第二应用创建请求后生成相应的应用ID、应用key以及应用secret。进一步地,本实施例将生成的应用认证参数发送至应用客户端进行存储,从而完成应用创建以及基本用户ID及相关信息的交互。
示例性地,在本实施例中物联网平台包括应用管理模块、用户管理模块以及区块链服务模块。当应用客户端向物联网平台发起第一应用创建请求,用户管理模块随机生成相应数量的用户ID,即用户身份标识,并初始化用户状态参数为有效状态,将加密串变更标记初始化为未变更标记,如将加密串变更标记记为0。接着,本实施例传输用户ID至应用客户端,应用客户端初始化生成相应的用户公钥和用户私钥。同时,将用户私钥在应用客户端进行本地存储,并传输用户公钥至用户管理模块。然后,用户管理模块用用户公钥对用户ID对应的用户状态参数进行加密得到加密串,即第一加密串,并传输用户ID及对应的第一加密串至区块链服务模块。进一步地,区块链服务模块将用户ID和第一加密串进行绑定并存储,并回复存储成功响应至应用客户端。应用客户端在接收到存储成功响应后,发送第二应用创建请求至应用管理模块。应用管理模块创建应用,并生成相应的应用ID、应用key和应用secret。同时,将生成的应用ID、应用key和应用secret返回给应用客户端进行存储,从而完成应用的创建。
在本发明的一些实施例中,本实施例提供的基于区块链的物联网签名认证方法还包括但不限于:
获取用户状态变更请求。其中,用户状态变更请求包括用户身份标识。
将用户身份标识相关联的用户状态参数进行变更,得到状态变更数据。
通过公钥数据对状态变更数据进行加密,得到第二加密串。
根据状态变更数据设置用户身份标识相关联的加密串变更标记。其中,加密串变更标记包括已变更标记和未变更标记。
将用户身份标识和第二加密串更新至区块链中,并将更新结果返回应用客户端。
在本具体实施例中,本实施例通过更新加密串的方式,进行权限配置优化。具体地,本实施例首先获取用户状态变更请求。应用客户端向物联网平台发起用户状态变更请求,该用户状态变更请求包括用户身份识别标识,即用户ID。进一步地,本实施例将与该用户身份标识相关联的用户状态参数进行变更,得到状态变更数据。接着,本实施例通过公钥数据对得到的状态变更数据进行加密,得到第二加密串。同时,本实施例根据状态变更数据设置与该用户身边标识相关联的加密串变更标记。具体地,加密串变更标记包括已变更标记和未变更标记。例如,本实施例将已变更标记设置为1,将未变更标记设置为0,通过对加密串变更标记进行判断,便可得知加密串是否发生变更。进一步地,本实施例将用户身份标识和第二加密串进行绑定后更新至区块链中,并将更新结果返回应用客户端。需要说明的是,本实施例通过区块链存储用户身份标识和第二加密串的过程中,将该用户身份识别标识相关联的预设关联数据也进行存储。
示例性地,本实施例中当应用客户端发起用户状态变更请求,如将用户ID状态参数变更为无效的请求,并携带用户ID作为入参。物联网平台的用户管理模块将对应用户ID的用户状态参数进行变更,得到状态变更数据。接着,本实施例用用户公钥对新的用户状态参数,即状态变更数据,进行加密,得到新加密串,即第二加密串。同时,本实施例将置加密串变更标记为1,即设置为已变更标记。进一步地,用户管理模块上传用户ID及其更新的加密串至区块链服务模块。然后,区块链服务模块更新用户ID对应的加密串,并返回变更成功响应至应用客户端,从而实现加密串更新。
在本发明的一些实施例中,在执行当根据第二调用认证请求验证第一加密串满足预设条件得到认证通过结果这一步骤过程中,本实施例提供的基于区块链的物联网签名认证方法还包括但不限于:
当根据第二调用认证请求验证第一加密串与预设加密串不匹配,或者加密串变更标记为已变更标记,得到认证失败结果。
在本具体实施例中,本实施例通过验证加密串的匹配情况以及加密串变更标记得到认证结果。具体地,当根据第二调用认证请求验证得到第一加密串与预设加密串匹配,并且加密串变更标记为未变更标记时,则认证通过,得到认证通过结果。同时,本实施例中当验证第一加密串与预设加密串不匹配,或者加密串变更标记为已变更标记时,则认证失败,得到认证失败结果。容易理解的是,当第一加密串与预设加密串不匹配时,则表示发起调用方的用户私钥解密得到的解密数据不对,即发起调用方为非法用户。同时,当加密串变更标记为为已变更标记时,则说明该用户身份标识的有效性已经变更为无效状态。因此,当验证得到第一加密串与预设加密串不匹配,或者加密串变更标记为已变更标记之一时,则认证失败。
在本发明的一些实施例中,状态变更数据包括有效状态和无效状态。相应地,根据状态变更数据设置用户身份标识相关联的加密串变更标记,包括但不限于:
当状态变更数据为有效状态,将加密串变更标记设置为未变更标记。
或者,当状态变更数据为无效状态,将加密串变更标记设置为已变更标记。
在本具体实施例中,状态变更数据包括有效状态和无效状态。具体地,当状态变更数据为有效状态时,则相对应地将加密串变更标记设置为未变更标记。另外,当状态变更数据为无效状态,则将加密串变更标记设置为已变更标记。示例性地,本实施例在获取用户状态变更请求后,将用户身份标识相关联的用户状态参数进行更新,得到新的用户状态参数,即状态变更数据。当更新得到的状态变更数据为有效状态时,则将该用户身份标识相关联的加密串变更标记设置为未变更标记,而当该更新后的用户状态参数为无效状态时,则将相应的加密串变更标记设置为已变更标记,从而能够根据加密串变更标记判断用户身份标识的有效性。
本发明的一个实施例还提供了一种基于区块链的物联网签名认证***,包括:
第一获取模块,用于获取第一调用认证请求。其中,第一调用认证请求包括用户身份标识。
查询模块,用于根据用户身份标识从区块链查询得到相应的第一加密串,并将第一加密串返回应用客户端。
第二获取模块,用于获取第二调用认证请求。其中,应用客户端对第一加密串进行私钥解密得到解密数据,并发起第二调用认证请求,第二调用认证请求包括解密数据。
第一验证模块,用于当根据第二调用认证请求验证第一加密串满足预设条件得到认证通过结果,并将认证通过结果返回应用客户端。其中,预设条件包括第一加密串与预设加密串匹配,加密串变更标记为未变更标记。
第三获取模块,用于获取接口调用请求。其中,应用客户端根据认证通过结果发起接口调用请求。接口调用请求包括应用唯一标识、应用接口公匙以及接口调用参数。
第二验证模块,用于当根据接口调用请求进行签名算法验证通过,返回应用调用响应结果。
参照图2,本发明的一个实施例还提供了一种基于区块链的物联网签名认证***,包括:
至少一个处理器210。
至少一个存储器220,用于存储至少一个程序。
当至少一个程序被至少一个处理器210执行,使得至少一个处理器210实现如上述实施例描述的基于区块链的物联网签名认证方法。
本发明的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,执行以上实施例描述的步骤。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
Claims (10)
1.一种基于区块链的物联网签名认证方法,其特征在于,包括以下步骤:
获取第一调用认证请求;其中,所述第一调用认证请求包括用户身份标识;
根据所述用户身份标识从区块链查询得到相应的第一加密串,并将所述第一加密串返回应用客户端;
获取第二调用认证请求;其中,所述应用客户端对所述第一加密串进行私钥解密得到解密数据,并发起所述第二调用认证请求,所述第二调用认证请求包括所述解密数据;
当根据所述第二调用认证请求验证所述第一加密串满足预设条件得到认证通过结果,并将所述认证通过结果返回所述应用客户端;其中,所述预设条件包括所述第一加密串与预设加密串匹配,加密串变更标记为未变更标记;
获取接口调用请求;其中,所述应用客户端根据所述认证通过结果发起所述接口调用请求;所述接口调用请求包括所述应用唯一标识、应用接口公匙以及接口调用参数;
当根据所述接口调用请求进行签名算法验证通过,返回应用调用响应结果。
2.根据权利要求1所述的基于区块链的物联网签名认证方法,其特征在于,所述根据所述认证通过结果发起所述接口调用请求,包括:
当接收到所述认证通过结果,通过预设编码算法对所述应用唯一标识、所述应用接口公匙以及所述接口调用参数进行编码,得到编码数据;
根据应用接口私匙通过预设键控哈希算法对所述编码数据进行摘要,得到签名摘要数据;
根据所述签名摘要数据发起所述接口调用请求。
3.根据权利要求2所述的基于区块链的物联网签名认证方法,其特征在于,所述通过预设编码算法对所述应用唯一标识、所述应用接口公匙以及所述接口调用参数进行编码,得到编码数据,包括:
通过utf-8编码算法对所述用户身份、所述应用接口公匙以及所述接口调用参数进行编码,得到所述编码数据。
4.根据权利要求1所述的基于区块链的物联网签名认证方法,其特征在于,所述方法还包括:
获取第一应用创建请求;
根据所述第一应用创建请求生成所述用户身份标识;其中,所述用户身份标识与预设关联数据关联,所述预设关联数据包括用户状态参数和所述加密串变更标记,将所述用户状态参数初始化为有效状态,将所述加密串变更标记初始化为未变更标记;
将所述用户身份标识发送至所述应用客户端;
获取用户公钥数据;其中,所述应用客户端根据所述用户身份标识生成用户公钥数据和用户私钥数据;
根据所述用户公钥数据对所述用户状态参数进行加密,得到所述第一加密串;
将所述第一加密串与所述用户身份标识进行绑定存储至所述区块链中,并将存储结果返回所述应用客户端;其中,所述应用客户端根据所述存储结果发起第二应用创建请求;
获取第二应用创建请求,根据所述第二应用创建请求进行应用创建并生成应用认证参数;其中,所述应用认证参数包括所述应用唯一标识、所述应用接口公匙和应用接口私匙;
将所述应用认证参数下发至所述应用客户端。
5.根据权利要求4所述的基于区块链的物联网签名认证方法,其特征在于,所述方法还包括:
获取用户状态变更请求;其中,所述用户状态变更请求包括所述用户身份标识;
将所述用户身份标识相关联的所述用户状态参数进行变更,得到状态变更数据;
通过所述用户公钥数据对所述状态变更数据进行加密,得到第二加密串;
根据状态变更数据设置所述用户身份标识相关联的所述加密串变更标记;其中,所述加密串变更标记包括已变更标记和所述未变更标记;
将所述用户身份标识和所述第二加密串更新至所述区块链中,并将更新结果返回所述应用客户端。
6.根据权利要求1所述的基于区块链的物联网签名认证方法,其特征在于,在执行所述当根据所述第二调用认证请求验证所述第一加密串满足预设条件得到认证通过结果这一步骤过程中,所述方法还包括:
当根据所述第二调用认证请求验证所述第一加密串与所述预设加密串不匹配,或者所述加密串变更标记为已变更标记,得到认证失败结果。
7.根据权利要求5所述的基于区块链的物联网签名认证方法,其特征在于,所述状态变更数据包括所述有效状态和无效状态;
所述根据状态变更数据设置所述用户身份标识相关联的所述加密串变更标记,包括:
当所述状态变更数据为有效状态,将所述加密串变更标记设置为所述未变更标记;
或者,当所述状态变更数据为无效状态,将所述加密串变更标记设置为已变更标记。
8.一种基于区块链的物联网签名认证***,其特征在于,包括:
第一获取模块,用于获取第一调用认证请求;其中,所述第一调用认证请求包括用户身份标识;
查询模块,用于根据所述用户身份标识从区块链查询得到相应的第一加密串,并将所述第一加密串返回应用客户端;
第二获取模块,用于获取第二调用认证请求;其中,所述应用客户端对所述第一加密串进行私钥解密得到解密数据,并发起所述第二调用认证请求,所述第二调用认证请求包括所述解密数据;
第一验证模块,用于当根据所述第二调用认证请求验证所述第一加密串满足预设条件得到认证通过结果,并将所述认证通过结果返回所述应用客户端;其中,所述预设条件包括所述第一加密串与预设加密串匹配,加密串变更标记为未变更标记;
第三获取模块,用于获取接口调用请求;其中,所述应用客户端根据所述认证通过结果发起所述接口调用请求;所述接口调用请求包括所述应用唯一标识、应用接口公匙以及接口调用参数;
第二验证模块,用于当根据所述接口调用请求进行签名算法验证通过,返回应用调用响应结果。
9.一种基于区块链的物联网签名认证***,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得至少一个所述处理器实现如权利要求1至7任一项所述的基于区块链的物联网签名认证方法。
10.一种计算机存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由所述处理器执行时用于实现如权利要求1至7任一项所述的基于区块链的物联网签名认证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211683049.2A CN116112176A (zh) | 2022-12-27 | 2022-12-27 | 基于区块链的物联网签名认证方法、***及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211683049.2A CN116112176A (zh) | 2022-12-27 | 2022-12-27 | 基于区块链的物联网签名认证方法、***及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116112176A true CN116112176A (zh) | 2023-05-12 |
Family
ID=86253596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211683049.2A Pending CN116112176A (zh) | 2022-12-27 | 2022-12-27 | 基于区块链的物联网签名认证方法、***及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116112176A (zh) |
-
2022
- 2022-12-27 CN CN202211683049.2A patent/CN116112176A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8775794B2 (en) | System and method for end to end encryption | |
US9847880B2 (en) | Techniques for ensuring authentication and integrity of communications | |
US8196186B2 (en) | Security architecture for peer-to-peer storage system | |
US6959394B1 (en) | Splitting knowledge of a password | |
US5418854A (en) | Method and apparatus for protecting the confidentiality of passwords in a distributed data processing system | |
KR101237632B1 (ko) | 토큰과 검증자 사이의 인증을 위한 네크워크 헬퍼 | |
WO2020155779A1 (zh) | 数字签名的认证方法、装置、计算机设备和存储介质 | |
US9491174B2 (en) | System and method for authenticating a user | |
US20080130879A1 (en) | Method and system for a secure PKI (Public Key Infrastructure) key registration process on mobile environment | |
CN107920052B (zh) | 一种加密方法及智能装置 | |
CN107733636B (zh) | 认证方法以及认证*** | |
US9026793B2 (en) | Method for installing rights object for content in memory card | |
CN111884811B (zh) | 一种基于区块链的数据存证方法和数据存证平台 | |
US20190311145A1 (en) | National identification number based authentication and content delivery | |
CN113676332B (zh) | 二维码认证方法、通信设备及存储介质 | |
CN112765626A (zh) | 基于托管密钥授权签名方法、装置、***及存储介质 | |
KR100506528B1 (ko) | 전자 서명을 이용한 모바일 기기 제어 시스템 및 방법 | |
JP2021145205A (ja) | 認証システム | |
RU2698424C1 (ru) | Способ управления авторизацией | |
CN116709325B (zh) | 一种基于高速加密算法的移动设备安全认证方法 | |
CN110287725B (zh) | 一种设备及其权限控制方法、计算机可读存储介质 | |
TW200803392A (en) | Method, device, server arrangement, system and computer program products for securely storing data in a portable device | |
CN114169013B (zh) | 一种用户注册、验证方法和验证*** | |
CN115941328A (zh) | 一种可分享的用户数据的加密处理方法、装置及*** | |
CN116112176A (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 |