一种基于区块链的人脸数据调用方法及装置
技术领域
本发明实施例涉及区块链应用领域,特别涉及一种基于区块链的人脸数据调用方法及装置。
背景技术
随着科技的发展,人脸识别等技术催生出了面部授权检测,人脸快捷支付等方便生活的应用。这些应用均需要事先采集用户的人脸数据。但由于人脸数据是较重要的个人信息数据,这些数据一旦泄露或被随意调用将对个人或社会产生严重的影响。
目前对于人脸数据存储的方法多为简单的存储于数据库内,这种方法导致数据存储中心化严重,一旦泄露,所有数据都会被窃取,且对于数据库有权限的使用者均可随时调用数据库内存储的所有人脸数据,使得人脸数据的安全性不能得到保障。因此,如何安全地对人脸数据进行调用,成为了亟待解决的问题。
发明内容
本发明实施方式的目的在于提供一种基于区块链的人脸数据调用方法及装置,可以提高人脸数据存储的安全性。
为解决上述技术问题,本发明的实施方式提供了一种基于区块链的人脸数据调用方法,所述方法包括:
获取用户的人脸数据;
利用数据转化器将所述人脸数据转化为IO数据流;
利用哈希算法生成所述IO数据流的加密公钥和解密私钥,利用所述加密公钥对所述IO数据流进行加密,得到加密人脸数据;
将所述加密人脸数据和所述解密私钥分别上传至权限服务器内的区块链的不同节点中;
在接收到人脸数据调用指令时,将所述人脸数据调用指令输入至所述权限服务器进行权限验证;
根据权限验证结果调用所述区块链节点中的解密私钥;
利用所述解密私钥对所述加密人脸数据进行解密,将解密后的人脸数据推送给所述人脸数据调用指令的发送者。
另外,所述将所述加密人脸数据和所述解密私钥分别上传至权限服务器内的区块链的不同节点中,包括:
利用训练完成的特征提取模型提取所述人脸数据的特征信息;
基于所述特征信息生成调用所述权限服务器内区块链节点的数据传输语句;
利用编译器对所述数据传输语句进行编译;
执行编译后的数据传输语句将所述加密人脸数据和所述解密私钥分别上传至权限服务器内的区块链的不同节点。
另外,所述利用训练完成的特征提取模型提取所述人脸数据的特征信息之前,该方法还包括:
获取训练人脸数据集以及所述训练人脸数据集对应的标准特征信息集;
利用预先构建的特征提取模型对所述训练人脸数据集进行特征提取,得到训练特征信息集;
计算所述训练特征信息集和所述标准特征信息集之间的差异值;
若所述差异值大于误差阈值,则调整所述特征提取模型的参数后重新进行特征提取;
若所述差异值小于所述误差阈值,则得到所述训练完成的特征提取模型。
另外,所述计算所述训练特征信息集和所述标准特征信息集之间的差异值,包括:
利用如下损失函数计算所述训练特征信息集和所述标准特征信息集之间的差异值
其中,
表示所述训练特征信息集,Y表示所述标准特征信息集,N表示所述训练特征信息集中训练特征信息的个数,α表示误差因子。
另外,所述权限验证包括:
获取所述权限服务器的数据传输请求头部;
在所述数据传输请求头部增加人脸数据调用指令;
执行增加人脸数据调用指令后的数据传输请求头部以调用所述权限服务器中的授权信息表;
将所述数据传输请求头部中的人脸数据调用指令与所述授权信息表中的授权信息进行匹配;
在所述授权信息表中的授权信息与所述数据传输请求头部中的人脸数据调用指令不匹配时,权限验证不通过;
在所述授权信息表中的授权信息与所述数据传输请求头部中的人脸数据调用指令匹配时,权限验证通过。
另外,所述将解密后的人脸数据推送给所述人脸数据调用指令的发送者,包括:
将解密后的人脸数据进行数据压缩,得到人脸数据压缩包;
将所述人脸数据压缩包推送给所述人脸数据调用指令的发送者。
另外,所述将所述人脸数据压缩包推送给所述人脸数据调用指令的发送者,包括:
设置推送队列任务;
将所述人脸数据压缩包按照所述推送队列的顺序推送给所述人脸数据调用指令的发送者。
另外,所述利用数据转化器将所述人脸数据转化为IO数据流之前,所述方法还包括:
利用预设像素转化算法对所述人脸数据中的数据进行数值化处理。
另外,所述获取用户的人脸数据,包括:
利用ETL工具以悲观锁和非实时的方式采集所述人脸数据。
为了解决上述问题,本发明还提供一种基于区块链的人脸数据调用装置,所述装置包括:
人脸数据获取模块,用于获取用户的人脸数据;
数据流转化模块,用于利用数据转化器将所述人脸数据转化为IO数据流;
数据流加密模块,用于利用哈希算法生成所述IO数据流的加密公钥和解密私钥,利用所述加密公钥对所述IO数据流进行加密,得到加密人脸数据;
加密数据上传模块,用于将所述加密人脸数据和所述解密私钥分别上传至权限服务器内的区块链的不同节点中;
权限验证模块,用于获取人脸数据调用指令并输入至所述权限服务器进行权限验证;
解密私钥调用模块,用于根据权限验证结果调用所述区块链节点中的解密私钥;
数据推送模块,用于利用所述解密私钥对所述加密人脸数据进行解密,将解密后的所述加密人脸数据推送给所述人脸数据调用指令的发送者。
本发明实施例首先将所述人脸数据转化为IO数据流,在存储人脸数据之前,对人脸数据进行加密,保证即使人脸数据泄露,也不会被成功解析出正确的人脸数据,提高人脸数据存储的安全性;将加密人脸数据和解密私钥分别上传至权限服务器内的区块链的不同节点中,通过将加密人脸数据与解密私钥分别存储在区块链不同节点中,防止人脸数据与解密私钥同时泄露,增强了人脸数据存储的安全性;对人脸数据调用指令进行权限验证,当权限验证通过才将人脸数据推送给人脸数据调用指令的发送者,进一步提高了人脸数据存储的安全性。因此,本发明所述基于区块链的人脸数据调用方法及装置可以提高人脸数据存储的安全性。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本发明第一实施例提供的基于区块链的人脸数据调用方法流程示意图;
图2为本发明第一实施例提供的基于区块链的人脸数据调用方法中S4的详细流程示意图;
图3为本发明第一实施例提供的基于区块链的人脸数据调用方法中的权限验证的流程示意图;
图4为本发明第一实施例提供的基于区块链的人脸数据调用方法中将解密后的加密人脸数据进行推送的流程示意图;
图5为本发明第二实施例提供的基于区块链的人脸数据调用装置的模块示意图;
图6为本发明第三实施例提供的实现基于区块链的人脸数据调用方法的电子设备的内部结构示意图;
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明涉及一种基于区块链的人脸数据调用方法及装置。本发明核心在于将加密后的人脸数据以及所述解密私钥存储至区块链的不同节点中,在需要调用人脸数据时,对调用方的权限进行验证,根据验证结果获取解密私钥,进而使用解密私钥对加密的人脸数据进行解密,可以有效防止人脸数据泄露造成的个人隐私的安全问题。下面对本实施方式的人脸数据调用方法实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本发明实施例所述基于区块链的人脸数据调用方法的第一实施方式具体实施方式可参阅图1所示的流程图,包括:
S1、获取用户的人脸数据。
详细地,本发明实施例中,所述获取用户的人脸数据,包括:
利用ETL工具以悲观锁和非实时的方式从预设的人脸数据库中采集所述人脸数据。
其中,所述ETL工具是一种可自定义采集时间,并在到达自定义的采集时间时对人脸数据进行采集的一种文件采集工具。
所述悲观锁方式是指每次获取人脸数据时,可能会有其他程序修改该人脸数据中的内容,因此,在每次获取该人脸数据时都对该人脸数据进行锁定,使得其他程序无法修改该人脸数据中的内容,保证获取到的人脸数据中内容的准确性。
所述非实时的方式是指设定时间阈值,当到达所述时间阈值时,从用户的处理服务器中获取用户需要上传的人脸数据,而不必实时地从所述用户的处理服务器获取所述人脸数据,降低了***运作的负荷。
详细地,本发明实施例中,以悲观锁和非实时的方式采集人脸数据时,设定时间阈值,当到达所述时间阈值时,利用悲观锁的方式从所述预设的人脸数据库中采集所述人脸数据。既避免了实施采集所述人脸数据导致增大***负荷,又保证了采集所述人脸数据的过程的安全性。
较佳地,本发明实施例中,获取用户的人脸数据后,所述方法还包括:
将获取到的所述人脸数据存储在NAS(Network Attached Storage,网络附属存储)中。
所述NAS是一种连接在网络上,具备数据存储功能的装置,是一种专用于数据存储的服务器,存储时将存储设备与网络相分离,从而释放网络带宽,提高数据存储的效率。本发明实施例将获取到的所述人脸数据暂存于所述NAS中,避免额外引入缓存服务器来存储所述人脸数据,减少了***资源的占用,同时避免数据转移过程中出现数据泄露的可能性,保证人脸数据的安全性。
S2、利用数据转化器将所述人脸数据转化为IO数据流。
本发明一可选实施例中,若人脸数据暂存于NAS中,则从NAS中获取人脸数据并将该人脸数据转化为IO数据流。
本发明实施例中,所述数据转换器为java FileInputStream类,该javaFileInputStream类可将图片、音频或文本文件等转化成计算机可读的IO数据流,便于后续进行加密。
S3、利用哈希算法生成所述IO数据流的加密公钥和解密私钥,利用所述加密公钥对所述IO数据流进行加密,得到加密人脸数据。
可选的,所述加密算法为RSA2048加密算法,该算法为一种加密函数。
本实施例中,将人脸数据转化得到的IO数据流输入至加密函数中,可生成所述IO数据流对应的加密公钥和解密私钥,其中,所述加密公钥与所述解密私钥唯一对应。
本发明实施例将所述人脸数据进行加密,使得即使第三方在未被授权的情况下非法获取人脸数据,也无法从中解析出真实的数据,增加了人脸数据的安全性。
进一步的,本发明一可选实施例中,将所述人脸数据转化为IO数据流之前,所述方法还包括:
利用预设像素转化算法对所述人脸数据中的数据进行数值化处理。
例如,利用预设的像素转化算法将人脸数据中的图片格式的数据全部转化为数值型数据。
详细地,所述像素转换算法为:
其中,C为人脸数据中的图片格式的数据转化后的数值型数据,R,G,B为图片格式的数据的像素的三分量,xi为图片格式的数据的任一像素点,α为图片格式的数据的像素点的个数。
当所述人脸数据完成上述像素值转化后,得到多个数值化的人脸数据。
实际应用中,由于人脸数据多为图像数据,当人脸数据未被数值化时,转化为IO数据流需要耗费较长的时间,会造成计算资源的大量占用,导致转化效率低下。因此,本发明实施例对人脸数据中的数据进行数值化处理,提高转化人脸数据为IO数据流的效率。
S4、将所述加密人脸数据和所述解密私钥分别上传至权限服务器内的区块链的不同节点中。
本发明实施例中,所述权限服务器是用于验证用户权限的服务器。例如,权限服务器为人脸数据采集方部署在人脸数据采集设备的局域网内的服务器,该权限服务器用于验证权限。
具体的,所述权限服务器内包含多个区块链节点,不同区块链的节点与用户一一对应,区块链节点与用户之间存在着唯一对应的关系,例如,每个区块链节点均只存储一个或一类用户的人脸数据。将加密人脸数据和解密私钥分别上传至权限服务器内的区块链的不同节点中,可以防止信息被篡改,提高人脸数据的安全性。所述权限服务器还存储着用户的授权信息,所述授权信息是用户授权可以使用自身人脸数据的信息,所述授权信息以授权信息表的形式存储于所述授权服务器中。较佳地,参阅图2所示,所述将所述加密人脸数据和所述解密私钥分别上传至权限服务器内的区块链的不同节点中,包括:
S40、利用训练完成的特征提取模型提取所述人脸数据的特征信息;
S41、基于所述特征信息生成调用所述权限服务器内区块链节点的数据传输语句;
S42、利用编译器对所述数据传输语句进行编译;
S43、执行编译后的数据传输语句将所述加密人脸数据和所述解密私钥分别上传至权限服务器内的区块链的不同节点。
本实施例中,提取得到的特征信息用于验证用户权限。具体的,所述特征信息包括但不限于:人脸轮廓特征,人脸局部特征。
本实施例中,可根据java语法规则生成所述数据传输语句,所述基于所述特征信息生成可以调用权限服务器内区块链节点的数据传输语句时,可将所述特征信息以关键字的形式加入所述数据传输语句中。
本实施例中,所述编译器包括但不限于:visual studio、visual c++等。编译完成的所述编译语句可根据其中包含的特征信息调用对应用户的节点,使得该节点可接受数据传输。
进一步的,所述利用训练完成的特征提取模型提取所述人脸数据的特征信息之前,该方法还包括:
获取训练人脸数据集以及所述训练人脸数据集对应的标准特征信息集;
利用预设的特征提取模型对所述训练人脸数据集进行特征提取,得到训练特征信息集;
计算所述训练特征信息集和所述标准特征信息集之间的差异值;
若所述差异值大于误差阈值,则调整所述特征提取模型的参数后重新进行特征提取;
若所述差异值小于所述误差阈值,则得到所述训练完成的特征提取模型。
较佳地,本发明实施例可利用具有数据调用功能的java语句从数据库中获取训练人脸数据集,以及训练人脸数据集对应的标准特征信息集。
具体地,所述计算所述训练特征信息集和所述标准特征信息集之间的差异值,包括:
利用如下损失函数计算所述训练特征信息集和所述标准特征信息集之间的差异值
其中,
表示所述训练特征信息集,Y表示所述标准特征信息集,N表示所述训练特征信息集中训练特征信息的个数,α表示误差因子。
本发明实施例利用损失函数计算所述训练特征信息集和所述标准特征信息集之间的差异值,并在差异值大于误差阈值时,利用梯度下降算法对模型的参数进行更新,从而达到对模型的优化效果,得到训练完成的特征提取模型。
较佳地,所述梯度下降算法包括批量梯度下降算法、随机梯度下降算法、小批量梯度下降算法。
实际应用中,存在着不同用户的人脸数据批量上传的情况,在这种情况下,为了后续可快速的识别出每个人脸数据对应的用户身份进而根据用户身份进行存储,需要对每个人脸数据进行特征提取,以提高将人脸数据存储在区块链节点中的效率,本发明实施例通过训练特征提取模型来进行特征提取,提高了特征提取的效率和准确性。
S5、在接收到人脸数据调用指令时,将所述人脸数据调用指令输入至所述权限服务器进行权限验证。
本发明实施例中,所述人脸数据调用指令可从需要调用人脸数据的第三方处获取,所述第三方包括公安机关、法院、银行等需要利用人脸数据进行用户身份验证的单位或个人。
详细地,参阅图3所示,本发明实施例中,所述权限验证包括:
S50、获取所述权限服务器的数据传输请求头部;
S51、在所述数据传输请求头部增加人脸数据调用指令;
S52、执行增加人脸数据调用指令后的数据传输请求头部以调用所述权限服务器中的授权信息表;
S53、将所述数据传输请求头部中的人脸数据调用指令与所述授权信息表中的授权信息进行匹配;
S54、在所述授权信息表中的授权信息与所述数据传输请求头部中的人脸数据调用指令不匹配时,权限验证不通过;
S55、在所述授权信息表中的授权信息与所述数据传输请求头部中的人脸数据调用指令匹配时,权限验证通过。
本发明实施例中,只有当所述授权信息表中存在与所述人脸数据调用指令相匹配的授权信息时,才可通过权限验证,保证了人脸数据的安全性。
S6、根据权限验证结果调用所述区块链节点中的解密私钥。
本发明实施例中,当所述人脸数据调用指令通过权限验证后,根据所述人脸数据调用指令,在用于存储解密私钥的区块链节点中查找与所述人脸数据调用指令相应的解密私钥。
详细地,本发明可使用顺序检索的方式在用于存储解密私钥的区块链节点中查找与所述人脸数据调用指令相应的解密私钥,所述顺序检索的方式是指按照存储在区块链节点中的解密私钥的存储顺序,逐个查找与所述人脸数据调用指令相应的解密私钥。
S7、利用所述解密私钥对所述加密人脸数据进行解密,将解密后的人脸数据据推送给所述人脸数据调用指令的发送者。
详细地,当获取到解密私钥后,利用解密私钥对加密人脸数据进行解密,得到解密后的人脸数据。
本发明实施例中,由于将加密人脸数据存储至策略服务器内的区块链中,因此当需要批量获取多个用户的加密人脸数据时,可利用区块链的高吞吐性提高加密人脸数据的获取效率。
具体地,参阅图4所示,本发明实施例中,所述将解密后的所述加密人脸数据推送给所述人脸数据调用指令的发送者,包括:
S70、将解密后的所述加密人脸数据进行数据压缩,得到人脸数据压缩包;
S71、将所述人脸数据压缩包推送给所述人脸数据调用指令的发送者。
较佳地,本发明实施例可用预设的压缩资源文件脚本将解密后的所述加密人脸数据进行数据压缩,所述压缩资源文件脚本包括但不限于WinRAR自动压缩脚本、ant压缩工具脚本。
本发明实施例将解密后的所述加密人脸数据进行数据压缩,可减少解密后的所述加密人脸数据的体积,提高将所述人脸数据压缩包推送给所述人脸数据调用指令的发送者的效率。
进一步地,所述将所述人脸数据压缩包推送给所述人脸数据调用指令的发送者,包括:
设置推送队列任务;
将所述人脸数据压缩包按照所述推送队列的顺序推送给所述人脸数据调用指令的发送者。
实际应用中,所述人脸数据调用指令的发送者一般会同时调用多份人脸数据,在对人脸数据进行批量调用时,通过设置推送队列任务能够防止因同时对多份人脸数据进行推送操作而造成的数据推送过程拥塞,提高了对多份人脸数据进行推送处理的效率。
优选地,所述推送队列任务采用订阅方通知消息列队(MQ)实现,具体的,通过设定时间的间隔阈值分批处理多份需要推送的人脸数据,从而确保前一批人脸数据推送结束再继续处理后一批数据。
通过订阅方通知消息列队可以降低计算资源占用,将大量的数据进行切割并分批进行推送,避免因为数据拥塞而导致计算资源的占用与浪费。
如图5所示,是本发明基于区块链的人脸数据调用装置的模块示意图。
本发明所述基于区块链的人脸数据调用装置100可以安装于电子设备中。根据实现的功能,所述基于区块链的人脸数据调用装置100可以包括人脸数据获取模块101、数据流转化模块102、数据流加密模块103、加密数据上传模块104、权限验证模块105、解密私钥调用模块106和数据推送模块107。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述人脸数据获取模块101,用于获取用户的人脸数据;
所述数据流转化模块102,用于利用数据转化器将所述人脸数据转化为IO数据流;
所述数据流加密模块103,用于利用哈希算法生成所述IO数据流的加密公钥和解密私钥,利用所述加密公钥对所述IO数据流进行加密,得到加密人脸数据;
所述加密数据上传模块104,用于将所述加密人脸数据和所述解密私钥分别上传至权限服务器内的区块链的不同节点中;
所述权限验证模块105,用于获取人脸数据调用指令并输入至所述权限服务器进行权限验证;
所述解密私钥调用模块106,用于根据权限验证结果调用所述区块链节点中的解密私钥;
所述数据推送模块107,用于利用所述解密私钥对所述加密人脸数据进行解密,将解密后的所述加密人脸数据推送给所述人脸数据调用指令的发送者。
本申请所提供的基于区块链的人脸数据调用装置100中的各个模块安装在一个电子设备中,并被所述电子设备中的处理器所执行时可以实现上述的基于区块链的人脸数据调用方法。
所述电子设备1可以包括处理器12、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器12上运行的计算机程序。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如高空抛物检测程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器12在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器12是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行基于区块链的人脸数据调用程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器12等之间的连接通信。
图6仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图6示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的请求高空抛物检测程序12是多个指令的组合,在所述处理器10中运行时,可以实现与上述方法项相同的技术实施手段,在此不再赘述。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
所述计算机可读存储介质上存储有权限控制程序,所述权限控制程序可被一个或多个处理器执行,以实现如下操作:
获取用户的人脸数据;
利用数据转化器将所述人脸数据转化为IO数据流;
利用哈希算法生成所述IO数据流的加密公钥和解密私钥,利用所述加密公钥对所述IO数据流进行加密,得到加密人脸数据;
将所述加密人脸数据和所述解密私钥分别上传至权限服务器内的区块链的不同节点中;
在接收到人脸数据调用指令时,将所述人脸数据调用指令输入至所述权限服务器进行权限验证;
根据权限验证结果调用所述区块链节点中的解密私钥;
利用所述解密私钥对所述加密人脸数据进行解密,将解密后的所述加密人脸数据推送给所述人脸数据调用指令的发送者。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。***权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。