CN111222167A - 一种基于区块链和显式授权机制下的隐私数据访问方法 - Google Patents
一种基于区块链和显式授权机制下的隐私数据访问方法 Download PDFInfo
- Publication number
- CN111222167A CN111222167A CN202010324363.6A CN202010324363A CN111222167A CN 111222167 A CN111222167 A CN 111222167A CN 202010324363 A CN202010324363 A CN 202010324363A CN 111222167 A CN111222167 A CN 111222167A
- Authority
- CN
- China
- Prior art keywords
- user
- data
- private data
- key
- service platform
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
- H04L63/0421—Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Abstract
一种基于区块链和显式授权机制下的隐私数据访问方法,涉及信息安全技术领域。本发明隐私数据授权访问方法的步骤为:601)隐私数据申请使用方向隐私数据服务平台发起使用申请;602)隐私数据服务平台触发即时通知服务,向用户App发送通知;603)用户在App上进行回应,决定是否授权以及具体的授权操作;604)如果用户给了授权,则隐私数据服务平台从区块链上取出数据,并进行解密操作;605)如果用户授权了使用,则隐私数据服务平台将用户的相关数据返回给隐私数据申请使用方;如果用户没有授权使用,则返回拒绝。同现有技术相比,本发明采用自动触发的通知机制和需要用户参与解密的方式,可以有效发现和防止隐私数据被第三方恶意使用。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及基于区块链和即时通知与显式授权机制下的隐私数据授权访问方法。
背景技术
目前国内外都有对隐私数据保护的法律条款和严格的执行标准,用户隐私数据被滥用的状况得到很大的解决。在互联网上,隐私数据目前主要是存储在各个大的互联网平台的系统中,如国外有Facebook、Google等,国内有微信、微博、淘宝、支付宝等。这些隐私数据由平台来负责控制存储与使用,平台会在符合相关的法律条款,在用户的授权下进行隐私数据的存储和使用。
但是这样仍然让用户担忧自己的隐私数据会被平台在没有自己授权的情况下私自使用,主要表现在以下几个方面的问题:
问题1,数据是存储在平台上,用户自己没有控制权。虽然用户在平台上使用业务的过程中,业务系统会提示用户授权使用隐私数据,但是如果业务方没有按照法律要求给出提示,用户仍然不知道自己的隐私数据已经被使用了。
问题2,数据存储在平台上,即使数据是加密存储,但是加解密的密钥都是由平台掌握的,用户自己没有密钥的控制权,没有密钥的控制权就没有数据的控制权。数据仍然有被平台泄露的可能性。
问题3,平台没有一种数据使用的通知机制,即当用户的隐私数据被外部申请使用时,平台没有一种自动触发通知用户的机制。这样就会造成黑客或其他恶意人员来恶意办理业务或篡改用户的隐私数据,而用户自己却不知情。
发明内容
针对上述现有技术中存在的问题,本发明的目的是提供一种基于区块链和显式授权机制下的隐私数据访问方法。它采用自动触发的通知机制和需要用户参与解密的方式,可以有效发现和防止隐私数据被第三方恶意使用。
为了实现上述发明目的,本发明的技术方案以如下方式实现:
一种基于区块链和显式授权机制下的隐私数据访问方法,它包括区块链以及基于区块链之上、内置索引库模块的隐私数据服务平台,还包括与隐私数据服务平台配合使用实现功能的用户App和隐私数据申请使用方。隐私数据服务平台主要实现隐私数据存储、隐私数据显示授权使用、隐私数据检索、即时提醒服务以及用户密钥修改。用户App主要实现个人隐私数据的录入、平台即时通知消息的接收、隐私数据使用授权确认、解密密钥提供和密钥的修改。所述隐私数据访问方法的具体步骤为:
601)隐私数据申请使用方通过隐私数据服务平台提供的API访问隐私数据服务平台,向隐私数据服务平台发起使用申请;
602)隐私数据服务平台收到申请后,立即触发即时通知服务,向用户App发送通知;
603)用户在App上进行回应,决定是否授权以及具体的授权操作;
604)如果用户给了授权,则隐私数据服务平台从区块链上取出数据,并结合用户在授权操作中提供的密钥进行解密操作;
605)如果用户授权了使用,则隐私数据服务平台将用户的相关数据返回给隐私数据申请使用方;如果用户没有授权使用,则返回用户拒绝的信息给隐私数据申请使用方,整个过程结束。
在上述隐私数据访问方法中,所述隐私数据存储的方法步骤如下:
101)隐私数据服务平台收到用户传来的明文隐私数据;
102)隐私数据服务平台对明文隐私数据进行第一次加密,生成密文;
103)第一次加密完成后,隐私数据服务平台保存加密的密钥;
104)隐私数据服务平台对第一次加密后的密文进行第二次加密;
105)第二次加密完成后,隐私数据服务平台开始对第二次加密中使用的密钥进行加密;
106)隐私数据服务平台让用户输入加密的密钥;
107)用户输入加密的密钥;
108)隐私数据服务平台用收到的密钥对第二次加密中使用的密钥进行加密;
109)隐私数据服务平台存储加密后的密钥,但是不保存用户输入的密钥;
110)隐私数据服务平台生成用户的唯一代码,返回给隐私数据申请使用方;
111)隐私数据服务平台在索引数据库中增加索引记录;
112)隐私数据服务平台记录触发数据访问所需要的用户唯一代码与设备的对应关系。
在上述隐私数据访问方法中,所述隐私数据显示授权使用的方法步骤如下:
201)隐私数据服务平台收到隐私数据申请使用方的数据访问请求;
202)隐私数据服务平台通过索引库得到用户数据在区块链上加密后的地址,并通过解密服务来解密;解密服务首先触发即时提醒服务,然后进行解密操作;
203)即时提醒服务推送数据访问授权消息给用户,让用户决定是否允许访问;
204)用户收到隐私数据服务平台推送的消息;
205)如果用户在规定时间内没有响应,隐私数据服务平台终止数据访问请求,更新索引库,将拒绝访问次数增加一次并退出;
206)如果用户拒绝,则隐私数据服务平台终止数据访问请求,更新索引库,将拒绝访问次数增加一次并退出;
207)如果用户允许,则需要用户提供解密的密钥;
208)如果用户通过输入密钥的方式提供密钥,则让用户输入密钥;
209)如果用户通过生物特征识别解锁存储在设备上的密钥,则进行生物特征识别验证,如果验证未通过,并且错误尝试次数在设定的次数内,可以继续尝试重新进行识别验证;
210)如果验证错误超过设定的次数,则更新索引库,将拒绝访问次数增加一次,并结束退出;
211)如果验证通过,则解锁并取出存储在用户APP上的密钥;
212)用户APP传递密钥给隐私数据服务平台;
213)隐私数据服务平台用收到的密钥来解密被加密的解密密钥,如果解密不成功,并且尝试解密次数在设定的次数内,则重复步骤207);
214)如果解密不成功,并且尝试解密次数超过设定的次数,则更新索引库,将拒绝访问次数增加一次,并结束退出;
215)如果解密成功,隐私数据服务平台从区块链上取出数据,用解密后的密钥来对加密的隐私数据进行第一次解密;
216)隐私数据服务平台继续用存储在平台上的密钥对隐私数据进行第二次解密,获得隐私数据的内容;
217)返回数据内容,并更新索引,将允许访问次数增加一次。
在上述隐私数据访问方法中,所述隐私数据检索的方法步骤如下:
301)隐私数据申请使用方发起查询请求;
302)隐私数据服务平台收到查询请求,准备开始检索索引库;
303)隐私数据服务平台是否根据用户的唯一代码检索索引库;
304)如果是查询最新数据内容;
305)隐私数据服务平台检索索引库中状态为1的记录;
306)取出数据在区块链上的地址信息;
307)如果是查询数据变更历史;
308)隐私数据服务平台检索索引库中所有该用户的记录;
309)取出每条数据在区块链上的地址信息;
310)如果是查询数据授权使用统计;
311)隐私数据服务平台检索索引库中状态为1的记录;
312)取出访问授权次数、访问拒绝次数。
在上述隐私数据访问方法中,所述即时提醒服务的方法步骤如下:
401)查询服务调用解密服务来解密数据的地址;
402)解密服务触发即时提醒服务;
403)即时提醒服务找到对应要通知的用户APP;
404)即时提醒服务向需要通知的用户APP推送消息;
405)即时提醒服务检查用户APP是否有回应;
406)如果有回应,则退出;
407)如果没有回应,则判断是否超过推送次数门限,如果超过,则退出,如果未超过,则重复步骤404)至步骤407)。
在上述隐私数据访问方法中,所述密钥修改的方法步骤如下:
501)用户发起修改密钥请求;
502)隐私数据服务平台首先验证现有密钥,如果验证不通过,则退出现有流程;
503)如果验证通过,让用户输入新的密钥;
504)隐私数据服务平台从索引库中检索出所用该用户的记录;
505)隐私数据服务平台从区块链上取出所有相关数据;
506)首先用旧的密钥解密所有数据;
507)然后用新的密钥重新加密所有数据;
508)将重新加密的数据存入区块链;
509)将索引库中原来这些记录中的数据备份到历史库中;
510)将索引库中原来这些记录中的数据地址字段更新为新的地址;
511)返回密钥修改成功。
在上述隐私数据访问方法中,所述隐私数据存储方法中平台在索引数据库中增加索引记录时,其中数据在区块链上的地址信息是加密存储。
在上述隐私数据访问方法中,所述隐私数据使用的方法中规定时间设为2分钟。
在上述隐私数据访问方法中,所述隐私数据检索的方法中查询请求方通过录入用户的唯一代码,或者通过扫描用户的二维码来发起查询请求。
在上述隐私数据访问方法中,所述第一次加密、第二次加密、对秘钥进行加密、用户数据在区块链上加密和用新的秘钥加密所有数据这些加密过程使用国产商用密码算法,数据存储在区块链之前以及存储在数据库中的数据加密均使用对称加密算法,数据存储到区块链上的加密使用非对称加密算法,数据处理过程中需要生成一些随机数使用杂凑算法。对称加密算法使用的是SM4、非对称加密算法使用的是SM2、杂凑算法使用的是SM3。
本发明由于采用了上述方法步骤,充分结合了区块链的难以篡改性和密码的数据保护技术,以双重加密、密钥分开保管的方式对隐私数据进行保护;并通过即时提醒服务的自动触发机制来即时通知用户隐私数据被访问;并以交互的方式让用户参与隐私数据解密的过程,让用户一方面知晓自己的隐私数据即将要被使用,另一方面通过拒绝或允许的方式来决定自己的隐私数据是否可以被使用。这种让用户能够实时知晓自己的隐私数据是否被使用,被谁使用,并可以决定是否被使用的方法可以极大增加用户隐私数据使用的透明度,让用户对自己隐私数据保存在平台上的安全性有了很大的信心和信任。同现有用户隐私数据保护的技术相比,本发明具有如下明显的优势:
1、将隐私数据存储在区块链网络中,利用区块链的防篡改机制可以有效避免隐私数据被恶意篡改的风险。
2、隐私数据在区块链中是双重加密存储的,通过平台加密和用户加密方式来控制数据的访问,用户加密所使用的密钥掌握在用户自己手中,大大降低了平台在未授权情况下擅自访问隐私数据的风险,从而增加了隐私数据的安全性。另外区块链网络中只要有一个节点在线,那么这个隐私数据就一直可用。以上的措施极大保障了隐私数据的安全性、稳定性和系统的鲁棒性。
3、隐私数据访问的即时通知的方式,极大增加了隐私数据访问的透明度,和用户掌握自己隐私数据的主动权,让隐私数据的用户可以即时知晓自己的隐私数据将被谁访问,用户可以选择同意并输入密钥来授权使用,也可以拒绝此次的使用。
下面结合附图和具体实施方式对本发明做进一步说明。
附图说明
图1是本发明隐私数据访问方法的流程图;
图2是本发明方法中隐私数据存储的流程图;
图3是本发明方法中隐私数据显示授权使用的流程图;
图4是本发明方法中隐私数据检索的流程图;
图5是本发明方法中即时提醒服务的流程图;
图6是本发明方法中用户密钥修改的流程图。
具体实施方式
一种基于区块链和显式授权机制下的隐私数据访问方法,包括区块链以及基于区块链之上、内置索引库模块的隐私数据服务平台(以下简称平台),还包括与平台配合使用实现功能的用户App和隐私数据申请使用方。平台主要实现隐私数据存储、隐私数据显示授权使用、隐私数据检索、即时提醒服务以及用户密钥修改。用户App是手机端的应用程序,主要实现个人隐私数据的录入、平台即时通知消息的接收、隐私数据使用授权确认、解密密钥提供和密钥的修改。区块链,是隐私数据最终存放的位置。隐私数据申请使用方是需要使用用户隐私数据的一些应用系统,这些系统通过访问平台的调用接口API来与其交互,申请和获取隐私数据内容。
参看图1,本发明隐私数据访问方法的具体步骤为:
601)隐私数据申请使用方通过平台提供的API访问平台,向平台发起使用申请;
602)平台收到申请后,立即触发即时通知服务,向用户App发送通知;
603)用户在App上进行回应,决定是否授权以及具体的授权操作;
604)如果用户给了授权,则平台从区块链上取出数据,并结合用户在授权操作中提供的密钥进行解密操作;
605)如果用户授权了使用,则平台将用户的相关数据返回给隐私数据申请使用方;如果用户没有授权使用,则返回用户拒绝的信息给隐私数据申请使用方,整个过程结束。
实施例一:
参看图2,隐私数据存储的方法步骤如下:
101)平台收到客户端传来的明文的用户隐私数据,即将开始保存。
在此步骤中,隐私数据结构按照K-V形式,以JSON格式进行存储。隐私数据内容涉及到用户姓名、性别、身份证号、手机号、家庭住址和相关的家庭成员信息等。
102)平台对明文的隐私数据进行第一次加密,生成密文。
平台对JSON结构的隐私数据使用平台内置的加密算法和随机生成的密钥进行第一次数据加密。
103)加密完成后,平台保存加密的密钥。
第一次加密结束后,平台将加密的密钥附在加密的密文后作为一个整体的结果输出,进入到第二次加密的流程。
104)平台对第一次加密后的密文进行第二次加密。
平台使用内置的算法和随机生成的密钥对第一次加密的结果输出进行第二次加密。此次加密的密钥需要单独加密保存。
105)加密完成后,平台开始对第二次加密中使用的密钥进行加密;
平台准备使用内置的加密算法对第二次加密中使用的密钥进行加密,此次加密的密钥需要用户来提供,平生成也不保存该密钥。
106)平台让用户输入加密的密钥。
此时平台提示用户数据加密的密钥,为了便于记忆,系统一般限定密钥的长度在八位以内,包括数字和字母,字母不区分大小写。
107)用户输入加密的密钥。
108)平台用收到的密钥对第二次加密中使用的密钥进行加密。
平台收到密钥后,将小写字母转换成大写,然后开始加密第二次加密中使用的密钥,生成密文。
109)平台存储加密后的密钥。
平台将加密的结果保存在系统内,但是不保存用户输入的密钥明文。
110)平台生成用户的唯一代码,返回给发起数据存储请求的客户端。
111)平台在索引数据库中增加索引记录,其中数据在区块链上的地址信息是加密存储。
平台将数据保存在区块链上,同时对于新生成的数据需要在索引库中添加索引信息,用来以后进行快速查找用。索引信息中的数据在区块链上的地址信息使用平台默认的加密算法进行加密,确保该数据的机密性。该加密使用非对称加密算法,加密使用公钥加密,解密使用私钥来解密,解密的私钥由专门的解密服务来保管和使用。
112)平台记录触发数据访问所需要的的用户的唯一代码与设备的对应关系,便于向用户推送数据访问授权的消息。
实施例二:
参看图3,隐私数据使用的方法步骤如下:
201)平台收到隐私数据访问请求。
这种请求包括用户自己发起的,也包括第三方系统发起的。对于第三方系统发起的请求对用户来说可能是用户不知情的情况下发起的。但对于平台来说,只要是通过合法的渠道发来的请求均需要处理。
202)平台通过索引库得到用户数据在区块链上的加密后的地址,并通过解密服务来解密,解密服务首先触发即时提醒服务,然后进行解密操作。
在此过程中,平台首先从索引库中得到该用户的索引信息,取出数据的存储地址。由于数据的存储地址是加密的,而解密需要由独立的解密服务来执行,因此首先调用解密服务。在解密服务的执行流程中,首先会触发消息通知,即通知用户其隐私数据即将被访问,询问用户是否授权此次数据访问,然后才开始用私钥进行数据的解密。此时平台的处理过程处于等待用户反馈的状态。
203)即时提醒服务推送数据访问授权消息给用户,让用户决定是否允许访问。
204)用户收到平台推送的消息。
205)如果用户在2分钟内没有响应,平台终止数据访问请求,更新索引库,将拒绝访问次数增加一次。
206)如果用户拒绝,则平台终止数据访问请求,更新索引库,将拒绝访问次数增加一次。
207)如果用户允许,则需要用户提供解密的密钥。
208)如果用户通过终端以直接输入密钥的方式提供密钥,则让用户输入密钥的内容。
209)如果用户通过生物特征识别解锁存储在设备上的密钥,则可是进行生物特征识别验证,如果验证未通过,并且错误尝试次数在规定的次数内,可以继续尝试重新进行识别验证。
生物特征识别包括指纹或人脸的识别,均在终端中完成,平台不负责该项验证的过程。
210)如果验证错误超过规定的次数,则更新索引库,将拒绝访问次数增加一次,并结束并退出。
211)如果验证通过,则解锁并取出存储在设备上的密钥。
212)客户端传递密钥给平台。
213)平台用收到的密钥来解密被加密的解密密钥,如果解密不成功,并且尝试解密次数在规定的次数内,则重复步骤207);
214)如果解密不成功,并且尝试解密次数超过规定的次数,则更新索引库,将拒绝访问次数增加一次,并结束并退出。
215)如果解密成功,平台从区块链上取出数据,用解密后的密钥来对加密的隐私数据进行第一次解密。
平台将用户提供的密钥用于解密后,得到二次加密时使用的密钥,然后通过该密钥对加密的数据进行第一次解密,获得一次加密处理后的结果,即一次加密后的密文和加密的密钥。
216)平台继续用存储在平台上的密钥对隐私数据进行的二次解密,获得隐私数据的内容。
平台从第一次解密的结果中取出密钥,然后用该密钥对一次加密的密文进行解密操作,从而得到最终的隐私数据的明文。
217)返回数据内容,并更新索引,将允许访问次数增加一次。
平台将该明文数据通过加密的连接通道返回给客户端,并对索引库进行更新操作,便于后面的统计查询。
实施例三:
参考图4,隐私数据检索的方法步骤如下:
301)查询请求方通过录入用户的唯一代码,或通过扫描用户的二维码来发起查询请求。
查询数据需要提供用户的唯一代码,否则无法查询。用户的唯一代码可以通过两种方式提供,一种是直接输入,另一种是将用户的唯一代码转换成二维码,由二维码扫描设备扫描录入。
302)系统收到查询请求,准备开始检索索引库。
303)系统根据用户的唯一代码检索索引库。
304)如果是查询最新数据内容。
305)系统检索索引库中状态为1的记录。
索引库中状态有两种,状态为1的记录,这些记录所对应的数据表示当前最新的数据,状态为0的记录,表示是历史的记录,这些记录所对应的数据不是当前最新的数据。
306)取出数据在区块链上的地址信息。
具体步骤参照实施例二中的相关过程。
307)如果是查询数据变更历史。
308)系统检索索引库中所有该用户的记录。
所有用户的记录是指包括状态为1和0的所有索引库中该用户的记录。
309)取出每条数据在区块链上的地址信息。
具体步骤参照实施例二中的相关过程。
310)如果是查询数据授权使用统计。
311)系统检索索引库中状态为1的记录。
312)取出访问授权次数、访问拒绝次数。
授权次数是指平台通知用户后,用户同意访问隐私数据的次数,拒绝次数是指用户显式拒绝的操作、超时平台自动终止的操作和输入信息错误导致平台终止的操作次数总和。
实施例四:
参看图5,该实施例实际上是嵌入在实施例二中的一个子过程,访问隐私数据触发即时提醒服务的方法步骤如下:
401)查询服务调用解密服务来解密数据的地址。
此过程参阅实施例二中的相关处理步骤和过程。
402)解密服务触发即时提醒服务。
403)即时提醒服务找到对应要通知的设备。
404)即时提醒服务向需要要通知的设备推送消息。
消息内容包括某某时间,某某业务即将访问隐私数据,问用户是否同意,并提供同意和拒绝的操作方式。
405)即时提醒服务检查设备是否有回应。
406)如果有回应,则退出。
消息推送后,如果平台在规定时间(例如2分钟)内收到用户同意或拒绝的响应,退出该流程。
407)如果没有回应,则判断是否超过推送次数门限,如果超过,则退出,如果未超过,则重复步骤404)至步骤407)。
如果用户在多次推送消息后仍然没有回应,则平台认为用户拒绝,并退出该流程。
实施例五:
参看图6,密钥修改是为了确保密钥的安全性,用户保存的密钥修改的方法步骤如下:
501)用户发起修改密钥请求。
502)平台首先验证现有密钥,如果验证不通过,则退出现有流程。
平台首先需要用户提供当前的密钥来验证用户的合法身份,验证的过程就是使用用户提供的当前的密钥来解密保存的二次加密用的密钥的密文,如果成功解密,则进行后续的流程,如果解密不成功,则提示用户并退出。
503)如果验证通过,让用户输入新的密钥。
504)平台从索引库中检索出所用该用户的记录。
平台收到新的密钥后,首先需要检索出所有存储在区块链上该用户的数据。这些数据的二次加密过程使用的均是旧密钥,如果要更新密钥,则需要将这些数据使用新的密钥重新加密一遍,否则以后就无法用新密钥解密这些数据了。
505)平台从区块链上取出所有相关数据。
具体过程参阅实施例二中的相关流程步骤。
506)首先用旧的密钥解密所有数据。
此时指解密二次加密的数据,一次加密后的密文数据无需进行解密操作。
507)然后用新的密钥重新加密密所有数据。
将所有解密的数据使用新的密钥再重新加密一次,这样以后就可以使用新的密钥来解密这些数据了。
508)将重新加密的数据存入区块链。
重新加密后的数据以新数据的形式追加存储在区块链上。因为区块链的不可篡改性,所有历史数据均不能改动,因此只能追加存储。
509)将索引库中原来这些记录中的数据备份到历史库中。
那些用旧密钥存储的数据虽然无法从区块链上删除,但是可以从索引库中移走,为了便于今后追溯,这些移走的记录均保存在历史库中。
510)将索引库中原来这些记录中的数据地址字段更新为新的地址。
由于用新密钥加密的数据是追加存储在区块链上的,数据地址都是新的地址,因此索引库中数据地址的内容需要换成新的地址内容,其他的内容均不作变动。
511)返回密钥修改成功。
以上所有步骤均成功处理完成后,返回用户操作成功的消息。
本发明方法中对于隐私数据的存储,采用区块链存储隐私数据的主体部分,用关系型数据库存储隐私数据的索引部分。由于隐私数据的内容相对稳定,不会频繁变动,因此适合存储在区块链上,而且区块链的难以篡改的特性也确保了隐私数据的安全性和完整性。隐私数据的索引是指向隐私数据在区块链上的位置,便于系统快速定位到具体的隐私数据。索引的内容主要包括:用户ID、隐私数据在区块链上的地址(加密后的地址)、数据发生变动的时间戳、数据写入区块的时间戳、数据的版本号、访问授权次数、访问拒绝次数、状态。其中“数据的版本号”从数值1开始递增,递增幅度为1,即隐私数据的生成,其版本号为1,以后如果隐私数据发生变动,每变动一次,均在区块链中存储最新的数据集,并在索引中增加一条索引记录,指向新的区块地址,同时索引号递增1。索引中的“状态”用来标识最新的数据,数值1标识最新的数据,数值0标识历史的数据。
本发明方法中对于隐私数据的加密,采用双重加密的方式,即平台对数据进行一次平台加密过程,加密的密钥由平台保管,平台对一次加密后的数据再进行一次用户加密过程,并将加密的密钥也进行加密,此次对密钥进行加密时所使用的加密密钥由该隐私数据所属的用户提供并保管,系统不记录和存储此次加密的密钥,仅存储加密后的密钥密文。
本发明方法中对于隐私数据的使用,需要经过一次密钥的解密和两次数据的解密才能获得隐私数据的内容。首先平台首先需要解密用户加密过程中使用的密钥,由于该解密的密钥由用户保管,因此平台触发实时通知机制,通知用户其隐私数据需要被使用,询问用户是否同意其隐私数据是否被使用。如果用户同意,则提供解密的密钥,平台获得密钥后来解密用户加密过程中的加密密钥,然后用解密后的密钥来解密用户加密过程中的加密数据,获得平台加密过程中生成的加密数据。最有平台解密平台加密过程中生成的加密数据,获得最终的隐私数据内容。如果用户收到通知后,不同意或者在2分钟内没有应答,则平台自动取消此次隐私数据使用的请求。通过这种实时通知的方式让用户来参与数据解密的过程,极大增加了数据使用过程的透明度,让用户能够实时知晓自己的隐私数据是否被使用,被谁使用,并可以决定是否被使用。
本发明方法中对于即时通知的处理是通过即时提醒服务来进行触发。当存储在区块链上的隐私数据被访问时,即触发即时提醒服务,即时提醒服务向平台发送数据授权提醒消息,平台将该消息推送至用户端。提示用户隐私数据即将被谁访问,使用是否允许此次访问操作。用户端收到消息后,如果用户允许此次访问,则用户可以通过直接输入解密的密钥来授权使用,或者通过人脸、指纹等生物特征识别的方式来解锁存储在用户设备上的密钥,由设备端自动将密钥传递给平台。如果用户不允许,则可以选择禁止使用来通知平台不允许此次访问的操作,或者用户可以选择不做任何操作,则平台会在2分钟后自动终止此次操作请求。如果用户选择了允许,但是在2分钟内没有给出进一步的操作或解密的密钥3次输入错误,则平台也会终止整个访问请求。
本发明方法中用户保存的密钥可以修改,当用户修改密钥时,需要将历史数据用旧密钥解密后再用新密钥重新加密,新加密的数据追加存储在区块链上,并将索引库中该用户的所有记录先备份到历史库中,然后再将数据地址的内容更新为新的数据地址。
上述实施例以及说明只为对本发明方法的较佳解释,并非以此限制本发明的实施范围,凡依本发明的思路、原理所作的变化,均应涵盖在本发明的保护范围内。
Claims (10)
1.一种基于区块链和显式授权机制下的隐私数据访问方法,它包括区块链以及基于区块链之上、内置索引库模块的隐私数据服务平台,还包括与隐私数据服务平台配合使用实现功能的用户App和隐私数据申请使用方;隐私数据服务平台主要实现隐私数据存储、隐私数据显示授权使用、隐私数据检索、即时提醒服务以及用户密钥修改;用户App主要实现个人隐私数据的录入、平台即时通知消息的接收、隐私数据使用授权确认、解密密钥提供和密钥的修改;所述隐私数据访问方法的具体步骤为:
601)隐私数据申请使用方通过隐私数据服务平台提供的API访问隐私数据服务平台,向隐私数据服务平台发起使用申请;
602)隐私数据服务平台收到申请后,立即触发即时通知服务,向用户App发送通知;
603)用户在App上进行回应,决定是否授权以及具体的授权操作;
604)如果用户给了授权,则隐私数据服务平台从区块链上取出数据,并结合用户在授权操作中提供的密钥进行解密操作;
605)如果用户授权了使用,则隐私数据服务平台将用户的相关数据返回给隐私数据申请使用方;如果用户没有授权使用,则返回用户拒绝的信息给隐私数据申请使用方,整个过程结束。
2.根据权利要求1所述基于区块链和显式授权机制下的隐私数据访问方法,其特征在于,所述隐私数据存储的方法步骤如下:
101)隐私数据服务平台收到用户传来的明文隐私数据;
102)隐私数据服务平台对明文隐私数据进行第一次加密,生成密文;
103)第一次加密完成后,隐私数据服务平台保存加密的密钥;
104)隐私数据服务平台对第一次加密后的密文进行第二次加密;
105)第二次加密完成后,隐私数据服务平台开始对第二次加密中使用的密钥进行加密;
106)隐私数据服务平台让用户输入加密的密钥;
107)用户输入加密的密钥;
108)隐私数据服务平台用收到的密钥对第二次加密中使用的密钥进行加密;
109)隐私数据服务平台存储加密后的密钥,但是不保存用户输入的密钥;
110)隐私数据服务平台生成用户的唯一代码,返回给隐私数据申请使用方;
111)隐私数据服务平台在索引数据库中增加索引记录;
112)隐私数据服务平台记录触发数据访问所需要的用户唯一代码与设备的对应关系。
3.根据权利要求1或2所述基于区块链和显式授权机制下的隐私数据访问方法,其特征在于,所述隐私数据显示授权使用的方法步骤如下:
201)隐私数据服务平台收到隐私数据申请使用方的数据访问请求;
202)隐私数据服务平台通过索引库得到用户数据在区块链上加密后的地址,并通过解密服务来解密;解密服务首先触发即时提醒服务,然后进行解密操作;
203)即时提醒服务推送数据访问授权消息给用户,让用户决定是否允许访问;
204)用户收到隐私数据服务平台推送的消息;
205)如果用户在规定时间内没有响应,隐私数据服务平台终止数据访问请求,更新索引库,将拒绝访问次数增加一次并退出;
206)如果用户拒绝,则隐私数据服务平台终止数据访问请求,更新索引库,将拒绝访问次数增加一次并退出;
207)如果用户允许,则需要用户提供解密的密钥;
208)如果用户通过输入密钥的方式提供密钥,则让用户输入密钥;
209)如果用户通过生物特征识别解锁存储在设备上的密钥,则进行生物特征识别验证,如果验证未通过,并且错误尝试次数在设定的次数内,可以继续尝试重新进行识别验证;
210)如果验证错误超过设定的次数,则更新索引库,将拒绝访问次数增加一次,并结束退出;
211)如果验证通过,则解锁并取出存储在用户APP上的密钥;
212)用户APP传递密钥给隐私数据服务平台;
213)隐私数据服务平台用收到的密钥来解密被加密的解密密钥,如果解密不成功,并且尝试解密次数在设定的次数内,则重复步骤207);
214)如果解密不成功,并且尝试解密次数超过设定的次数,则更新索引库,将拒绝访问次数增加一次,并结束退出;
215)如果解密成功,隐私数据服务平台从区块链上取出数据,用解密后的密钥来对加密的隐私数据进行第一次解密;
216)隐私数据服务平台继续用存储在平台上的密钥对隐私数据进行第二次解密,获得隐私数据的内容;
217)返回数据内容,并更新索引,将允许访问次数增加一次。
4.根据权利要求3所述基于区块链和显式授权机制下的隐私数据访问方法,其特征在于,所述隐私数据检索的方法步骤如下:
301)隐私数据申请使用方发起查询请求;
302)隐私数据服务平台收到查询请求,准备开始检索索引库;
303)隐私数据服务平台是否根据用户的唯一代码检索索引库;
304)如果是查询最新数据内容;
305)隐私数据服务平台检索索引库中状态为1的记录;
306)取出数据在区块链上的地址信息;
307)如果是查询数据变更历史;
308)隐私数据服务平台检索索引库中所有该用户的记录;
309)取出每条数据在区块链上的地址信息;
310)如果是查询数据授权使用统计;
311)隐私数据服务平台检索索引库中状态为1的记录;
312)取出访问授权次数、访问拒绝次数。
5.根据权利要求4所述基于区块链和显式授权机制下的隐私数据访问方法,其特征在于,所述即时提醒服务的方法步骤如下:
401)查询服务调用解密服务来解密数据的地址;
402)解密服务触发即时提醒服务;
403)即时提醒服务找到对应要通知的用户APP;
404)即时提醒服务向需要通知的用户APP推送消息;
405)即时提醒服务检查用户APP是否有回应;
406)如果有回应,则退出;
407)如果没有回应,则判断是否超过推送次数门限,如果超过,则退出,如果未超过,则重复步骤404)至步骤407)。
6.根据权利要求5所述基于区块链和显式授权机制下的隐私数据访问方法,其特征在于,所述密钥修改的方法步骤如下:
501)用户发起修改密钥请求;
502)隐私数据服务平台首先验证现有密钥,如果验证不通过,则退出现有流程;
503)如果验证通过,让用户输入新的密钥;
504)隐私数据服务平台从索引库中检索出所用该用户的记录;
505)隐私数据服务平台从区块链上取出所有相关数据;
506)首先用旧的密钥解密所有数据;
507)然后用新的密钥重新加密所有数据;
508)将重新加密的数据存入区块链;
509)将索引库中原来这些记录中的数据备份到历史库中;
510)将索引库中原来这些记录中的数据地址字段更新为新的地址;
511)返回密钥修改成功。
7.根据权利要求6所述基于区块链和显式授权机制下的隐私数据访问方法,其特征在于,所述隐私数据存储方法中平台在索引数据库中增加索引记录时,其中数据在区块链上的地址信息是加密存储。
8.根据权利要求7所述基于区块链和显式授权机制下的隐私数据访问方法,其特征在于,所述隐私数据使用的方法中规定时间设为2分钟。
9.根据权利要求8所述基于区块链和显式授权机制下的隐私数据访问方法,其特征在于,所述隐私数据检索的方法中查询请求方通过录入用户的唯一代码,或者通过扫描用户的二维码来发起查询请求。
10.根据权利要求9所述基于区块链和显式授权机制下的隐私数据访问方法,其特征在于,所述第一次加密、第二次加密、对秘钥进行加密、用户数据在区块链上加密和用新的秘钥加密所有数据这些加密过程使用国产商用密码算法,数据存储在区块链之前以及存储在数据库中的数据加密均使用对称加密算法,数据存储到区块链上的加密使用非对称加密算法,数据处理过程中需要生成一些随机数使用杂凑算法;对称加密算法使用的是SM4、非对称加密算法使用的是SM2、杂凑算法使用的是SM3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010324363.6A CN111222167A (zh) | 2020-04-23 | 2020-04-23 | 一种基于区块链和显式授权机制下的隐私数据访问方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010324363.6A CN111222167A (zh) | 2020-04-23 | 2020-04-23 | 一种基于区块链和显式授权机制下的隐私数据访问方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111222167A true CN111222167A (zh) | 2020-06-02 |
Family
ID=70830113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010324363.6A Pending CN111222167A (zh) | 2020-04-23 | 2020-04-23 | 一种基于区块链和显式授权机制下的隐私数据访问方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111222167A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112069531A (zh) * | 2020-07-17 | 2020-12-11 | 北京百度网讯科技有限公司 | 隐私数据的授权方法和平台、客户端、修复端 |
CN112199723A (zh) * | 2020-10-16 | 2021-01-08 | 深圳无域科技技术有限公司 | Pki系统、pki控制方法以及数据安全系统 |
CN113420319A (zh) * | 2021-04-08 | 2021-09-21 | 同方股份有限公司 | 一种基于区块链和权限合约的数据隐私保护的方法和系统 |
CN113542247A (zh) * | 2021-07-06 | 2021-10-22 | 建信金融科技有限责任公司 | 一种基于数据加密的业务推送方法、装置及设备 |
CN113806717A (zh) * | 2021-08-26 | 2021-12-17 | 浪潮卓数大数据产业发展有限公司 | 一种设备跟用户的授权管理方法 |
CN114377403A (zh) * | 2022-01-12 | 2022-04-22 | 北京明朝万达科技股份有限公司 | 游戏防沉迷监测方法、装置、存储介质及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106899607A (zh) * | 2017-03-21 | 2017-06-27 | 杭州迪普科技股份有限公司 | 一种信息加密发送及解密接收的方法及装置 |
CN106973036A (zh) * | 2017-02-07 | 2017-07-21 | 杭州云象网络技术有限公司 | 一种基于非对称加密的区块链隐私保护方法 |
CN108768990A (zh) * | 2018-05-18 | 2018-11-06 | 浙江工商大学 | 一种基于区块链的可搜索加密方法 |
CN108881160A (zh) * | 2018-05-07 | 2018-11-23 | 北京信任度科技有限公司 | 基于区块链智能合约的医疗健康数据管理方法及系统 |
-
2020
- 2020-04-23 CN CN202010324363.6A patent/CN111222167A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106973036A (zh) * | 2017-02-07 | 2017-07-21 | 杭州云象网络技术有限公司 | 一种基于非对称加密的区块链隐私保护方法 |
CN106899607A (zh) * | 2017-03-21 | 2017-06-27 | 杭州迪普科技股份有限公司 | 一种信息加密发送及解密接收的方法及装置 |
CN108881160A (zh) * | 2018-05-07 | 2018-11-23 | 北京信任度科技有限公司 | 基于区块链智能合约的医疗健康数据管理方法及系统 |
CN108768990A (zh) * | 2018-05-18 | 2018-11-06 | 浙江工商大学 | 一种基于区块链的可搜索加密方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112069531A (zh) * | 2020-07-17 | 2020-12-11 | 北京百度网讯科技有限公司 | 隐私数据的授权方法和平台、客户端、修复端 |
CN112069531B (zh) * | 2020-07-17 | 2023-07-28 | 北京百度网讯科技有限公司 | 隐私数据的授权方法和平台、客户端、修复端 |
CN112199723A (zh) * | 2020-10-16 | 2021-01-08 | 深圳无域科技技术有限公司 | Pki系统、pki控制方法以及数据安全系统 |
CN113420319A (zh) * | 2021-04-08 | 2021-09-21 | 同方股份有限公司 | 一种基于区块链和权限合约的数据隐私保护的方法和系统 |
CN113542247A (zh) * | 2021-07-06 | 2021-10-22 | 建信金融科技有限责任公司 | 一种基于数据加密的业务推送方法、装置及设备 |
CN113806717A (zh) * | 2021-08-26 | 2021-12-17 | 浪潮卓数大数据产业发展有限公司 | 一种设备跟用户的授权管理方法 |
CN114377403A (zh) * | 2022-01-12 | 2022-04-22 | 北京明朝万达科技股份有限公司 | 游戏防沉迷监测方法、装置、存储介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111222167A (zh) | 一种基于区块链和显式授权机制下的隐私数据访问方法 | |
US8321953B2 (en) | Secure storage device with offline code entry | |
US8266378B1 (en) | Storage device with accessible partitions | |
US10205711B2 (en) | Multi-user strong authentication token | |
US20190384934A1 (en) | Method and system for protecting personal information infringement using division of authentication process and biometric authentication | |
US6360322B1 (en) | Automatic recovery of forgotten passwords | |
CN109767534B (zh) | 基于区块链的门禁访问方法、系统、管理终端和门禁终端 | |
US8335920B2 (en) | Recovery of data access for a locked secure storage device | |
US20210070252A1 (en) | Method and device for authenticating a user to a transportation vehicle | |
US10445487B2 (en) | Methods and apparatus for authentication of joint account login | |
KR101451359B1 (ko) | 사용자 계정 회복 | |
US9391997B2 (en) | Message processing apparatus, wireless device and method of storing a message in a wireless device | |
CN112425114A (zh) | 受公钥-私钥对保护的密码管理器 | |
US10867056B2 (en) | Method and system for data protection | |
DK2414983T3 (en) | Secure computer system | |
US10348496B2 (en) | Method for leveraging a secure telecommunication session | |
KR102160656B1 (ko) | 장정맥을 이용한 로그인 방법 | |
US7587051B2 (en) | System and method for securing information, including a system and method for setting up a correspondent pairing | |
CN115547441B (zh) | 一种基于个人健康医疗数据的安全获取方法及系统 | |
KR101651563B1 (ko) | 사용 이력 기반의 인증코드 관리 시스템 및 그 방법 | |
JP2004013560A (ja) | 認証システム、通信端末及びサーバ | |
RU2698424C1 (ru) | Способ управления авторизацией | |
CN110830252B (zh) | 数据加密的方法、装置、设备和存储介质 | |
CN113792272A (zh) | 密码库管控方法、装置、存储介质及电子设备 | |
KR20190061606A (ko) | 인증프로세스의 단계분할과 생체인증을 접목한 개인정보침해 방어 방법 및 시스템 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200602 |