一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

生成装置、生成方法和验证装置与流程

2022-05-18 20:49:48 来源:中国专利 TAG:


1.本公开涉及生成装置、生成方法和验证装置。


背景技术:

2.已经提出了在诸如身份验证处理的认证处理的情况下尝试保护隐私并提供便利,以使用诸如用户的姓名、地址、电话号码和电子邮件地址的个人信息在因特网上接收服务。
3.鉴于隐私保护,在诸如身份验证处理的认证处理中,可以考虑使用零知识证明方法,在该方法中,用户不需要呈现用户不想要透露的信息,诸如个人信息。
4.引用列表
5.专利文献
6.专利文献1:jp 2019-40537 a。


技术实现要素:

7.技术问题
8.零知识证明方法的使用涉及这样的问题,即由于定义个人信息的条件的复杂性,与用于认证个人信息已知的认证信息的改变相关联的处理负担大。
9.为了解决该问题,本公开提出了生成装置、生成方法和验证装置,其可以减小与认证信息的改变相关联的处理负担。
10.问题的解决方案
11.为了解决上述问题,根据本公开的实施例的提供需要身份验证过程的服务的生成装置包括:条件表达式生成单元,其针对不同的条件生成在一个或多个条件下定义机密信息的多个条件表达式;以及认证信息生成单元,其生成基于条件表达式中的每一个的多个证明作为认证信息。
附图说明
12.图1是示意性地示出根据实施例的信息处理系统的系统配置的示例的示图。
13.图2是示出根据实施例的信息处理系统的概要的示图。
14.图3是示出根据比较示例的认证信息的生成方法的示例的示图。
15.图4是示出根据实施例的用户终端的功能配置的示例的框图。
16.图5是示出根据实施例的信息库装置的功能配置的示例的框图。
17.图6是示出根据实施例的存储在个人信息存储单元中的信息的概要的示图。
18.图7是示出根据实施例的存储在认证信息存储单元中的信息的概要的示图。
19.图8是示出根据实施例的设置处理的概要的示图。
20.图9是示出根据实施例的设置处理的概要的示图。
21.图10是示出根据实施例的设置处理的概要的示图。
22.图11是示出根据实施例的认证信息的生成方法的概要的示图。
23.图12是示出根据实施例的认证信息的生成方法的概要的示图。
24.图13是示出根据实施例的认证信息的生成方法的概要的示图。
25.图14是示出根据实施例的认证信息的更新方法的概要的示图。
26.图15是示出根据实施例的认证信息的更新方法的概要的示图。
27.图16是示出根据实施例的信息用户装置的功能配置的示例的框图。
28.图17是示出根据实施例的验证处理的概要的示图。
29.图18是示出根据实施例的信息处理系统的处理步骤的示例的序列图。
30.图19是示出根据实施例的信息处理系统的处理步骤的示例的序列图。
31.图20是示出根据实施例的信息处理系统的处理步骤的示例的序列图。
32.图21是示出根据实施例的信息处理系统的处理步骤的示例的序列图。
33.图22是示出根据修改示例的条件表达式的概要的示图。
34.图23是示出实现信息库装置的功能的计算机的示例的硬件配置图。
具体实施方式
35.在下文中,将参考附图详细描述本公开的实施例。在以下实施例中,相同的部分标注相同的参考标记,并且在一些情况下省略这些部分的重复说明。
36.此外,按照以下项目的顺序描述本公开。
37.1.系统配置示例
38.2.功能配置示例
39.3.处理步骤示例
40.4.修改示例
41.5.其他
42.6.概述
43.7.硬件配置
44.(1.系统配置示例)
45.参考图1和图2描述根据实施例的信息处理系统的系统配置的示例。图1是示意性地示出根据实施例的信息处理系统的系统配置的示例的示图。图2是示出根据实施例的信息处理系统的概要的示图。
46.如图1所示,根据实施例的信息处理系统1包括用户终端10、信息库装置20(信息库装置20a、20b)和信息用户装置30(信息用户装置30a、30b)。信息库装置20用作生成使用零知识证明的验证的信息的生成装置。信息用户装置30用作使用零知识证明执行验证的验证装置。
47.下面描述了一个示例,在该示例中,在根据实施例的信息处理系统1中,信息库装置20实现用于管理作为机密信息的示例的用户的个人信息的信息管理服务,以及用于向信息用户装置30的用户提供个人信息的信息提供服务。由根据实施例的信息处理系统1实现的服务形式不特别限于该示例。机密信息可以是关于公司等的信息以及个人信息,并且可以是诸如需要保持匿名的信息和不应该透露其来源的信息的各种类型的信息。
48.用户终端10、信息库装置20和信息用户装置30连接到通信网络100。用户终端10和信息库装置20经由通信网络100执行用于发送和接收各种类型的数据的数据通信。信息库
装置20和信息用户装置30经由通信网络100执行用于发送和接收各种类型的数据的数据通信。
49.通信网络100可以由诸如因特网、电话线路网络或卫星通信网络的公共线路网络、包括以太网(注册商标)的各种局域网(lan)和广域网(wan)来实现。通信网络100也可以通过诸如wi-fi(注册商标)或蓝牙(注册商标)的无线通信网络来实现。另选地,通信网络100可以通过诸如因特网协议-虚拟专用网络(ip-vpn)的专用线路网络来实现。
50.通信网络100可以包括对等网络(以下称为“p2p网络”)。p2p网络有时被称为p2p分布式文件系统。信息处理系统1可以使用例如分布在p2p网络中的分布式p2p数据库。p2p数据库例如由多个信息处理装置110a至110d构成。p2p数据库的示例是分布在p2p网络中的区块链系统110。
51.区块链系统110管理指示信息处理系统1中对个人信息的请求和获取的历史的历史数据(日志)。通过使用加密密钥对每组历史数据进行数字签名或通过对每组交易数据进行加密来防止对历史数据的欺骗和伪造。此外,每组历史数据被公开并由所有信息处理装置110a至110d共享。
52.如图2所示,想要在信息库装置20的信息提供服务中注册信息的用户u1操作用户终端10以在信息库装置20中注册个人信息。用户u1连同个人信息的注册一起注册允许向其提供个人信息的公开目的地。
53.信息库装置20管理由用户u1注册的个人信息。信息库装置20执行设置处理,以针对不同的条件生成在一个或多个条件下定义个人信息的多个条件表达式。在设置处理中,对所生成的条件表达式中的每一个添加相同的随机数,并且该相同的随机数表示条件表达式中的每一个定义了属于特定个体的个人信息。作为随机数,可以使用仅用户u1知道的信息,诸如个人信息。此外,在设置处理中,针对所生成的条件表达式中的每一个,一起生成用于零知识证明的认证密钥和验证密钥。
54.此外,信息库装置20生成基于条件表达式中的每一个的多个证明(以下,适当地称为证明)作为用于使用零知识证明的验证的认证信息。证明是用于例如向信息用户装置30的用户证明满足由信息用户装置30的用户指定的条件的个人信息是已知的而无需公开该个人信息的信息。例如,信息用户装置30使用验证密钥来验证利用认证密钥生成的证明,从而可以执行关于信息库装置20是否知道满足条件的个人信息的条件确定。
55.当从信息用户装置30接收对个人信息的请求时,信息库装置20向信息用户装置30提供多个证明中与指定条件匹配的证明。此外,信息库装置20连同该证明一起提供公共信息和用于根据信息用户装置30验证该证明的验证密钥。
56.信息用户装置30向信息库装置20请求个人信息,以验证从信息库装置20获取的证明。使用例如指定搜索条件的查询来提出对个人信息的请求。
57.图3是示出根据比较示例的认证信息的生成方法的示例的示图。个人信息可以由诸如年龄、电话号码和地址的一个或多个条件来定义。例如,如图3所示,基于用户的个人信息和包括定义年龄的条件d和定义地址的条件e这两个条件的条件表达式f,可以生成基于条件表达式f的“证明:f”。在这种情况下,例如,如果用户的年龄已改变,则基于包括条件d和条件e这两个条件的条件表达式f生成的“证明:f”整体需要重新生成,即使地址没有改变。
58.另一方面,在根据实施例的信息处理系统1中,针对不同的条件生成在一个或多个条件下定义个人信息的多个条件表达式。在根据实施例的信息处理系统1中,生成基于条件表达式中的每一个的多个证明作为用于使用零知识证明的验证的认证信息。因此,在根据本实施例的信息处理系统1中,可以针对不同的条件部分地管理在一个或多个条件下定义个人信息的条件表达式。因此,根据本实施例的信息处理系统1,即使个人信息或条件已改变,也可以单独更新针对每个条件表达式生成的证明,并且可以减小与认证信息的改变相关联的处理负担。
59.(2.功能配置示例)
60.随后,描述包括在根据实施例的信息处理系统1中的每个装置的功能配置的示例。
61.(2-1.用户终端)
62.用户终端10是由使用由信息库装置20提供的信息管理服务的用户操作的用户装置。用户终端10例如由诸如包括智能电话的移动电话、平板终端、台式pc、膝上型pc或个人数字助理(pda)的信息处理装置实现。
63.图4是示出根据实施例的用户终端的功能配置的示例的框图。如图4所示,用户终端10包括通信单元11、输入单元12、输出单元13、图像捕获单元14、定位单元15、检测单元16、存储单元17和控制单元18。
64.图4示出了根据实施例的用户终端10的功能配置的示例,并且实施例不特别限于图4所示的示例,并且可以使用能够实现用户终端10的各种处理的任何配置。此外,图4所示的用户终端10的构成要素在功能上是概念性的,并且不必在物理上如图4所示那样配置。例如,功能框的具体分布和集成形式不限于附图中所示的形式,并且其全部或一部分可以根据各种负载、使用条件等通过功能上或物理上分布和集成在任意单元中来配置。
65.通信单元11例如由网络接口卡(nic)等实现。通信单元11通过有线或无线方式连接到通信网络100,并且经由通信网络100向信息库装置20等发送信息/从信息库装置20等接收信息。
66.输入单元12包括键盘和鼠标,并且接收来自用户终端10的用户的各种操作。输入单元12从用户接收的操作包括为了使用由信息库装置20提供的信息管理服务所需的用户注册操作,以及注册(上传)个人信息的操作。输入单元12可以具有诸如麦克风的声音输入装置,并且能够经由语音输入装置接收诸如用户语音的输入。
67.输出单元13包括显示器和扬声器,并且输出各种类型的信息。输出单元13所输出的信息包括由信息库装置20提供的用户注册操作和利用其执行个人信息的注册操作的用户界面。
68.图像捕获单元14包括诸如相机的装置并且捕获图像。如果可以在信息管理服务中处理由图像捕获单元14获取的诸如用户的面部图像和虹膜图像的数据,则可以将这样的数据注册为用户的一条个人信息。
69.定位单元15包括全球定位系统(gps)并且获取用户终端10的位置。如果可以在信息管理服务中处理由定位单元15获取的用户的位置信息,则可以将该位置信息注册为用户的一条个人信息。
70.检测单元16包括加速度传感器、陀螺仪传感器和生物传感器,并且检测作用在用户终端10上的各种类型的信息。如果可以在信息管理服务中处理由检测单元16获取的诸如
与用户的步态相对应的特征量和心跳波形以及指纹特征点的生物信息,则可以将该生物信息注册为用户的一条个人信息。
71.存储单元17存储用于实现由控制单元18执行的各种处理功能的程序、数据等。存储单元17例如由诸如随机存取存储器(ram)、闪存存储器的半导体存储器装置或者诸如硬盘或光盘的存储装置来实现。存储在存储单元17中的程序包括用于实现与控制单元18的每个单元相对应的处理功能的控制程序。控制程序提供用于使用户终端10执行与使用信息管理服务所需的用户注册操作、个人信息注册操作等相关的处理的处理功能。
72.控制单元18在用户终端10中执行各种处理。控制单元18例如由诸如中央处理单元(cpu)或微处理单元(mpu)的处理器来实现。例如,控制单元18响应于存储在用户终端10的存储装置中的、由处理器使用随机存取存储器(ram)等作为工作区域执行的各种程序来实现。另选地,控制单元18可以例如通过诸如专用集成电路(asic)或现场可编程门阵列(fpga)的集成电路来实现。
73.控制单元18包括注册单元18a和改变请求单元18b,并且各个单元实现或执行用户终端10的各种处理的功能和操作。
74.注册单元18a执行用于执行使用信息管理服务所需的用户注册操作、个人信息注册操作等的处理。改变请求单元18b执行请求改变注册在信息库装置20中的个人信息的处理。
75.(2-2.信息库装置)
76.信息库装置20是由提供用于管理用户的个人信息的信息管理服务和用于向信息用户装置30提供个人信息的信息提供服务的服务提供商管理的装置。信息库装置20由诸如云环境中的服务器的信息处理装置实现。
77.图5是示出根据实施例的信息库装置的功能配置的示例的框图。如图5所示,信息库装置20包括通信单元21、存储单元22和控制单元23。
78.图5示出了根据实施例的信息库装置20的功能配置的示例,并且实施例不特别限于图5所示的示例,并且可以使用能够实现信息库装置20的各种处理的任何配置。此外,图5所示的信息库装置20的构成要素在功能上是概念性的,并且不必在物理上如图5所示那样配置。例如,功能框的具体分布和集成形式不限于附图中所示的形成,并且其全部或一部分可以根据各种负载、使用条件等通过功能上或物理上分布和集成在任意单元中来配置。
79.通信单元21例如由网络接口卡(nic)等实现。通信单元21通过有线或无线方式连接到通信网络100,并且经由通信网络100向用户终端10和信息用户装置20等发送信息/从用户终端10和信息用户装置20等接收信息。
80.存储单元22存储用于实现由控制单元23执行的各种处理功能的程序、数据等。存储单元22例如由诸如随机存取存储器(ram)、闪存存储器的半导体存储器装置或者诸如硬盘或光盘的存储装置来实现。存储在存储单元22中的程序包括用于实现与控制单元23的每个单元相对应的处理功能的控制程序。控制程序提供用于实现利用用户终端10执行的用户注册、个人信息注册等以便提供信息管理服务的各种处理功能。此外,控制程序提供用于实现信息提供服务的各种处理功能。
81.如图5所示,存储单元22包括个人信息存储单元22a和认证信息存储单元22b。
82.图6是示出根据实施例的存储在个人信息存储单元中的信息的概要的示图。如图6
所示,个人信息存储单元22a包括指示与用户id的项目相关的指示识别个人信息的属性的多个项目和信息公开目的地的项目。在用户id的项目中,存储唯一给予已注册为信息管理服务的用户的用户的用户id。个人信息存储单元22a包括例如姓名、地址、电话号码和年龄的项目作为指示个人信息的属性的项目,并且存储与这些项目相对应的个人信息。
83.信息库装置20可以处理的个人信息的示例包括诸如卡号的机密信息、已知信息的组合、感测数据、我的号码以及诸如信用卡信息的其他信息。已知信息的组合的示例除了家庭地址和电话号码之外,还包括姓氏、父母家庭的地址或电话号码以及父母的娘家姓。感测数据的示例包括指纹、特定位置(诸如家庭)的位置信息以及生物信息(诸如虹膜、面部和步态)。在信息公开目的地的项目中,存储识别在信息管理服务中的用户注册时用户允许向其提供个人信息的公司等的信息。注意,作为用于识别允许向其提供个人信息的公司等的信息,除了将公司的名称设置为公开目的地之外,可以存储基于信息用户的使用目的的条件和基于提供信息的补偿的条件。例如,不向以直接营销为目的请求信息提供的信息用户公开信息的配置是可能的。仅在为信息提供支付补偿或补偿超过预定量的情况下才公开信息的另一配置也是可能的。此外,个人信息不必是实际数据本身,并且可以是加密数据或匿名处理的数据。此外,可以针对个人信息的项目单独设置信息公开目的地,或者可以针对所有个人信息共同设置信息公开目的地。
84.图7是示出根据实施例的存储在认证信息存储单元中的信息的概要的示图。如图7所示,认证信息存储单元22b包括用户id的项目和认证信息的项目,并且这些项目彼此相关联。在用户id的项目中,存储唯一给予已注册为信息管理服务的用户的用户的用户id。关于用户注册时生成的证明的信息被存储在认证信息的项目中。
85.控制单元23在信息库装置20中执行各种处理。控制单元23例如由诸如中央处理单元(cpu)或微处理单元(mpu)的处理器来实现。例如,控制单元23响应于存储在信息库装置20的存储装置中的、由处理器使用随机存取存储器(ram)等作为工作区域执行的各种程序来实现。另选地,控制单元23可以例如通过诸如专用集成电路(asic)或现场可编程门阵列(fpga)的集成电路来实现。
86.如图5所示,控制单元23包括设置处理单元23a、生成单元23b、提供单元23c和重新生成单元23d,并且每个单元实现或执行信息库装置20的各种处理的功能和操作。
87.设置处理单元23a用作条件表达式生成单元,其针对不同的条件生成在一个或多个条件下定义机密信息的多个条件表达式。设置处理单元23a的设置处理作为初始设置仅执行一次。图8至图10是示出根据实施例的设置处理的概要的示图。
88.例如,如图8至图10所示,设置处理单元23a生成例如在预定条件下定义一条个人信息j1的条件表达式a、在预定条件下定义两条个人信息j2和j3中的每一个的条件表达式b,以及定义条件表达式a和条件表达式b是正确的条件表达式c。在图8至图10所示的示例中,个人信息j1至j3对应于可以数字定义的个人信息。
89.例如,条件表达式a定义了某个个人信息j1大于100的条件。条件表达式a包括公共信息q等于100的条件。此外,条件表达式b定义了某个个人信息j2大于1且个人信息j3小于10的条件。条件表达式c定义了条件表达式a(个人信息j1大于100)和条件表达式b(个人信息j2大于1且个人信息j3小于10)两者都是正确的。
90.此外,如图8至图10所示,相同的随机数α被添加到条件表达式a至c作为指示由条
件表达式a至c中的每一个定义的个人信息属于特定个体的信息。随机数α因此可以证明定义个人信息j1到j3的条件表达式a至c中的每一个定义属于同一用户的个人信息,并且可以防止在信息用户装置30的证明验证时使用随机组合进行验证。当注册用户终端10的用户的个人信息时,设置处理单元23a生成随机数α用加密密钥加密的信息(enc(α))。设置处理单元23a将随机数α被加密的信息(enc(α))注册为区块链系统110中的公共信息enc(α)。此外,当用户终端10的用户的个人信息被注册时,设置处理单元23a可以在区块链系统110中注册公共信息q。作为公共信息q,例如,可以使用用户终端10的用户已确定为可公开获得的个人信息,并且可以从用户终端10的用户处获得。作为公共信息注册在区块链系统110中的公共信息enc(α)和公共信息q与证明一起提供给信息用户装置30,并且在信息用户装置30使用零知识证明验证证明时使用。
91.此外,设置处理单元23a生成与所生成的条件表达式a相对应的认证密钥a和验证密钥a、与所生成的条件表达式b相对应的认证密钥b和验证密钥b以及与所生成的条件表达式c相对应的认证密钥c和验证密钥c。例如,设置处理单元23a将条件表达式a至c中的每一个转换为由加法和乘法表示的一列公式以获得所转换的列被视为矩阵的r1cs。然后,设置处理单元23a通过使用随机数α和通过将r1cs转换为qap而获得的矩阵的值作为标量值的椭圆曲线加密法执行标量乘法,并且生成认证密钥和验证密钥。
92.以这种方式,设置处理单元23a可以针对不同的条件,部分地管理在一个或多个条件下定义个人信息的条件表达式。
93.生成单元23b针对条件表达式中的每一个生成基于由设置处理单元23a生成的多个条件表达式的证明,作为用于使用零知识证明的验证的认证信息。生成单元23b用作认证信息生成单元,其生成基于条件表达式中的每一个的多个证明作为认证信息。
94.响应于从用户终端10接收用户注册请求,生成单元23b执行用户注册处理。具体地,生成单元23b向作为用户注册请求的来源的用户终端10的用户分配用户id。生成单元23b然后将包括用户id的用户注册请求发送到区块链系统110。
95.此外,在完成用户注册处理之后,生成单元23b将从用户终端10获取的个人信息与用户id相关联地存储在个人信息存储单元22a中。当个人信息被完全保存时,生成单元23b生成证明。图11至图13是示出根据实施例的认证信息的生成方法的概要的示图。在以下描述中,公共信息j4指的是注册在区块链系统110中的公共信息enc(α)和公共信息q中的至少一个。
96.例如,如图11所示,生成单元23b通过将基于由设置处理单元23a生成的认证密钥a和条件表达式a获得的qap与用户的个人信息p1和公共信息j4(enc(α),q)相乘来计算标量值。生成单元23b然后使用认证密钥a对所计算的标量值进行加密,将加密值加在一起以生成基于条件表达式a的“证明:a”。
97.此外,如图12所示,生成单元23b通过将基于由设置处理单元23a生成的认证密钥b和条件表达式b获得的qap与用户的个人信息j2和j3以及公共信息j4(enc(α))相乘来计算标量值。生成单元23b然后使用认证密钥b对所计算的标量值进行加密,将加密值加在一起以生成基于条件表达式b的“证明:b”。
98.此外,如图13所示,生成单元23b通过将基于由设置处理单元23a生成的认证密钥c和条件表达式c获得的qap与用户的个人信息j1至j3和公共信息j4(enc(α)相乘来计算标量
值。生成单元23b然后使用认证密钥c对所计算的标量值进行加密,将加密值加在一起以生成基于条件表达式c的“证明:c”。
99.生成单元23b将所生成的多个证明与用户id相关联地存储在认证信息存储单元22b中。生成单元23b还将所生成的证明与用户id相关联地注册在区块链系统110中。当在区块链系统110中注册证明时,生成单元23b根据区块链系统110与用于注册证明的相同用户id相关联地注册公共信息enc(α)和公共信息q。
100.上述由设置处理单元23a和生成单元23b进行的处理可以通过使用例如“zk-snark”来执行,zk-snark为例如在以下文献中所公开的用于非交互地实现零知识证明提议的现有技术。
101.《https://eprint.iacr.org/2016/260.pdf》
102.《http://zerocash-project.org/media/pdf/zerocash-oakland2014.pdf》
103.提供单元23c响应于从信息用户装置30接收到的对个人信息的请求,从由生成单元23b生成的多个证明中提供与指定条件匹配的证明(证明列表)。例如,提供单元23c确定是否存在对将作为个人信息的请求源的信息用户装置30的用户设置为信息公开目的地的个人信息的注册。如果注册了将信息用户装置30的用户设置为信息公开目的地的个人信息,则从存储在认证信息存储单元22b中的多个证明中搜索与由信息用户装置30指定的条件相匹配的证明。换句话说,响应于从信息用户装置30接收到的对个人信息的请求,提供单元23c从存储在认证信息存储单元22b中的多个证明中搜索使用与查询中指定的搜索条件相匹配的个人信息生成的证明。然后,提供单元23c将使用与搜索条件相匹配的个人信息生成的证明的列表发送到信息用户装置30。
104.响应于与从用户终端10接收到的与改变请求相对应的新个人信息,重新生成单元23d将与作为改变请求的发送者的用户的用户id相关联地存储的个人信息更新为新的个人信息。
105.此外,重新生成单元23d用作认证信息生成单元,其响应于条件表达式中定义的个人信息的改变,重新生成和更新基于定义与改变相对应的个人信息的条件表达式的证明。图14是示出根据实施例的认证信息的更新方法的概要的示图。在个人信息p1改变为个人信息p1’的情况下,重新生成单元23d丢弃基于个人信息p1的证明:a。随后,如图14所示,重新生成单元23d重新生成基于从用户终端10接收的新的个人信息p1’的证明:a’。然后,重新生成单元23d将重新生成的证明:a’与作为改变请求的发送者的用户的用户id相关联地存储到认证信息存储单元22b中。例如,响应于从用户接收到的改变地址的请求,重新生成单元23d丢弃基于用户先前地址的证明,使用新地址重新生成证明,并将重新生成的证明存储到认证信息存储单元22b中。如上所述,重新生成单元23d可以基于改变的个人信息仅单独更新证明。因此,可以缩短重新生成证明所需的处理时间。
106.此外,响应于包括在条件表达式中的条件的改变,重新生成单元23d重新生成和更新基于包括要改变的条件的条件表达式的证明。图15是示出根据实施例的认证信息的更新方法的概要的示图。在包括条件“个人信息j1>100”的条件表达式a被改变为包括条件“个人信息j1>150”的条件表达式a’的情况下,重新生成单元23d丢弃通过使用条件表达式a生成的证明:a。随后,如图15所示,重新生成单元23d使用包括新条件“个人信息j1>150”的条件表达式a’来生成认证密钥a’和验证密钥a’,并生成基于条件表达式a’的新证明:a”。重新
生成单元23d然后将重新生成的证明:a”存储到认证信息存储单元22b中。例如,在定义用户的年龄条件的条件表达式从定义20岁及以上的条件的条件表达式改变为定义30岁及以上的条件的条件表达式的情况下,重新生成单元23d丢弃基于定义20岁及以上的条件的条件表达式的证明。然后,重新生成基于定义30岁及以上的条件的条件表达式的证明,并将其存储到认证信息存储单元22b中。如上所述,重新生成单元23d可以仅单独地更新包括要改变的条件的证明。因此,可以缩短重新生成证明所需的处理时间。
107.在向信息用户装置30提供证明的情况下,信息库装置20将信息用户装置30对信息提供服务的使用历史注册在区块链系统110中。信息库装置20可以将例如关于信息用户装置30的用户的信息、做出请求的日期和时间以及关于所提供的证明的信息作为信息提供服务的使用历史注册在区块链系统110中。
108.(2-3.信息用户装置)
109.信息用户装置30是由使用信息库装置20提供的信息提供服务的用户(信息用户)操作的装置。信息用户装置30例如由诸如包括智能电话的移动电话、平板终端、台式pc、膝上型pc或个人数字助理(pda)的信息处理装置实现。
110.图16是示出根据实施例的信息用户装置的功能配置的示例的框图。如图16所示,信息用户装置30包括通信单元31、输入单元32、输出单元33、存储单元34和控制单元35。
111.图16示出了根据实施例的信息用户装置30的功能配置的示例,并且实施例不特别限于图16所示的示例,并且可以使用能够实现信息用户装置30的各种处理的任何配置。此外,图16所示的信息用户装置30的构成要素在功能上是概念性的,并且不必在物理上如图16所示那样配置。例如,功能框的具体分布和集成形式不限于附图中所示的形成,并且其全部或一部分可以根据各种负载、使用条件等通过功能上或物理上分布和集成在任意单元中来配置。
112.通信单元31例如由网络接口卡(nic)等实现。通信单元31通过有线或无线方式连接到通信网络100,并且经由通信网络100向信息库装置20等发送信息/从信息库装置20等接收信息。
113.输入单元32包括键盘和鼠标,并且接收来自信息用户装置30的用户的各种操作。输入单元32从用户接收的操作包括接收信息提供服务所需的登录操作,以及用于向信息库装置20请求个人信息的搜索查询的输入操作。输入单元32可以具有诸如麦克风的声音输入装置,并且能够经由语音输入装置接收诸如用户语音的输入。
114.输出单元33包括显示器和扬声器,并且输出各种类型的信息。由输出单元33输出的信息包括用于接收接收信息提供服务所需的登录操作、信息库装置20提供的证明、关于公共信息的数据、验证密钥以及个人信息的用户界面。
115.存储单元34存储用于实现由控制单元35执行的各种处理功能的程序、数据等。存储单元34例如由诸如随机存取存储器(ram)、闪存存储器的半导体存储器装置或者诸如硬盘或光盘的存储装置来实现。存储在存储单元34中的程序包括用于实现与控制单元35的每个单元相对应的处理功能的控制程序。控制程序提供用于使信息用户装置30执行与使用信息提供服务所需的登录操作、搜索查询输入操作等相关的处理的处理功能。
116.控制单元35在信息用户装置30中执行各种处理。控制单元35例如由诸如中央处理单元(cpu)或微处理单元(mpu)的处理器来实现。例如,控制单元35响应于存储在信息用户
装置30的存储装置中的、由处理器使用随机存取存储器(ram)等作为工作区域执行的各种程序来实现。另选地,控制单元35可以例如通过诸如专用集成电路(asic)或现场可编程门阵列(fpga)的集成电路来实现。
117.控制单元35包括获取单元35a和验证单元35b,并且各个单元实现或执行信息用户装置30的各种处理的功能和操作。
118.获取单元35a从基于为了在一个或多个条件下定义机密信息而针对不同的条件生成的条件表达式中的每一个的多个证明中获取通过使用与指定条件匹配的个人信息生成的证明。在请求个人信息时,信息用户装置30的用户可以通过诸如“居住在东京的30岁或以上的男性”的搜索查询来指定搜索条件。获取单元35a可以例如基于从信息库装置20获取的证明的列表,从区块链系统110获取与指定条件匹配的证明。
119.此外,获取单元35a从区块链系统110获取执行关于是否可以通过使用零知识证明与证明一起来获取个人信息的条件确定所需的验证密钥和公共信息。
120.此外,获取单元35a可以从区块链系统110获取与个人信息的改变相关联地重新生成的证明和与条件的改变相关联地重新生成的证明。
121.验证单元35b验证由获取单元35a获取的证明,并且执行关于是否可以获取与请求个人信息时指定的条件相匹配的个人信息的条件确定。具体地,如果在获取单元35a获取的证明的配对(加密处理)结果与验证密钥和打开信息的配对结果之间发现匹配,则验证单元35b确定验证结果为“ok”。另一方面,如果在获取单元35a获取的证明的配对(加密处理)结果与验证密钥和公共信息的配对结果之间没有发现匹配,则验证单元35b确定验证结果为“ng”。图17是示出根据实施例的验证处理的概要的示图。
122.如图17所示,假设获取单元35a获取证明:a至证明:c作为与条件匹配的证明,并且与证明:a至证明:c一起获取与相应证明和公共信息j4(enc(α)、q)相对应的验证密钥a至验证密钥c。在这种情况下,验证单元35b首先使用证明:a、公共信息j4(enc(α)、q)和验证密钥a执行验证。接下来,验证单元35b使用证明:b、公共信息j4(enc(α))和验证密钥b执行验证。最后,验证单元35b使用证明:a的验证结果、证明:b的验证结果、公共信息j4(enc(α))和验证密钥c执行验证。在图17所示的情况下,对于验证单元35b的验证结果,当证明:a的验证结果和证明:b的验证结果均为“ok”时,证明:c的验证结果也为“ok”。
123.如果验证单元35b的验证结果为“ok”,则确定可以获取与指定条件匹配的个人信息。另一方面,如果验证结果为ng,则确定无法获取与指定条件匹配的个人信息。
124.当确定可以获取个人信息时,验证单元35b向信息库装置20发送获取个人信息的请求。
125.(3.处理步骤示例)
126.参考图18至图21描述根据实施例的信息处理系统1的处理步骤的示例。图18至图21是示出根据实施例的信息处理系统1的处理步骤的示例的序列图。
127.参考图18描述信息处理系统1中的设置处理的步骤。如图18所示,信息库装置20执行用于生成定义个人信息的内容的条件表达式的设置处理(步骤s101)。在设置处理中,与所生成的条件表达式相对应的认证密钥和验证密钥一起生成。设置处理作为初始设置仅执行一次。
128.参考图19描述信息处理系统1中从用户注册到证明注册的处理步骤。如图19所示,
用户终端10向信息库装置20发送用户注册请求(步骤s201)。
129.当接收到用户注册请求时,信息库装置20执行用户注册处理并向区块链系统110发送用户注册请求(步骤s202)。当从区块链系统110接收到注册完成响应时,信息库装置20向用户终端发送用户注册完成的通知(步骤s203)。以这种方式,信息库装置20在主体装置和区块链系统110两者中执行用户注册。
130.当从信息库装置20接收到用户注册完成的通知时,用户终端10发送注册个人信息的请求(步骤s204)。
131.当接收到从用户终端10发送的注册个人信息的请求时,信息库装置20将包括在注册请求中的个人信息与用户id相关联地存储到个人信息存储单元22a中(步骤s205)。
132.信息库装置20使用在步骤s205中获取的个人信息执行证明生成处理(步骤s206)。信息库装置20将在证明生成处理中生成的证明注册在区块链系统110中(步骤s207)。当注册证明时,信息库装置20根据区块链系统110注册公共信息(enc(α)、q)。
133.参考图20描述在信息处理系统1中从更新个人信息到证明注册的处理步骤。如图20所示,用户终端10根据用户的操作向信息库装置20发送改变个人信息的请求(步骤s301)。
134.当从用户终端10接收改变个人信息的请求时,信息库装置20用包括在改变请求中的新的个人信息来更新与作为改变请求的发送者的用户的用户id相关联地存储的个人信息(步骤s302)。
135.随后,响应于改变的个人信息,信息库装置20基于与改变相对应的个人信息重新生成证明(步骤s303)。
136.在重新生成证明之后,信息库装置20将重新生成的证明的更新注册在区块链系统110中(步骤s304)。
137.参考图21描述信息处理系统1中请求、验证和获取个人信息的处理步骤。如图21所示,信息用户装置30通过指定对搜索条件的查询向区块链系统110发送对个人信息的请求(步骤s401)。在存在多个信息库装置20(例如,信息库装置20a和20b)的情况下,每个信息库装置20经由区块链系统110相互连接以相互交换信息。由于信息用户装置30无法确定在哪个信息库装置20中包含与指定条件匹配的个人信息,因此信息用户装置30首先向区块链系统110请求个人信息。在请求个人信息时,信息用户装置30通过诸如“居住在东京的30岁或以上的男性”的搜索查询来指定搜索条件。
138.区块链系统110将从信息用户装置30接收到的关于对个人信息的请求的信息作为请求日志写入(步骤s402),并将对个人信息请求发送到信息库装置20(步骤s403)。为了匹配请求日志,从区块链系统110到信息库装置20的请求的智能合约被注册在区块链系统110中。
139.信息库装置20从区块链系统110接收对个人信息的请求,并从存储在认证信息存储单元22b中的多个证明中搜索与由查询指定的搜索条件相匹配的证明(步骤s404)。
140.信息库装置20向信息用户装置30发送使用与搜索条件匹配的个人信息生成的证明的列表(步骤s405)。
141.信息用户装置30基于从信息库装置20接收的证明的列表从区块链系统110获取证明、公共信息和验证密钥,并执行对所获取的证明的验证处理(步骤s406)。信息用户装置30
可以通过从区块链系统110获取证明来获取在区块链系统110中保证不被修改的证明。
142.如果验证结果为“ok”,则信息用户装置30向信息库装置20发送对个人信息的请求(步骤s407)。
143.信息库装置20从存储在个人信息存储单元22a中的个人信息中搜索与针对个人信息的请求条件匹配的个人信息(步骤s408)。
144.信息库装置20向信息用户装置30发送与请求条件匹配的个人信息列表(步骤s409)。
145.信息库装置20将关于响应于来自信息用户装置30的请求而提供的个人信息的信息作为个人信息获取日志写入区块链系统110(步骤s410)。
146.(4.修改示例)
147.在上述实施例中,信息库装置20可以预先生成多个预先生成的条件表达式,作为用于在一个或多个条件下定义各种类型的机密信息(例如个人信息)的条件表达式。图22是示出根据修改示例的条件表达式的概要的示图。
148.如图22所示,信息库装置20提前生成多个条件表达式a-1、a-2、a-3、b-1、b-2、b-3、c-1、c-2、c-3等,其包括预期的不同条件作为预先生成的条件表达式。信息库装置20例如基于存储在区块链系统110中的日志来分析来自信息提供服务的用户的请求的内容,以基于分析结果确定根据与请求的内容相对应的模式的预期条件。这允许准备反映信息用户的请求的内容的条件表达式。
149.生成单元23b从提前生成的多个预先生成的条件表达式中选择用于定义个人信息的多个条件表达式。生成单元23b然后为所选择的每个条件表达式生成证明。
150.如上所述,根据修改示例的信息库装置20,生成单元23b从提前生成的多个预先生成的条件表达式中选择用于定义个人信息的多个条件表达式,并使用所选择的条件表达式。这消除了对用于生成多个条件表达式的设置处理的需要,从而减少了处理负担。
151.此外,响应于条件表达式中定义的个人信息的改变,重新生成单元23d从预先生成的条件表达式中选择定义与该改变相对应的个人信息的条件表达式,并且重新生成和更新基于所选择的条件表达式的证明。因此,可以从多个预先生成的条件表达式中选择并使用用于定义要改变的个人信息的条件表达式,并且可以减少与作为认证信息的证明的改变相关联的处理负担。
152.此外,响应于包括在条件表达式中的条件的改变,重新生成单元23d从预先生成的条件表达式中选择包括要改变的条件的条件表达式,并重新生成和更新基于所选择的条件表达式的证明。因此,可以从多个预先生成的条件表达式中选择并使用包括要改变的条件的条件表达式,并且可以减少与作为认证信息的证明的改变相关联的处理负担。
153.此外,信息库装置20可以稍后基于对来自信息提供服务的用户的请求的内容的分析结果来改变包括在每个预先生成的条件表达式中的条件或添加新的条件表达式。
154.(5.其他)
155.在实施例中描述的处理中,被描述为自动处理的处理的全部或部分可以手动执行,或者被描述为手动处理的处理的全部或部分可以通过已知方法自动执行。此外,除非另有说明,否则文件和附图中所指示的处理程序、具体名称和包括各种数据和参数的信息可以任意改变。例如,附图中所示的各种类型的信息不限于所示信息。
156.此外,附图中所示的各个装置的构成要素在功能上是概念性的并且不必在物理上如图中所示配置。具体地,装置的具体分布和集成形式不限于附图中所示的形式,并且其全部或一部分可以根据各种负载、使用条件等通过功能上或物理上分布和集成在任意单元中来配置。
157.例如,在上述实施例中,描述了信息处理系统1的信息库装置20生成条件表达式和证明的示例;然而,实施例并不特别限于该示例。例如,配置可以是用户终端10生成条件表达式和证明以将条件表达式和证明注册在信息库装置20中的系统。
158.此外,在处理内容不相互矛盾的范围内,可以适当地组合上述实施例和修改示例。
159.(6.概述)
160.如上所述,根据本公开的实施例的信息库装置20是生成用于使用零知识证明的验证的认证信息的生成装置的示例,并且信息库装置20包括设置处理单元23a(条件表达式生成单元的示例)和生成单元23b(认证信息生成单元的示例)。设置处理单元23a针对不同的条件划分在一个或多个条件下定义个人信息(机密信息的示例)的条件表达式以生成多个条件表达式。生成单元23b生成基于条件表达式中的每一个的多个证明作为认证信息。因此,根据本公开的实施例的信息库装置20可以针对不同的条件部分地管理在一个或多个条件下定义机密信息的条件表达式。因此,根据本公开的实施例,即使个人信息或条件已改变,也可以单独更新针对每个条件表达式生成的证明,并且可以减小与认证信息的改变相关联的处理负担。
161.此外,在根据本公开的实施例的信息库装置20中,设置处理单元23a向所生成的条件表达式中的每一个添加指示由条件表达式中的每一个定义的机密信息属于特定个体的信息。因此,例如,即使在个人信息由一些条件表达式定义并被部分管理的情况下,也可以确保使用属于该特定个体的正确组合来验证基于条件表达式中的每一个的多个证明。
162.此外,在根据本公开的实施例的信息库装置20中,响应于条件表达式中定义的个人信息的改变,重新生成单元23d重新生成和更新基于与改变相对应的个人信息的证明。这允许灵活地对个人信息的改变做出响应。
163.此外,在根据本公开的实施例的信息库装置20中,响应于包括在条件表达式中的条件已改变,重新生成单元23d仅重新生成和更新基于包括要改变的条件的条件表达式的证明。这允许灵活地对条件表达式的条件的改变做出响应。
164.此外,在根据本公开的实施例的信息库装置20中,生成单元23b从多个预先生成的条件表达式中选择定义机密信息的多个条件表达式,该多个预先生成的条件表达式被提前生成作为用于在一个或多个条件下定义各种类型的个人信息的条件表达式。生成单元23b然后为所选择的每个条件表达式生成证明。因此,可以从预先生成的条件表达式中选择和使用多个条件表达式而无需生成它们,这减少了处理负担。
165.此外,在根据本公开的实施例的信息库装置20中,响应于由条件表达式定义的机密信息已改变,生成单元23b从预先生成的条件表达式中选择包括用于定义与改变相对应的机密信息的条件的条件表达式。生成单元23b然后重新生成和更新基于所选择的条件表达式的证明。因此,可以从多个预先生成的条件表达式中选择并使用用于定义要改变的个人信息的条件表达式,并且可以减少与作为认证信息的证明的改变相关联的处理负担。
166.此外,在根据本公开的实施例的信息库装置20中,响应于包括在条件表达式中的
1100执行加载到ram 1200上的程序(用于实现控制单元23的各个单元的处理的程序等)。因此,实现由控制单元23的各个单元执行的各种处理的功能等。此外,hdd 1400存储用于实现根据本公开的信息库装置20的处理的程序、存储在存储单元22中的数据等。注意,cpu 1100从hdd 1400中读取程序数据1450以供执行;然而,作为另一示例,可以经由外部网络1550从另一装置获取程序。
178.此外,本技术还可以如下进行配置。
179.(1)一种生成用于使用零知识证明的验证的认证信息的生成装置,包括:
180.条件表达式生成单元,针对不同的条件生成在一个或多个条件下定义机密信息的多个条件表达式;以及
181.认证信息生成单元,针对条件表达式中的每一个生成基于条件表达式的证明作为认证信息。
182.(2)根据(1)的生成装置,其中,
183.条件表达式生成单元向所生成的条件表达式中的每一个添加指示由条件表达式中的每一个定义的机密信息属于特定个体的信息。
184.(3)根据(2)的生成装置,其中,
185.认证信息生成单元响应于由条件表达式定义的机密信息已改变,重新生成和更新基于定义与该改变相对应的机密信息的条件表达式的证明。
186.(4)根据(2)的生成装置,其中,
187.认证信息生成单元响应于包括在条件表达式中的条件已改变,重新生成和更新基于包括要改变的条件的条件表达式的证明。
188.(5)根据(1)的生成装置,其中,
189.条件表达式生成单元从多个预先生成的条件表达式中选择定义机密信息的多个条件表达式,该预先生成的条件表达式被提前生成作为用于在一个或多个条件下定义各种类型的机密信息的条件表达式;以及
190.认证信息生成单元针对条件表达式中的每一个,生成基于由条件表达式生成单元选择的条件表达式的证明作为认证信息。
191.(6)根据(5)的生成装置,其中,
192.条件表达式生成单元响应于包括在条件表达式中的条件已改变,从预先生成的条件表达式中选择包括要改变的条件的条件表达式;以及
193.认证信息生成单元重新生成和更新基于由条件表达式生成单元选择的条件表达式的证明。
194.(7)根据(5)的生成装置,其中,
195.条件表达式生成单元响应于由条件表达式定义的机密信息已改变,从预先生成的条件表达式中选择定义与该改变相对应的机密信息的条件表达式;以及
196.认证信息生成单元重新生成和更新基于由条件表达式生成单元选择的条件表达式的证明。
197.(8)根据(5)的生成装置,其中,
198.预先生成的条件表达式是基于请求机密信息的信息用户的请求历史提前生成的。
199.(9)一种生成方法,包括:
200.通过生成用于使用零知识证明的验证的认证信息的计算机,
201.针对不同的条件生成在一个或多个条件下定义机密信息的多个条件表达式;以及
202.生成基于条件表达式中的每一个的多个证明作为认证信息。
203.(10)一种用于使用零知识证明执行验证的验证装置,包括:
204.获取单元,从基于多个条件表达式的多个证明中获取使用与指定条件匹配的机密信息生成的证明作为用于使用零知识证明的验证的认证信息,多个条件表达式包括用于定义机密信息的一个或多个条件并针对不同的条件生成;以及
205.验证单元,验证由获取单元获取的证明并执行关于是否可以获取与该条件匹配的机密信息的条件确定。
206.参考标记列表
207.1信息处理系统
208.10用户终端
209.11通信单元
210.12输入单元
211.13输出单元
212.14图像捕获单元
213.15定位单元
214.16检测单元
215.17存储单元
216.18控制单元
217.20信息库装置
218.21通信单元
219.22存储单元
220.22a个人信息存储单元
221.22b认证信息存储单元
222.23控制单元
223.23a设置处理单元
224.23b生成单元
225.23c提供单元
226.23d重新生成单元
227.30信息用户装置
228.31通信单元
229.32输入单元
230.33输出单元
231.34存储单元
232.35控制单元
233.35a获取单元
234.35b验证单元。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献