CN110062941B - 消息发送***及方法、通信终端、服务器装置、记录介质 - Google Patents

消息发送***及方法、通信终端、服务器装置、记录介质 Download PDF

Info

Publication number
CN110062941B
CN110062941B CN201780076291.4A CN201780076291A CN110062941B CN 110062941 B CN110062941 B CN 110062941B CN 201780076291 A CN201780076291 A CN 201780076291A CN 110062941 B CN110062941 B CN 110062941B
Authority
CN
China
Prior art keywords
index
message
session key
communication terminal
key
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.)
Active
Application number
CN201780076291.4A
Other languages
English (en)
Other versions
CN110062941A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of CN110062941A publication Critical patent/CN110062941A/zh
Application granted granted Critical
Publication of CN110062941B publication Critical patent/CN110062941B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

提高机密性。通信终端存储与其它通信终端共享的会话密钥(S3)。通信终端对与消息相关联的字符串,将使用会话密钥生成的索引和消息识别符成组,发送到服务器装置(S4)。服务器装置存储索引和消息识别符的组(S5)。在会话密钥被更新时,通信终端使用更新前的会话密钥和更新后的会话密钥生成再加密密钥(S8)。服务器装置使用再加密密钥,将存储的索引更新为使用更新后的会话密钥生成的索引(S9)。通信终端使用会话密钥加密搜索关键字,生成搜索查询(S10)。服务器装置提取索引与搜索查询一致的消息识别符(S11)。

Description

消息发送***及方法、通信终端、服务器装置、记录介质
技术领域
本发明涉及加密技术,特别涉及发送接收加密的消息的消息发送技术。
背景技术
在以商业中的使用为前提的消息发送***中,存在使用基于云型的发送***的消息发送***,使得能够进行个人电脑和智能电话等多设备对应,并且考虑企业的机密信息泄露而不在客户终端中残留数据。作为这样的基于云型的消息发送***的一个例子,举出非专利文献1中记载的产品。
在这样的消息发送***中,通过加密通信路径而防止通信路径上的窃听,或者如已叙述的那样,通过在终端中不残留数据,防止因终端的丢失或非法的拿出引起的信息泄露。这样应对对于通信路径和终端的威胁,但是另一方面应对对于服务器的威胁并不足够。作为这里所说的对于服务器的威胁,举出对于服务器的来自外部的攻击或服务器管理者等的内部非法等。作为对于服务器的威胁举出,通过加密等对消息进行隐匿保存等对策,但是既然在服务器侧能够解码,当然来自服务器的消息泄露的可能性依然存在。因此,送到进行消息的发送接收或保存的服务器的消息对于服务器隐匿(在服务器侧不被窃听)非常重要。
一个方法是对于服务器隐匿消息,实现仅在终端可解码的端到端的加密通信,但是如何共享在终端间使用的公共密钥成为问题。作为该问题的解决对策,例如在非专利文献2中提出了在中央具有认证服务器的星型的网络中,对于认证服务器***露任何信息地在利用者之间共享公共密钥(以下,也称为会话密钥)的协议。由此,能够在对服务器隐匿了消息的情况下在终端间交换消息。
另一方面,若依据在商业中的利用,则需要高效地发现过去的交换的手段。作为该手段,考虑消息的搜索功能。但是,在适用利用者之间的会话密钥共享技术的情况下,云上累积的消息被隐匿,所以需要使得可在保持隐匿的情况下搜索消息。例如在非专利文献3中,搜索密钥和关键字输入到哈希函数,将其输出作为索引上传到服务器。在搜索时,将在同样的步骤中生成的加密关键字上传到服务器,服务器搜索与哈希值一致的索引并回答结果。由此,能够在隐匿了云上累积的消息的情况下进行搜索。
现有技术文献
非专利文献
非专利文献1:NTTソフトウェア、“ビジネスチャットTopicRoom(トピックルーム)”、[online]、[平成28年12月1日検索]、因特网<URL:https://www.ntts.co.jp/products/topicroom/index.html>
非专利文献2:小林鉄太郎、米山一樹、吉田麗生、川原祐人、冨士仁、山本具英、“スケーラブルな動的多者鍵配布プロトコル”、SCIS2016、4E2-3、2016年
非专利文献3:W.Ogata,K.Koiwa,A.Kanaoka,S.Matsuo,"Toward PracticalSearchable Symmetric Encryption",Proceedings of the Advances in Informationand Computer Security,Lecture Notes in Computer Science,Volume 8231,pp.151-167,2013.
发明内容
发明要解决的课题
如在上述中叙述的那样,通过在终端间共享会话密钥,可以在对服务器隐匿了消息的情况下进行交换,并且可以在隐匿了消息的情况下进行搜索。但是,如非专利文献2那样,在仅当前的参加成员希望共享会话密钥的情况下,在发生了用户的追加或删除等事件时,需要更新会话密钥。这时,具有以下与机密性有关的课题,即,若搜索密钥仍未被更新,则被删除的用户得不到会话密钥,所以无法读取消息,但是通过非法获取其他用户向服务器询问的搜索查询等,可以推测搜索的关键字的内容和服务器作为回答结果发送的消息的内容。
本发明的目的是,鉴于上述那样的问题点,提供可以在更新了会话密钥时进行再加密,以将搜索索引与更新后的会话密钥相对应,可以提高机密性的消息发送技术。
用于解决课题的手段
为了解决上述的课题,本发明的消息发送***包含服务器装置和多台通信终端,至少一台其它通信终端接收从某个通信终端发送的消息,多台通信终端包含存储了与其它通信终端共享的会话密钥的会话密钥存储单元,至少一台通信终端进一步包含索引生成单元,将对于与消息相关联的字符串使用会话密钥生成的索引和唯一地确定消息的消息识别符设为组,发送到服务器装置,至少一台通信终端进一步包含再加密密钥生成单元,在会话密钥被更新时,使用更新前的会话密钥和更新后的会话密钥生成再加密密钥,发送到服务器装置,至少一台通信终端进一步包含查询生成单元,使用会话密钥存储单元中存储的会话密钥将搜索关键字加密,生成搜索查询,发送到服务器装置,服务器装置包括:索引存储单元,存储从通信终端接收到的索引和消息识别符的组;再加密单元,使用从通信终端接收到的再加密密钥,将索引存储单元中存储的索引更新为对于与消息相关联的字符串使用更新后的会话密钥生成的索引;以及搜索单元,提取索引存储单元中存储的索引与从通信终端接收到的搜索查询一致的消息识别符,发送到通信终端。
发明的效果
按照本发明的消息发送技术,因为在更新了会话密钥时更新搜索索引,以与更新后的会话密钥相对应,所以即使不知道更新后的会话密钥的通信终端获取了搜索查询,也不能推测消息的内容。因此,机密性提高。
附图说明
图1是例示消息发送***的功能结构的图。
图2是例示服务器装置的功能结构的图。
图3是例示通信终端的功能结构的图。
图4是例示消息发送方法的处理步骤的图。
图5是用于说明索引的再加密的图。
具体实施方式
以下,详细地说明本发明的实施方式。而且,对于附图中具有相同的功能的结构单元附加相同的标号,省略重复说明。
在本发明的消息发送技术中,如下操作来解决上述的课题。在消息发送时,在进行与服务器的通信的通信终端侧使用会话密钥将消息内的关键字隐匿化。在更新了会话密钥时,通信终端生成用于将关键字再加密的再加密密钥,发送到服务器。服务器使用再加密密钥对用更新前的会话密钥加密的索引进行再加密,在将关键字隐匿的情况下变换为与更新后的会话密钥相对应的索引。通过以上操作,可以将消息内的关键字在隐匿的情况下发送到服务器,进而通过伴随会话密钥的更新而将索引再加密,可以防止来自参加用户以外的搜索内容的推测。
说明在以下的说明中使用的记号的定义。将G设为循环群。作为加法群,作为以素数p为模数的整数环的剩余环有G=Zp,作为乘法群,有以素数p为模数的整数环的剩余环的单元群G=Zp ×。以下作为G为乘法群来说明。将TCRHF设为以任意长度的字符串作为输入、将群G的元作为输出的目标冲突困难哈希函数。这里,叙述目标冲突困难哈希函数族的定义。将H={Hi:Di→Ri}i设为对于各i,具有定义域Di和值域Ri的哈希函数族。对于任意的多项式时间攻击者A和任意的下标i,在提供了从定义域Di随机地提取的x∈Di时,难以发现Hi(x)=Hi(x')那样的x'∈Di(x'≠x)时,将H称为目标冲突困难哈希函数族。作为TCRHF的例子,将p设为256比特素数,使用SHA256而举出TCRHF(x)=SHA256(x)mod p。但是,本发明的TCRHF不限于此。
如图1中例示的那样,实施方式的消息发送***包含服务器装置1以及N(≧2)台通信终端21,…,2N。在该实施方式中,服务器装置1以及通信终端21,…,2N被分别连接到通信网3。通信网3是构成为在连接的各装置之间可相互通信的电路交换方式或者分组交换方式的通信网。希望通信网3是确保了安全的封闭的通信路径,但是若使用确保单独地加密各装置间的通信等安全性的手段,则也能够使用例如因特网等开放的网络。
如图2中例示的那样,服务器装置1包括:控制单元101、存储单元102、发送单元103、接收单元104、索引存储单元11、组ID生成单元12、再加密单元13、以及搜索单元14。如图3中例示的那样,通信终端21,…,2N包括:控制单元201、存储单元202、发送单元203、接收单元204、组ID存储单元21、会话密钥存储单元22、索引生成单元23、消息发送单元24、再加密密钥生成单元25、以及查询生成单元26。控制单元101以及201例如是中央运算处理装置(CPU:Central Processing Unit)。存储单元102以及202例如是主存储装置(RAM:RandomAccess Memory)。发送单元103以及203、接收单元104以及204例如是有线或者无线的网络接口卡(NIC:Network Interface Card)。通过该服务器装置1与通信终端21,…,2N一边相互通信一边进行图4所示的各步骤的处理,实现实施方式的消息发送方法。
服务器装置1例如是,在具有中央运算处理装置(CPU:Central ProcessingUnit)、主存储装置(RAM:Random Access Memory)等的公知或者专用的计算机中读入特别的程序而构成的特别的装置。各装置例如在中央运算处理装置的控制下执行各处理。输入到各装置的数据和在各处理中得到的数据例如被存储在主存储装置中,存储在主存储装置中的数据根据需要被读入到中央运算处理装置而利用于其它处理。各装置具有的各处理单元的至少一部分也可以由集成电路等硬件构成。各装置具有的各存储单元例如可以由RAM(Random Access Memory)等主存储装置、由硬盘或光盘或者闪存(Flash Memory)那样的半导体存储器元件构成的辅助存储装置、或者关系数据库和密钥值存储等中间件构成。
通信终端21,…,2N具体地说,是移动电话、智能手机、平板电脑终端、桌面型或者笔记本型的个人计算机等信息处理装置。各终端不限于这些具体例子,只要是可以通过视觉或听觉等对利用者提示信息,通过画面操作或声音输入等接受来自利用者的输入的信息处理装置,则可以是任何装置。
参照图4,说明实施方式的消息发送方法的处理步骤。在以下的说明中,通信终端2n(n∈{1,…,N})设为是通信终端21,…,2N的任意1台。在该消息发送***中,可以构成由多个通信终端构成的谈话组(以下,仅称为组),在该组中包含的通信终端之间可以进行消息的交换。
在步骤S1中,服务器装置1的组ID生成单元12生成唯一地识别包含多个通信终端2的组的组ID。生成的组ID通过发送单元103分别发送到该组中包含的通信终端2。
在步骤S2中,通信终端2n从服务器装置1接收组ID。接收到的组ID存储到组ID存储单元21。
在步骤S3中,通信终端2n与相同的组中包含的其它通信终端2n'(n'≠n)共享会话密钥SK1,存储到会话密钥存储单元22。会话密钥的生成以及共享方法可以使用公知的技术进行。而且,会话密钥SK1设为对于服务器装置1来说不知道的密钥,设为伴随组知道用户的追加或删除或者经过一定时间等事件的发生,被变更为其它的会话密钥SK2(≠SK1)的密钥。
步骤S4中,通信终端2n的索引生成单元23对于与对组发送的消息m相关联的字符串sk,使用会话密钥存储单元22中存储的会话密钥SK1生成索引Indexk。k设为从1至K的各整数,K是与消息m相关联的字符串的数。索引Indexk与唯一地确定消息m的消息识别符IDm构成组,通过发送单元203发送到服务器装置1。具体地说,如以下那样操作,生成索引Indexk。将可搜索字符串长设为L。在未对可搜索的字符串长设置上限的情况下,也可以设为L=∞,但是这里L设为有限(<∞)。在该组中,将唯一地确定消息m的识别符设为IDm。由于对服务器装置1将消息m保持隐匿,所以希望从消息m生成识别符IDm的函数难以进行逆像计算,即,不能容易地从识别符IDm推测消息m。将函数F设为将任意长度的字符串作为输入,输出作为依赖于输入字符串的维数的、各分量的长度为L以下的字符串的向量的函数。作为函数F的例子,有输出消息m的元信息的函数、输出消息m内包含的字符串的函数、输出全部灵活运用N-Gram索引的消息m内的连续N字符的字符串的函数等。而且,N-Gram索引的细节记载在下述参考文献1中。
〔参考文献1〕北研二、津田和彦、獅々堀正幹著、「情報検索アルゴリズム」、共立出版、2002年
以下,函数F作为将输入的消息m内包含的连续的字符串全部输出的函数进行说明。为了生成输出字符串,将消息m的字符串长设为lengthm,设λ=min{L,lengthm},对各i=1,…,λ,索引生成单元23进行以下的操作。将消息m内的连续的i个字符串(将消息全体中的连续的字符串、或者消息区分为每个句节,考虑其中的连续的字符串等,但是不限于此)设为s1 (i),s2 (i),…。关于对字符串s1 (i),s2 (i),…各自的分配方法,例如有将从字符串的左端取得的连续的i个字符串设为s1 (i),将从左端向右偏移1个而得到的连续的i个字符串设为s2 (i),···这样的方法,但是不限于此。作为输出,函数F得到
Figure GDA0003603007180000061
维度向量
Figure GDA0003603007180000062
接着,读出会话密钥存储单元22中存储的会话密钥SK1,对各j=1,2,…,lengthm-λ+1,计算
Figure GDA0003603007180000063
得到
Figure GDA0003603007180000071
个Indexi (i)构成的索引集合
Figure GDA0003603007180000072
这时,在通过会话密钥SK1的取幂计算时,如果需要则也可以在计算了基于会话密钥SK1的素数p的余数后进行取幂计算。而且,在群G为加法群的情况下,进行SK1倍计算。即,计算为
Figure GDA0003603007180000073
例如,在设L≧3,m=“あいう”的情况下,生成6个索引
Figure GDA0003603007180000074
Figure GDA0003603007180000075
Figure GDA0003603007180000076
Figure GDA0003603007180000077
Figure GDA0003603007180000078
Figure GDA0003603007180000079
然后,将生成的索引集合Λ和对消息m赋予的消息识别符IDm的组
Figure GDA00036030071800000710
通过发送单元103发送到服务器装置1。而且,在发送时,希望进行TLS(TransportLayer Security,传输层安全性)那样的隐匿通信,但是不限定用哪样的手段进行发送。
在步骤S5中,服务器装置1从通信终端2n接收索引集合和消息识别符的组(Λ,IDm),存储到索引存储单元11。在索引存储单元11中,为了高效,如图5所示,在将包含关键字sk的消息的识别符设为IDk1,IDk2,…时,希望将对于关键字sk的索引Indexk作为密钥(key),保存为(Indexk,IDk1,IDk2,…),但是不限定形成哪样的表。
在步骤S6中,通信终端2n的消息发送单元24使用会话密钥存储单元22中存储的会话密钥SK1加密消息m。加密的消息m指定发送目的地的组ID,通过发送单元203发送到服务器装置1。
在步骤S7中,通信终端2n将会话密钥存储单元22中存储的会话密钥SK1更新为新会话密钥SK2。如上述那样,作为更新会话密钥的契机,有组中的用户的追加或删除或者经过一定时间等事件的发生。但是,会话密钥的更新不限于这些契机。更新后的会话密钥SK2被存储在会话密钥存储单元22中。
在步骤S8中,在会话密钥被更新时,通信终端2n的再加密密钥生成单元25使用更新前的会话密钥SK1和更新后的会话密钥SK2,计算
RK1,2=SK2/SK1
,生成再加密密钥RK1,2,通过发送单元203发送到服务器装置1。而且,在发送时,希望进行TLS那样的隐匿通信,但是不限定用哪样的手段进行发送。
在步骤S9中,如图5所示,服务器装置1的再加密单元13从通信终端2n接收再加密密钥RK1,2,通过对在索引存储单元11中存储的该组中生成的各索引Indexk进行以下的计算,生成与更新后的会话密钥SK2对应的索引Index'k
Figure GDA0003603007180000081
这时,在基于再加密密钥RK1,2的取幂计算时,如果需要,也可以在计算了基于再加密密钥RK1,2的素数p的余数后进行取幂计算。而且,在群G为加法群的情况下,进行RK1,2倍计算。即,进行以下的计算。
Index′k=RK1,2(Indexk)
在步骤S10中,通信终端2n的查询生成单元26对输入的搜索关键字w用存储在会话密钥存储单元22的会话密钥SK2进行加密,生成搜索查询Query,通过发送单元203发送到服务器装置1。首先,将搜索关键字w的字符串的长度与可搜索字符串长L比较,若大于L则返回错误,结束处理。若为L以下,则从会话密钥存储单元22读出当前的会话密钥SK2,计算
Figure GDA0003603007180000082
生成搜索查询Query,通过发送单元203发送到服务器装置1。而且,在发送时,希望进行TLS那样的隐匿通信,但不限定用哪样的手段进行发送。
在步骤S11中,服务器装置1的搜索单元14从通信终端2n接收搜索查询Query,从索引存储单元11中存储的索引和消息识别符的组(Index'k,IDk1,IDk2,…)中,提取满足Index'k=Query的全部(Index'k,IDk1,IDk2,…)。提取的消息识别符IDk1,IDk2,…通过发送单元103发送到发送了搜索查询Query的通信终端2n。而且,在发送时,希望进行TLS那样的隐匿通信,但不限定用哪样的手段进行发送。
在步骤S12中,通信终端2n在接收对于搜索查询Query的搜索结果即消息识别符IDm时,获取与消息识别符IDm对应的被加密的消息m,作为搜索结果显示在画面等输出单元中。显示的方法例如考虑对搜索结果即消息m的一览,将各消息中的搜索关键字w高亮显示等,但是不限于此。
在上述的说明中,作为一台通信终端2n进行从索引的生成至搜索查询的生成的全部处理的结构进行了说明,也可以混合存在仅进行索引的生成的通信终端、仅进行再加密密钥的生成的通信终端、仅进行搜索查询的生成的通信终端。例如,若为仅进行索引的生成的通信终端,则仅包括控制单元201、存储单元202、发送单元203、接收单元204、组ID存储单元21、会话密钥存储单元22、索引生成单元23、以及消息发送单元24即可。而且,例如,若为仅进行再加密密钥的生成的通信终端,则仅包括控制单元201、存储单元202、发送单元203、接收单元204、组ID存储单元21、会话密钥存储单元22、以及再加密密钥生成单元25即可。而且,例如,若为仅进行搜索查询的生成的通信终端,则仅包括控制单元201、存储单元202、发送单元203、接收单元204、组ID存储单元21、会话密钥存储单元22、以及查询生成单元26即可。
通过上述那样构成,按照本发明的消息发送技术,可以在更新了会话密钥时隐匿了原来的字符串的情况下,将对与发送的消息相关联的字符串加密后的索引更新为与更新后的会话密钥对应的索引。因此,即使假设非法取得由其他用户发送的搜索查询等,也不能从搜索的关键字和搜索结果推测发送的消息的内容。因此,按照本发明,可以提高消息发送技术的机密性。
以上,说明了本发明的实施方式,但是具体的结构不限于这些实施方式,不用说,在不脱离本发明的宗旨的范围内即使有适当设计的变更等,也包含在本发明中。实施方式中说明的各种处理不仅按照记载的顺序时间序列地执行,也可以根据执行处理的装置的处理能力或者需要并行地或者单独地执行。
[程序,记录介质]
在通过计算机实现上述实施方式中说明的各装置中的各种处理功能的情况下,通过程序记述各装置应具有的功能的处理内容。然后,通过计算机执行该程序,在计算机上实现上述各装置中的各种处理功能。
记述了该处理内容的程序可以记录在计算机可读取的记录介质中。作为计算机可读取的记录介质,例如可以是磁记录装置、光盘、光磁记录介质、半导体存储器等任何介质。
而且,该程序的流通例如通过销售、转让、租借等记录了该程序的DVD、CD-ROM等可拆装型记录介质来进行。进而,也可以设为将该程序存储在服务器计算机的存储装置中,经由网络,通过将该程序从服务器计算机转发到其它计算机,使该程序流通的结构。
执行这样的程序的计算机例如首先将可拆装型记录介质中记录的程序或者从服务器计算机转发的程序暂时存储在自己的存储装置中。然后,在执行处理时,该计算机读取自己的记录装置中存储的程序,执行按照读取的程序的处理。而且,作为该程序其它执行方式,计算机也可以从可拆装型记录介质直接读取程序,执行按照该程序的处理,进而,也可以在每次从服务器计算机对该计算机转发程序时,逐次执行按照接受的程序的处理。而且,也可以设为通过不进行从服务器计算机向该计算机的程序的转发,仅通过该执行指令和结果取得来实现处理功能的、所谓ASP(Application Service Provider,应用服务提供商)型的服务,执行上述的处理的结构。而且,本方式中的程序中,包含供电子计算机的处理用的信息即基于程序的信息(虽然不是对于计算机的直接的指令,但是具有规定计算机的处理的性质的数据等)。
而且,在本方式中,设为通过在计算机上执行规定的程序来构成本装置,但是也可以硬件性地实现这些处理内容的至少一部分。

Claims (8)

1.一种消息发送***,包含服务器装置和多台通信终端,至少一台其它通信终端经由所述服务器装置接收从某个通信终端发送的消息,
所述多台通信终端包含:
存储与其它通信终端共享的会话密钥的会话密钥存储单元,
至少一台所述通信终端进一步包含:
将对于与所述消息关联的字符串使用所述会话密钥生成的索引和唯一地确定所述消息的消息识别符设为组,发送到所述服务器装置的索引生成单元,
至少一台所述通信终端进一步包含:
在所述会话密钥被更新时,使用更新前的会话密钥和更新后的会话密钥生成再加密密钥,发送到所述服务器装置的再加密密钥生成单元,
至少一台所述通信终端进一步包含:
使用更新后的所述会话密钥,加密搜索关键字,生成搜索查询,发送到所述服务器装置的查询生成单元,
所述服务器装置包含:
索引存储单元,存储从所述通信终端接收到的所述索引和所述消息识别符的组;
再加密单元,使用从所述通信终端接收到的所述再加密密钥,将使用所述更新前的会话密钥生成的索引更新为对于与所述消息相关联的字符串使用所述更新后的会话密钥生成的索引;以及
搜索单元,提取更新后的索引与从所述通信终端接收到的搜索查询一致的所述消息识别符,发送到所述通信终端。
2.如权利要求1所述的消息发送***,
所述索引生成单元对包含在所述消息内或者所述消息中包含的各句节内的任意的字符串,使用所述会话密钥和目标冲突困难哈希函数生成所述索引。
3.如权利要求1或者2所述的消息发送***,
将G设为乘法群,将TCRHF设为以任意长度的字符串作为输入、输出群G的元的目标冲突困难哈希函数,将SK1设为所述更新前的会话密钥,将SK2设为所述更新后的会话密钥,将RK1,2设为所述再加密密钥,将K设为与所述消息相关联的字符串的数,将k设为从1至K的各整数,将sk设为与所述消息相关联的字符串,将Indexk设为更新前的索引,将Index'k设为更新后的索引,将w设为所述搜索关键字,将Query设为所述搜索查询,
所述索引生成单元通过下式生成所述索引:
Figure FDA0003603007170000021
所述再加密密钥生成单元通过下式生成所述再加密密钥:
RK1,2=SK2/SK1
所述再加密单元通过下式更新所述索引:
Figure FDA0003603007170000022
所述查询生成单元通过下式生成所述搜索查询:
Figure FDA0003603007170000023
4.如权利要求1或者2所述的消息发送***,
将G设为乘法群,将TCRHF设为以任意长度的字符串作为输入、输出群G的元的目标冲突困难哈希函数,将SK1设为所述更新前的会话密钥,将SK2设为所述更新后的会话密钥,将RK1,2设为所述再加密密钥,将K设为与所述消息相关联的字符串的数,将k设为从1至K的各整数,将sk设为与所述消息相关联的字符串,将Indexk设为更新前的索引,将Index'k设为更新后的索引,将w设为所述搜索关键字,将Query设为所述搜索查询,
所述索引生成单元通过下式生成所述索引:
Indexk=SK1(TCRHF(sk))
所述再加密密钥生成单元通过下式生成所述再加密密钥:
RK1,2=SK2/SK1
所述再加密单元通过下式更新所述索引:
Index′k=RK1,2(Indexk)
所述查询生成单元通过下式生成所述搜索查询:
Query=SK2(TCRHF(w))。
5.一种通信终端,在消息发送***中被使用,所述消息发送***包含服务器装置和多台通信终端,至少一台其它通信终端经由所述服务器装置接收从某个通信终端发送的消息,
所述通信终端包括:
存储与其它通信终端共享的会话密钥的会话密钥存储单元;
将对于与所述消息关联的字符串使用所述会话密钥生成的索引和唯一地确定所述消息的消息识别符设为组,发送到所述服务器装置的索引生成单元;
在所述会话密钥被更新时,使用更新前的会话密钥和更新后的会话密钥生成再加密密钥,发送到所述服务器装置的再加密密钥生成单元;以及
使用更新后的所述会话密钥,加密搜索关键字,生成搜索查询,发送到所述服务器装置的查询生成单元。
6.一种服务器装置,在消息发送***中被使用,所述消息发送***包含服务器装置和多台通信终端,至少一台其它通信终端经由所述服务器装置接收从某个通信终端发送的消息,
所述服务器装置包括:
索引存储单元,存储从所述通信终端接收到的索引和消息识别符的组;
再加密单元,使用从所述通信终端接收到的再加密密钥,将使用更新前的会话密钥生成的索引更新为对于与所述消息相关联的字符串使用更新后的会话密钥生成的索引;以及
搜索单元,提取更新后的索引与从所述通信终端接收到的搜索查询一致的所述消息识别符,发送到所述通信终端。
7.一种消息发送方法,用于在包含服务器装置和多台通信终端的消息发送***中,至少一台其它通信终端经由所述服务器装置接收从某个通信终端发送的消息,包括:
会话密钥存储步骤,所述通信终端将与其它通信终端共享的会话密钥存储在会话密钥存储单元中;
索引生成步骤,所述通信终端将对于所述消息相关联的字符串使用所述会话密钥生成的索引和唯一地确定所述消息的消息识别符设为组,发送到所述服务器装置;
索引存储步骤,所述服务器装置将从所述通信终端接收到的所述索引和所述消息识别符的组存储在索引存储单元中;
再加密密钥生成步骤,在更新了所述会话密钥时,所述通信终端使用更新前的会话密钥和更新后的会话密钥生成再加密密钥,发送到所述服务器装置;
再加密步骤,所述服务器装置使用从所述通信终端接收到的所述再加密密钥,将使用更新前的会话密钥生成的索引更新为对与所述消息相关联的字符串使用所述更新后的会话密钥生成的索引;
查询生成步骤,所述通信终端使用所述更新后的所述会话密钥加密搜索关键字,生成搜索查询,发送到所述服务器装置;以及
搜索步骤,所述服务器装置提取所述更新后的索引与从所述通信终端接收到的搜索查询一致的所述消息识别符,发送到所述通信终端。
8.一种计算机可读取的记录介质,存储了用于使计算机具有作为权利要求5中记载的通信终端或者权利要求6中记载的服务器装置的功能的程序。
CN201780076291.4A 2016-12-20 2017-12-06 消息发送***及方法、通信终端、服务器装置、记录介质 Active CN110062941B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016-246821 2016-12-20
JP2016246821 2016-12-20
PCT/JP2017/043766 WO2018116826A1 (ja) 2016-12-20 2017-12-06 メッセージ送信システム、通信端末、サーバ装置、メッセージ送信方法、およびプログラム

Publications (2)

Publication Number Publication Date
CN110062941A CN110062941A (zh) 2019-07-26
CN110062941B true CN110062941B (zh) 2022-07-15

Family

ID=62626461

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780076291.4A Active CN110062941B (zh) 2016-12-20 2017-12-06 消息发送***及方法、通信终端、服务器装置、记录介质

Country Status (6)

Country Link
US (1) US11765137B2 (zh)
EP (1) EP3561797B1 (zh)
JP (1) JP6879311B2 (zh)
KR (1) KR102290605B1 (zh)
CN (1) CN110062941B (zh)
WO (1) WO2018116826A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11985232B2 (en) * 2018-10-26 2024-05-14 Nec Corporation Secure computing server, system, secure computing method, and program
CN111818525B (zh) * 2020-07-13 2021-10-26 清华大学 面向空间信息网络的密钥更新方法和***
KR20220161748A (ko) * 2021-05-31 2022-12-07 삼성에스디에스 주식회사 인스턴트 메시징 서비스의 공지 사항 표시 방법 및 그 장치
CN116709316B (zh) * 2023-07-06 2024-01-26 云南大学 基于智能卡的大规模动态群组的无状态组密钥更新方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103119594A (zh) * 2010-12-08 2013-05-22 株式会社日立制作所 可检索密码处理***
WO2015187640A2 (en) * 2014-06-02 2015-12-10 Robert Bosch Gmbh System and method for secure review of audit logs
JP6038427B1 (ja) * 2016-01-15 2016-12-07 三菱電機株式会社 暗号化装置、暗号化方法、暗号化プログラム及び保管装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6038427B2 (ja) 1976-07-12 1985-08-31 関西ペイント株式会社 水性被覆用組成物
US7475244B2 (en) * 2002-11-05 2009-01-06 Kabushiki Kaisha Toshiba Wireless communication device, portable terminal, communication control program and communication system
JP4333723B2 (ja) * 2006-09-29 2009-09-16 株式会社日立製作所 通信ログ管理システム
KR101300843B1 (ko) * 2006-11-29 2013-08-29 삼성전자주식회사 리키 인덱스 생성 방법 및 이를 이용한 리키 인덱스 생성장치
WO2009011120A1 (ja) 2007-07-18 2009-01-22 Panasonic Corporation アドレス生成方法、アドレス生成システム、通信装置、通信方法、通信システム及び相手先通信装置
CN101593196B (zh) * 2008-05-30 2013-09-25 日电(中国)有限公司 用于快速密文检索的方法、装置和***
JP5441726B2 (ja) * 2010-01-14 2014-03-12 三菱電機株式会社 情報処理システム及び管理装置及びサーバ装置及び情報処理装置
KR101133262B1 (ko) 2010-04-08 2012-04-05 충남대학교산학협력단 강인한 scada시스템의 하이브리드 키 관리방법 및 세션키 생성방법
US8533489B2 (en) * 2010-09-29 2013-09-10 Microsoft Corporation Searchable symmetric encryption with dynamic updating
JP5367039B2 (ja) * 2011-09-30 2013-12-11 株式会社東芝 サーバ装置及びプログラム
KR101493212B1 (ko) * 2012-10-31 2015-02-23 삼성에스디에스 주식회사 아이디 기반 암호화, 복호화 방법 및 이를 수행하기 위한 장치
JP6033741B2 (ja) 2013-06-14 2016-11-30 株式会社日立製作所 暗号化鍵更新システム及びその方法
JP2015033068A (ja) * 2013-08-06 2015-02-16 日本電信電話株式会社 ファイル共有システム、情報提供装置、情報取得装置、及びその方法、プログラム
JP6058514B2 (ja) * 2013-10-04 2017-01-11 株式会社日立製作所 暗号処理方法、暗号システム、およびサーバ
US9355271B2 (en) * 2013-10-18 2016-05-31 Robert Bosch Gmbh System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption
JP6208586B2 (ja) * 2014-01-16 2017-10-04 株式会社日立製作所 検索可能暗号処理システムおよび検索可能暗号処理方法
US9363243B2 (en) * 2014-03-26 2016-06-07 Cisco Technology, Inc. External indexing and search for a secure cloud collaboration system
US10237246B1 (en) * 2015-07-31 2019-03-19 Symphony Communication Services Holdings Llc Secure message search
US9715546B1 (en) * 2016-02-18 2017-07-25 Yahoo! Inc. Method and system for searching encrypted data
CN106156349A (zh) * 2016-07-22 2016-11-23 黎海纤 基于信息安全的图像检索方法
KR102666331B1 (ko) * 2016-11-11 2024-05-17 삼성전자주식회사 메시지 암호화를 위한 방법 및 단말 장치
US10671742B2 (en) * 2016-11-18 2020-06-02 Duncan MacDougall Greatwood Sharing an object using the scattered storage system with high-entropy credentials

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103119594A (zh) * 2010-12-08 2013-05-22 株式会社日立制作所 可检索密码处理***
WO2015187640A2 (en) * 2014-06-02 2015-12-10 Robert Bosch Gmbh System and method for secure review of audit logs
JP6038427B1 (ja) * 2016-01-15 2016-12-07 三菱電機株式会社 暗号化装置、暗号化方法、暗号化プログラム及び保管装置

Also Published As

Publication number Publication date
KR20190077556A (ko) 2019-07-03
EP3561797A1 (en) 2019-10-30
JP6879311B2 (ja) 2021-06-02
EP3561797A4 (en) 2020-06-24
CN110062941A (zh) 2019-07-26
KR102290605B1 (ko) 2021-08-18
JPWO2018116826A1 (ja) 2019-10-24
EP3561797B1 (en) 2022-02-09
US20200084185A1 (en) 2020-03-12
WO2018116826A1 (ja) 2018-06-28
US11765137B2 (en) 2023-09-19

Similar Documents

Publication Publication Date Title
US11477006B2 (en) Secure analytics using an encrypted analytics matrix
US10063528B2 (en) Searchable encryption enabling encrypted search based on document type
US20190020630A1 (en) Encrypted query-based access to data
JP6180177B2 (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
US10404669B2 (en) Wildcard search in encrypted text
CN107077469B (zh) 服务器装置、检索***、终端装置以及检索方法
CN110062941B (zh) 消息发送***及方法、通信终端、服务器装置、记录介质
US11296879B2 (en) Encrypted search
JP6770075B2 (ja) 暗号化メッセージ検索方法、メッセージ送受信システム、端末、プログラム
JP2014119486A (ja) 秘匿検索処理システム、秘匿検索処理方法、および秘匿検索処理プログラム
CN107196840B (zh) 数据处理方法、装置及设备
US10929402B1 (en) Secure join protocol in encrypted databases
KR101979267B1 (ko) 클라우드 저장 기반 암호화 시스템 및 방법
US20180025172A1 (en) Data storage apparatus, data processing method, and computer readable medium
CN108170753A (zh) 一种共有云中Key-Value数据库加密与安全查询的方法
Maglaras et al. The end of eavesdropping attacks through the use of advanced end to end encryption mechanisms
JP2006189925A (ja) 個人情報管理システム、個人情報管理プログラムおよび個人情報保護方法
EP3731107B1 (en) Data management device, search device, registration device, data management method, and data management program
WO2015107561A1 (ja) 検索システム、検索方法および検索プログラム
Lee et al. A study of practical proxy reencryption with a keyword search scheme considering cloud storage structure
Ananthi et al. Secured Multikeyword Search over Encrypted Cloud Data Based On Quality and Usability
CN117077155A (zh) 一种数据库操作方法、装置、设备、芯片和存储介质
CN117077156A (zh) 数据处理方法和电子设备
Selvi et al. Security Enforcement with Cost Assessment for Cloud Data

Legal Events

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