CN103827862A - 数据处理装置、数据管理系统、数据处理方法及程序 - Google Patents

数据处理装置、数据管理系统、数据处理方法及程序 Download PDF

Info

Publication number
CN103827862A
CN103827862A CN201280002836.4A CN201280002836A CN103827862A CN 103827862 A CN103827862 A CN 103827862A CN 201280002836 A CN201280002836 A CN 201280002836A CN 103827862 A CN103827862 A CN 103827862A
Authority
CN
China
Prior art keywords
mentioned
data
character string
key element
conversion
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
CN201280002836.4A
Other languages
English (en)
Other versions
CN103827862B (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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Publication of CN103827862A publication Critical patent/CN103827862A/zh
Application granted granted Critical
Publication of CN103827862B publication Critical patent/CN103827862B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/2454Optimisation of common expressions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/402Encrypted data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

实施方式的数据处理装置(100)具备存储部(111)、数据变换部(102)、第一发送部(103)、查询式变换部(105)、第二发送部(106)、和接收部(107)。存储部存储字符串集合,该字符串集合是能够唯一地确定大小关系的多个字符串要素的集合。数据变换部将包含在管理对象数据中的数值数据加密,并使用包含在字符串集合中的字符串要素生成与数值数据对应的索引值,生成包括加密后的数值数据和索引值的变换后管理对象数据。第一发送部向服务器发送变换后管理对象数据。查询式变换部将查询式的使用了数值的条件部分变换为使用了包含在字符串集合中的字符串要素的条件部分,来生成变换后查询式。第二发送部将变换后查询式向服务器发送。接收部从服务器接收使用了变换后查询式的查询处理的结果。

Description

数据处理装置、数据管理系统、数据处理方法及程序
技术领域
本发明的实施方式涉及数据处理装置、数据管理系统、数据处理方法及程序。
背景技术
近年来,作为云计算服务的一形态,经由因特网提供数据库的利用环境的服务即DaaS(Database as a Service)受到关注。DaaS的利用者通过对服务提供者委托自己拥有的数据的持久管理及一般的数据库管理业务,能够进行成本削减或管理的一元化。但是,多数情况下服务提供者提供的数据库服务器(以下,简单称作服务器)的管理者是与享受服务的利用者(以下,称作客户端)不同的第三者,即使在第三者侧提供数据库加密服务,也不能保证完全防止信息泄漏。此外,由于还存在第三者成为安全攻击者的风险,所以不希望使数据库管理者阅览加密前的原始数据自身的需求也较高。
所以,提出了将管理对象的数据在客户端侧加密后向服务器转送、通过使服务器管理加密后的数据而使安全性提高的方法。但是,由于难以对加密后的数据直接进行检索,所以需要进行以下步骤,即,将服务器侧的数据暂时发送到客户端,然后在客户端侧将数据解密,进行是否满足原查询条件的结果对照处理。这样,存在几乎不能享受数据库的检索服务、在客户端产生负荷、处理时间变得非常大等问题点。为了解决这样的问题,提出了在服务器可检索地管理加密数据的一些方法,但通过这些以往的方法,难以在确保较高的安全性的同时、高性能地进行特别对数值数据的范围检索等的检索处理,希望进行改善。
现有技术文献:
专利文献:
专利文献1:日本特许第4707198号公报
专利文献2:日本特开2009-251748号公报
非专利文献:
非专利文献1:H.Hacigumus,B.Iyer,C.Li,and S.Mehrotra.:“ExecutingSQL over Encrypted Data in the Database-Service-Provider Model,”InProceeding of the2002ACM SIGMOD International Conference onManagement of Data,pp.216-227,June200
非专利文献2:Hore B.,Mehrotra S.and Tsudik G.:“A Privacy-PreservingIndex for Range Query,”Proceedings of the30th VLDB Conference,pp.720-730,2004
发明内容
发明要解决的问题
发明要解决的问题是提供一种能够在确保较高的安全性的同时、实现高性能的检索处理的数据处理装置、数据管理系统、数据处理方法及程序。
用于解决问题的手段
技术方案的数据处理装置具备存储部、数据变换部、第一发送部、查询式变换部、第二发送部、和接收部。存储部存储字符串集合,该字符串集合是能够唯一地确定大小关系的多个字符串要素的集合。数据变换部将包含在管理对象数据中的数值数据加密,并使用包含在上述字符串集合中的字符串要素生成与上述数值数据对应的索引值,生成包括加密后的上述数值数据和上述索引值的变换后管理对象数据。第一发送部向服务器发送上述变换后管理对象数据。查询式变换部将查询式的使用了数值的条件部分变换为使用了包含在上述字符串集合中的字符串要素的条件部分,来生成变换后查询式。第二发送部将上述变换后查询式向上述服务器发送。接收部从上述服务器接收使用了上述变换后查询式的查询处理的结果。
附图说明
图1是表示有关第一实施方式的数据管理系统的整体结构的块图。
图2是表示管理对象数据的表现形式与数据库的形式及查询式的形式之间的对应关系的图。
图3是表示数据变换部的具体的结构例的块图。
图4是表示加密·索引对象信息的一例的图。
图5是表示使用图4所示的加密·索引对象信息生成的变换后管理对象数据的一例的图。
图6是概念性地表示字符串集合存储部存储的字符串集合的示意图。
图7是表示即使是相同的字符串、根据对照规则的差异而大小关系也不同的例子的图。
图8是概念性地表示字符串要素分配决定部分配字符串要素、索引值生成部生成索引值的处理的一例的示意图。
图9是概念性地表示将对相同的数值分配的字符串要素按照对照规则加以变形的处理的示意图。
图10是表示查询式变换部的具体的结构例的块图。
图11是概念性地表示使用辅助信息将查询式的条件部分优化的处理的一例的示意图。
图12是表示有关第二实施方式的数据管理系统的整体结构的块图。
图13是表示赋予了collate标志的变换后查询式的一例的图。
图14是表示有关第三实施方式的数据管理系统的整体结构的块图。
图15是表示以URI表现埋入用于照解决的对照解决程序的形式的变换后查询式的一例的图。
图16是说明第一实施例~第四实施例的概要的示意图。
图17是表示在第一实施例~第四实施例中处理的条件的图。
图18是表示在第一实施例~第四实施例中通过数据处理装置的查询式变换部生成的变换后查询式的图。
图19是表示数据处理装置的硬件结构的一例的图。
具体实施方式
以下,参照图面说明实施方式的数据处理装置、数据管理系统、数据处理方法及程序。
(第一实施方式)
图1是表示有关第一实施方式的数据管理系统的整体结构的块图。数据管理系统例如是在提供DaaS的服务提供者侧实现的系统,具备数据处理装置100和服务器200。数据处理装置100进行在服务器200中登记的管理对象数据的加密或索引值的生成、查询式的变换等处理。服务器200用于实现从数据处理装置100发送的管理对象数据的保存、查询处理等的一般的数据库处理功能。数据处理装置100和服务器200是相互分离独立构成的装置,经由网络可通信地连接。另外,数据处理装置100和服务器200由不同的管理者管理。
首先,在说明构成有关本实施方式的数据管理系统的数据处理装置100及服务器200的具体结构之前,对登记在服务器200中的管理对象数据的表现形式、和与其对应的服务器200的数据库的形式及针对数据库的查询式的形式的具体例进行说明。以下,例示将在1个记录中包含从业员ID、从业员名、年收入及年龄在内的从业员表作为管理对象数据登记在服务器200中的情况。
图2是表示管理对象数据的表现形式与数据库的形式及查询式的形式之间的对应关系的图。管理对象数据的表现形式如图2所示,可以考虑关系形式、关键字值形式、XML(Extensible Markup Language:可扩充置标语言)形式等各种各样的形式,存在与其分别适合的数据库的形式。例如,在关系形式的情况下是关系数据库(RDB),在关键字值形式的情况下是关键字值存储(KVS),在XML形式的情况下是XML数据库(XMLDB)。此外,根据数据库的形式,查询式的形式也不同,将针对关系数据库的查询式记述为SQL,将针对关键字值存储的查询式记述为KVS询问,将针对XML数据库的查询式记述为XQUERY。
有关本实施方式的数据管理系统如果是关系形式则例如为<列名,值>,如果是关键字值形式则例如为<关键字名,值>,如果是XML形式则例如为<要素(属性)名,值>,这样将能够用关键字与值的对表现的数据作为管理对象数据进行处理,服务器200管理的数据库的形式或针对数据库的查询式的形式对应于管理对象数据的表现形式。
接着,对数据处理装置100的结构进行说明。数据处理装置100如图1所示,作为功能性的构成要素具备数据接收部101、数据变换部102、数据发送部103、查询式接收部104、查询式变换部105、查询式发送部106、结果接收部107、后处理部108、和结果发送部109。此外,数据处理装置100作为在数据变换部102或查询式变换部105中的处理中使用的信息资源具备字符串集合存储部111、辅助信息存储部112、加密·索引对象信息存储部113、和密钥信息存储部114。
数据接收部101接收例如从DaaS的利用者等(以下,称作用户)发送的管理对象数据D1。
数据变换部102使用字符串集合存储部111存储的字符串集合、辅助信息存储部112存储的辅助信息、加密·索引对象信息存储部113存储的加密·索引对象信息、以及密钥信息存储部114存储的密钥信息,对数据接收部101接收到的管理对象数据D1进行加密处理或索引值的生成,生成变换后管理对象数据D2。另外,数据变换部102的处理的详细情况在后面叙述。
数据发送部103将数据变换部102生成的变换后管理对象数据D2与登记请求一起对服务器200发送。
查询式接收部104接收从用户发送的查询式Q1。
查询式变换部105使用字符串集合存储部111存储的字符串集合、及辅助信息存储部112存储的辅助信息,将查询式接收部104接收到的查询式Q1的条件部分(指定了条件的部分)的数值数据替换为字符串要素,来生成变换后查询式Q2。另外,查询式变换部105的处理的详细情况在后面叙述。
查询式发送部106将查询式变换部105生成的变换后查询式Q2对服务器200发送。
结果接收部107接收作为服务器200进行使用了变换后查询式Q2的查询处理的结果的结果数据集合R1。
后处理部108将结果接收部107接收到的结果数据集合R1、即作为进行使用变换后查询式的查询处理的结果的结果数据集合R1根据需要加以变换,以适合于变换前的原查询式Q1的要求,生成返回结果数据集合R2。此时,后处理部108在结果接收部107接收到的结果数据集合R1中包含有加密后的数值数据的情况下,使用密钥信息存储部114存储的密钥信息将其解密,生成返回结果数据集合R2。
结果发送部109对发送了查询式Q1的用户发送后处理部108生成的返回结果数据集合R2。
接着,对服务器200的结构进行说明。服务器200如图1所示,作为功能性的构成要素具备数据接收部201、数据保存处理部202、查询式接收部203、查询处理执行部204、和结果发送部205。此外,服务器200具备作为数据库发挥功能的数据保存部210。
数据接收部201从数据处理装置100接收与登记请求一起发送的变换后管理对象数据D2。
数据保存处理部202根据来自数据处理装置100的登记请求,将数据接收部201接收到的变换后管理对象数据D2保存到数据保存部210中。
查询式接收部203接收从数据处理部100发送的变换后查询式Q2。
查询处理执行部204使用查询式接收部203接收到的变换后查询式Q2执行对数据保存部210的查询处理,取得结果数据集合R1。
结果发送部205对数据处理装置100发送查询处理执行部204作为使用了变换后查询式Q2的查询处理的结果取得的结果数据集合R1。
接着,对有关本实施方式的数据管理系统的动作的概要进行说明。首先,说明数据登记时的动作。
用户将想要使服务器200持久管理的管理对象数据D1向数据处理装置100发送。从用户传送给数据处理装置100的管理对象数据D1被数据处理装置100的数据接收部101接收,并向数据变换部102传送。
数据变换部102在从数据接收部101送来管理对象数据D1时,参照加密·索引对象信息存储部113存储的加密·索引对象信息,确定包含在管理对象数据D1中的加密对象及作为生成索引值的对象的数值数据。并且,数据变换部102将所确定的加密对象的数值数据使用密钥信息存储部114存储的密钥信息加密,并且生成与加密后的数值数据中的作为生成索引值的对象的数值数据相对应的索引值。
在本实施方式中,数据变换部102在生成索引值时,使用字符串集合存储部111存储的字符串集合、以及辅助信息存储部112存储的辅助信息。字符串集合是能够唯一地确定大小关系的多个字符串要素的集合,按照对照规则在事前构建,保存在字符串集合存储部111中。此外,辅助信息是为了使用字符串用要素生成索引值而需要的信息,例如,是将构成字符串集合的有限个数的字符串要素循环使用的情况下的规则、或将字符串要素分配给数值时的分配规则等的信息。数据变换部102使用辅助信息,确定与包含在字符串集合中的多个字符串要素中的、作为生成索引值的对象的数值数据相对应的字符串要素,使用所确定的字符串要素,生成与加密后的数值数据对应的索引值。并且,数据变换部102生成包括加密后的数值数据和索引值的变换后管理对象数据D2。
由数据变换部102生成的变换后管理对象数据D2被从数据发送部103向服务器200发送,由服务器200的数据接收部201接收,向数据保存处理部202传送。数据保存处理部202不进行特殊的处理,而将数据接收部201接收到的变换后管理对象数据D2原样保存到数据保存部210中。
接着,说明使用了查询式的数据检索时的动作。在本实施方式的数据管理系统中,用户的查询不是对服务器200直接进行,而是对数据处理装置100进行。
用户将用来使服务器200执行查询处理的查询式Q1送到数据处理装置100。从用户送给数据处理装置100的查询式Q1被数据处理装置100的查询式接收部104接收,向查询式变换部105传送。
查询式变换部105如果被从查询式接收部104送来查询式Q1,则基于该查询式Q1,生成能够用在数据登记时生成的索引值进行检索那样的变换后查询式Q2。具体而言,查询式变换部105使用字符串集合存储部111存储的字符串集合及辅助信息存储部112存储的辅助信息,将查询式Q1的使用了数值的条件部分变换为使用了包含在字符串集合中的字符串要素的条件部分,来生成变换后查询式Q2。
由查询式变换部105生成的变换后查询式Q2被从查询式发送部106向服务器200发送,被服务器200的查询式接收部203接收,向查询处理执行部204传送。查询处理执行部204原样使用查询式接收部203接收到的变换后查询式Q2,执行针对数据保存部210的查询处理,取得适合于变换后查询式Q2的条件部分的结果数据集合R1。
由查询处理执行部204取得的结果数据集合R1被从结果发送部205向数据处理装置100发送,被数据处理装置100的结果接收部107接收,向后处理部108传送。后处理部108将结果接收部107接收到的结果数据集合R1根据需要加以变换,以适合于原查询式Q1的要求,生成返回结果数据集合R2。并且,将由该后处理部108生成的返回结果数据集合R2作为相对查询式Q1的检索结果从结果发送部109向用户返回。
如以上这样,在有关本实施方式的数据管理系统中,在数据处理装置100中,生成变换后管理对象数据D2,该变换后管理对象数据D2是将包含在管理对象数据D1中的想要隐秘的数值数据加密、并进而再附加与加密后的数值数据对应的索引值而成的,将该变换后管理对象数据D2保存到服务器200的数据保存部210中。此外,将用户发出的查询式Q1在数据处理装置100中变换为能够用索引值检索的变换后查询式Q2,服务器200使用该变换后查询式Q2执行对数据保存部210的查询处理,将作为查询处理的结果的结果数据集合R1向数据处理装置100发送。并且,在数据处理装置100中,将结果数据集合R1根据需要加以变换,以适合于查询式Q1的要求,生成返回结果数据集合R2,将该返回结果数据集合R2作为查询式Q1的结果向用户返回。因而,根据有关本实施方式的数据管理系统,能够在服务器200侧直接执行关于加密后的数值数据的运算,例如对数值数据的范围检索、MAX/MIN处理、结合处理、排序处理等的对于要求高速性的句法进行的运算,能够在确保较高的安全性的同时,实现高性能的检索处理。
接着,对于数据处理装置100具备的数据变换部102,一边例示处理的具体例一边详细地说明。图3是表示数据变换部102的具体的结构例的块图。
数据变换部102如图3所示,具备加密·索引对象确定部121、字符串要素分配决定部122、索引值生成部123、和变换后管理对象数据生成部124。
加密·索引对象确定部121参照加密·索引对象信息存储部113存储的加密·索引对象信息,确定包含在输入的管理对象数据D1中的加密对象及作为生成索引值的对象的数值数据。
图4是表示加密·索引对象信息的一例的图。加密·索引对象信息包括确定适用对象的管理对象数据D1的种类的信息、和在该管理对象数据D1中确定需要加密或索引值的生成的部分的信息。图4的例子表示适用于以图2的关系形式表现的从业员表的加密·索引对象信息的例子,示出对年收入列及年龄列进行加密的指定、再对年收入列进行生成索引值的指定、将其索引值设为“索引1”的列值。
图5示出了按照图4所示的加密·索引对象信息将以图2的关系形式表现的从业员表的年收入列及年龄列的数值数据加密、再生成与年收入列的数值数据对应的索引值、作为“索引1”的列值附加的情况下的例子。该图5所示的从业员表相当于由后述的变换后管理对象数据生成部124生成的变换后管理对象数据D2。在考虑到使从业员表由服务器200持久管理的情况下,由于特别是年收入或年龄等的信息被要求隐秘性,所以在加密的状态下保存到服务器200中。此时,由于在服务器200侧能够直接执行关于加密后的数值数据的运算,所以对于作为运算的对象的加密后的数值数据,使用与该数值数据对应的字符串要素生成索引值,能够使用该索引值判断加密后的数值数据的大小关系。
字符串要素分配决定部122对被加密·索引对象确定部121确定为生成索引值的对象的数值数据,分配包含在字符串集合存储部111存储的字符串集合中的字符串要素中的1个字符串要素。
图6是概念性地表示字符串集合存储部111存储的字符串集合的示意图。字符串集合如图6所示,将按照对照规则唯一地决定大小关系的多个字符串要素以升序排列进行管理。对照规则也称作校勘(Collation),由对照规则唯一地决定字符串要素的大小关系。包含在字符串集合中的字符串要素既可以根据任意的词典生成,也可以按照对照规则随机地生成。字符串要素通过生成某种程度较大的个数,能够提高安全强度。因此,也可以对包含在字符串集合中的字符串要素的个数设置阈值,在字符串集合的生成时持续生成字符串要素,直到字符串要素的个数成为阈值以上为止。
图7是表示即使是相同的字符串、但根据对照规则的差异而大小关系不同的例子的图。在图7的例子中表示,如果按照对照规则1,则字符串aEER和字符串Ra是相同的值,相对于此,如果按照对照规则2,则字符串aEER变得比字符串Ra大。此外,示出了如果按照对照规则1,则字符串EUFEFFEcES变得比字符串FEEEEFUSR大,相对于此,如果按照对照规则2,则字符串EUFEFFEcES变得比字符串FEEEEFUSR小。对照规则规定了对于字符的大小关系(包括相同的值)、或作为伪字符的除去代码等。例如,在作为程序语言的Java(注册商标)等中,标准地安装有Collation类,可以将它们作为对照规则利用。
字符串集合是按照以上那样的对照规则决定大小关系的多个字符串要素的集合。但是,在本实施方式中使用的字符串集合中不包含成为相同值的字符串要素,在全部的字符串要素间唯一地确定大小关系。此外,在字符串集合的生成中使用的对照规则没有特别限定,也可以使用一般的拉丁语规则(决定字母的大小关系的规则)等作为对照规则。
字符串要素分配决定部122从包含在字符串集合中的字符串要素中,决定对作为生成索引值的对象的数值数据分配的字符串要素。这里,最简单的分配方法是按照字符串集合中的字符串要素的排列顺序使赋予给字符串要素的数值与数值数据表示的数值映射(mapping)的方法。但是,在要将任意的数值用有限的字符串要素表现的情况下,即使限定于整数值,在现实上也不能完全表现。所以,在本实施方式中的方式为,在作为生成索引值的对象的数值数据表示的数值比包含在字符串集合中的字符串要素的个数大的情况下,通过使包含在字符串集合中的字符串要素循环,将字符串要素的循环重复必要的次数,由此决定分配给数值数据表示的数值的字符串要素。
即,在包含在字符串集合中的字符串要素的个数例如是100、按照字符串要素的排列顺序赋予0~99的数值的情况下,如果作为生成索引值的对象的数值数据表示的数值例如是103,则使包含在字符串集合中的字符串要素循环1次,按照字符串集合中的排列顺序将与3的数值相对应的字符串要素分配给数值数据103。此外,如果作为生成索引值的对象的数值数据表示的数值例如是215,则使包含在字符串集合中的字符串要素循环两次,按照字符串集合中的排列顺序将与15的数值相对应的字符串要素分配给数值数据215。但是,如果将这样分配的字符串要素原样作为索引值,则索引值的大小关系丢失,所以在后述的索引值生成部123中,对于字符串要素分配决定部122分配的字符串要素,附加表示循环的次数的信息来生成索引值。具体而言,例如,在使包含在字符串集合中的字符串要素循环1次而分配了字符串要素的情况下,将对该字符串要素的开头附加了X而成的值作为索引值,在使包含在字符串集合中的字符串要素循环两次而分配了字符串要素的情况下,将对该字符串要素的开头附加了XX而成的值作为索引值。由此,在包含在字符串集合中的字符串要素的个数为一定的状态的同时,关于超过该个数的数值数据,也能够以现实性的成本生成维持了大小关系的索引值。另外,表示循环的次数的信息、或将该信息附加到字符串要素的哪个位置等、构成字符串集合的有限个数的字符串要素循环使用的情况下的规则作为辅助信息由辅助信息存储部112存储。
此外,字符串要素分配决定部122也可以使用事前定义的分配规则,根据包含在字符串集合中的字符串要素中决定对作为生成索引值的对象的数值数据分配的字符串要素。例如,定义分配函数Pos,如果是Pos=n,则将按照字符串集合中的排列顺序赋予的数值与数值数据表示的数值(在使字符串集合循环的情况下是循环后的剩余的数值)一致的字符串要素作为对数值数据分配的字符串要素。此外,如果是Pos=2n,则将按照字符串集合中的排列顺序赋予的数值与数值数据表示的数值(在使字符串集合循环的情况下是循环后的剩余的数值)的2倍一致的字符串要素作为对数值数据分配的字符串要素。
即,在作为生成索引值的对象的数值数据表示的数值例如是15的情况下,如果事前定义的分配函数是Pos=n,则将按照字符串集合中的排列顺序与15的数值相对应的字符串要素分配给数值数据15。此外,如果事前定义的分配函数是Pos=2n,则将按照字符串集合中的排列顺序与30的数值相对应的字符串要素分配给数值数据15。由此,能够降低根据索引值推定数值的风险,能够使安全性提高。
此外,如上述那样,在使包含在字符串集合中的字符串要素循环使用的情况下,也可以对每个循环的次数定义不同的分配规则。这样,如果对每个循环的次数定义不同的分配规则,则根据索引值推定数值变得更加困难,所以能够进一步提高安全性。另外,在字符串要素的分配中使用的分配规则作为辅助信息由辅助信息存储部112存储。
索引值生成部123针对作为生成索引值的对象的数值数据,使用由字符串要素分配决定部122分配的字符串要素生成索引值。例如,在字符串要素分配决定部122使包含在字符串集合中的字符串要素循环1次来分配字符串要素的情况下,索引值生成部123生成对由字符串要素分配决定部122分配的字符串要素的开头附加了X而成的值作为索引值。此外,在字符串要素分配决定部122使包含在字符串集合中的字符串要素循环两次来分配字符串要素的情况下,索引值生成部123生成对由字符串要素分配决定部122分配的字符串要素的开头附加了XX而成的值作为索引值。
图8是概念性地表示字符串要素分配决定部122分配字符串要素从而索引值生成部123生成索引值的处理的一例的示意图。图8的例子表示包含在字符串集合中的字符串要素的个数是100的情况,例1是在全部的循环中分配函数为Pos=n的例子,例2是对每个循环定义分配函数Pos的例子。
在字符串要素分配决定部122对数值分配字符串要素的情况下,首先,决定与作为对象的数值对应的循环次数。例如,在作为对象的数值是102的情况下,包含在字符串集合中的字符串要素的循环次数是1次(循环1)。
接着,字符串要素分配决定部122在所决定的循环次数中,按照分配规则Pos,决定对作为对象的数值分配的字符串要素。例如,在作为对象的数值是102的情况下,在例1中,针对循环1的分配函数是Pos=n,所以分配“ABD”的字符串要素。此外,在例2中,针对循环1的分配函数是Pos=2n,所以分配“BCDF”的字符串要素。
接着,索引值生成部123对由字符串要素分配决定部122分配的字符串要素附加表示循环次数的信息,生成与作为对象的数值对应的索引值。例如,在作为对象的数值是102的情况下,在例1中,由字符串要素分配决定部122分配了“ABD”的字符串要素,在循环1中决定对字符串要素的开头附加X,所以作为索引值而生成“XABD”。此外,在例2中,由字符串要素分配决定部122分配了“BCDF”的字符串要素,在循环1中决定对开头附加X,所以作为索引值而生成“XBCDF”。这样生成的索引值决定了对字符串要素的开头附加了X的值比没有对字符串要素的开头附加X的值大、对字符串要素的开头附加了XX的值比对字符串要素的开头附加了X的值大的顺序关系。例如,是ZZZ<XAB,XZZZ<XXAB。
此外,如果通过以上说明的方法生成与数值数据对应的索引值,则在对表示相同的数值的多个数值数据分别生成索引值的情况下生成相同的索引值,留有在服务器侧推定原来的数值的风险。为了避免这样的风险,索引值生成部123在对表示相同的数值的多个数值数据分别生成索引值的情况下,对于一方的索引值,在将作为其原本的字符串要素按照对照规则变形后,生成索引值。这样生成的多个索引值彼此在单纯进行字符串比较(默认对照)的情况下是不同的值,但在指定在字符串要素的变形中使用的对照规则来进行比较的情况下,能够正确地判断是相同的值。由于在字符串要素的变形中使用的对照规则是在数据处理装置100侧定义的,所以在服务器200侧,值的推定变难,能够使安全性提高。另外,在字符串要素的变形中使用的对照规则既可以是与为生成字符串集合而使用的对照规则相同的规则,也可以是不同的规则。
图9是概念性地表示将对相同的数值分配的字符串要素按照对照规则变形的处理的示意图。例如,设在包含在从业员表中的两个记录中,在与年收入列对应的数值数据表示的数值分别是3的情况下,由字符串要素分配决定部122对数值3分配的字符串要素是“BCDE”。这里,如果使用将“G”及“M”作为除去代码、使“C”与“H”、“L”与“E”分别作为同值的对照规则,则能够将字符串要素“BCDE”变形为例如“GBMHDML”的字符串。在此情况下,索引值生成部123可以将与对应于两个记录的年收入列的一方的数值数据相对应的索引值设为BCDE,将与另一方的数值数据相对应的索引值设为例如GBMHDML。这些索引值在单纯的字符串比较中是不同的值,而在指定对照规则进行比较的情况下为相同的值。
这里,通过在按照对照规则将字符串要素变形而生成索引值的情况下设置一些规则,能够使检索处理高速化。例如,是即使将字符串要素变形的情况下也使表示循环次数的信息原样维持的规则。包含在字符串集合中的字符串要素的个数是1000,在是按照每个循环对字符串要素的开头附加X的规则的情况下,在开头不带有X的索引值表示的数值是0~999的范围,在开头仅带有1个X的索引值表示的数值是1000~1999的范围,在开头带有两个X的索引值表示的数值为2000~2999的范围。这在服务器200侧不知道,而在数据处理装置100侧能够识别。因而,例如如果对该列的索引值进行SQL函数的match(值,“X”)那样的指定,则与检索1000~1999的要素是同义的,如果进行match(值,“XX”)那样的指定,则与检索2000~2999的要素是同义的。该方法仅在解决数据处理装置100侧不具有对照规则的情况下的范围(值)检索时是有效的,能够将显然不需要的范围的索引值除去。
此外,保持用来将需要对照解决的索引值与其以外的值相区别的信息也是有效的。即,在使用对照规则从相同的值生成两个不同的索引值的情况下,将该索引值使用对照规则比较大小关系。但是,多数情况下使用了对照规则的处理比一般的比较处理低速,所以优选尽可能在数据处理装置100侧意识到这些而将查询式优化。所以,在使用对照规则将字符串要素变形而生成了索引值的情况下,用位串保持表示对该字符串要素需要进行对照解决的信息。此外,在按照每个循环在该循环内同样地使用对照规则生成索引值的情况下,用位串保持表示在该循环内需要对照解决的信息。也可以在各个循环中使字符串要素具有位串,但这里为了信息量削减而采取通过字符串要素用的位串与循环用的位串的叠加来管理的方式。由此,能够判断是否需要按照查询式的范围检索进行使用了对照规则的对照解决,能够进行关于值的查询的优化。
上述那样的用来将需要对照解决的索引值与其以外的值相区别的信息例如可以作为辅助信息之一保存到辅助信息存储部112中。此外,也可以考虑在索引值中直接装入表示是否需要对照解决的信息的方法。例如,只要将在对照规则中指定为除去代码的字符的1个保留为用于判断、附加在字符串要素的开头或在上述表示循环次数的信息(X,XX等)的后面,将由此得到的值作为索引值即可。
变换后管理对象数据生成部124将由加密·索引对象确定部121确定为加密对象的管理对象数据D1的数值数据使用密钥信息存储部114存储的密钥信息加密,并附加索引值生成部123生成的索引值,生成变换后管理对象数据D2。将这样生成的变换后管理对象数据D2如上述那样从数据处理装置100向服务器200传送,保存到服务器200的数据保存部210中。
接着,对数据处理装置100具备的查询式变换部105,一边例示处理的具体例一边更详细地说明。图10是表示查询式变换部105的具体的结构例的块图。
查询式变换部105如图10所示,具备查询式解析部151、优化部152、字符串要素分配决定部153、和变换后查询式生成部154。
查询式解析部151对输入的查询式Q1进行解析,使用加密·索引对象信息存储部113存储的加密·索引对象信息,确定将生成了索引值的数值数据作为检索的对象的条件部分。
优化部152使用辅助信息存储部112存储的辅助信息(将字符串要素循环使用的情况下的规则、用来将需要对照解决的索引值与其以外的值相区别的信息等),将查询式解析部151确定的查询式Q1的条件部分优化。
图11是概念性地表示使用辅助信息将查询式Q1的条件部分优化的处理的一例的示意图。在图11的例子中,包含在字符串集合中的字符串要素的个数是3000(0~2999)。在不使包含在字符串集合中的字符串要素循环的循环0中,由于分配函数是Pos=3n,所以从循环0被分配字符串要素的数值是0~999的范围,表示对照解决的需要与否的信息为不需要对照。此外,在使包含在字符串集合中的字符串要素循环1次的循环1中,由于分配函数是Pos=3n,所以从循环1被分配字符串要素的数值是1000~1999的范围,表示对照解决的需要与否的信息为需要对照。此外,在使包含在字符串集合中的字符串要素循环两次的循环2中,由于分配函数是Pos=n,所以从循环2被分配字符串要素的数值是2000~4999的范围,表示对照解决的需要与否的信息为不需要对照。各循环的分配函数或表示对照解决的需要与否的信息例如是从辅助信息存储部112得到的信息。
在图11的查询式1中,可知条件部分的由数值表示的范围是循环0的范围内。并且,与被分配循环0的字符串要素的数值相对应的索引值不需要使用了对照规则的对照解决。因而,查询式1的条件部分不特别优化,只要使用循环0的字符串要素将数值变换为索引值即可。
在图11的查询式2中,可知条件部分的由数值表示的范围跨越循环1和循环2这两个循环。并且,与被分配循环2的字符串要素的数值相对应的索引值不需要使用了对照规则的对照解决,但与被分配循环1的字符串要素的数值相对应的索引值需要使用了对照规则的对照解决。这里,如果设表示循环1的字符是X,则能够通过match(t.值,“X”)将具有使用了循环1的字符串要素的索引值的记录全部取出。此外,关于循环2,不需要使用了对照规则的对照解决,能够原样在服务器200侧处理,所以将条件部分的数值范围替换,将从对应于该循环2的数值中的开头的数值到条件部分的数值范围的上限值为止的范围作为检索范围。这里,如果单纯使用对应于循环2的数值中的开头的数值,则会在服务器200侧确定字符串集合的开头的字符串要素是什么,所以在将范围扩展以包含循环1后,将条件部分的数值范围替换。在图11的例子中,将从循环1中随机地选择的值1535设定为数值范围的下限值。在此情况下,一部分区间的记录被重复检索,所以,为了防止该情况而在查询式中追加了distinct处理。
字符串要素分配决定部153与数据变换部102的字符串要素分配决定部122同样地,使用辅助信息存储部112存储的辅助信息(在字符串要素的分配中使用的分配函数、将字符串要素循环使用的情况下的规则等),从字符串集合存储部111存储的字符串集合之中,决定对查询式Q1的条件部分的数值分配的字符串要素。这里,查询式Q1的条件部分是根据需要而由优化部152优化后的条件部分。
变换后查询式生成部154将查询式Q1的条件部分(根据需要而由优化部152优化后的条件部分)变换为使用了由字符串要素分配决定部153分配的字符串要素的条件部分,来生成变换后查询式Q2。这样生成的变换后查询式Q2如上述那样被从数据处理装置100向服务器200传送,在服务器200的查询处理中使用。
然后,如果将作为使用了变换后查询式Q2的查询处理的结果的结果数据集合R1从服务器200向数据处理装置100传送,则如上述那样,在后处理部108中,将该结果数据集合R1变换为最终作为查询式Q1的应答向用户返回的返回结果数据集合R2。另外,后处理部108中的处理仅在有需要的情况下进行即可,在检索结果不包含加密部分的情况、或通过优化而事前知道不需要数据处理装置100侧的对照的情况下等,只要将结果数据集合R1原样作为返回结果数据集合R2向用户返回即可。
(第二实施方式)
接着,对第二实施方式进行说明。第二实施方式是将用来进行索引值的对照解决的对照解决程序从数据处理装置100向服务器200发送、在服务器200中使用该对照解决程序进行索引值的对照解决的实施方式。
图12是表示有关第二实施方式的数据管理系统的整体结构的块图。在本实施方式的数据管理系统中,作为数据处理装置100的功能性的构成要素,追加了生成对照解决程序P1的程序生成部130。其他结构与图1所示的第一实施方式的数据管理系统的结构是同样的。
程序生成部130按照在数据变换部102中生成索引值时在字符串要素的变形中使用的对照规则,生成用来对需要对照解决的索引值进行对照解决的对照解决程序P1。将程序生成部130生成的对照解决程序P1和查询式变换部105生成的变换后查询式Q2一起从查询式发送部106向服务器200发送。
第二实施方式的情况下,数据处理装置100的查询式变换部105关于查询式的条件部分的需要进行对照解决的值,生成赋予了collate标志的变换后查询式Q2。图13是表示赋予了collate标志的变换后查询式Q2的一例的图。collate标志例如如图13所示,在需要对照解决的句法之后,以指定在对照解决中使用的对照解决程序P1的形式赋予,它是在作为一般的查询语言的SQL或XQUERY中也规定的句法。
在服务器200侧,在查询处理执行部204使用变换后查询式Q2执行查询处理时,对变换后查询式Q2进行解析,在检测到被赋予了collate标志(collate“xxx”)的句法的情况下,检查与变换后查询式Q2一起送来的对照解决程序P1是否是用collate标志指定的程序,如果是,则使用该对照解决程序P1进行对照解决。
对照解决程序P1例如是作为程序接口而仅具有确定2值间的大小关系的(返回-1,0,1)的功能的、耐篡改性较高的程序(软件),优选的是对照规则自身没有被确定那样的构成。此外,在保证了服务器200侧的安全的情况下,也可以不是每次查询时从数据处理装置100向服务器200发送变换后查询式Q2与对照解决程序P1,而是事前在服务器200侧登记对照解决程序P1。
在第二实施方式的结构的情况下,即使包含有需要对照解决的索引值,也能够在服务器200侧直接执行范围检索、MAX/MIN处理、结合处理、排序处理等的几乎全部的处理,只要作为查询处理的结果的结果数据集合R1不包含加密后的数值数据,就能够将结果数据集合R1作为返回结果数据集合R2原样向用户返回。
如以上这样,第二实施方式的结构与在数据处理装置100侧进行对照解决的情况相比,安全水平稍差,但在服务器200侧能够执行几乎全部的值关系的处理。因而,在与安全性相比更重视高性能性的情况下,优选的是采用该结构。
(第三实施方式)
接着,对第三实施方式进行说明。第三实施方式是使用与服务器200不同的服务器进行索引值的对照解决的实施方式。
图14是表示有关第三实施方式的数据管理系统的整体结构的块图。本实施方式的数据管理系统如图14所示,与数据处理装置100及服务器200分离独立地构成,具备与服务器200经由网络可通信地连接的对照解决服务器300。其他结构与图1所示的有关第一实施方式的数据管理系统的结构是同样的。
对照解决服务器300具备对照请求受理部301、程序选择部302、对照解决处理部303、和程序存储部310。
程序存储部310存储对照解决程序P1,P2,…,Pn。对照解决程序P1,P2,…,Pn是事前根据来自数据处理装置100的请求而登记的程序,分别对应于在数据处理装置100中在字符串要素的变形中使用的对照规则。这些对照解决程序P1,P2,…,Pn可以通过对各对照解决程序赋予的URI来确定。例如,在对照解决服务器300的URL是“http://www.toshiba.co.jp”的情况下,被赋予了“collation1”的名称的对照解决程序的URI为“http://www.toshiba.co.jp/collation1”,通过指定该URI,能够将被赋予了“collation1”的名称的对照解决程序取出。另外,各对照解决程序的URI在对照解决程序的登记时被数据处理装置100侧所了解。
对照请求受理部301受理来自服务器200的对照请求,将根据该对照请求由对照解决处理部303进行了对照解决处理的结果返回给服务器200。
程序选择部302基于包含在来自服务器200的对照请求中的URI标志,选择程序存储部310存储的对照解决程序P1,P2,…,Pn中的、在对照解决处理部303的对照解决处理中使用的对照解决程序,并传递给对照解决处理部303。
对照解决处理部303使用由程序选择部302选择的对照解决程序,进行包含在来自服务器200的对照请求中的值的对照解决处理。由对照解决处理部303进行的对照解决处理的结果被从对照请求受理部301作为对对照请求的应答向服务器200返回。
在第三实施方式的情况下,数据处理装置100的查询式变换部105关于查询式的条件部分的需要进行对照解决的值,生成以URI表现植入了在对照解决中使用的对照解决程序的形式的变换后查询式Q2。图15是表示以URI表现植入在对照解决中使用的对照解决程序的形式的变换后查询式Q2的一例的图。这样的形式的查询式也不脱离作为一般的查询语言的SQL及XQUERY的规格。
在服务器200侧,当查询处理执行部204使用变换后查询式Q2执行查询处理时,对变换后查询式Q2进行解析,在检测到被URI指定的句法的情况下,对对照解决服务器300发出对照请求。例如,服务器200的查询处理执行部204针对想要解决对照关系的两个字符串,向对照请求受理部301以Compare(x1,x2,“http://www.toshiba.co.jp/collation1”)那样的形式进行对照请求。该对照请求被对照解决服务器300的对照请求受理部301受理,由程序选择部302从程序存储部310中选择被赋予了“collation1”的名称的对照解决程序,传递给对照解决处理部303。对照解决处理部303使用被赋予了“collation1”的名称的对照解决程序,进行x1和x2这两个值的大小比较,将其结果从对照请求受理部301向服务器200的查询处理执行部204返回。
在第三实施方式的结构中,服务器200侧只是能够仅知道两个字符串间的大小关系,不能知道对照规则自身。因而,在第三实施方式的结构的情况下,能够削减服务器200侧确定对照规则的风险。但是,在第三实施方式的结构中,还有对照解决服务器300也必须具有高可靠性、不能将确定对照规则的风险完全排除、和因为是经由网络的对照解决处理而处理时间变得比第二实施方式长这些缺点。但是,第三实施方式的结构由于能够仅在服务器200侧就使关于值的条件处理完结,所以适合用于与第二实施方式相比也可以使性能稍稍变差、但想要提高安全强度的情况下等。
(实施例)
接着,在上述各实施方式的结构中,将对用户发行的查询式Q1返回返回结果数据集合R2之前的动作的具体例作为第一实施例~第四实施例进行说明。图16是说明第一实施例~第四实施例的概要的示意图,图16(a)表示第一实施例,图16(b)表示第二实施例,图16(c)表示第三实施例,图16(d)表示第四实施例。
第一实施例以第一实施方式的结构为前提,是在数据登记时不进行使用了对照规则的字符串要素的变形(即,容许对相同的数值数据生成相同的索引值)的例子。第二实施例以第二实施方式的结构为前提,是在数据登记时进行使用了对照规则的字符串要素的变形、从数据处理装置100对服务器200传递对照解决程序、在服务器200侧使用该对照解决程序进行对照解决的例子。第三实施例以第三实施方式的结构为前提,是在数据登记时进行使用了对照规则的字符串要素的变形、利用对照解决服务器300进行对照解决的例子。第四实施例以第一实施方式的结构为前提,是在数据登记时进行使用了对照规则的字符串要素的变形、在数据处理装置100侧进行对照解决的例子。
图17是表示在第一实施例~第四实施例中进行处理的条件的图。在第一实施例~第四实施例中,设用户发行的查询式Q1是,保存在服务器200的数据保存部210中的从业员表的年收入列为范围检索的对象,并且将该范围内的年收入最终通过Order By排序,进而在Select部分仅将不是年收入的从业员ID取出,请求向用户返回。由于保存在服务器200的数据保存部210中的从业员表的年收入列被加密,所以将范围检索的条件变换为关于与年收入列对应的索引值的列的条件,通过优化而设定上限值、下限值等。
设在索引值的生成中使用的字符串集合与在图8的例2中说明的同样,关于循环0和循环2不需要对于索引值的对照解决,作为辅助信息存储有仅在循环1的范围内需要对照解决的情况。此外,设字符串要素的个数是100个,作为辅助信息存储有按照字符串集合中的排列顺序赋予的数值为0~50的字符串要素不需要对照解决、按照字符串集合中的排列顺序赋予的数值为51~99的字符串要素需要对照解决的情况。此外,设对在对照解决中使用的对照解决程序P1赋予的名称是“collation1”,在第三实施例中在对照解决中使用的对照解决服务器300的URL是“http://www.toshiba.co.jp”。
图18是表示在第一实施例~第四实施例中由数据处理装置100的查询式变换部105生成的变换后查询式Q2的图,分别将在第一实施例中生成的变换后查询式Q2表示为变换后查询式1,将在第二实施例中生成的变换后查询式Q2表示为变换后查询式2,将在第三实施例中生成的变换后查询式Q2表示为变换后查询式3,将在第四实施例中生成的变换后查询式Q2表示为变换后查询式4。
在第一实施例中,由于不进行对于索引值的对照解决,所以使用保存在服务器200中的从业员表的索引列的索引值,不使用对照解决程序P1,仅在服务器200中就能够使处理完结。由此,在第一实施例的情况下,只要查询式Q1的结果取得部分(在SQL的情况下是Select部分)不请求加密后的数据的取得,就能够将作为服务器200的查询处理执行部204的查询处理的结果的结果数据集合R1原样作为返回结果数据集合R2向用户返回。
在第一实施例的情况下,将作为查询式Q1的条件部分的102<值<152的部分使用在数据登记时使用的字符串集合变换为“XBCDF”<值<“XXABD”。此外,由于不需要对照解决,所以Order By的部分为原样即可。因而,第一实施例的最终的变换后查询式Q2如在图18的变换后查询式1中表示那样,为
Select从业员ID
From从业员表
Where“XBCDF”<值<“XXABD”
Order By值。
将作为使用了该变换后查询式Q2的查询处理的结果的结果数据集合R1原样作为返回结果数据集合R2向用户返回。
在第二实施例中,使用数据处理装置100的程序生成部130生成的对照解决程序P1,在服务器200侧进行对照解决。在此情况下,也与第一实施例同样地,只要查询式Q1的结果取得部分(在SQL的情况下是Select部分)不请求加密后的数据的取得,就能将作为服务器200的查询处理执行部204的查询处理的结果的结果数据集合R1原样作为返回结果数据集合R2向用户返回。但是,在使用对照解决程序P1进行对照解决的情况下,与不进行对照解决的情况相比,速度稍稍下降,所以在数据处理装置100侧使用辅助信息尽可能将查询式优化。
根据图17所示的条件,由于102<值<152跨越循环1和循环2的区间,根据辅助信息知道关于循环2不需要对照解决,所以关于属于循环2的150<值<152,不需要指定对照解决程序P1而使服务器200进行对照解决。此外,关于循环1,在某个字符串要素中需要对照解决,但根据辅助信息可知,在100<值<125的区间中不需要对照解决。另一方面,在125≦值<150的区间中需要对照解决,所以将指定了在对照解决中使用的对照解决程序P1的程序名“collation1”的collate标志赋予在需要对照解决的句法之后。并且,如果取这样被范围分割后的条件的OR,则为应求出的查询式。
即,在第二实施例中,通过优化处理将查询式Q1变形,以成为
Select从业员ID
From从业员表
Where(102<值<125)
Or(125≦值<150collate“collation1”)
Or(150≦值<152)
Order By值collate“collation1”。
这样,对于Order By的部分,也赋予指定了在对照解决中使用的对照解决程序P1的程序名“collation1”的collate标志。另外,在将范围检索的条件部分分割的情况下,如上述那样,优选使一部分的范围重复来设定分割后的范围,以使得不会不经意地使用字符串集合中的开头的字符串或末尾的字符串要素,但这里省略该处理。
在第二实施例中,对于以上这样变形的查询式Q1,将作为条件部分的(102<值<125)、(125≦值<150)、(150≦值<152)分别使用在数据登记时使用的字符串集合加以变换。因而,第二实施例中的最终的变换后查询式Q2如在图18的变换后查询式2中表示那样,为
Select从业员ID
From从业员表
Where(“XBCDF”<值<“XJKLM”)
Or(“XJKLM”≦值<“XXAB”collate“collation1”)
Or(“XXAB”≦值<“XXABD”)
Order By值collate“collation1”。
在第三实施例中,服务器200不进行对照解决,而是对照解决服务器300的对照解决处理部303根据来自服务器200的请求,使用事前登记的对照解决程序P1进行对照解决。在第三实施例中,由于通过服务器200的外部的对照解决服务器300执行对照解决,所以在数据处理装置100侧使用辅助信息尽可能将查询式优化比第二实施例更加重要。
第三实施例的查询式的优化的方法与第二实施例是同样的,但在对照解决中使用的对照解决程序P1的指定使用URI进行。这里,由于对照解决服务器300的URL是“http://www.toshiba.co.jp”,对对照解决程序P1赋予的名称是“collation1”,所以对照解决程序P1的URI为“http://www.toshiba.co.jp/collation1”。
在第三实施例中,指定在该对照解决中使用的对照解决程序P1的URI,与第二实施例同样地,在将查询式Q1变形以将条件部分分离后,将分离后的条件部分分别使用在数据登记时使用的字符串集合加以变换。因而,第三实施例的最终的变换后查询式Q2如在图18的变换后查询式3中表示那样,为
Select从业员ID
From从业员表
Where(“XBCDF”<值<“XJKLM”)
Or(“XJKLM”≦值<“XXAB”collate“http://www.toshiba.co.jp/collation1”)
Or(“XXAB”≦值<“XXABD”)
Order By值collate“http://www.toshiba.co.jp/collation1”。
在第四实施例中,在服务器200侧不能进行对照解决,并且根据辅助信息可知,查询式Q1的条件部分包含需要对照解决的区间,所以数据处理装置100的查询式变换部105生成从服务器200取得候选解那样的变换后查询式Q2,将由变换后查询式Q2取得的结果数据集合R1作为一次结果集合向后处理部108输入,将在后处理部108中进行对照解决后进行排序处理的结果作为返回结果数据集合R2向用户返回。
由于查询式Q1的条件部分的102<值<152中的102<值<150的范围属于需要对照解决的循环1,所以关于该范围,使用match函数变换为将该范围内的值作为候选解那样的条件部分。此外,由于150≦值<152的范围属于不需要对照解决的循环2,所以关于该范围变形为进行通常的查询处理的范围检索条件,使用在数据登记时使用的字符串集合进行变换。因而,在第四实施例中,从数据处理装置100向服务器200传送的变换后查询式Q2如在图18的变换后查询式4-1中表示那样,为
Select*
From从业员表
Where match(值,“X”)Or(“XXAB≦值<“XXABD”)
Order By值。
这里,关于Order By,也可以在向服务器200发送的变换后查询式Q2中省略,仅在数据处理装置100侧实施,但这里在不进行对照解决的状态下在服务器200侧实施。其目的在于,利用至少关于循环的次数是与是否进行对照解决无关地确定的情况,尽量使服务器200侧进行处理开销较重的部分。此外,由于在数据处理装置100侧需要对照解决的处理,所以为了取得索引值而设为Select*。作为使用了该变换后查询式Q1的查询处理的结果的结果数据集合R1作为一次结果集合被向数据处理装置100的后处理部108输入,在后处理部108中,按照在将字符串要素变形时使用的对照规则进一步进行查询处理。
在对一次结果集合的查询处理中使用的变换后查询式Q2中,对作为原查询式Q1的条件部分的102<值<152不特别进行变形,而将上限值及下限值使用在数据登记时使用的字符串集合加以变换。此外,在服务器200侧的处理中,指定在对照解决中使用的对照规则再次执行不完全的排序处理。这里,与第二实施例或第三实施例同样地,使用基于在字符串要素的变形中使用的对照规则生成的对照解决程序P1进行对照解决,指定对照解决程序P1的名称“collation1”。在此情况下,由于在服务器200侧知道排序完成部分(在不进行对照解决的状态下进行了排序的部分)、和不确定位置的部分(在match函数中命中的部分),所以也能够利用这一点进一步使查询处理高速化。
在第四实施例中,在数据处理装置100的后处理部105对一次结果集合进行的查询处理中使用的变换后查询式Q2如图18的变换后查询式4-2所示,为
Select从业员ID
From一次结果集合
Where“XBCDF”<值<“XXABD”collate“collation1”
Order By值collate“collation1”。
在第四实施例中,将使用了该变换后查询式Q2的查询处理的结果作为返回结果数据R2向用户返回。
如以上的第一实施例~第四实施例那样,上述实施方式的数据管理系统根据用户希望的安全水平、应答性能等,可以分别采用适当的系统结构,能够进行处理以使安全水平和性能尽量两全。这样,根据实施方式的数据管理系统,能够在确保较高的安全性的同时实现高性能的检索处理。
实施方式的数据管理系统的数据处理装置100的功能例如可以通过在数据处理装置100中执行规定的程序来实现。在此情况下,数据处理装置100例如如图19所示,为具备CPU(Central Processing Unit:中央处理单元)151等控制装置、ROM(Read Only Memory:只读存储器)152及RAM(Random Access Memory:随机存储器)153等存储装置、连接在网络上进行通信的通信I/F154、将各部连接的总线155等的、利用通常的计算机的硬件结构。
由数据处理装置100执行的程序以能够安装的形式或能够执行的形式的文件记录在CD-ROM(Compact Disk Read Only Memory:光盘只读存储器)、软盘(FD)、CD-R(Compact Disk Recordable:可记录光盘)、DVD(Digital Versatile Disc:数字化通用盘)等的能够由计算机读取的记录介质中,作为计算机程序产品加以提供。
此外,也可以构成为,将由数据处理装置100执行的程序保存到连接在因特网等网络上的计算机上,通过经由网络下载来提供。此外,也可以构成为,将由数据处理装置100执行的程序经由因特网等网络提供或分发。
此外,也可以构成为,将由数据处理装置100执行的程序预先装入到ROM152等中加以提供。
由数据处理装置100执行的程序为包括数据处理装置100的各处理部(数据接收部101、数据变换部102、数据发送部103、查询式接收部104、查询式变换部105、查询式发送部106、结果接收部107、后处理部108、结果发送部109、及程序生成部130)的模组结构,作为实际的硬件,例如,通过CPU151(处理器)从上述记录介质将程序读出并执行,将上述各处理部装载到主存储装置上,在主存储装置上生成上述各处理部。另外,也可以使用ASIC(Application Specific Integrated Circuit:专用集成电路)或FPGA(Field-Programmable Gate Array:现场可编程门阵列)等专用的硬件实现数据处理装置100的上述各处理部的一部分或全部。
以上,说明了本发明的实施方式,但这里说明的实施方式是作为例子提示的,并不意味着限定发明的范围。这里说明的新的实施方式能够以其他各种形态实施,在不脱离发明的主旨的范围中能够进行各种省略、替换、变更。这里说明的实施方式及其变形包含在发明的范围及主旨中,并且包含在权利要求书所记载的发明和其等价的范围内。

Claims (9)

1.一种数据处理装置,具备:
存储部,存储字符串集合,该字符串集合是能够唯一地确定大小关系的多个字符串要素的集合;
数据变换部,将包含在管理对象数据中的数值数据加密,并使用包含在上述字符串集合中的字符串要素生成与上述数值数据对应的索引值,生成包括加密后的上述数值数据和上述索引值的变换后管理对象数据;
第一发送部,向服务器发送上述变换后管理对象数据;
查询式变换部,将查询式的使用了数值的条件部分变换为使用了包含在上述字符串集合中的字符串要素的条件部分,来生成变换后查询式;
第二发送部,将上述变换后查询式向上述服务器发送;以及
接收部,从上述服务器接收使用了上述变换后查询式的查询处理的结果。
2.如权利要求1所述的数据处理装置,
在上述数值数据表示的数值比包含在上述字符串集合中的字符串要素的个数大的情况下,上述数据变换部使包含在上述字符串集合中的字符串要素循环来确定对上述数值数据表示的数值分配的字符串要素,对所确定的字符串要素附加表示循环的次数的信息,生成上述索引值;
在上述查询式的条件部分中使用的数值比包含在上述字符串集合中的字符串要素的个数大的情况下,上述查询式变换部使包含在上述字符串集合中的字符串要素循环来确定对在上述查询式的条件部分中使用的数值分配的字符串要素,使用所确定的字符串要素和表示循环的次数的信息,变换上述查询式的条件部分。
3.如权利要求1所述的数据处理装置,
上述数据变换部使用事前定义的分配规则,确定包含在上述字符串集合中的多个字符串要素中的、对上述数值数据表示的数值分配的字符串要素,使用该字符串要素生成上述索引值;
上述查询式变换部使用上述分配规则,确定包含在上述字符串集合中的多个字符串要素中的、对在上述查询式的条件部分中使用的数值分配的字符串要素,使用该字符串要素变换上述查询式的条件部分。
4.如权利要求1所述的数据处理装置,
上述数据变换部按照事前定义的对照规则,将对上述数值数据表示的数值分配的字符串要素变形来生成上述索引值,并对在该索引值的生成中使用的字符串要素附加表示需要遵循上述对照规则进行大小关系的对照处理的信息;
上述查询式变换部将上述查询式的条件部分变换为分离成包含需要遵循上述对照规则进行大小关系的对照处理的字符串要素在内的部分和不包含需要遵循上述对照规则进行大小关系的对照处理的字符串要素在内的部分的条件部分。
5.如权利要求4所述的数据处理装置,
还具备程序生成部,该程序生成部基于上述对照规则,生成用来进行字符串要素的大小关系的对照处理的对照解决程序;
上述第二发送部将上述对照解决程序与上述变换后查询式一起向上述服务器发送。
6.一种数据管理系统,具备数据处理装置、和与该数据处理装置可通信地连接的服务器,
上述数据处理装置具备:
存储部,存储字符串集合,该字符串集合是能够唯一地确定大小关系的多个字符串要素的集合;
数据变换部,将包含在管理对象数据中的数值数据加密,并使用包含在上述字符串集合中的字符串要素生成与上述数值数据对应的索引值,生成包括加密后的上述数值数据和上述索引值的变换后管理对象数据;
第一发送部,向上述服务器发送上述变换后管理对象数据;
查询式变换部,将查询式的使用了数值的条件部分变换为使用了包含在上述字符串集合中的字符串要素的条件部分,来生成变换后查询式;
第二发送部,将上述变换后查询式向上述服务器发送;以及
第一接收部,从上述服务器接收使用了上述变换后查询式的查询处理的结果,
上述服务器具备:
第二接收部,从上述数据处理装置接收上述变换后管理对象数据;
数据保存部,保存上述变换后管理对象数据;
第三接收部,从上述数据处理装置接收上述变换后查询式;
查询处理执行部,使用上述变换后查询式执行对于上述数据保存部的查询处理;以及
第三发送部,向上述数据处理装置发送使用了上述变换后查询式的查询处理的结果。
7.如权利要求6所述的数据管理系统,
上述数据变换部按照事前定义的对照规则将对上述数值数据表示的数值分配的字符串要素变形来生成上述索引值;
还具备与上述服务器可通信地连接的对照解决服务器,该对照解决服务器根据来自上述服务器的请求,使用基于上述对照规则而生成的对照解决程序,进行字符串要素的大小关系的对照处理。
8.一种数据处理方法,在具备存储部的数据处理装置中执行,上述存储部存储字符串集合,该字符串集合是能够唯一地确定大小关系的多个字符串要素的集合,上述数据处理方法包括:
上述数据处理装置的数据变换部将包含在管理对象数据中的数值数据加密,并使用包含在上述字符串集合中的字符串要素生成与上述数值数据对应的索引值,生成包括加密后的上述数值数据和上述索引值的变换后管理对象数据的步骤;
上述数据处理装置的第一发送部向服务器发送上述变换后管理对象数据的步骤;
上述数据处理装置的查询式变换部将查询式的使用了数值的条件部分变换为使用了包含在上述字符串集合中的字符串要素的条件部分,生成变换后查询式的步骤;
上述数据处理装置的第二发送部将上述变换后查询式向上述服务器发送的步骤;以及
上述数据处理装置的接收部从上述服务器接收使用了上述变换后查询式的查询处理的结果的步骤。
9.一种程序,用来使具备存储部的计算机执行以下功能,上述存储部存储字符串集合,该字符串集合是能够唯一地确定大小关系的多个字符串要素的集合,使计算机执行的功能包括:
将包含在管理对象数据中的数值数据加密,并使用包含在上述字符串集合中的字符串要素生成与上述数值数据对应的索引值,生成包括加密后的上述数值数据和上述索引值的变换后管理对象数据的功能;
向服务器发送上述变换后管理对象数据的功能;
将查询式的使用了数值的条件部分变换为使用了包含在上述字符串集合中的字符串要素的条件部分,生成变换后查询式的功能;
将上述变换后查询式向上述服务器发送的功能;以及
从上述服务器接收使用了上述变换后查询式的查询处理的结果的功能。
CN201280002836.4A 2012-09-20 2012-09-20 数据处理装置、数据管理系统、数据处理方法 Active CN103827862B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/074004 WO2014045361A1 (ja) 2012-09-20 2012-09-20 データ処理装置、データ管理システム、データ処理方法およびプログラム

Publications (2)

Publication Number Publication Date
CN103827862A true CN103827862A (zh) 2014-05-28
CN103827862B CN103827862B (zh) 2017-09-01

Family

ID=49850415

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280002836.4A Active CN103827862B (zh) 2012-09-20 2012-09-20 数据处理装置、数据管理系统、数据处理方法

Country Status (5)

Country Link
US (1) US10546136B2 (zh)
EP (1) EP2899648A1 (zh)
JP (1) JP5367179B1 (zh)
CN (1) CN103827862B (zh)
WO (1) WO2014045361A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114500356A (zh) * 2022-04-06 2022-05-13 广东省通信产业服务有限公司 数据交叉传输方法、装置及系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10380352B2 (en) * 2014-02-04 2019-08-13 International Business Machines Corporation Document security in enterprise content management systems
US20170134159A1 (en) * 2015-11-05 2017-05-11 Sze Yuen Wong Systems and methods for aggregating encrypted data
CN110019994A (zh) * 2017-11-13 2019-07-16 阿里巴巴集团控股有限公司 数据加密、解密及查询方法、数据加密解密及查询装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010016851A1 (en) * 2000-02-17 2001-08-23 Ferdinand Gramsamer Archiving and retrieval method and apparatus
JP2002278970A (ja) * 2001-03-16 2002-09-27 Ricoh Co Ltd 文書管理システム
CN1774755A (zh) * 2003-04-11 2006-05-17 索尼株式会社 数字数据存储/再现方法及设备
CN101246529A (zh) * 2007-01-30 2008-08-20 科技资产股份有限公司 借由硬件锁装置的存储装置数据加密和数据访问的系统及方法
WO2011086668A1 (ja) * 2010-01-13 2011-07-21 三菱電機株式会社 秘匿検索システム及び公開パラメータ生成装置及び暗号化装置及びユーザ秘密鍵生成装置及びクエリ発行装置及び検索装置及びコンピュータプログラム及び秘匿検索方法及び公開パラメータ生成方法及び暗号化方法及びユーザ秘密鍵生成方法及びクエリ発行方法及び検索方法
WO2012095973A1 (ja) * 2011-01-13 2012-07-19 三菱電機株式会社 データ処理装置及びデータ保管装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS477198Y1 (zh) 1970-05-13 1972-03-15
JPS6436329A (en) * 1987-07-31 1989-02-07 Nec Corp Character string registration retriever
US4853962A (en) * 1987-12-07 1989-08-01 Universal Computer Consulting, Inc. Encryption system
US5585793A (en) * 1994-06-10 1996-12-17 Digital Equipment Corporation Order preserving data translation
WO2001080557A1 (en) * 2000-04-18 2001-10-25 Matsushita Electric Industrial Co., Ltd. A storage medium, a data obtaining apparatus, a data holding apparatus, a data obtaining method, and a data holding method
US6877003B2 (en) * 2001-05-31 2005-04-05 Oracle International Corporation Efficient collation element structure for handling large numbers of characters
US7500111B2 (en) * 2003-05-30 2009-03-03 International Business Machines Corporation Querying encrypted data in a relational database system
US20050251519A1 (en) * 2004-05-07 2005-11-10 International Business Machines Corporation Efficient language-dependent sorting of embedded numerics
US7899665B2 (en) * 2004-08-20 2011-03-01 International Business Machines Corporation Methods and systems for detecting the alphabetic order used by different languages
US7676476B2 (en) * 2004-08-25 2010-03-09 Microsoft Corporation Data types with incorporated collation information
US8448158B2 (en) * 2005-02-03 2013-05-21 Mitsubishi Electric Corporation Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof
JP4837362B2 (ja) * 2005-10-31 2011-12-14 株式会社エヌ・ティ・ティ・データ データ検索システム、情報処理装置、データ検索方法、及び、プログラム。
JP2007173912A (ja) * 2005-12-19 2007-07-05 Glory Ltd 印刷検査装置
WO2008047432A1 (fr) 2006-10-19 2008-04-24 Fujitsu Limited Programme de recherche d'informations, supports d'enregistrement comprenant un tel programme enregistré, procédé de recherche d'informations, dispositif de recherche d'informations
US8958562B2 (en) * 2007-01-16 2015-02-17 Voltage Security, Inc. Format-preserving cryptographic systems
US20090158054A1 (en) * 2007-12-13 2009-06-18 Massachusetts Institute Of Technology Private data processing
JP5056546B2 (ja) 2008-04-02 2012-10-24 日本電気株式会社 ファイル保護システム、方法及びプログラム
WO2010024116A1 (ja) * 2008-08-26 2010-03-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 公開された検索エンジンを用いた検索装置、検索方法及び検索プログラム
US8738683B2 (en) * 2008-09-15 2014-05-27 Vaultive Ltd. System, apparatus and method for encryption and decryption of data transmitted over a network
WO2012004880A1 (ja) * 2010-07-08 2012-01-12 三菱電機株式会社 キーワード変換装置、キーワード変換プログラム、記録媒体及びキーワード変換方法
CN103501700B (zh) * 2011-01-10 2016-05-11 皇家飞利浦电子股份有限公司 计算机断层摄影(ct)数据采集

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010016851A1 (en) * 2000-02-17 2001-08-23 Ferdinand Gramsamer Archiving and retrieval method and apparatus
JP2002278970A (ja) * 2001-03-16 2002-09-27 Ricoh Co Ltd 文書管理システム
CN1774755A (zh) * 2003-04-11 2006-05-17 索尼株式会社 数字数据存储/再现方法及设备
CN101246529A (zh) * 2007-01-30 2008-08-20 科技资产股份有限公司 借由硬件锁装置的存储装置数据加密和数据访问的系统及方法
WO2011086668A1 (ja) * 2010-01-13 2011-07-21 三菱電機株式会社 秘匿検索システム及び公開パラメータ生成装置及び暗号化装置及びユーザ秘密鍵生成装置及びクエリ発行装置及び検索装置及びコンピュータプログラム及び秘匿検索方法及び公開パラメータ生成方法及び暗号化方法及びユーザ秘密鍵生成方法及びクエリ発行方法及び検索方法
WO2012095973A1 (ja) * 2011-01-13 2012-07-19 三菱電機株式会社 データ処理装置及びデータ保管装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114500356A (zh) * 2022-04-06 2022-05-13 广东省通信产业服务有限公司 数据交叉传输方法、装置及系统
CN114500356B (zh) * 2022-04-06 2022-07-05 广东省通信产业服务有限公司 数据交叉传输方法、装置及系统

Also Published As

Publication number Publication date
US10546136B2 (en) 2020-01-28
EP2899648A1 (en) 2015-07-29
US20140081949A1 (en) 2014-03-20
CN103827862B (zh) 2017-09-01
JP5367179B1 (ja) 2013-12-11
JPWO2014045361A1 (ja) 2016-08-18
WO2014045361A1 (ja) 2014-03-27

Similar Documents

Publication Publication Date Title
Fu et al. Toward efficient multi-keyword fuzzy search over encrypted outsourced data with accuracy improvement
US9558228B2 (en) Client computer for querying a database stored on a server via a network
US9356921B2 (en) Different authentication profiles
CN108491495A (zh) 一种档案数字化管理系统
Xiong et al. Preserving data privacy in outsourcing data aggregation services
Awad et al. Chaotic searchable encryption for mobile cloud storage
US8504590B2 (en) Methods of encapsulating information in records from two or more disparate databases
US20150143536A1 (en) System and method for locating and retrieving private information on a network
US10552411B2 (en) Email service adapter
CN103827862A (zh) 数据处理装置、数据管理系统、数据处理方法及程序
US10057240B2 (en) Single sign-on to web applications from mobile devices
JP4594078B2 (ja) 個人情報管理システムおよび個人情報管理プログラム
CN107395587A (zh) 一种基于多点协作机制的数据管理方法及系统
US11550781B2 (en) Identification of data in distributed environments
WO2015150792A1 (en) An improved database access control method and system
KR20160050930A (ko) 대용량 분산 파일 시스템에서 데이터의 수정을 포함하는 트랜잭션 처리 장치 및 컴퓨터로 읽을 수 있는 기록매체
Cho et al. Privacy-preserving similarity measurement for access control policies
CN115495792A (zh) 一种具有隐私保护的模糊关键词可搜索加密方法和系统
Bu et al. SEF: a secure, efficient, and flexible range query scheme in two-tiered sensor networks
Gal-Oz et al. Mining roles from web application usage patterns
Le et al. Query access assurance in outsourced databases
Lopriore Key management in tree shaped hierarchies
Siegenthaler et al. Sharing private information across distributed databases
KR102625319B1 (ko) 클라우드 서버 기반의 헬스케어 데이터 관리 방법 및 장치
CN110490636B (zh) 客户信息管理方法、装置、计算机可读存储介质及服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant