CN110311783A - 基于群签名的用户归属验证方法、装置和计算机设备 - Google Patents

基于群签名的用户归属验证方法、装置和计算机设备 Download PDF

Info

Publication number
CN110311783A
CN110311783A CN201910463088.3A CN201910463088A CN110311783A CN 110311783 A CN110311783 A CN 110311783A CN 201910463088 A CN201910463088 A CN 201910463088A CN 110311783 A CN110311783 A CN 110311783A
Authority
CN
China
Prior art keywords
user
group ranking
signature
key
terminal
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
CN201910463088.3A
Other languages
English (en)
Other versions
CN110311783B (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910463088.3A priority Critical patent/CN110311783B/zh
Publication of CN110311783A publication Critical patent/CN110311783A/zh
Application granted granted Critical
Publication of CN110311783B publication Critical patent/CN110311783B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/32Cryptographic 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/32Cryptographic 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/3247Cryptographic 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
    • H04L9/3255Cryptographic 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 using group based signatures, e.g. ring or threshold signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本申请揭示了一种基于群签名的用户归属验证方法、装置、计算机设备和存储介质,所述方法包括:接收用户终端发送的经过第一私钥加密的归属验证申请;利用与所述第一私钥对应的第一公钥解密所述归属验证申请,从而得到所述用户签名与所述用户对应的归属方的终端信息;向归属方的终端发送获取群签名的要求;接收归属方的终端发送的群签名,并利用与所述第二私钥对应的第二公钥解密群签名,获得群签名明文;判断所述群签名明文是否匹配所述用户签名;若所述群签名明文匹配所述用户签名,则判定所述用户归属于所述归属方。从而实现了准确地、自动地进行归属验证。

Description

基于群签名的用户归属验证方法、装置和计算机设备
技术领域
本申请涉及到计算机领域,特别是涉及到一种基于群签名的用户归属验证方法、装置、计算机设备和存储介质。
背景技术
当前社会生产、生活中,在很多情境下需要对归属情况进行验证,例如在办理相关证件、办理贷款等情况时需要对归属情况进行验证,而现有技术对于归属情况的验证繁琐且容易被假的工作证明所欺骗。具体地,现有技术对于工作证明的审核,一般是采用人工核实,全凭审核人员的经验从收到的工作证明文件中去寻找可能的破绽,因此在这种情况下,经验不足的审核人员难以保证审核的准确率,而即使是对于经验丰富的审核人员也花费大量的时间进行判断审核。因此现有技术缺乏准确地、自动地审核工作证明以确定用户归属的方案。
发明内容
本申请的主要目的为提供一种基于群签名的用户归属验证方法、装置、计算机设备和存储介质,旨在准确地、自动地进行归属验证。
为了实现上述发明目的,本申请提出一种基于群签名的用户归属验证方法,应用于归属验证服务器,包括:
接收用户终端发送的经过第一私钥加密的归属验证申请,其中,所述归属验证申请携带有用户签名与所述用户对应的归属方的终端信息,所述归属验证服务器预存有与所述第一私钥对应的第一公钥,所述第一公钥包括第一子密钥和第二子密钥;
根据预先约定的划分方法,将所述归属验证申请划分为第一部分和第二部分,利用所述第一子密钥和第二子密钥分别解密所述第一部分和第二部分,从而获得第一子明文和第二子明文;根据预设的组合方法,将所述第一子明文和第二子明文组合为暂时明文;根据预设的填充算法的逆向算法,将所述暂时明文中的填充数据去除,从而获得解密后的归属验证申请,并从解密后的归属验证申请中提取所述用户签名与所述用户对应的归属方的终端信息;
向所述归属方的终端发送获取群签名的要求,其中所述群签名通过第二私钥加密而成;
接收所述归属方的终端发送的群签名,并利用与所述第二私钥对应的第二公钥解密所述群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器;
判断所述群签名明文是否匹配所述用户签名;
若所述群签名明文匹配所述用户签名,则判定所述用户归属于所述归属方。
进一步地,所述接收用户终端发送的经过第一私钥加密的归属验证申请的步骤之前,包括:
接收用户终端发送的多个文件,其中所述多个文件包括在约定位置中存储所述第一公钥的第一文件;
根据与所述用户终端的预先约定,从所述多个文件中筛选出所述第一文件,并从所述第一文件中的约定位置获得所述第一公钥,其中所述预先约定包括所述第一文件的信息与所述约定位置的信息;
将所述第一公钥分为大小相等的两部分,分别记为第一子密钥和第二子密钥。
进一步地,所述第一文件存在多个,所述根据与所述用户终端的预先约定,从所述多个文件中筛选出所述第一文件,并从所述第一文件中的约定位置获得所述第一公钥的步骤,包括:
根据与所述用户终端的预先约定,从所述多个文件中筛选出文件大小大于预定数量的多个所述第一文件;
分别从多个所述第一文件的约定位置中提取所述第一公钥的不同片段,将所述不同片段组装成完整的所述第一公钥。
进一步地,所述接收用户终端发送的经过第一私钥加密的归属验证申请的步骤之前,包括:
接收用户终端发送的多个文件;
根据预设的文件筛选规则,从所述多个文件中筛选出第二文件;
采用预设的哈希值计算方法,计算所述第二文件的哈希值,并将所述第二文件的哈希值作为第一公钥;
将所述第一公钥分为大小相等的两部分,分别记为第一子密钥和第二子密钥。
进一步地,所述接收用户终端发送的经过第一私钥加密的归属验证申请,其中,所述归属验证申请携带有用户签名与所述用户对应的归属方的终端信息,所述归属验证服务器预存有与所述第一私钥对应的第一公钥的步骤之前,包括:
接收所述归属方的终端发送的群签名生成请求,所述群签名生成请求携带有至少包括所述用户签名的数字文件;
对所述至少包括所述用户签名的数字文件采用预设的第二私钥加密,从而获得所述群签名;
将所述群签名发送给所述归属方的终端。
进一步地,所述归属验证服务器为预设的区块链网络中的区块链节点,所述接收所述归属方的终端发送的群签名,并利用与所述第二私钥对应的第二公钥解密所述群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器的步骤,包括:
接收所述归属方的终端发送的群签名,并在所述区块链网络的公共账本中查询所述群签名,从而获取所述群签名的修改记录;
根据所述群签名的修改记录判断所述归属方的终端发送的群签名是否为最近更新的群签名;
若所述归属方的终端发送的群签名为最近更新的群签名,则利用与所述第二私钥对应的第二公钥解密所述归属方的终端发送的群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器。
进一步地,所述判断所述群签名明文是否匹配所述用户签名的步骤,包括:
将所述群签名明文与所述用户签名组合为文字文本,采用预设的MD5消息摘要算法计算所述文字文本的散列值;
判断所述散列值是否与预设的验证散列值相同;
若所述散列值与预设的验证散列值相同,则判定所述群签名明文匹配所述用户签名。
本申请提供一种基于群签名的用户归属验证装置,应用于归属验证服务器,包括:
归属验证申请接收单元,用于接收用户终端发送的经过第一私钥加密的归属验证申请,其中,所述归属验证申请携带有用户签名与所述用户对应的归属方的终端信息,所述归属验证服务器预存有与所述第一私钥对应的第一公钥,所述第一公钥包括第一子密钥和第二子密钥;
归属验证申请解密单元,用于根据预先约定的划分方法,将所述归属验证申请划分为第一部分和第二部分,利用所述第一子密钥和第二子密钥分别解密所述第一部分和第二部分,从而获得第一子明文和第二子明文;根据预设的组合方法,将所述第一子明文和第二子明文组合为暂时明文;根据预设的填充算法的逆向算法,将所述暂时明文中的填充数据去除,从而获得解密后的归属验证申请,并从解密后的归属验证申请中提取所述用户签名与所述用户对应的归属方的终端信息;
获取群签名的要求发送单元,用于向所述归属方的终端发送获取群签名的要求,其中所述群签名通过第二私钥加密而成;
群签名解密单元,用于接收所述归属方的终端发送的群签名,并利用与所述第二私钥对应的第二公钥解密所述群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器;
群签名判断单元,用于判断所述群签名明文是否匹配所述用户签名;
归属判定单元,用于若所述群签名明文匹配所述用户签名,则判定所述用户归属于所述归属方。
本申请提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的基于群签名的用户归属验证方法、装置、计算机设备和存储介质,接收用户终端发送的经过第一私钥加密的归属验证申请;利用第一公钥解密所述归属验证申请,从而得到所述用户签名与所述用户对应的归属方的终端信息;向所述归属方的终端发送获取群签名的要求;接收所述归属方的终端发送的群签名,并利用第二公钥解密所述群签名,从而获得群签名明文;判断所述群签名明文是否包括所述用户签名;若所述群签名明文包括所述用户签名,则判定所述用户归属于所述归属方。从而实现了准确地、自动地进行归属验证。
附图说明
图1为本申请一实施例的基于群签名的用户归属验证方法的流程示意图;
图2为本申请一实施例的基于群签名的用户归属验证装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例提供一种基于群签名的用户归属验证方法,应用于归属验证服务器,包括:
S1、接收用户终端发送的经过第一私钥加密的归属验证申请,其中,所述归属验证申请携带有用户签名与所述用户对应的归属方的终端信息,所述归属验证服务器预存有与所述第一私钥对应的第一公钥,所述第一公钥包括第一子密钥和第二子密钥;
S2、根据预先约定的划分方法,将所述归属验证申请划分为第一部分和第二部分,利用所述第一子密钥和第二子密钥分别解密所述第一部分和第二部分,从而获得第一子明文和第二子明文;根据预设的组合方法,将所述第一子明文和第二子明文组合为暂时明文;根据预设的填充算法的逆向算法,将所述暂时明文中的填充数据去除,从而获得解密后的归属验证申请,并从解密后的归属验证申请中提取所述用户签名与所述用户对应的归属方的终端信息;
S3、向所述归属方的终端发送获取群签名的要求,其中所述群签名通过第二私钥加密而成;
S4、接收所述归属方的终端发送的群签名,并利用与所述第二私钥对应的第二公钥解密所述群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器;
S5、判断所述群签名明文是否匹配所述用户签名;
S6、若所述群签名明文匹配所述用户签名,则判定所述用户归属于所述归属方。
如上述步骤S1所述,接收用户终端发送的经过第一私钥加密的归属验证申请,其中,所述归属验证申请携带有用户签名与所述用户对应的归属方的终端信息,所述归属验证服务器预存有与所述第一私钥对应的第一公钥,所述第一公钥包括第一子密钥和第二子密钥。当前社会生产、生活中,在很多情境下需要对在职情况进行验证,例如在办理相关证件、办理贷款等情况时需要对在职情况进行验证,而现有技术对于在职情况的验证繁琐且容易被假的工作证明所欺骗。对此,本申请采用群签名以同时实现保证归属验证准确性与提高归属验证的效率。其中,群签名是指员工所在公司等机构的签名,通过对至少包括所述用户签名的数字文件采用第二私钥加密而成,可用于判断员工是否在职。所述第一私钥用于对归属验证申请,以保护信息安全,由用户终端所保存;另外,与所述第一私钥对应的第一公钥保存于归属验证服务器。所述用户签名指代表员工身份的数字签名,可由用户终端生成、也可由归属方的终端生成、还可由归属验证服务器生成,优先由归属验证服务器预先生成并发送给所述用户终端。所述归属方的终端指员工归属的机构的终端,所述机构包括公司、企事业单位、政府部门等法律允许的可供员工就职的单位。其中,所述用户签名可以是明文,也可以是密文;当所述用户签名为密文时,可增加归属验证申请验证的可信度,例如所述用户签名被第三私钥加密为用户签名密文,从而所述归属验证申请中携带的用户签名以用户签名密文的形式存在,以避免被他人窃取替换。其中,所述第一公钥包括第一子密钥和第二子密钥,用以提高信息安全性。其中所述归属表示从属关系,例如公司员工归属于公司,即公司员工在职。
如上述步骤S2所述,根据预先约定的划分方法,将所述归属验证申请划分为第一部分和第二部分,利用所述第一子密钥和第二子密钥分别解密所述第一部分和第二部分,从而获得第一子明文和第二子明文;根据预设的组合方法,将所述第一子明文和第二子明文组合为暂时明文;根据预设的填充算法的逆向算法,将所述暂时明文中的填充数据去除,从而获得解密后的归属验证申请,并从解密后的归属验证申请中提取所述用户签名与所述用户对应的归属方的终端信息。因此归属验证服务器能够通过第一公钥解密所述归属验证申请,从而得到所述用户签名与所述用户对应的归属方的终端信息。本申请采用第一子密钥和第二子密钥的方式,对第一密文进行分部加密或者解密,增加了信息安全性;并且利用预设的填充算法,在第一明文中填充数据以得到暂时明文,从而适应于特定加解密算法,并且还提高了安全性。其中所述特定加解密算法例如为TEA算法,所述TEA算法是一种分组密码算法,其明文密文块为64比特,密钥长度为128比特,TEA算法利用不断增加的Delta(黄金分割率)值作为变化,使得每轮的加密是不同,并且TEA算法的明文必须是8的字节倍数,因此当第一明文不为8的字节倍数时,将第一明文采用预设的填充算法以适应用TEA算法进行加密为暂时明文,也因此,根据预设的填充算法的逆向算法,能够将所述暂时明文中的填充数据去除,从而获得所述第一明文。其中划分方法例如以文件大小进行划分,将第一部分与第二部分划分为相同大小或者按预定比例的大小;或者从所述第一密文中获取指定位置,将所述指定位置作为划分点,从而划分为第一部分与第二部分。所述预设的组合方法可以为任意方式,例如将第一子明文的末尾接续上第二子明文的开头。预设的填充算法例如为在第一时文的特定位置填充字符,其中所述特定位置可以为一个也可以为多个。
如上述步骤S3所述,向所述归属方的终端发送获取群签名的要求,其中所述群签名通过第二私钥加密而成。其中群签名可由所述归属方的终端预先生成,也可由所述归属验证服务器预先生成并发送给所述归属方的终端,用于在需要用户归属验证时发送给所述归属验证服务器,以判断员工是否在职。其中所述群签名通过对至少包括所述用户签名的数字文件采用第二私钥加密而成,因此通过对比群签名与所述用户签名,若群签名与所述用户签名为包含关系,即可表明所述用户归属于所述归属方。其中所述群签名通过对包括所有用户签名的数字文件采用第二私钥加密而成(具有单个群签名文件即可覆盖所有员工的技术效果);或者所述群签名通过对仅包括单个用户签名的数字文件采用第二私钥加密而成(具有针对性提供群签名,减少群签名修改的技术效果,例如在需要A员工进行归属验证时,仅提供A员工对应的群签名即可,而不会影响其他群签名,并且当A员工离职后,直接删除A员工对应的群签名即可,而不会影响其他群签名)。
如上述步骤S4所述,接收所述归属方的终端发送的群签名,并利用与所述第二私钥对应的第二公钥解密所述群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器。为了增加信息的保密性,本申请采用了多重加密的手段,因此在判断所述群签名与所述用户签名的关系之前,需要利用与所述第二私钥对应的第二公钥解密所述群签名,从而获得群签名明文。
如上述步骤S5所述,判断所述群签名明文是否匹配所述用户签名。具体判断所述群签名明文是否匹配所述用户签名的方式例如为:从所述群签名明文的预先约定位置中提取出记载的指定数据;判断所述指定数据是否与所述用户签名相同;若所述指定数据与所述用户签名相同,则判定所述群签名明文包括所述用户签名。进一步地,还可以采用相似度算法计算所述群签名明文与所述用户签名的相似程度,若所述相似程度大于等于预设的相似度阈值(优选100%),则判定所述群签名明文包括所述用户签名。其中相似度算法为已成熟技术,例如采用WMD算法(word mover’s distance)、simhash算法、基于余弦相似度的算法,在此不再赘述。
如上述步骤S6所述,若所述群签名明文匹配所述用户签名,则判定所述用户归属于所述归属方。若所述群签名明文匹配所述用户签名,即所述群签名明文与所述用户签名具有特定关系,而群签名明文代表了所述公司的在职员工情况,所述用户签名代表了所述员工的身份,因此可以确定所述员工为所述公司的在职员工,据此判定所述用户归属于所述归属方。
在一个实施方式中,所述接收用户终端发送的经过第一私钥加密的归属验证申请的步骤S1之前,包括:
S011、接收用户终端发送的多个文件,其中所述多个文件包括在约定位置中存储所述第一公钥的第一文件;
S012、根据与所述用户终端的预先约定,从所述多个文件中筛选出所述第一文件,并从所述第一文件中的约定位置获得所述第一公钥,其中所述预先约定包括所述第一文件的信息与所述约定位置的信息;
S013、将所述第一公钥分为完全相等的两部分,分别记为第一子密钥和第二子密钥。
如上所述,实现了获取第一子密钥和第二子密钥。其中所述多个文件中存在附有所述密钥的第一文件,所述密钥存储于第一文件中的指定位置。现有技术中一般将密钥写入SO库中或者硬编码在代码中,相对而言,这些存储密钥的方式更为明显,容易被截取,存在安全隐患。本申请将密钥存储于第一文件中的指定位置,从而达到密钥隐写的目的。其中,第一文件包括:音频文件、图片文件或者视频文件等。当第一文件为音频文件时,若音频文件以sample为单元采集,则密钥同样以多个sample的形式进行存储。通过预先约定,能够获知具有密钥的第一文件信息,从而从所述多个文件中确定所述第一文件。其中,所述预先约定可以是在发送密钥之前的预先约定,包括如何确定第一文件及如何确定密钥在第一文件中的位置。再将将所述第一公钥分为完全相等的两部分,分别记为第一子密钥和第二子密钥。从而提高了信息安全性。
在一个实施方式中,所述第一文件存在多个,所述根据与所述用户终端的预先约定,从所述多个文件中筛选出所述第一文件,并从所述第一文件中的约定位置获得所述第一公钥S012的步骤,包括:
S0121、根据与所述用户终端的预先约定,从所述多个文件中筛选出文件大小大于预定数量的多个所述第一文件;
S0122、分别从多个所述第一文件的约定位置中提取所述第一公钥的不同片段,将所述不同片段组装成完整的所述第一公钥。
如上所述,实现了将组装成完整的密钥,提高密钥的安全性。其中,多个第一文件,将所述密钥分为多个部分,分别存储于多个第一文件中的约定位置中。据此,若要获得完整的密钥,则需要确定所有第一文件,并确定所有第一文件中的指定位置。据此,进一步提高密钥的安全性。其中,若存在信息盗窃方,由于其不能获知第一文件的数量,不能获知公钥片段的数量,因此纵使多个文件被盗,也不会导致密钥被窃取,从而保证了信息安全。其中将所述不同片段组装成完整的所述第一公钥的方式可为任意方式,例如依次将多个片段的首尾相连。
在一个实施方式中,所述接收用户终端发送的经过第一私钥加密的归属验证申请的步骤S1之前,包括:
S021、接收用户终端发送的多个文件;
S022、根据预设的文件筛选规则,从所述多个文件中筛选出第二文件;
S023、采用预设的哈希值计算方法,计算所述第二文件的哈希值,并将所述第二文件的哈希值作为第一公钥;
S024、将所述第一公钥分为完全相等的两部分,分别记为第一子密钥和第二子密钥。
如上所述,实现了获取第一子密钥和第二子密钥。为了提高密钥的安全性与密钥的简易获得,本申请通过接收用户终端发送的多个文件;根据预设的文件筛选规则,从所述多个文件中筛选出第二文件;采用预设的哈希值计算方法,计算所述第二文件的哈希值,并将所述第二文件的哈希值作为第一公钥;将所述第一公钥分为完全相等的两部分,分别记为第一子密钥和第二子密钥的方式,通过密钥隐写、利用哈希值获取公钥、公钥拆分的方式,保证了信息安全性。其中由于不同文件的哈希值必然不同,因此将第二文件的哈希值作为第一公钥能够保证公钥的独一无二特性。
在一个实施方式中,所述接收用户终端发送的经过第一私钥加密的归属验证申请,其中,所述归属验证申请携带有用户签名与所述用户对应的归属方的终端信息,所述归属验证服务器预存有与所述第一私钥对应的第一公钥的步骤S1之前,包括:
S01、接收所述归属方的终端发送的群签名生成请求,所述群签名生成请求携带有至少包括所述用户签名的数字文件;
S02、对所述至少包括所述用户签名的数字文件采用预设的第二私钥加密,从而获得所述群签名;
S03、将所述群签名发送给所述归属方的终端。
如上所述,实现了预先生成群签名。本申请中的群签名优选由所述归属验证服务器生成并发送给所述归属方的终端。具体地,需要所述归属方的终端发送的群签名生成请求,所述群签名生成请求携带有至少包括所述用户签名的数字文件。其中所述至少包括所述用户签名的数字文件即为所述群签名的生成基础。对所述至少包括所述用户签名的数字文件采用预设的第二私钥加密,从而获得所述群签名。再将所述群签名发送给所述归属方的终端,即可在需要验证所述员工的在职情况时,所述归属方的终端能够提供相应的群签名。
在一个实施方式中,所述归属验证服务器为预设的区块链网络中的区块链节点,所述接收所述归属方的终端发送的群签名,并利用与所述第二私钥对应的第二公钥解密所述群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器的步骤S4,包括:
S401、接收所述归属方的终端发送的群签名,并在所述区块链网络的公共账本中查询所述群签名,从而获取所述群签名的修改记录;
S402、根据所述群签名的修改记录判断所述归属方的终端发送的群签名是否为最近更新的群签名;
S403、若所述归属方的终端发送的群签名为最近更新的群签名,则利用与所述第二私钥对应的第二公钥解密所述归属方的终端发送的群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器。
如上所述,实现了利用区块链网络的特生,提高获得的群签名明文的正确性。其中区块链网络可以为任意区块链,例如为公有链、联盟链或者私有链,采用的共识机制例如工作量证明机制、权益证明机制、股份授权证明机制等。本实施方式利用区块链中的公共账本难以篡改的特性,以保证所述群签名为正确的群签名,防止他人采用错误的群签名进行替换,造成归属验证判断错误。其中所述区块链网络的公共账本中预先存储有所述群签名与所述群签名的修改记录。虽然接收所述归属方的终端发送的群签名,但是归属方的终端发送的群签名有可能在被替换(例如在发送过程中被他人窃取并替换),因此还通过在所述区块链网络的公共账本中查询所述群签名,从而获取所述群签名的修改记录;根据所述群签名的修改记录判断所述归属方的终端发送的群签名是否为最近更新的群签名。从而确定所述群签名是否为公共账本中记录的最近的群签名。若所述归属方的终端发送的群签名为最近更新的群签名,表明所述群签名正确,据此利用与所述第二私钥对应的第二公钥解密所述归属方的终端发送的群签名,从而获得群签名明文。
在一个实施方式中,所述判断所述群签名明文是否匹配所述用户签名的步骤S5,包括:
S501、将所述群签名明文与所述用户签名组合为文字文本,采用预设的MD5消息摘要算法计算所述文字文本的散列值;
S502、判断所述散列值是否与预设的验证散列值相同;
S503、若所述散列值与预设的验证散列值相同,则判定所述群签名明文匹配所述用户签名。
如上所述,实现了判断所述群签名明文是否匹配所述用户签名。本申请采用将所述群签名明文与所述用户签名组合为文字文本,采用预设的MD5消息摘要算法计算所述文字文本的散列值;若所述散列值与预设的验证散列值相同的方式,确定所述群签名明文是否匹配所述用户签名。其中,由于将所述群签名明文与所述用户签名组合为文字文本为独一无二的文字文本,因此MD5消息摘要算法计算所述文字文本的散列值也是独一无二的,据此可将获得的散列值作为所述群签名明文是否匹配所述用户签名的判断依据。其中MD5消息摘要算法是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。利用MD5消息摘要算法计算的散列值以判断所述群签名明文是否匹配所述用户签名,从而利用MD5消息摘要算法的压缩性、容易计算、抗修改性、强抗碰撞的特性,使得判断匹配的过程更加快捷、更加安全。其中,MD5消息摘要算法计算时,可以采用填充算法使数据填充为预定长度。
本申请的基于群签名的用户归属验证方法,接收用户终端发送的经过第一私钥加密的归属验证申请;利用第一公钥解密所述归属验证申请,从而得到所述用户签名与所述用户对应的归属方的终端信息;向所述归属方的终端发送获取群签名的要求;接收所述归属方的终端发送的群签名,并利用第二公钥解密所述群签名,从而获得群签名明文;判断所述群签名明文是否包括所述用户签名;若所述群签名明文包括所述用户签名,则判定所述用户归属于所述归属方。从而实现了准确地、自动地进行归属验证。
参照图2,本申请实施例提供一种基于群签名的用户归属验证装置,应用于归属验证服务器,包括:
归属验证申请接收单元10,用于接收用户终端发送的经过第一私钥加密的归属验证申请,其中,所述归属验证申请携带有用户签名与所述用户对应的归属方的终端信息,所述归属验证服务器预存有与所述第一私钥对应的第一公钥;
归属验证申请解密单元20,用于利用与所述第一私钥对应的第一公钥解密所述归属验证申请,从而得到所述用户签名与所述用户对应的归属方的终端信息;
获取群签名的要求发送单元30,用于向所述归属方的终端发送获取群签名的要求,其中所述群签名通过对至少包括所述用户签名的数字文件采用第二私钥加密而成;
群签名解密单元40,用于接收所述归属方的终端发送的群签名,并利用与所述第二私钥对应的第二公钥解密所述群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器;
群签名判断单元50,用于判断所述群签名明文是否包括所述用户签名;
在职判定单元60,用于若所述群签名明文包括所述用户签名,则判定所述用户归属于所述归属方。
如上述单元10所述,接收用户终端发送的经过第一私钥加密的归属验证申请,其中,所述归属验证申请携带有用户签名与所述用户对应的归属方的终端信息,所述归属验证服务器预存有与所述第一私钥对应的第一公钥,所述第一公钥包括第一子密钥和第二子密钥。当前社会生产、生活中,在很多情境下需要对在职情况进行验证,例如在办理相关证件、办理贷款等情况时需要对在职情况进行验证,而现有技术对于在职情况的验证繁琐且容易被假的工作证明所欺骗。对此,本申请采用群签名以同时实现保证归属验证准确性与提高归属验证的效率。其中,群签名是指员工所在公司等机构的签名,通过对至少包括所述用户签名的数字文件采用第二私钥加密而成,可用于判断员工是否在职。所述第一私钥用于对归属验证申请,以保护信息安全,由用户终端所保存;另外,与所述第一私钥对应的第一公钥保存于归属验证服务器。所述用户签名指代表员工身份的数字签名,可由用户终端生成、也可由归属方的终端生成、还可由归属验证服务器生成,优先由归属验证服务器预先生成并发送给所述用户终端。所述归属方的终端指员工归属的机构的终端,所述机构包括公司、企事业单位、政府部门等法律允许的可供员工就职的单位。其中,所述用户签名可以是明文,也可以是密文;当所述用户签名为密文时,可增加归属验证申请验证的可信度,例如所述用户签名被第三私钥加密为用户签名密文,从而所述归属验证申请中携带的用户签名以用户签名密文的形式存在,以避免被他人窃取替换。其中,所述第一公钥包括第一子密钥和第二子密钥,用以提高信息安全性。其中所述归属表示从属关系,例如公司员工归属于公司,即公司员工在职。
如上述单元20所述,根据预先约定的划分方法,将所述归属验证申请划分为第一部分和第二部分,利用所述第一子密钥和第二子密钥分别解密所述第一部分和第二部分,从而获得第一子明文和第二子明文;根据预设的组合方法,将所述第一子明文和第二子明文组合为暂时明文;根据预设的填充算法的逆向算法,将所述暂时明文中的填充数据去除,从而获得解密后的归属验证申请,并从解密后的归属验证申请中提取所述用户签名与所述用户对应的归属方的终端信息。因此归属验证服务器能够通过第一公钥解密所述归属验证申请,从而得到所述用户签名与所述用户对应的归属方的终端信息。本申请采用第一子密钥和第二子密钥的方式,对第一密文进行分部加密或者解密,增加了信息安全性;并且利用预设的填充算法,在第一明文中填充数据以得到暂时明文,从而适应于特定加解密算法,并且还提高了安全性。其中所述特定加解密算法例如为TEA算法,所述TEA算法是一种分组密码算法,其明文密文块为64比特,密钥长度为128比特,TEA算法利用不断增加的Delta(黄金分割率)值作为变化,使得每轮的加密是不同,并且TEA算法的明文必须是8的字节倍数,因此当第一明文不为8的字节倍数时,将第一明文采用预设的填充算法以适应用TEA算法进行加密为暂时明文,也因此,根据预设的填充算法的逆向算法,能够将所述暂时明文中的填充数据去除,从而获得所述第一明文。其中划分方法例如以文件大小进行划分,将第一部分与第二部分划分为相同大小或者按预定比例的大小;或者从所述第一密文中获取指定位置,将所述指定位置作为划分点,从而划分为第一部分与第二部分。所述预设的组合方法可以为任意方式,例如将第一子明文的末尾接续上第二子明文的开头。预设的填充算法例如为在第一时文的特定位置填充字符,其中所述特定位置可以为一个也可以为多个。
如上述单元30所述,向所述归属方的终端发送获取群签名的要求,其中所述群签名通过第二私钥加密而成。其中群签名可由所述归属方的终端预先生成,也可由所述归属验证服务器预先生成并发送给所述归属方的终端,用于在需要用户归属验证时发送给所述归属验证服务器,以判断员工是否在职。其中所述群签名通过对至少包括所述用户签名的数字文件采用第二私钥加密而成,因此通过对比群签名与所述用户签名,若群签名与所述用户签名为包含关系,即可表明所述用户归属于所述归属方。其中所述群签名通过对包括所有用户签名的数字文件采用第二私钥加密而成(具有单个群签名文件即可覆盖所有员工的技术效果);或者所述群签名通过对仅包括单个用户签名的数字文件采用第二私钥加密而成(具有针对性提供群签名,减少群签名修改的技术效果,例如在需要A员工进行归属验证时,仅提供A员工对应的群签名即可,而不会影响其他群签名,并且当A员工离职后,直接删除A员工对应的群签名即可,而不会影响其他群签名)。
如上述单元40所述,接收所述归属方的终端发送的群签名,并利用与所述第二私钥对应的第二公钥解密所述群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器。为了增加信息的保密性,本申请采用了多重加密的手段,因此在判断所述群签名与所述用户签名的关系之前,需要利用与所述第二私钥对应的第二公钥解密所述群签名,从而获得群签名明文。
如上述单元50所述,判断所述群签名明文是否匹配所述用户签名。具体判断所述群签名明文是否匹配所述用户签名的方式例如为:从所述群签名明文的预先约定位置中提取出记载的指定数据;判断所述指定数据是否与所述用户签名相同;若所述指定数据与所述用户签名相同,则判定所述群签名明文包括所述用户签名。进一步地,还可以采用相似度算法计算所述群签名明文与所述用户签名的相似程度,若所述相似程度大于等于预设的相似度阈值(优选100%),则判定所述群签名明文包括所述用户签名。其中相似度算法为已成熟技术,例如采用WMD算法(word mover’s distance)、simhash算法、基于余弦相似度的算法,在此不再赘述。
如上述单元60所述,若所述群签名明文匹配所述用户签名,则判定所述用户归属于所述归属方。若所述群签名明文匹配所述用户签名,即所述群签名明文与所述用户签名具有特定关系,而群签名明文代表了所述公司的在职员工情况,所述用户签名代表了所述员工的身份,因此可以确定所述员工为所述公司的在职员工,据此判定所述用户归属于所述归属方。
在一个实施方式中,所述装置,包括:
文件接收单元,用于接收用户终端发送的多个文件,其中所述多个文件包括在约定位置中存储所述第一公钥的第一文件;
文件筛选单元,用于根据与所述用户终端的预先约定,从所述多个文件中筛选出所述第一文件,并从所述第一文件中的约定位置获得所述第一公钥,其中所述预先约定包括所述第一文件的信息与所述约定位置的信息;
密钥标记单元,用于将所述第一公钥分为完全相等的两部分,分别记为第一子密钥和第二子密钥。
如上所述,实现了获取第一子密钥和第二子密钥。其中所述多个文件中存在附有所述密钥的第一文件,所述密钥存储于第一文件中的指定位置。现有技术中一般将密钥写入SO库中或者硬编码在代码中,相对而言,这些存储密钥的方式更为明显,容易被截取,存在安全隐患。本申请将密钥存储于第一文件中的指定位置,从而达到密钥隐写的目的。其中,第一文件包括:音频文件、图片文件或者视频文件等。当第一文件为音频文件时,若音频文件以sample为单元采集,则密钥同样以多个sample的形式进行存储。通过预先约定,能够获知具有密钥的第一文件信息,从而从所述多个文件中确定所述第一文件。其中,所述预先约定可以是在发送密钥之前的预先约定,包括如何确定第一文件及如何确定密钥在第一文件中的位置。再将将所述第一公钥分为完全相等的两部分,分别记为第一子密钥和第二子密钥。从而提高了信息安全性。
在一个实施方式中,所述第一文件存在多个,所述文件筛选单元,包括:
第一文件筛选子单元,用于根据与所述用户终端的预先约定,从所述多个文件中筛选出文件大小大于预定数量的多个所述第一文件;
公钥组装子单元,用于分别从多个所述第一文件的约定位置中提取所述第一公钥的不同片段,将所述不同片段组装成完整的所述第一公钥。
如上所述,实现了将组装成完整的密钥,提高密钥的安全性。其中,多个第一文件,将所述密钥分为多个部分,分别存储于多个第一文件中的约定位置中。据此,若要获得完整的密钥,则需要确定所有第一文件,并确定所有第一文件中的指定位置。据此,进一步提高密钥的安全性。其中,若存在信息盗窃方,由于其不能获知第一文件的数量,不能获知公钥片段的数量,因此纵使多个文件被盗,也不会导致密钥被窃取,从而保证了信息安全。其中将所述不同片段组装成完整的所述第一公钥的方式可为任意方式,例如依次将多个片段的首尾相连。
在一个实施方式中,所述装置,包括:
多个文件接收单元,用于接收用户终端发送的多个文件;
第二文件筛选单元,用于根据预设的文件筛选规则,从所述多个文件中筛选出第二文件;
哈希值计算单元,用于采用预设的哈希值计算方法,计算所述第二文件的哈希值,并将所述第二文件的哈希值作为第一公钥;
第一公钥划分单元,用于将所述第一公钥分为完全相等的两部分,分别记为第一子密钥和第二子密钥。
如上所述,实现了获取第一子密钥和第二子密钥。为了提高密钥的安全性与密钥的简易获得,本申请通过接收用户终端发送的多个文件;根据预设的文件筛选规则,从所述多个文件中筛选出第二文件;采用预设的哈希值计算方法,计算所述第二文件的哈希值,并将所述第二文件的哈希值作为第一公钥;将所述第一公钥分为完全相等的两部分,分别记为第一子密钥和第二子密钥的方式,通过密钥隐写、利用哈希值获取公钥、公钥拆分的方式,保证了信息安全性。其中由于不同文件的哈希值必然不同,因此将第二文件的哈希值作为第一公钥能够保证公钥的独一无二特性。
在一个实施方式中,所述装置,包括:
群签名生成请求接收单元,用于接收所述归属方的终端发送的群签名生成请求,所述群签名生成请求携带有至少包括所述用户签名的数字文件;
群签名获取单元,用于对所述至少包括所述用户签名的数字文件采用预设的第二私钥加密,从而获得所述群签名;
群签名发送单元,用于将所述群签名发送给所述归属方的终端。
如上所述,实现了预先生成群签名。本申请中的群签名优选由所述归属验证服务器生成并发送给所述归属方的终端。具体地,需要所述归属方的终端发送的群签名生成请求,所述群签名生成请求携带有至少包括所述用户签名的数字文件。其中所述至少包括所述用户签名的数字文件即为所述群签名的生成基础。对所述至少包括所述用户签名的数字文件采用预设的第二私钥加密,从而获得所述群签名。再将所述群签名发送给所述归属方的终端,即可在需要验证所述员工的在职情况时,所述归属方的终端能够提供相应的群签名。
在一个实施方式中,所述归属验证服务器为预设的区块链网络中的区块链节点,所述群签名解密单元40,包括:
群签名接收子单元,用于接收所述归属方的终端发送的群签名,并在所述区块链网络的公共账本中查询所述群签名,从而获取所述群签名的修改记录;
群签名判断子单元,用于根据所述群签名的修改记录判断所述归属方的终端发送的群签名是否为最近更新的群签名;
群签名明文获取子单元,用于若所述归属方的终端发送的群签名为最近更新的群签名,则利用与所述第二私钥对应的第二公钥解密所述归属方的终端发送的群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器。
如上所述,实现了利用区块链网络的特生,提高获得的群签名明文的正确性。其中区块链网络可以为任意区块链,例如为公有链、联盟链或者私有链,采用的共识机制例如工作量证明机制、权益证明机制、股份授权证明机制等。本实施方式利用区块链中的公共账本难以篡改的特性,以保证所述群签名为正确的群签名,防止他人采用错误的群签名进行替换,造成归属验证判断错误。其中所述区块链网络的公共账本中预先存储有所述群签名与所述群签名的修改记录。虽然接收所述归属方的终端发送的群签名,但是归属方的终端发送的群签名有可能在被替换(例如在发送过程中被他人窃取并替换),因此还通过在所述区块链网络的公共账本中查询所述群签名,从而获取所述群签名的修改记录;根据所述群签名的修改记录判断所述归属方的终端发送的群签名是否为最近更新的群签名。从而确定所述群签名是否为公共账本中记录的最近的群签名。若所述归属方的终端发送的群签名为最近更新的群签名,表明所述群签名正确,据此利用与所述第二私钥对应的第二公钥解密所述归属方的终端发送的群签名,从而获得群签名明文。
在一个实施方式中,所述群签名判断单元50,包括:
散列值计算子单元,用于将所述群签名明文与所述用户签名组合为文字文本,采用预设的MD5消息摘要算法计算所述文字文本的散列值;
散列值判断子单元,用于判断所述散列值是否与预设的验证散列值相同;
匹配判定子单元,用于若所述散列值与预设的验证散列值相同,则判定所述群签名明文匹配所述用户签名。
如上所述,实现了判断所述群签名明文是否匹配所述用户签名。本申请采用将所述群签名明文与所述用户签名组合为文字文本,采用预设的MD5消息摘要算法计算所述文字文本的散列值;若所述散列值与预设的验证散列值相同的方式,确定所述群签名明文是否匹配所述用户签名。其中,由于将所述群签名明文与所述用户签名组合为文字文本为独一无二的文字文本,因此MD5消息摘要算法计算所述文字文本的散列值也是独一无二的,据此可将获得的散列值作为所述群签名明文是否匹配所述用户签名的判断依据。其中MD5消息摘要算法是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。利用MD5消息摘要算法计算的散列值以判断所述群签名明文是否匹配所述用户签名,从而利用MD5消息摘要算法的压缩性、容易计算、抗修改性、强抗碰撞的特性,使得判断匹配的过程更加快捷、更加安全。其中,MD5消息摘要算法计算时,可以采用填充算法使数据填充为预定长度。
本申请的基于群签名的用户归属验证装置,接收用户终端发送的经过第一私钥加密的归属验证申请;利用第一公钥解密所述归属验证申请,从而得到所述用户签名与所述用户对应的归属方的终端信息;向所述归属方的终端发送获取群签名的要求;接收所述归属方的终端发送的群签名,并利用第二公钥解密所述群签名,从而获得群签名明文;判断所述群签名明文是否包括所述用户签名;若所述群签名明文包括所述用户签名,则判定所述用户归属于所述归属方。从而实现了准确地、自动地进行归属验证。
参照图3,本发明实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于群签名的用户归属验证方法所用数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于群签名的用户归属验证方法。
上述处理器执行上述基于群签名的用户归属验证方法,应用于归属验证服务器,包括以下步骤:接收用户终端发送的经过第一私钥加密的归属验证申请,其中,所述归属验证申请携带有用户签名与所述用户对应的归属方的终端信息,所述归属验证服务器预存有与所述第一私钥对应的第一公钥,所述第一公钥包括第一子密钥和第二子密钥;根据预先约定的划分方法,将所述归属验证申请划分为第一部分和第二部分,利用所述第一子密钥和第二子密钥分别解密所述第一部分和第二部分,从而获得第一子明文和第二子明文;根据预设的组合方法,将所述第一子明文和第二子明文组合为暂时明文;根据预设的填充算法的逆向算法,将所述暂时明文中的填充数据去除,从而获得解密后的归属验证申请,并从解密后的归属验证申请中提取所述用户签名与所述用户对应的归属方的终端信息;向所述归属方的终端发送获取群签名的要求,其中所述群签名通过第二私钥加密而成;接收所述归属方的终端发送的群签名,并利用与所述第二私钥对应的第二公钥解密所述群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器;判断所述群签名明文是否匹配所述用户签名;若所述群签名明文匹配所述用户签名,则判定所述用户归属于所述归属方。
在一个实施方式中,所述接收用户终端发送的经过第一私钥加密的归属验证申请的步骤之前,包括:接收用户终端发送的多个文件,其中所述多个文件包括在约定位置中存储所述第一公钥的第一文件;根据与所述用户终端的预先约定,从所述多个文件中筛选出所述第一文件,并从所述第一文件中的约定位置获得所述第一公钥,其中所述预先约定包括所述第一文件的信息与所述约定位置的信息;将所述第一公钥分为大小相等的两部分,分别记为第一子密钥和第二子密钥。
在一个实施方式中,所述第一文件存在多个,所述根据与所述用户终端的预先约定,从所述多个文件中筛选出所述第一文件,并从所述第一文件中的约定位置获得所述第一公钥的步骤,包括:根据与所述用户终端的预先约定,从所述多个文件中筛选出文件大小大于预定数量的多个所述第一文件;分别从多个所述第一文件的约定位置中提取所述第一公钥的不同片段,将所述不同片段组装成完整的所述第一公钥。
在一个实施方式中,所述接收用户终端发送的经过第一私钥加密的归属验证申请的步骤之前,包括:接收用户终端发送的多个文件;根据预设的文件筛选规则,从所述多个文件中筛选出第二文件;采用预设的哈希值计算方法,计算所述第二文件的哈希值,并将所述第二文件的哈希值作为第一公钥;将所述第一公钥分为大小相等的两部分,分别记为第一子密钥和第二子密钥。
在一个实施方式中,所述接收用户终端发送的经过第一私钥加密的归属验证申请,其中,所述归属验证申请携带有用户签名与所述用户对应的归属方的终端信息,所述归属验证服务器预存有与所述第一私钥对应的第一公钥的步骤之前,包括:接收所述归属方的终端发送的群签名生成请求,所述群签名生成请求携带有至少包括所述用户签名的数字文件;对所述至少包括所述用户签名的数字文件采用预设的第二私钥加密,从而获得所述群签名;将所述群签名发送给所述归属方的终端。
在一个实施方式中,所述归属验证服务器为预设的区块链网络中的区块链节点,所述接收所述归属方的终端发送的群签名,并利用与所述第二私钥对应的第二公钥解密所述群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器的步骤,包括:接收所述归属方的终端发送的群签名,并在所述区块链网络的公共账本中查询所述群签名,从而获取所述群签名的修改记录;根据所述群签名的修改记录判断所述归属方的终端发送的群签名是否为最近更新的群签名;若所述归属方的终端发送的群签名为最近更新的群签名,则利用与所述第二私钥对应的第二公钥解密所述归属方的终端发送的群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器。
在一个实施方式中,所述判断所述群签名明文是否匹配所述用户签名的步骤,包括:将所述群签名明文与所述用户签名组合为文字文本,采用预设的MD5消息摘要算法计算所述文字文本的散列值;判断所述散列值是否与预设的验证散列值相同;若所述散列值与预设的验证散列值相同,则判定所述群签名明文匹配所述用户签名。
本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请的计算机设备,接收用户终端发送的经过第一私钥加密的归属验证申请;利用第一公钥解密所述归属验证申请,从而得到所述用户签名与所述用户对应的归属方的终端信息;向所述归属方的终端发送获取群签名的要求;接收所述归属方的终端发送的群签名,并利用第二公钥解密所述群签名,从而获得群签名明文;判断所述群签名明文是否包括所述用户签名;若所述群签名明文包括所述用户签名,则判定所述用户归属于所述归属方。从而实现了准确地、自动地进行归属验证。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现基于群签名的用户归属验证方法,应用于归属验证服务器,包括以下步骤:接收用户终端发送的经过第一私钥加密的归属验证申请,其中,所述归属验证申请携带有用户签名与所述用户对应的归属方的终端信息,所述归属验证服务器预存有与所述第一私钥对应的第一公钥,所述第一公钥包括第一子密钥和第二子密钥;根据预先约定的划分方法,将所述归属验证申请划分为第一部分和第二部分,利用所述第一子密钥和第二子密钥分别解密所述第一部分和第二部分,从而获得第一子明文和第二子明文;根据预设的组合方法,将所述第一子明文和第二子明文组合为暂时明文;根据预设的填充算法的逆向算法,将所述暂时明文中的填充数据去除,从而获得解密后的归属验证申请,并从解密后的归属验证申请中提取所述用户签名与所述用户对应的归属方的终端信息;向所述归属方的终端发送获取群签名的要求,其中所述群签名通过第二私钥加密而成;接收所述归属方的终端发送的群签名,并利用与所述第二私钥对应的第二公钥解密所述群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器;判断所述群签名明文是否匹配所述用户签名;若所述群签名明文匹配所述用户签名,则判定所述用户归属于所述归属方。
在一个实施方式中,所述接收用户终端发送的经过第一私钥加密的归属验证申请的步骤之前,包括:接收用户终端发送的多个文件,其中所述多个文件包括在约定位置中存储所述第一公钥的第一文件;根据与所述用户终端的预先约定,从所述多个文件中筛选出所述第一文件,并从所述第一文件中的约定位置获得所述第一公钥,其中所述预先约定包括所述第一文件的信息与所述约定位置的信息;将所述第一公钥分为大小相等的两部分,分别记为第一子密钥和第二子密钥。
在一个实施方式中,所述第一文件存在多个,所述根据与所述用户终端的预先约定,从所述多个文件中筛选出所述第一文件,并从所述第一文件中的约定位置获得所述第一公钥的步骤,包括:根据与所述用户终端的预先约定,从所述多个文件中筛选出文件大小大于预定数量的多个所述第一文件;分别从多个所述第一文件的约定位置中提取所述第一公钥的不同片段,将所述不同片段组装成完整的所述第一公钥。
在一个实施方式中,所述接收用户终端发送的经过第一私钥加密的归属验证申请的步骤之前,包括:接收用户终端发送的多个文件;根据预设的文件筛选规则,从所述多个文件中筛选出第二文件;采用预设的哈希值计算方法,计算所述第二文件的哈希值,并将所述第二文件的哈希值作为第一公钥;将所述第一公钥分为大小相等的两部分,分别记为第一子密钥和第二子密钥。
在一个实施方式中,所述接收用户终端发送的经过第一私钥加密的归属验证申请,其中,所述归属验证申请携带有用户签名与所述用户对应的归属方的终端信息,所述归属验证服务器预存有与所述第一私钥对应的第一公钥的步骤之前,包括:接收所述归属方的终端发送的群签名生成请求,所述群签名生成请求携带有至少包括所述用户签名的数字文件;对所述至少包括所述用户签名的数字文件采用预设的第二私钥加密,从而获得所述群签名;将所述群签名发送给所述归属方的终端。
在一个实施方式中,所述归属验证服务器为预设的区块链网络中的区块链节点,所述接收所述归属方的终端发送的群签名,并利用与所述第二私钥对应的第二公钥解密所述群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器的步骤,包括:接收所述归属方的终端发送的群签名,并在所述区块链网络的公共账本中查询所述群签名,从而获取所述群签名的修改记录;根据所述群签名的修改记录判断所述归属方的终端发送的群签名是否为最近更新的群签名;若所述归属方的终端发送的群签名为最近更新的群签名,则利用与所述第二私钥对应的第二公钥解密所述归属方的终端发送的群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器。
在一个实施方式中,所述判断所述群签名明文是否匹配所述用户签名的步骤,包括:将所述群签名明文与所述用户签名组合为文字文本,采用预设的MD5消息摘要算法计算所述文字文本的散列值;判断所述散列值是否与预设的验证散列值相同;若所述散列值与预设的验证散列值相同,则判定所述群签名明文匹配所述用户签名。
本申请的计算机可读存储介质,接收用户终端发送的经过第一私钥加密的归属验证申请;利用第一公钥解密所述归属验证申请,从而得到所述用户签名与所述用户对应的归属方的终端信息;向所述归属方的终端发送获取群签名的要求;接收所述归属方的终端发送的群签名,并利用第二公钥解密所述群签名,从而获得群签名明文;判断所述群签名明文是否包括所述用户签名;若所述群签名明文包括所述用户签名,则判定所述用户归属于所述归属方。从而实现了准确地、自动地进行归属验证。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种基于群签名的用户归属验证方法,应用于归属验证服务器,其特征在于,包括:
接收用户终端发送的经过第一私钥加密的归属验证申请,其中,所述归属验证申请携带有用户签名与所述用户对应的归属方的终端信息,所述归属验证服务器预存有与所述第一私钥对应的第一公钥,所述第一公钥包括第一子密钥和第二子密钥;
根据预先约定的划分方法,将所述归属验证申请划分为第一部分和第二部分,利用所述第一子密钥和第二子密钥分别解密所述第一部分和第二部分,从而获得第一子明文和第二子明文;根据预设的组合方法,将所述第一子明文和第二子明文组合为暂时明文;根据预设的填充算法的逆向算法,将所述暂时明文中的填充数据去除,从而获得解密后的归属验证申请,并从解密后的归属验证申请中提取所述用户签名与所述用户对应的归属方的终端信息;
向所述归属方的终端发送获取群签名的要求,其中所述群签名通过第二私钥加密而成;
接收所述归属方的终端发送的群签名,并利用与所述第二私钥对应的第二公钥解密所述群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器;
判断所述群签名明文是否匹配所述用户签名;
若所述群签名明文匹配所述用户签名,则判定所述用户归属于所述归属方。
2.根据权利要求1所述的基于群签名的用户归属验证方法,其特征在于,所述接收用户终端发送的经过第一私钥加密的归属验证申请的步骤之前,包括:
接收用户终端发送的多个文件,其中所述多个文件包括在约定位置中存储所述第一公钥的第一文件;
根据与所述用户终端的预先约定,从所述多个文件中筛选出所述第一文件,并从所述第一文件中的约定位置获得所述第一公钥,其中所述预先约定包括所述第一文件的信息与所述约定位置的信息;
将所述第一公钥分为大小相等的两部分,分别记为第一子密钥和第二子密钥。
3.根据权利要求2所述的基于群签名的用户归属验证方法,其特征在于,所述第一文件存在多个,所述根据与所述用户终端的预先约定,从所述多个文件中筛选出所述第一文件,并从所述第一文件中的约定位置获得所述第一公钥的步骤,包括:
根据与所述用户终端的预先约定,从所述多个文件中筛选出文件大小大于预定数量的多个所述第一文件;
分别从多个所述第一文件的约定位置中提取所述第一公钥的不同片段,将所述不同片段组装成完整的所述第一公钥。
4.根据权利要求1所述的基于群签名的用户归属验证方法,其特征在于,所述接收用户终端发送的经过第一私钥加密的归属验证申请的步骤之前,包括:
接收用户终端发送的多个文件;
根据预设的文件筛选规则,从所述多个文件中筛选出第二文件;
采用预设的哈希值计算方法,计算所述第二文件的哈希值,并将所述第二文件的哈希值作为第一公钥;
将所述第一公钥分为大小相等的两部分,分别记为第一子密钥和第二子密钥。
5.根据权利要求1所述的基于群签名的用户归属验证方法,其特征在于,所述接收用户终端发送的经过第一私钥加密的归属验证申请,其中,所述归属验证申请携带有用户签名与所述用户对应的归属方的终端信息,所述归属验证服务器预存有与所述第一私钥对应的第一公钥的步骤之前,包括:
接收所述归属方的终端发送的群签名生成请求,所述群签名生成请求携带有至少包括所述用户签名的数字文件;
对所述至少包括所述用户签名的数字文件采用预设的第二私钥加密,从而获得所述群签名;
将所述群签名发送给所述归属方的终端。
6.根据权利要求1所述的基于群签名的用户归属验证方法,其特征在于,所述归属验证服务器为预设的区块链网络中的区块链节点,所述接收所述归属方的终端发送的群签名,并利用与所述第二私钥对应的第二公钥解密所述群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器的步骤,包括:
接收所述归属方的终端发送的群签名,并在所述区块链网络的公共账本中查询所述群签名,从而获取所述群签名的修改记录;
根据所述群签名的修改记录判断所述归属方的终端发送的群签名是否为最近更新的群签名;
若所述归属方的终端发送的群签名为最近更新的群签名,则利用与所述第二私钥对应的第二公钥解密所述归属方的终端发送的群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器。
7.根据权利要求1所述的基于群签名的用户归属验证方法,其特征在于,所述判断所述群签名明文是否匹配所述用户签名的步骤,包括:
将所述群签名明文与所述用户签名组合为文字文本,采用预设的MD5消息摘要算法计算所述文字文本的散列值;
判断所述散列值是否与预设的验证散列值相同;
若所述散列值与预设的验证散列值相同,则判定所述群签名明文匹配所述用户签名。
8.一种基于群签名的用户归属验证装置,应用于归属验证服务器,其特征在于,包括:
归属验证申请接收单元,用于接收用户终端发送的经过第一私钥加密的归属验证申请,其中,所述归属验证申请携带有用户签名与所述用户对应的归属方的终端信息,所述归属验证服务器预存有与所述第一私钥对应的第一公钥,所述第一公钥包括第一子密钥和第二子密钥;
归属验证申请解密单元,用于根据预先约定的划分方法,将所述归属验证申请划分为第一部分和第二部分,利用所述第一子密钥和第二子密钥分别解密所述第一部分和第二部分,从而获得第一子明文和第二子明文;根据预设的组合方法,将所述第一子明文和第二子明文组合为暂时明文;根据预设的填充算法的逆向算法,将所述暂时明文中的填充数据去除,从而获得解密后的归属验证申请,并从解密后的归属验证申请中提取所述用户签名与所述用户对应的归属方的终端信息;
获取群签名的要求发送单元,用于向所述归属方的终端发送获取群签名的要求,其中所述群签名通过第二私钥加密而成;
群签名解密单元,用于接收所述归属方的终端发送的群签名,并利用与所述第二私钥对应的第二公钥解密所述群签名,从而获得群签名明文,其中所述第二公钥预存于所述归属验证服务器;
群签名判断单元,用于判断所述群签名明文是否匹配所述用户签名;
归属判定单元,用于若所述群签名明文匹配所述用户签名,则判定所述用户归属于所述归属方。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN201910463088.3A 2019-05-30 2019-05-30 基于群签名的用户归属验证方法、装置和计算机设备 Active CN110311783B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910463088.3A CN110311783B (zh) 2019-05-30 2019-05-30 基于群签名的用户归属验证方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910463088.3A CN110311783B (zh) 2019-05-30 2019-05-30 基于群签名的用户归属验证方法、装置和计算机设备

Publications (2)

Publication Number Publication Date
CN110311783A true CN110311783A (zh) 2019-10-08
CN110311783B CN110311783B (zh) 2022-09-23

Family

ID=68075620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910463088.3A Active CN110311783B (zh) 2019-05-30 2019-05-30 基于群签名的用户归属验证方法、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN110311783B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112613841A (zh) * 2020-12-25 2021-04-06 江苏华能智慧能源供应链科技有限公司 一种基于门限密码技术的电子文件审批方法及系统
US20220294639A1 (en) * 2021-03-15 2022-09-15 Synamedia Limited Home context-aware authentication
CN115378590A (zh) * 2022-10-27 2022-11-22 国网浙江义乌市供电有限公司 一种基于区块链的能源数据安全存储方法和系统
CN112613841B (zh) * 2020-12-25 2024-05-31 江苏华能智慧能源供应链科技有限公司 一种基于门限密码技术的电子文件审批方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103155614A (zh) * 2010-10-22 2013-06-12 高通股份有限公司 漫游网络中接入终端身份的认证
WO2018076377A1 (zh) * 2016-10-31 2018-05-03 华为技术有限公司 一种数据传输方法、终端、节点设备以及系统
WO2018082232A1 (zh) * 2016-11-02 2018-05-11 中兴通讯股份有限公司 一种签名的识别方法、装置、移动终端及云端服务器
CN109756343A (zh) * 2019-01-31 2019-05-14 平安科技(深圳)有限公司 数字签名的认证方法、装置、计算机设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103155614A (zh) * 2010-10-22 2013-06-12 高通股份有限公司 漫游网络中接入终端身份的认证
WO2018076377A1 (zh) * 2016-10-31 2018-05-03 华为技术有限公司 一种数据传输方法、终端、节点设备以及系统
WO2018082232A1 (zh) * 2016-11-02 2018-05-11 中兴通讯股份有限公司 一种签名的识别方法、装置、移动终端及云端服务器
CN109756343A (zh) * 2019-01-31 2019-05-14 平安科技(深圳)有限公司 数字签名的认证方法、装置、计算机设备和存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112613841A (zh) * 2020-12-25 2021-04-06 江苏华能智慧能源供应链科技有限公司 一种基于门限密码技术的电子文件审批方法及系统
CN112613841B (zh) * 2020-12-25 2024-05-31 江苏华能智慧能源供应链科技有限公司 一种基于门限密码技术的电子文件审批方法及系统
US20220294639A1 (en) * 2021-03-15 2022-09-15 Synamedia Limited Home context-aware authentication
CN115378590A (zh) * 2022-10-27 2022-11-22 国网浙江义乌市供电有限公司 一种基于区块链的能源数据安全存储方法和系统
CN115378590B (zh) * 2022-10-27 2023-02-07 国网浙江义乌市供电有限公司 一种基于区块链的能源数据安全存储方法和系统

Also Published As

Publication number Publication date
CN110311783B (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
CN107851253B (zh) 合约合意方法、合意验证方法、合约合意系统、合意验证装置、合约合意装置、计算机可读记录介质
CN108768972B (zh) 车辆数据的存储和访问方法及装置、系统、电子设备
US6401206B1 (en) Method and apparatus for binding electronic impressions made by digital identities to documents
CN109756343A (zh) 数字签名的认证方法、装置、计算机设备和存储介质
CN109194708A (zh) 一种基于区块链技术的分布式存储系统及其身份认证方法
WO2018145985A1 (en) Verifiable version control on authenticated and/or encrypted electronic documents
EP3590223A1 (fr) Procede et dispositif pour memoriser et partager des donnees integres
CN105656920B (zh) 一种基于快递的寄件数据的加解密方法及系统
CN108229188A (zh) 一种用标识密钥签署文件及验证方法
CN102325139A (zh) 电子文件的处理方法、处理系统和验证系统
CN109447809A (zh) 一种结合区块链的视频主动识别方法
CN109492424A (zh) 数据资产管理方法、数据资产管理装置及计算机可读介质
JP2022020602A (ja) スマートコントラクト方式に基づく電子契約証拠保全システム
CN111242611A (zh) 一种用于恢复数字钱包密钥的方法及系统
CN110311783A (zh) 基于群签名的用户归属验证方法、装置和计算机设备
JP2015064767A (ja) 文書保存管理システム及び文書保存管理方法
CN105071941B (zh) 分布式系统节点身份认证方法及装置
CN113761578A (zh) 一种基于区块链的文书验真方法
CN108234126B (zh) 用于远程开户的系统和方法
CN108234125B (zh) 用于身份认证的系统和方法
CN110955909B (zh) 个人数据保护方法及区块链节点
CN110493011B (zh) 基于区块链的证书颁发管理方法以及装置
KR102289414B1 (ko) 블록체인 환경에서 개인정보 보호 방법 및 이를 위한 장치
CN110175471B (zh) 一种档案的存储方法及系统
US20210035018A1 (en) Apparatus for verifying integrity of AI learning data and method therefor

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