KR102290605B1 - 메시지 송신 시스템, 통신 단말, 서버 장치, 메시지 송신 방법 및 프로그램 - Google Patents

메시지 송신 시스템, 통신 단말, 서버 장치, 메시지 송신 방법 및 프로그램 Download PDF

Info

Publication number
KR102290605B1
KR102290605B1 KR1020197017057A KR20197017057A KR102290605B1 KR 102290605 B1 KR102290605 B1 KR 102290605B1 KR 1020197017057 A KR1020197017057 A KR 1020197017057A KR 20197017057 A KR20197017057 A KR 20197017057A KR 102290605 B1 KR102290605 B1 KR 102290605B1
Authority
KR
South Korea
Prior art keywords
index
session key
message
communication terminal
update
Prior art date
Application number
KR1020197017057A
Other languages
English (en)
Other versions
KR20190077556A (ko
Inventor
유키 오카노
레오 요시다
테츠타로 코바야시
Original Assignee
니폰 덴신 덴와 가부시끼가이샤
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 니폰 덴신 덴와 가부시끼가이샤 filed Critical 니폰 덴신 덴와 가부시끼가이샤
Publication of KR20190077556A publication Critical patent/KR20190077556A/ko
Application granted granted Critical
Publication of KR102290605B1 publication Critical patent/KR102290605B1/ko

Links

Images

Classifications

    • 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/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
    • 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
    • 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/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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (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

메시지 송신 시스템, 통신 단말, 서버 장치, 메시지 송신 방법 및 프로그램
본 발명은 암호 기술에 관한 것으로, 특히 암호화한 메시지를 송수신하는 메시지 송신 기술에 관한 것이다.
비지니스에서의 사용을 전제로 하는 메시지 송신 시스템 중에는 PC나 스마트폰 등의 멀티 디바이스 대응을 가능하게 하면서, 기업의 기밀 정보 누설을 고려하여 클라이언트 단말에 데이터를 남기지 않도록 클라우드 베이스형의 송신 시스템을 사용하는 메시지 송신 시스템이 존재한다. 이와 같은 클라우드 베이스형의 메시지 송신 시스템의 일례로서 비특허문헌 1에 기재된 제품을 들 수 있다.
이와 같은 메시지 송신 시스템에 있어서는 통신로를 암호화함으로써 통신 경로상의 도청 방지가 이루어지고 있거나, 이미 서술한 바와 같이 단말에 데이터를 남기지 않는 것에 의해 단말의 분실이나 부정한 반출에 기인하는 정보 누설 방지가 이루어지고 있거나 한다. 이와 같이 통신 경로와 단말에 대한 위협에는 대처하고 있지만, 한편 서버에 대한 위협에 대한 대처는 불충분하다. 여기서 말하는 서버에 대한 위협으로서는 서버에 대한 외부로부터의 공격이나 서버 관리자 등에 의한 내부 부정 등을 들 수 있다. 서버에 대한 위협에 대해서는 메시지를 암호화 등에 의해 비닉하여 저장하는 등의 대책을 들 수 있는데, 서버측에서 복호 가능한 이상, 서버로부터의 메시지 누설의 가능성은 여전히 존재한다. 그 때문에 메시지의 송수신이나 저장을 행하는 서버에 보내져오는 메시지가 서버에 대하여 비닉되어 있는(서버측에서 도청되지 않는) 것이 중요하다.
하나의 방법은 서버에 대하여 메시지를 비닉하고, 단말에서만 복호 가능한 엔드·투·엔드의 암호화 통신을 실현하는 것인데, 단말간에서 사용하는 공통 키를 어떻게 공유할지가 문제가 된다. 이 문제의 해결책으로서 예를 들면 비특허문헌 2에서는 중앙에 인증 서버를 가지는 스타형의 네트워크에 있어서 인증 서버에 대하여 어떠한 정보도 누설하지 않고 이용자간에서 공통 키(이하, 세션 키라고도 한다)를 공유하는 프로토콜이 제안되어 있다. 이것에 의해 서버에 대하여 메시지를 비닉한 채 단말간에서 메시지를 주고받는 것이 가능하게 된다.
한편, 비지니스에서의 이용에서 보면, 과거의 주고 받은 것을 효율적으로 찾는 수단이 필요하게 된다. 그 수단으로서는 메시지의 검색 기능이 생각된다. 그러나 이용자간에서의 세션 키 공유 기술을 적용하고 있는 경우, 클라우드상에 축적되어 있는 메시지는 비닉되어 있기 때문에, 비닉한 채 메시지를 검색할 수 있도록 하는 것이 필요하게 된다. 예를 들면 비특허문헌 3에서는 검색 키와 키워드를 해시 함수에 입력하고, 그 출력을 인덱스로서 서버에 업로드한다. 검색시에는 마찬가지의 순서로 생성한 암호화 키워드를 서버에 업로드하고, 서버가 해시값이 일치하는 인덱스를 검색하여 결과를 회답한다. 이것에 의해 클라우드상에 축적된 메시지를 비닉한 채 검색하는 것이 가능하게 된다.
NTT 소프트웨어, "비지니스 채팅 TopicRoom(토픽룸)", [online], [평성 28년 12월 1일 검색], 인터넷 <URL: https://www.ntts.co.jp/products/topicroom/index.html> 고바야시 데츠타로, 요네야마 가즈키, 요시다 레오, 가와하라 유토, 후지 히토시, 야마모토 도모히데, "스케일러블한 동적 다자 키 배포 프로토콜", SCIS2016, 4E2-3, 2016년 W. Ogata, K. Koiwa, A. Kanaoka, S. Matsuo, "Toward Practical Searchable Symmetric Encryption", Proceedings of the Advances in Information and Computer Security, Lecture Notes in Computer Science, Volume 8231, pp. 151-167, 2013.
상기에서 서술한 바와 같이, 단말간에서 세션 키를 공유함으로써, 서버에 대하여 메시지를 비닉(秘匿)한 채 주고받을 수 있고, 또한 메시지를 비닉한 채 검색할 수 있게 된다. 그러나, 비특허문헌 2와 같이 현재의 참가 멤버만으로 세션 키를 공유하고자 하는 경우, 유저의 추가나 삭제 등의 이벤트가 발생했을 때는 세션 키를 갱신할 필요가 있다. 이 때, 검색 키가 갱신되지 않은 상태이면, 삭제된 유저는 세션 키를 얻을 수 없기 때문에 메시지는 읽을 수 없지만, 다른 유저가 서버에 문의한 검색 쿼리를 부당하게 취득하거나 하여, 검색한 키워드의 내용이나 서버가 회답 결과로서 송신한 메시지의 내용을 추측할 수 있게 되어버린다는 기밀성에 관련된 과제를 가지고 있다.
본 발명의 목적은 상기와 같은 점을 감안하여, 세션 키를 갱신했을 때 검색 인덱스를 갱신 후의 세션 키에 대응하도록 재암호화하여, 기밀성을 향상시킬 수 있는 메시지 송신 기술을 제공하는 것이다.
상기한 과제를 해결하기 위해서, 본 발명의 메시지 송신 시스템은 서버 장치와 복수 대의 통신 단말을 포함하고, 어느 통신 단말로부터 송신된 메시지를 적어도 1대의 다른 통신 단말이 수신하는 메시지 송신 시스템으로서, 복수 대의 통신 단말은 다른 통신 단말과 공유하는 세션 키를 기억하는 세션 키 기억부를 포함하고, 적어도 1대의 통신 단말은 메시지에 관련되는 문자열에 대하여 세션 키를 사용하여 생성한 인덱스와 메시지를 일의적으로 특정하는 메시지 식별자를 세트로 하여 서버 장치에 송신하는 인덱스 생성부를 추가로 포함하고, 적어도 1대의 통신 단말은 세션 키가 갱신되었을 때, 갱신 전의 세션 키와 갱신 후의 세션 키를 사용하여 재암호화 키를 생성하여 서버 장치에 송신하는 재암호화 키 생성부를 추가로 포함하고, 적어도 1대의 통신 단말은 세션 키 기억부에 기억된 세션 키를 사용하여 검색 키워드를 암호화하여 검색 쿼리를 생성하고 서버 장치에 송신하는 쿼리 생성부를 추가로 포함하고, 서버 장치는 통신 단말로부터 수신한 인덱스와 메시지 식별자의 세트를 기억하는 인덱스 기억부와, 통신 단말로부터 수신한 재암호화 키를 사용하여, 인덱스 기억부에 기억되어 있는 인덱스를, 메시지에 관련되는 문자열에 대하여 갱신 후의 세션 키를 사용하여 생성한 인덱스로 갱신하는 재암호화부와, 인덱스 기억부에 기억된 인덱스가 통신 단말로부터 수신한 검색 쿼리에 합치하는 메시지 식별자를 추출하여 통신 단말에 송신하는 검색부를 포함한다.
본 발명의 메시지 송신 기술에 의하면, 세션 키를 갱신했을 때 검색 인덱스를 갱신 후의 세션 키에 대응하도록 갱신하기 때문에, 갱신 후의 세션 키를 모르는 통신 단말이 검색 쿼리를 취득했다고 해도 메시지의 내용을 추측할 수 없다. 따라서 기밀성이 향상된다.
도 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)은 안전이 확보된 클로즈드 통신로인 것이 바람직하지만, 각 장치간의 통신을 개별적으로 암호화하는 등의 안전성을 확보하는 수단을 사용하는 것이면, 예를 들면 인터넷 등의 오픈된 네트워크를 사용하는 것도 가능하다.
서버 장치(1)는 도 2에 예시하는 바와 같이 제어부(101), 기억부(102), 송신부(103), 수신부(104), 인덱스 기억부(11), 그룹 ID 생성부(12), 재암호화부(13) 및 검색부(14)를 포함한다. 통신 단말(21,…,2N)은 도 3에 예시하는 바와 같이 제어부(201), 기억부(202), 송신부(203), 수신부(204), 그룹 ID 기억부(21), 세션 키 기억부(22), 인덱스 생성부(23), 메시지 송신부(24), 재암호화 키 생성부(25) 및 쿼리 생성부(26)를 포함한다. 제어부(101 및 201)는 예를 들면 중앙 연산 처리 장치(CPU : Central Processing Unit)이다. 기억부(102 및 202)는 예를 들면 주기억장치(RAM : Random Access Memory)이다. 송신부(103 및 203), 수신부(104 및 204)는 예를 들면 유선 또는 무선의 네트워크 인터페이스 카드(NIC : Network Interface Card)이다. 이 서버 장치(1)와 통신 단말(21,…,2N)이 서로 통신하면서 도 4에 나타내는 각 스텝의 처리를 행함으로써 실시형태의 메시지 송신 방법이 실현된다.
서버 장치(1)는 예를 들면 중앙 연산 처리 장치(CPU : Central Processing Unit), 주기억장치(RAM : Random Access Memory) 등을 가지는 공지 또는 전용의 컴퓨터에 특별한 프로그램이 읽어들여져 구성된 특별한 장치이다. 각 장치는 예를 들면 중앙 연산 처리 장치의 제어하에서 각 처리를 실행한다. 각 장치에 입력된 데이터나 각 처리로 얻어진 데이터는 예를 들면 주기억장치에 격납되고, 주기억장치에 격납된 데이터는 필요에 따라 중앙 연산 처리 장치에 읽어내어져 다른 처리에 이용된다. 각 장치가 구비하는 각 처리부는 적어도 일부가 집적 회로 등의 하드웨어에 의해 구성되어 있어도 된다. 각 장치가 구비하는 각 기억부는 예를 들면 RAM(Random Access Memory) 등의 주기억장치, 하드디스크나 광디스크 혹은 플래시 메모리(Flash Memory)와 같은 반도체 메모리 소자에 의해 구성되는 보조 기억 장치, 또는 릴레이셔널 데이터베이스나 키 밸류 스토어 등의 미들웨어에 의해 구성할 수 있다.
통신 단말(21,…,2N)은 구체적으로는 휴대전화, 스마트폰, 태블릿 단말, 데스크탑형 또는 랩탑형의 PC 등의 정보 처리 장치이다. 각 단말은 이들 구체예에 한정되지 않고, 이용자에게 시각이나 청각 등을 통하여 정보를 제시하고, 화면 조작이나 음성 입력 등을 통하여 이용자로부터의 입력을 접수할 수 있는 정보 처리 장치이면 어떠한 것이어도 된다.
도 4를 참조하여 실시형태의 메시지 송신 방법의 처리 수속을 설명한다. 이후의 설명에서는 통신 단말(2n(n∈{1,…,N}))은 통신 단말(21,…,2N)의 어느 1대인 것으로 한다. 이 메시지 송신 시스템에서는 복수의 통신 단말로 이루어지는 토크 그룹(이하, 간단히 그룹이라고도 한다)을 구성할 수 있고, 그 그룹에 포함되는 통신 단말간에서 메시지를 주고받을 수 있는 것으로 한다.
스텝 S1에 있어서, 서버 장치(1)의 그룹 ID 생성부(12)는 복수의 통신 단말(2)을 포함하는 그룹을 일의적으로 식별하는 그룹 ID를 생성한다. 생성한 그룹 ID는 그 그룹에 포함되는 통신 단말(2) 각각에 송신부(103)를 통하여 송신한다.
스텝 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과 세트로 하여 서버 장치(1)에 송신부(203)를 통하여 송신한다. 구체적으로는 이하와 같이 하여 인덱스 Indexk를 생성한다. 검색 가능 문자열 길이를 L로 한다. 검색 가능한 문자열 길이에 상한을 마련하지 않는 경우, L=∞로 해도 되는데, 여기서는 L은 유한(<∞)한 것으로 한다. 당해 그룹에 있어서 메시지 m을 일의적으로 특정하는 식별자를 IDm으로 한다. 서버 장치(1)에 대하여 메시지 m을 비닉한 채로 하므로, 메시지 m으로부터 식별자 IDm을 생성하는 함수는 역상 계산이 곤란한 것, 즉, 식별자 IDm으로부터 메시지 m을 용이하게 추측할 수 없는 것이 바람직하다. 함수 F를, 임의 길이의 문자열을 입력하는 것으로 하고, 입력 문자열에 의존하는 차원수로서, 각 성분의 길이가 L 이하의 문자열인 벡터를 출력하는 함수로 한다. 함수 F의 예로서는 메시지 m의 메타 정보를 출력하는 함수나, 메시지 m 내에 포함되는 문자열을 출력하는 함수, N그램·인덱싱을 활용한 메시지 m 내의 연속되는 N문자의 문자열 모두를 출력하는 함수 등이 있다. 또한 N그램·인덱싱의 상세는 하기 참고문헌 1에 기재되어 있다.
〔참고문헌 1〕 기타 겐지, 츠다 가즈히코, 시시보리 마사미 저, 「정보 검색 알고리즘」, 교리츠슛판, 2002년
이하, 함수 F가 입력된 메시지 m 내에 포함되는 연속되는 문자열을 모두 출력하는 함수로서 설명한다. 인덱스 생성부(23)는 출력 문자열을 생성하기 위해서, 메시지 m의 문자열 길이를 lengthm으로 하고, λ=min{L, lengthm}으로 하고, 각 i=1,…,λ에 대하여 다음의 조작을 행한다. 메시지 m 내의 연속되는 i개의 문자열(메시지 전체에서의 연속되는 문자열, 또는 메시지를 문절마다 구분하고, 그 중에서의 연속되는 문자열 등이 생각되는데, 이들에 한정되지 않는다)을 s1 (i), s2 (i),…로 한다. 문자열 s1 (i), s2 (i),… 각각으로의 할당 방법에 대해서는 예를 들면 문자열의 좌단으로부터 취한 연속되는 i개의 문자열을 s1 (i)로 하고, 좌단으로부터 우측으로 1개 시프트하여 얻은 연속되는 i개의 문자열을 s2 (i)로 하고, …라는 방법이 있는데, 이것에 한정되지는 않는다. 함수 F는 출력으로서,
(수학식 1)
Figure 112019060610265-pct00001
차원 벡터
(수학식 2)
Figure 112019060610265-pct00002
를 얻는다.
계속해서 세션 키 기억부(22)에 기억된 세션 키 SK1을 읽어내고, 각 j=1,2,…,lengthm-λ+1에 대하여,
(수학식 3)
Figure 112019060610265-pct00003
을 계산하고,
(수학식 4)
Figure 112019060610265-pct00004
개의 Indexj (i)로 이루어지는 인덱스 집합
(수학식 5)
Figure 112019060610265-pct00005
를 얻는다. 이 때, 세션 키 SK1에 의한 멱승 계산시, 필요하면 세션 키 SK1의 소수 p에 의한 잉여를 계산한 후 멱승 계산을 행해도 된다. 또한 군 G가 덧셈군인 경우, SK1배 계산을 행한다. 즉,
(수학식 6)
Figure 112019060610265-pct00006
으로 계산한다.
예를 들면 L≥3으로 하고, m="가나다"인 경우, 6개의 인덱스
(수학식 7)
Figure 112019060610265-pct00007
을 생성한다.
그리고 생성된 인덱스 집합 Λ와 메시지 m에 부여된 메시지 식별자 IDm과의 세트
(수학식 8)
Figure 112019060610265-pct00008
을 서버 장치(1)에 송신부(103)를 통하여 송신한다. 또한 송신시에는 TLS(Transport Layer Security)와 같은 비닉 통신을 행하는 것이 바람직한데, 어떠한 수단으로 송신을 행하는지는 한정되지 않는다.
스텝 S5에 있어서, 서버 장치(1)는 통신 단말(2n)로부터 인덱스 집합과 메시지 식별자의 세트(Λ, IDm)를 수신하여, 인덱스 기억부(11)에 기억한다. 인덱스 기억부(11)에서는 효율화를 위해, 도 5에 나타내는 바와 같이 키워드 sk를 포함하는 메시지의 식별자를 IDk1, IDk2,…로 했을 때, 키워드 sk에 대한 인덱스 Indexk를 키로 하여, (Indexk, IDk1, IDk2,…)로 저장되어 있는 것이 바람직한데, 어떠한 테이블을 형성하고 있는지는 한정되지 않는다.
스텝 S6에 있어서, 통신 단말(2n)의 메시지 송신부(24)는 세션 키 기억부(22)에 기억된 세션 키 SK1을 사용하여 메시지 m을 암호화한다. 암호화된 메시지 m은 송신처의 그룹 ID를 지정하여 서버 장치(1)에 송신부(203)를 통하여 송신한다.
스텝 S7에 있어서, 통신 단말(2n)은 세션 키 기억부(22)에 기억되어 있는 세션 키 SK1을 새로운 세션 키 SK2로 갱신한다. 세션 키를 갱신하는 계기로서는 상기 서술한 바와 같이 그룹에 있어서의 유저의 추가나 삭제 혹은 일정 시간 경과 등의 이벤트의 발생이 있다. 단, 세션 키의 갱신은 이들 계기에 한정되지 않는다. 갱신 후의 세션 키 SK2는 세션 키 기억부(22)에 기억된다.
스텝 S8에 있어서, 통신 단말(2n)의 재암호화 키 생성부(25)는 세션 키가 갱신되었을 때, 갱신 전의 세션 키 SK1과 갱신 후의 세션 키 SK2를 사용하여,
(수학식 9)
Figure 112019060610265-pct00009
를 계산하여 재암호화 키 RK1,2를 생성하고, 서버 장치(1)에 송신부(203)를 통하여 송신한다. 또한 송신시에는 TLS와 같은 비닉 통신을 행하는 것이 바람직한데, 어떠한 수단으로 송신을 행하는지는 한정되지 않는다.
스텝 S9에 있어서, 서버 장치(1)의 재암호화부(13)는 통신 단말(2n)로부터 재암호화 키 RK1,2를 수신하고, 도 5에 나타내는 바와 같이 인덱스 기억부(11)에 기억되어 있는 당해 그룹에서 생성된 각 인덱스 Indexk에 대하여 이하의 계산을 행함으로써, 갱신 후의 세션 키 SK2에 대응하는 인덱스 Index'k를 생성한다.
(수학식 10)
Figure 112019060610265-pct00010
이 때, 재암호화 키 RK1,2에 의한 멱승 계산시, 필요하면 재암호화 키 RK1,2의 소수 p에 의한 잉여를 계산한 후 멱승 계산을 행해도 된다. 또한 군 G가 덧셈군인 경우, RK1,2배 계산을 행한다. 즉, 이하의 계산을 행한다.
(수학식 11)
Figure 112019060610265-pct00011
스텝 S10에 있어서, 통신 단말(2n)의 쿼리 생성부(26)는 입력된 검색 키워드 w를 세션 키 기억부(22)에 기억된 세션 키 SK2를 사용하여 암호화하여 검색 쿼리 Query를 생성하고, 서버 장치(1)에 송신부(203)를 통하여 송신한다. 우선, 검색 키워드 w의 문자열의 길이를 검색 가능 문자열 길이 L과 비교하여, L보다 크면 에러를 되돌려서 처리를 종료한다. L 이하이면 세션 키 기억부(22)로부터 현재의 세션 키 SK2를 읽어내고,
(수학식 12)
Figure 112019060610265-pct00012
를 계산하여 검색 쿼리 Query를 생성하고, 서버 장치(1)에 송신부(203)를 통하여 송신한다. 또한 송신시에는 TLS와 같은 비닉 통신을 행하는 것이 바람직한데, 어떠한 수단으로 송신을 행하는지는 한정되지 않는다.
스텝 S11에 있어서, 서버 장치(1)의 검색부(14)는 통신 단말(2n)로부터 검색 쿼리 Query를 수신하고, 인덱스 기억부(11)에 기억된 인덱스와 메시지 식별자의 세트(Index'k, IDk1, IDk2,…) 중 Index'k=Query를 만족하는 (Index'k, IDk1, IDk2,…)을 모두 추출한다. 추출된 메시지 식별자 IDk1, IDk2,…는 검색 쿼리 Query를 송신한 통신 단말(2n)에 송신부(103)를 통하여 송신한다. 또한 송신시에는 TLS와 같은 비닉 통신을 행하는 것이 바람직한데, 어떠한 수단으로 송신을 행하는지는 한정되지 않는다.
스텝 S12에 있어서, 통신 단말(2n)은 검색 쿼리 Query에 대한 검색 결과인 메시지 식별자 IDm을 수신하면, 메시지 식별자 IDm에 대응하는 암호화된 메시지 m을 취득하여, 검색 결과로서 화면 등의 출력 수단에 표시한다. 표시 방법은 예를 들면 검색 결과인 메시지 m의 일람을, 각 메시지 중의 검색 키워드 w를 하이라이트시켜 표시하거나 하는 것이 생각되는데, 이것에 한정되지 않는다.
상기한 설명에서는 1대의 통신 단말(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. 서버 장치와 복수 대의 통신 단말을 포함하고, 어느 통신 단말로부터 송신된 메시지를 적어도 1대의 다른 통신 단말이 수신하는 메시지 송신 시스템으로서,
    상기 복수 대의 통신 단말은
    다른 통신 단말과 공유하는 세션 키를 기억하는 세션 키 기억부
    를 포함하고,
    적어도 1대의 상기 통신 단말은
    상기 메시지에 관련되는 문자열에 대하여 상기 세션 키를 사용하여 생성한 인덱스와 상기 메시지를 일의적으로 특정하는 메시지 식별자를 세트로 하여 상기 서버 장치에 송신하는 인덱스 생성부
    를 추가로 포함하고,
    적어도 1대의 상기 통신 단말은
    상기 세션 키가 갱신되었을 때, 갱신 전의 세션 키와 갱신 후의 세션 키를 사용하여 재암호화 키를 생성하여 상기 서버 장치에 송신하는 재암호화 키 생성부
    를 추가로 포함하고,
    적어도 1대의 상기 통신 단말은
    상기 갱신 후의 세션 키를 사용하여 검색 키워드를 암호화하여 검색 쿼리를 생성하고 상기 서버 장치에 송신하는 쿼리 생성부
    를 추가로 포함하고,
    상기 서버 장치는
    상기 통신 단말로부터 수신한 상기 인덱스와 상기 메시지 식별자의 세트를 기억하는 인덱스 기억부와,
    상기 통신 단말로부터 수신한 상기 재암호화 키를 사용하여, 상기 갱신 전의 세션 키를 사용하여 생성한 인덱스를, 상기 메시지에 관련되는 문자열에 대하여 상기 갱신 후의 세션 키를 사용하여 생성한 인덱스로 갱신하는 재암호화부와,
    상기 갱신 후의 세션 키를 사용하여 생성한 인덱스가 상기 통신 단말로부터 수신한 검색 쿼리에 합치하는 상기 메시지 식별자를 추출하여 상기 통신 단말에 송신하는 검색부
    를 포함하는 것을 특징으로 하는 메시지 송신 시스템.
  2. 제1 항에 있어서,
    상기 인덱스 생성부는 상기 메시지 내 또는 상기 메시지에 포함되는 각 문절 내에 포함되는 임의의 문자열에 대하여, 상기 세션 키와 표적 충돌 곤란 해시 함수를 사용하여 상기 인덱스를 생성하는 것을 특징으로 하는 메시지 송신 시스템.
  3. 제1 항 또는 제2 항에 있어서,
    G를 곱셈군으로 하고, TCRHF를 임의 길이의 문자열을 입력하는 것으로 하여 군 G의 원(元)을 출력하는 표적 충돌 곤란 해시 함수로 하고, SK1을 상기 갱신 전의 세션 키로 하고, SK2를 상기 갱신 후의 세션 키로 하고, RK1,2를 상기 재암호화 키로 하고, K를 상기 메시지에 관련되는 문자열의 수로 하고, k를 1로부터 K까지의 각 정수로 하고, sk를 상기 메시지에 관련되는 문자열로 하고, Indexk를 갱신 전의 인덱스로 하고, Index'k를 갱신 후의 인덱스로 하고, w를 상기 검색 키워드로 하고, Query를 상기 검색 쿼리로 하고,
    상기 인덱스 생성부는 다음 식에 의해 상기 인덱스를 생성하는 것이며,
    (수학식 13)
    Figure 112019060610265-pct00013

    상기 재암호화 키 생성부는 다음 식에 의해 상기 재암호화 키를 생성하는 것이며,
    (수학식 14)
    Figure 112019060610265-pct00014

    상기 재암호화부는 다음 식에 의해 상기 인덱스를 갱신하는 것이며,
    (수학식 15)
    Figure 112019060610265-pct00015

    상기 쿼리 생성부는 다음 식에 의해 상기 검색 쿼리를 생성하는 것인
    (수학식 16)
    Figure 112019060610265-pct00016

    것을 특징으로 하는 메시지 송신 시스템.
  4. 제1 항 또는 제2 항에 있어서,
    G를 덧셈군으로 하고, TCRHF를 임의 길이의 문자열을 입력하는 것으로 하여 군 G의 원을 출력하는 표적 충돌 곤란 해시 함수로 하고, SK1을 상기 갱신 전의 세션 키로 하고, SK2를 상기 갱신 후의 세션 키로 하고, RK1,2를 상기 재암호화 키로 하고, K를 상기 메시지에 관련되는 문자열의 수로 하고, k를 1로부터 K까지의 각 정수로 하고, sk를 상기 메시지에 관련되는 문자열로 하고, Indexk를 갱신 전의 인덱스로 하고, Index'k를 갱신 후의 인덱스로 하고, w를 상기 검색 키워드로 하고, Query를 상기 검색 쿼리로 하고,
    상기 인덱스 생성부는 다음 식에 의해 상기 인덱스를 생성하는 것이며,
    (수학식 17)
    Figure 112019060610265-pct00017

    상기 재암호화 키 생성부는 다음 식에 의해 상기 재암호화 키를 생성하는 것이며,
    (수학식 18)
    Figure 112019060610265-pct00018

    상기 재암호화부는 다음 식에 의해 상기 인덱스를 갱신하는 것이며,
    (수학식 19)
    Figure 112019060610265-pct00019

    상기 쿼리 생성부는 다음 식에 의해 상기 검색 쿼리를 생성하는 것인
    (수학식 20)
    Figure 112019060610265-pct00020

    것을 특징으로 하는 메시지 송신 시스템.
  5. 서버 장치와 복수 대의 통신 단말을 포함하고, 어느 통신 단말로부터 송신된 메시지를 적어도 1대의 다른 통신 단말이 수신하는 메시지 송신 시스템에 있어서 사용되는 통신 단말로서,
    다른 통신 단말과 공유하는 세션 키를 기억하는 세션 키 기억부와,
    상기 메시지에 관련되는 문자열에 대하여 상기 세션 키를 사용하여 생성한 인덱스와 상기 메시지를 일의적으로 특정하는 메시지 식별자를 세트로 하여 상기 서버 장치에 송신하는 인덱스 생성부와,
    상기 세션 키가 갱신되었을 때, 갱신 전의 세션 키와 갱신 후의 세션 키를 사용하여 재암호화 키를 생성하여 상기 서버 장치에 송신하는 재암호화 키 생성부와,
    상기 갱신 후의 세션 키를 사용하여 검색 키워드를 암호화하여 검색 쿼리를 생성하고 상기 서버 장치에 송신하는 쿼리 생성부
    를 포함하는 것을 특징으로 하는 통신 단말.
  6. 서버 장치와 복수 대의 통신 단말을 포함하고, 어느 통신 단말로부터 송신된 메시지를 적어도 1대의 다른 통신 단말이 수신하는 메시지 송신 시스템에 있어서 사용되는 서버 장치로서,
    상기 통신 단말로부터 수신한 인덱스와 메시지 식별자의 세트를 기억하는 인덱스 기억부와,
    상기 통신 단말로부터 수신한 재암호화 키를 사용하여, 갱신 전의 세션 키를 사용하여 생성한 인덱스를, 상기 메시지에 관련되는 문자열에 대하여 갱신 후의 세션 키를 사용하여 생성한 인덱스로 갱신하는 재암호화부와,
    상기 갱신 후의 세션 키를 사용하여 생성한 인덱스가 상기 통신 단말로부터 수신한 검색 쿼리에 합치하는 상기 메시지 식별자를 추출하여 상기 통신 단말에 송신하는 검색부
    를 포함하는 것을 특징으로 하는 서버 장치.
  7. 서버 장치와 복수 대의 통신 단말을 포함하는 메시지 송신 시스템에 있어서, 어느 통신 단말로부터 송신된 메시지를 적어도 1대의 다른 통신 단말이 수신하는 메시지 송신 방법으로서,
    상기 통신 단말이 다른 통신 단말과 공유하는 세션 키를 세션 키 기억부에 기억하는 세션 키 기억 스텝과,
    상기 통신 단말이 상기 메시지에 관련되는 문자열에 대하여 상기 세션 키를 사용하여 생성한 인덱스와 상기 메시지를 일의적으로 특정하는 메시지 식별자를 세트로 하여 상기 서버 장치에 송신하는 인덱스 생성 스텝과,
    상기 서버 장치가 상기 통신 단말로부터 수신한 상기 인덱스와 상기 메시지 식별자의 세트를 인덱스 기억부에 기억하는 인덱스 기억 스텝과,
    상기 통신 단말이 상기 세션 키가 갱신되었을 때, 갱신 전의 세션 키와 갱신 후의 세션 키를 사용하여 재암호화 키를 생성하여 상기 서버 장치에 송신하는 재암호화 키 생성 스텝과,
    상기 서버 장치가 상기 통신 단말로부터 수신한 상기 재암호화 키를 사용하여, 상기 갱신 전의 세션 키를 사용하여 생성한 인덱스를, 상기 메시지에 관련되는 문자열에 대하여 상기 갱신 후의 세션 키를 사용하여 생성한 인덱스로 갱신하는 재암호화 스텝과,
    상기 통신 단말이 상기 갱신 후의 세션 키를 사용하여 검색 키워드를 암호화하여 검색 쿼리를 생성하고 상기 서버 장치에 송신하는 쿼리 생성 스텝과,
    상기 서버 장치가 상기 갱신 후의 세션 키를 사용하여 생성한 인덱스가 상기 통신 단말로부터 수신한 검색 쿼리에 합치하는 상기 메시지 식별자를 추출하여 상기 통신 단말에 송신하는 검색 스텝
    을 포함하는 것을 특징으로 하는 메시지 송신 방법.
  8. 제5 항에 기재된 통신 단말 혹은 제6 항에 기재된 서버 장치를 기능시키기 위해서 컴퓨터 판독 가능한 기록 매체에 저장된 것을 특징으로 하는 프로그램.
KR1020197017057A 2016-12-20 2017-12-06 메시지 송신 시스템, 통신 단말, 서버 장치, 메시지 송신 방법 및 프로그램 KR102290605B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2016-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
KR20190077556A KR20190077556A (ko) 2019-07-03
KR102290605B1 true KR102290605B1 (ko) 2021-08-18

Family

ID=62626461

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197017057A KR102290605B1 (ko) 2016-12-20 2017-12-06 메시지 송신 시스템, 통신 단말, 서버 장치, 메시지 송신 방법 및 프로그램

Country Status (6)

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

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020084751A1 (ja) * 2018-10-26 2020-04-30 日本電気株式会社 秘密計算サーバ、システム、秘密計算方法及びプログラム
CN111818525B (zh) * 2020-07-13 2021-10-26 清华大学 面向空间信息网络的密钥更新方法和系统
KR20220161748A (ko) * 2021-05-31 2022-12-07 삼성에스디에스 주식회사 인스턴트 메시징 서비스의 공지 사항 표시 방법 및 그 장치
CN116709316B (zh) * 2023-07-06 2024-01-26 云南大学 基于智能卡的大规模动态群组的无状态组密钥更新方法

Family Cites Families (25)

* 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 삼성전자주식회사 리키 인덱스 생성 방법 및 이를 이용한 리키 인덱스 생성장치
JPWO2009011120A1 (ja) 2007-07-18 2010-09-16 パナソニック株式会社 アドレス生成方法、アドレス生成システム、通信装置、通信方法、通信システム及び相手先通信装置
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
JP5412414B2 (ja) 2010-12-08 2014-02-12 株式会社日立製作所 検索可能暗号処理システム
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
US10318754B2 (en) 2014-06-02 2019-06-11 Robert Bosch Gmbh System and method for secure review of audit logs
US10237246B1 (en) * 2015-07-31 2019-03-19 Symphony Communication Services Holdings Llc Secure message search
US11005645B2 (en) 2016-01-15 2021-05-11 Mitsubishi Electric Corporation Encryption device, encryption method, computer readable medium, and storage device
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 黎海纤 基于信息安全的图像检索方法
US10791124B2 (en) * 2016-11-11 2020-09-29 Samsung Electronics Co., Ltd. Method and terminal device for encrypting message
US10671742B2 (en) * 2016-11-18 2020-06-02 Duncan MacDougall Greatwood Sharing an object using the scattered storage system with high-entropy credentials

Also Published As

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

Similar Documents

Publication Publication Date Title
He et al. Certificateless public key authenticated encryption with keyword search for industrial internet of things
Pasupuleti et al. An efficient and secure privacy-preserving approach for outsourced data of resource constrained mobile devices in cloud computing
Wang et al. Enabling secure and efficient ranked keyword search over outsourced cloud data
US8904171B2 (en) Secure search and retrieval
KR102290605B1 (ko) 메시지 송신 시스템, 통신 단말, 서버 장치, 메시지 송신 방법 및 프로그램
US11296879B2 (en) Encrypted search
JP6770075B2 (ja) 暗号化メッセージ検索方法、メッセージ送受信システム、端末、プログラム
Liu et al. Efficient and privacy-preserving skyline computation framework across domains
US10929402B1 (en) Secure join protocol in encrypted databases
CN114036240A (zh) 一种基于区块链的多服务商隐私数据共享系统和方法
Xia et al. Searchable Public-Key Encryption with Data Sharing in Dynamic Groups for Mobile Cloud Storage.
Ling et al. Efficient group ID-based encryption with equality test against insider attack
Gahi et al. Privacy preserving scheme for location-based services
JP5670365B2 (ja) 暗号文検索システム、検索情報生成装置、検索実行装置、検索要求装置、暗号文検索方法、検索情報生成方法、検索実行方法、検索要求方法、およびプログラム
Chen et al. Password-authenticated searchable encryption
KR100945535B1 (ko) 사전 공격의 방지를 위한 키 생성 방법과, 그를 이용한검색 가능 암호문 생성 방법 및 데이터 검색 방법
Yan et al. Secure and efficient big data deduplication in fog computing
Luo et al. NMHP: A privacy preserving profile matching protocol in multi-hop proximity mobile social networks
Wang et al. Privacy preserving protocol for service aggregation in cloud computing
Cai Security and confidentiality of network communication using chaotic encryption technology
Ananthi et al. Secured Multikeyword Search over Encrypted Cloud Data Based On Quality and Usability
EP4283485A2 (en) Multi-key information retrieval
Luo et al. A lightweight delegated private set intersection in the internet setting for the cloud computing environments
Rezapour et al. Efficient common prefix search on encrypted data as an additional service on the top of the storage providers
Shajahan et al. Secured cloud storage system based on privacy preserving weighted similarity keyword search scheme

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant