KR101423953B1 - 원격 컴퓨팅 환경에서의 데이터 검색 방법 - Google Patents

원격 컴퓨팅 환경에서의 데이터 검색 방법 Download PDF

Info

Publication number
KR101423953B1
KR101423953B1 KR1020120153388A KR20120153388A KR101423953B1 KR 101423953 B1 KR101423953 B1 KR 101423953B1 KR 1020120153388 A KR1020120153388 A KR 1020120153388A KR 20120153388 A KR20120153388 A KR 20120153388A KR 101423953 B1 KR101423953 B1 KR 101423953B1
Authority
KR
South Korea
Prior art keywords
data
user
server
terminal
remote server
Prior art date
Application number
KR1020120153388A
Other languages
English (en)
Other versions
KR20140083520A (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 고려대학교 산학협력단
Priority to KR1020120153388A priority Critical patent/KR101423953B1/ko
Publication of KR20140083520A publication Critical patent/KR20140083520A/ko
Application granted granted Critical
Publication of KR101423953B1 publication Critical patent/KR101423953B1/ko

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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 원격 컴퓨팅 환경에서 사용자가 자신의 데이터를 암호화하여 원격 서버에 저장시킨 후 이를 추후에 검색하는 경우, 검색의 효율성을 제고시킬 수 있고 검색 과정에서 발생할 수 있는 사용자 개인 데이터에 대한 악의적인 외부로부터의 공격을 방지할 수 있는 데이터 검색 방법에 관한 것이다.
개시되는 검색 방법은 a) 사용자 단말이 사용자의 각 데이터에 각각 대응되는 파일(file)의 파일명이 암호화된 암호문과 상기 각 데이터의 암호문을 생성하여 원격 서버(remote server)에 전송하여 저장시키는 단계; b) 상기 사용자가 상기 단말을 통해 상기 원격 서버에 접속하여 상기 저장된 상기 사용자의 데이터 중 원하는 데이터를 다운로드받기 위해, 상기 단말이 상기 원하는 데이터에 대응하는 파일의 파일명을 암호화하고 이 파일명에 대한 검색용 토큰을 암호화 생성하여 상기 원격 서버에 전송하는 단계; 및 c) 상기 원격 서버가 상기 전송받은 토큰이 상기 파일명이 암호화된 암호문에 포함되어 있는 지 검색하여, 포함되어 있는 경우에는 상기 파일명이 암호화된 암호문에 포함되어 있는 암호문과 상기 각 데이터의 암호문에 포함되어 있는 암호문을 상기 단말에 전송하는 단계를 포함하며, 상기 모든 암호화는 대칭키 기반 암호화 알고리즘에 의해 이루어지도록 하여 본 발명의 과제를 해결한다.

Description

원격 컴퓨팅 환경에서의 데이터 검색 방법{Method for searching data in remote computing environment and Method therefor}
본 발명은 원격 컴퓨팅 환경에서의 데이터 검색 방법에 관한 것으로, 보다 상세하게는 사용자가 자신의 데이터를 암호화하여 원격 서버에 저장시킨 후 이를 추후에 검색하는 방법에 관한 것이며, 특히 이러한 검색의 효율성을 제고시킬 수 있고 검색 과정에서 발생할 수 있는 사용자 개인 데이터에 대한 악의적인 외부로부터의 공격을 방지할 수 있는 데이터 검색 방법에 관한 것이다.
2000년대 중반 이후로 원격 컴퓨팅 환경(remote computing environment)을 이용한 서비스(원격 컴퓨팅 서비스)가 활성화되고 있으며, 이는 클라우드 컴퓨팅(cloud computing) 환경의 도입으로 그 개념이 더욱 확대되어 활성화되고 있다. 클라우드 컴퓨팅을 포함하는 원격 컴퓨팅 서비스 중에서 현재 가장 활발히 실시되고 있는 서비스는 사용자에게 대용량의 데이터 저장 공간을 제공하는 원격 스토리지 서비스(remote storage service, 그 예로 클라우드 스토리지 서비스를 들 수 있다)이다. 원격 스토리지 서비스는 사용자가 스마트폰이나 스마트 TV 등 사용자의 개인 디바이스를 이용하여 자신의 데이터를 원격 서버에 업로드할 수 있음과 아울러 언제 어디서나 다운로드할 수 있는 서비스이다.
한편 원격 스토리지 서비스에서는 사용자 자신의 데이터가 원격 서버에 저장되는 관계로 보안상의 위험이 언제나 잠복하고 있는데, 이는 사용자가 원격 서버를 전적으로 신뢰할 수 없다는 사실에 기인한다. 즉 사용자들은 자신의 데이터를 보관하는 원격 서버가 자신들의 데이터를 읽고, 정보를 수집할 수 있다는 의구심을 가지고 있으며 실제로 대부분의 개인 사용자들은 자신의 데이터를 원격 서버에 올리는 것을 꺼려하고 있다.
따라서 원격 스토리지 서비스가 활성화되기 위해서는 개인의 데이터를 저장하면서도 원격 서버가 그 내용을 알 수 없도록 보안성의 강화가 요구된다. 아울러 사용자가 원격 서버에 여러 데이터(파일)를 저장하는 경우, 사용자가 자신이 현재 필요한 데이터를 원격 서버에서 빠르게 검색할 수 있도록 하는 것도 요구된다.
공개특허공보 제 특2000-004740 (2000.07.25.)
본 발명은 상기한 요구에 부응하기 위해 창안된 것으로, 본 발명이 해결하고자 하는 과제는 원격 서버에 저장된 사용자 개인의 데이터를 검색함에 효율성을 제고시킬 수 있고 아울러 검색 과정에서 발생할 수 있는 사용자 개인 데이터에 대한 악의적인 외부로부터의 공격을 방지할 수 있는 원격 컴퓨팅 환경에서의 데이터 검색 방법을 제시하는 것이다.
상기의 과제를 해결하기 위해 개시되는 검색 방법은 a) 사용자 단말이 사용자의 각 데이터 D1, D2, …, Dm에 각각 대응되는 파일(file)의 파일명(filename: fn = {fn1, fn2, …, fnm})이 암호화된 암호문 집합(C1 = {C1,1, C1,2, …, C1,m})과 상기 각 데이터의 암호문 집합(C2 = {C2,1, C2,2, …, C2,m})을 생성하여 원격 서버(remote server)에 전송하여 상기 서버에 저장시키는 단계; b) 상기 사용자가 상기 단말을 통해 상기 서버에 접속하여 상기 서버에 저장된 상기 사용자의 데이터 중 원하는 데이터 Dt(t는 자연수로서 1 ≤ t ≤ m)를 다운로드받기 위해, 상기 단말이 상기 Dt에 대한 검색용 토큰(token)을 생성하고, 상기 서버에 전송하는 단계; 및 c) 상기 서버가 상기 전송받은 토큰이 상기 C1에 포함되어 있는 지 검색하여, 포함되어 있는 경우에는 상기 C1에 포함되어 있는 C1,t와 상기 C2에 포함되어 있는 C2,t를 상기 단말에 전송하는 단계를 포함한다.
이때 상기 토큰은 상기 Dt에 대응하는 파일의 파일명(fnt)이 포함되어 암호화되며, 상기 모든 암호화는 대칭키 기반 암호화 알고리즘에 의해 이루어지도록 하여 상기의 과제를 해결한다.
본 발명에 의하면 원격 서버에 저장된 사용자 개인의 데이터를 대칭키 기반 암호화 알고리즘을 이용하여 검색하므로 원격 스토리지 서비스의 보안성을 한층 강화시킬 수 있다. 파일명과 그 파일명에 해당하는 파일에 대응하는 데이터가 대칭키 기반 암호화 알고리즘으로 암호화되어 있으므로 원격 서버는 사용자가 원격 서버에 저장한 데이터가 무엇인지 추측할 수 없기 때문이다. 아울러 사용자가 원격 서버에 업로드한 데이터를 검색하여 다운로드 받기 위해 생성하는 검색용 토큰 또한 대칭키 기반 암호화되어 원격 서버에 전송되므로, 원격 서버는 검색용 토큰을 가지고 암호화된 데이터를 검색할 수 있을 뿐 검색용 토큰으로부터 어떠한 정보도 알 수 없다.
암호화, 토큰 생성, 복호화 알고리즘에서 모두 대칭키 기반의 알고리즘이 사용되므로 공개키 기반 암호화를 이용한 검색 방식에서 반드시 요구되는 지수 연산이나 페어링 연산이 필요하지 않으며, 원격 서버는 검색용 토큰을 가지고 저장된 암호문들에 대해 단순한 동일성 연산만으로 검색이 가능하므로 검색 속도의 향상 및 원격 서버의 부하(load)를 획기적으로 줄일 수 있기 때문에 검색의 효율성이 비약적으로 상승하는 이점을 제공한다.
도 1 내지 도 2는 본 발명의 흐름을 제시한 도면이다.
본 발명을 실시하기 위한 구체적인 내용의 설명에 앞서 이해의 편의를 위해 본 발명이 해결하려는 과제의 해결 방안의 개요를 우선 제시한다.
현재까지의 원격 스토리지 서비스에서 사용자 데이터의 검색이 가능함과 아울러 검색 과정에서의 보안성을 확보하기 위해 대부분 공개키 기반 암호화 방식에 근간하여 검색이 이루어지고 있다.
이에 의하면 사용자가 자신이 설정한 공개키로 자신의 각 데이터를 (연관된) 속성(attribute) 및 키워드(keyword)로 암호화한 암호문을 원격 서버에 저장하고 추후 데이터 검색 시 찾고자 하는 데이터의 속성 및 키워드로 검색용 토큰(token)을 만들어 원격 서버에게 전송하면, 원격 서버는 자신에게 저장된 사용자의 암호문 각각에 대하여 전송받은 토큰을 적용시켜 검색 알고리즘을 실행하여 검색 알고리즘의 결과가 참(True)인 경우에 대응하는 암호문을 사용자에게 전송하게 된다.
공개키 기반 암호화는 타원 곡선(elliptic curve) 위의 그룹에서 구현되는데, 검색 연산이 Equality, AND, OR, NOT, Threshold 등으로 다양하다는 장점이 있으나 높은 연산량을 요구하는 페어링(pairing) 연산이 필수적이며 이 연산을 검색 알고리즘 실행시 저장된 '모든' 암호문에 대해 수행해야 하므로 대규모 사용자가 검색 요구를 하는 원격(클라우드) 컴퓨팅 환경에서는 매우 비효율적이다. 아울러 보안상 측면에서 공개키 기반 암호화를 이용하는 검색 방식은 검색용 토큰으로부터 암호문에 대한 속성이 노출될 수 있다는 약점을 지닌다. 왜냐하면 검색용 토큰이 서버에게 주어진 경우, 서버 자신이 사용자의 공개키를 이용하여 임의의 속성에 대한 암호문을 생성하고 주어진 토큰으로 검색을 시도함으로서 주어진 토큰에 내재된 속성 및 키워드 정보를 알게 되고 이에 대응하는 암호문의 속성 및 키워드도 알 수 있게 되기 때문이다.
반면에 대칭키 기반 암호화 방식을 이용하는 검색 방식은 사용자가 자신이 설정한 대칭키로 속성 및 키워드를 암호화하고 문서 검색 시 찾고자하는 데이터의 속성 및 키워드로 검색용 토큰을 만들어 원격 서버에 전송하게 된다. 본 방식은 단순한 동일성(Equality) 연산만을 지원하지만 동일성 연산은 검색 가능한 암호 알고리즘에서 필수적이며 활용도가 높은 연산이다. 아울러 본 검색 방식은 DES(Data Encryption Standard), AES(Advanced Encryption Standard)와 같은 대칭키 암호 알고리즘과 SHA-512와 같은 암호학적 해시 함수(hash function)의 조합으로 구현되므로 빠른 검색 연산 속도를 제공하게 된다. 또한 보안상 측면에서도 공개키 기반의 암호화 방식에서 암호문의 속성이 노출되는 근본적인 문제점을 해결할 수 있는데, 공개키 기반에서와는 반대로 대칭키 기반에서 정당하게 암호문을 생성할 수 있는 자는 대칭키를 가진 사용자 본인으로 제한되기 때문이다.
따라서 본 발명은 상기한 두 가지 검색 방식의 차이에 착안하여 이루어진 것으로, 사용자가 자신의 데이터를 원격 서버에 저장할 때 원격 서버가 저장된 사용자의 민감한 데이터를 읽거나 수집할 수 없도록 하여 원격 스토리지 서비스의 보안성을 강화시킬 수 있음과 아울러 원격 서버에 저장된 사용자 데이터의 검색의 효율성을 제고시킬 수 있는 데이터 검색 방안을 제시하고자 함이 핵심이다.
사용자의 민감한 데이터를 공개키 기반 암호화 기법으로 암호화하고 검색하는 방식은 위에서 언급한 바와 같이 악의적인 외부(악의적인 원격 서버를 포함)로부터의 공격 위협에 대처할 수 없을 뿐만 아니라, 사용자가 후에 자신이 원하는 데이터(파일)를 검색하여 다운로드 받을 때 자신이 원격 서버에 저장시킨 '모든' 파일을 다운로드받아 복호화해야 하는 비효율이 존재한다. 이는, 기존의 공개키 기반 검색 암호화 기법에 의하면, 원격 서버가 사용자가 원하는 파일의 검색을 위해 사용자측으로부터 제공받은 검색용 토큰을 참조하여 자신이 저장하고 있는 사용자의'모든' 파일에 대해 검색을 위한 연산을 수행해야 한다는 의미이기도 하다.
이는 많은 사용자를 대상으로 하는 원격 서버에게 매우 큰 부담이 된다. 따라서 검색시에 모든 (암호화된) 파일에 대한 검색이 수행되지 않도록(필요한 파일에 대해서만 검색이 수행되도록) 하며 아울러 사용자가 검색(다운로드)해야 할 파일을 용이하게 선택할 수 있도록 파일네임 뷰어(filename viewer)를 사용자 단말에 제시한다.
따라서 이러한 두 문제점(보안성 문제, 효율성 문제)을 모두 해결할 수 있도록 본 발명에서는 대칭키 기반 암호화 기법을 이용한 데이터 검색 방안을 제시하고자 한다.
이하, 본 발명을 실시하기 위한 구체적인 내용을 본 발명의 바람직한 실시예에 근거하여 첨부 도면을 참조하여 상세히 설명하되, 도면의 구성요소들에 참조번호를 부여함에 있어서 동일 구성요소에 대해서는 비록 다른 도면상에 있더라도 동일 참조번호를 부여하였으며 당해 도면에 대한 설명시 필요한 경우 다른 도면의 구성요소를 인용할 수 있음을 미리 밝혀둔다. 아울러 본 발명과 관련된 공지 기능 혹은 구성에 대한 구체적인 설명 그리고 그 이외의 제반 사항이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그 상세한 설명을 생략한다.
도 1 내지 도 2는 본 발명의 흐름을 제시한 도면이다.
사용자 단말은 원격 서버에 저장할 m개의 데이터에 대해, 각 데이터 D1, D2, …, Dm에 각각 대응되는 파일의 파일명(filename: fn = {fn1, fn2, …, fnm})을 암호화한 암호문 집합(C1 = {C1,1, C1,2, …, C1,m})과 상기 각 데이터의 암호문 집합(C2 = {C2,1, C2,2, …, C2,m})을 생성하여 원격 서버에 전송하여(s11), C1과 C2를 원격 서버에 저장시키게 된다(s12).
이때 fn과 각 데이터의 암호화는 대칭키 기반 암호화 알고리즘에 의해 구현되는데, 구체적으로는 다음과 같다.
Macm = MACs(k2, fnm), C1,m = Encs(k1, Macm). --- 식 1).
여기서 k1은 파일명 fnm을 대칭키 기반 암호화하기 위한 비밀 키이며, k2는 fnm의 파일명 fnm의 MAC(Message Authentication Code: 메시지 인증 코드)인 Macm를 생성하기 위한 비밀 키이다. 첨자(subscript) s는 대칭키(symmetric key) 기반에 의함을 나타낸다.
한편 C1,m의 생성은 ECB(Electronic Code Book) 모드를 이용한 1블록 대칭키 기반 암호화 알고리즘에 의하여야 한다. 즉, Encs는 ECB 모드를 이용한 1블록 대칭키 기반 암호화 알고리즘이어야 한다. 다른 모드(CBC 모드, CFB 모드, OFB 모드, CTR 모드)는 랜덤한 IV(Initial Vector)를 포함하기 때문에 같은 평문을 암호화하더라도 '다른' 암호문이 생성된다. 그러나 ECB 모드는 이들 모드와는 달리 랜덤한 IV를 포함하지 않기 때문에 같은 평문을 암호화하면 언제나 같은 암호문이 생성된다. 이 사실은 추후에 언급될 데이터 검색 단계(s13 ~ s14)에서 검색용 토큰과 암호문의 동일성(Equality) 검사를 가능하게 하는 전제이다. 다른 모드에 의하면 이러한 동일성 검사를 무의미하게 하는데, 위에서 언급한 바와 같이 같은 평문에 대해 다른 암호문을 생성하기 때문이다.
그리고 Macm은 파일명 fnm의 무결성(integrity) 보장을 위한 메시지 인증 코드이며 k2를 비밀 키로 하여 대칭키 기반 메시지 인증 코드 발생 알고리즘(MACs)에 의해 생성된 코드이다. 아울러 Encs는 ECB 모드를 이용한 1블록 대칭키 암호화 알고리즘이므로 Macm(MACs의 출력 값)은 Encs의 입력 값 이하이어야 한다. 따라서 Macm의 생성은 HMAC(Hash-based MAC) 알고리즘이 아닌 CMAC(Cipher-based MAC) 알고리즘에 의함이 즉, MACs는 CMAC 알고리즘인 것이 바람직하다.
그리고 본 발명에서는, 식 1)에 제시된 바와 같이, 파일명 fnm을 암호화하는 경우 파일명 fnm을 바로 암호화하는 것이 아니라 파일명 fnm에 대한 메시지 인증 코드인 Macm를 선행적으로 생성하고(s111), 생성된 Macm를 ECB 모드를 이용한 1블록 대칭키 기반 암호화하여(s112) 파일명에 대한 보안성을 도모함과 동시에 무결성(integrity) 보장(검증)도 아울러 도모한다.
한편 데이터 Dm의 암호문 C2,m은 다음과 같이 생성된다(s113).
C2,m = Enc(k3, Dm).
여기서 k3은 파일명 fnm에 대응하는 데이터 Dm을 일반적인 대칭키 기반 암호화(Enc)하기 위한 비밀 키이다.
아울러 사용자 단말은 MAC 발생 암호화 알고리즘(예를 들어 위에서 언급한 HMAC 또는 CMAC)을 이용하여 C1과 C2의 무결성 확보를 위한 메시지 인증 코드 집합(C3 = {C3,1, C3,2, …, C3,m})을 생성하여(s114) 자신에 저장시킴과 아울러 원격 서버에 전송한다(s115).
C3,m = MAC(k4, C1,m∥C2,m).
여기서 k4은 C1,m∥C2,m의 MAC를 생성하기 위한 비밀 키이며, ∥는 이어쓰기(concatenation)를 의미한다. 그리고 MAC(a, b)는 a를 비밀 키로 하여 b의 메시지 인증 코드를 발생시키는 MAC 발생 알고리즘을 의미한다.
결론적으로 사용자 단말에서 원격 서버로 전송되어 저장되는 것은 C1, C2, C3이다.
데이터 검색/다운로드 단계(s13 ~ s14)는 s11 내지 s12 단계를 전제로 하여 이루어진다.
사용자는 자신의 단말을 통해 원격 서버에 저장된 자신의 여러 데이터 중 원하는 데이터 Dt(t는 자연수로서 1 ≤ t ≤ m)를 원격 서버에서 다운로드 받기 위해, 자신의 단말을 통해 Dt의 검색용 토큰(token)을 암호화 생성하여(s131) 이를 원격 서버에 전송하고(s132), 원격 서버는 전송받은 검색용 토큰을 참조하여 데이터 Dt가 자신에게 저장되어 있는지 판단하여(s141) 저장하고 있는 경우에는 다운로드(검색) 요청을 한 사용자에게 전송한다(s142).
데이터 Dt의 검색용 토큰
Figure 112012107854215-pat00001
은 데이터 Dt가 구현된(데이터 Dt에 대응되는) 파일의 파일명 fnt를 이용하여 다음과 같이 생성된다.
Mact = MACs(k2, fnt),
Figure 112012107854215-pat00002
= Encs(k1, Mact). --- 식 2).
여기서 k1은 파일명 fnt을 대칭키 기반 암호화하기 위한 비밀 키이며, k2는 fnt의 파일명 fnt의 MAC인 Mact를 생성하기 위한 비밀 키이다.
식 2)를 참조하면, 사용자가 원하는 데이터 Dt를 원격 서버로부터 다운로드 받기 위해서 원격 서버에 데이터 Dt의 검색 요청(다운로드 요청)을 하는 경우 검색용 토큰
Figure 112012107854215-pat00003
의 생성은 s11에서의 경우와 동일한 과정으로 이루어진다. 즉,
Figure 112012107854215-pat00004
는 C1 ,t의 생성과 동일한 과정으로 생성되며, 이는
Figure 112012107854215-pat00005
의 성질이 C1 ,t의 그것과 동일하다는 의미이다. 왜냐하면 C1 ,t는 위에서 언급한 바와 같이 fnt를 이용하여 암호화한 것이고,
Figure 112012107854215-pat00006
도 fnt를 이용하여 암호화한 것이기 때문이다.
Figure 112012107854215-pat00007
를 전송받은 원격 서버는 자신이 저장하고 있는 파일명 암호문 집합 C1에 대한 검색을 수행하여 전송받은
Figure 112012107854215-pat00008
이 C1에 속하는지를 판단한다(s141). 이는 결국
Figure 112012107854215-pat00009
인지를 판단하는 것과 동일한 의미이다.
포함되어 있는(동일한) 경우에는 원격 서버는 C1,t와 이에 대응하는 Dt의 암호문 C2,t를 사용자 단말에 전송하게 되며(s142), 사용자 단말에서는 C2,t를 복호화하여(s15) Dt를 생성하고 사용자에게 제시하게 된다. 한편 복호화는 무조건적으로 이루어지는 것이 아니라, 무결성이 검증된 경우에만 이루어지도록 하는 것이 바람직한데 이를 위해 원격 서버는 C1,t와 C2,t를 전송시에 fnt의 암호문(C1,t)과 Dt의 암호문(C2,t)의 무결성 확보를 위한 메시지 인증 코드(C3,t)를 같이 전송하여 C3,t가 상기 단말에 저장된 C3에 포함되어 있는지 판단하여(s151) 포함되어 있는 경우에만 상기 C2,t를 복호화한다(s152).
본 발명에 의한 검색용 토큰은 이처럼 파일명을 검색 속성으로 하는 점이 기존의 검색 방식과 큰 차이점이다. 기존의 검색 방식은 키워드(keyword)를 검색 속성으로 사용하므로, 그 키워드를 갖는 모든 데이터의 검색이 완료될 때까지 검색 과정이 계속 진행되며 이렇게 검색된 데이터는 사용자가 원하는 데이터이건 아니건 사용자 단말에 전부 전송되는 비효율을 갖는다. 그러나 파일명을 검색 속성으로 사용하면 파일명만 검색하면 되기 때문에 그 파일명을 갖는 파일에 대응되는 데이터 자체의 검색은 필요가 없고, 아울러 각 파일명은 고유의 암호문으로 암호화되어 있기 때문에 서버에서 검색용 토큰과 일치하는 암호문이 발견되면 즉각적으로 검색 과정이 중단(검색 과정의 더 이상 진행은 불요)되기 때문에 본 발명에 의한 검색용 토큰을 사용하면 검색 효율성이 비약적으로 증가되는 이점을 볼 수 있다.
파일명을 검색 속성으로 사용하면 이처럼 검색 효율성은 크게 증가시킬 수 있지만, 사용자에게는 불편함을 초래할 수도 있다. 왜냐하면 파일명은 기본적으로 키워드보다 길거나 사용자가 기억하기 힘들다는 특성을 지니기 때문이다. 따라서 본 발명에서는, 상기한 검색 효율성 증가의 이점을 살릴 수 있도록, 이러한 불편을 방지하기 위해 파일네임 뷰어(filename viewer)를 사용자 단말에 제공하여 사용자가 fnt의 용이 선택(검색)을 도모할 수 있도록 한다.
파일네임 뷰어의 구현은 사용자 PC에서 통상적으로 PC에 저장된 파일을 제시하기 위해 사용되는 윈도우 탐색기 형태로 구현함을 그 일례로 들 수 있으며, 어느 형태로 구현이 되던 사용자가 자신의 파일명을 가시적으로(visibly) 확인할 수 있는 형태이면 족하다. 그리고 파일네임 뷰어 구동 프로그램 자체를 암호화시켜 파일네임 뷰어를 사용자만 실행가능 하도록 구현하여 사용자의 데이터에 대한 보안성도 한층 강화시키도록 한다. 파일네임 뷰어 구동 프로그램의 암호화도 대칭키 기반 암호화 알고리즘에 의한다.
본 방법발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 유무선 네트워크를 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 균등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (5)

  1. a) 사용자 단말이 사용자의 각 데이터 D1, D2, …, Dm에 각각 대응되는 파일(file)의 파일명(filename: fn = {fn1, fn2, …, fnm})이 암호화된 암호문 집합(C1 = {C1,1, C1,2, …, C1,m})과 상기 각 데이터의 암호문 집합(C2 = {C2,1, C2,2, …, C2,m})을 생성하여 원격 서버(remote server)에 전송하여 상기 서버에 저장시키는 단계;
    b) 상기 사용자가 상기 단말을 통해 상기 서버에 접속하여 상기 서버에 저장된 상기 사용자의 데이터 중 원하는 데이터 Dt(t는 자연수로서 1 ≤ t ≤ m)를 다운로드받기 위해, 상기 단말이 제 1 비밀키를 이용하여 상기 Dt에 대응된 파일의 파일명 fnt에 대한 맥(MAC)인 Mact를 생성하고, 상기 Mact를 제 2 비밀키를 이용하여 암호화함으로써, 상기 Dt에 대한 검색용 토큰(token)을 생성하여 상기 서버에 전송하는 단계; 및
    c) 상기 서버가 상기 전송받은 토큰이 상기 C1에 포함되어 있는 지 검색하여, 포함되어 있는 경우에는 상기 C1에 포함되어 있는 C1,t와 상기 C2에 포함되어 있는 C2,t를 상기 단말에 전송하는 단계를 포함하며,
    상기 토큰은 상기 Dt에 대응하는 파일의 파일명(fnt)이 포함되어 암호화되며, 상기 모든 암호화는 대칭키 기반 암호화 알고리즘에 의해 이루어지되,
    상기 사용자가 상기 fnt의 용이 선택(검색)을 위한 파일네임 뷰어(filename viewer)가 상기 단말에 제공되며, 상기 뷰어의 구동 프로그램은 상기 대칭키 기반 암호화 알고리즘에 의해 암호화되는 것을 특징으로 하는 원격 컴퓨팅 환경에서의 데이터 검색 방법.
  2. 삭제
  3. 제 1 항에 있어서, 상기 a) 단계는
    a1) 상기 단말이 상기 fn의 각 파일명에 각각 해당 MAC(Message Authentication Code)를 생성하고, 상기 각 해당 MAC를 상기 대칭키 기반 암호화 알고리즘으로 암호화하여 상기 C1을 생성하는 단계; 및
    a2) 상기 단말이 상기 각 데이터를 상기 대칭키 기반 암호화 일고리즘으로 암호화하여 상기 C2를 생성하는 단계를 포함하는 것을 특징으로 하는 원격 컴퓨팅 환경에서의 데이터 검색 방법.
  4. 제 3 항에 있어서,
    상기 a) 단계는
    a3) 상기 단말이 상기 C1과 상기 C2의 메시지 인증 코드 집합(C3 = {C3,1, C3,2, …, C3,m})을 생성하여 자신에 저장시킴과 아울러 상기 서버에 전송하는 단계를 더 포함하고,
    상기 c) 단계는
    상기 서버가 상기 C1,t과 상기 C2,t의 메시지 인증 코드(C3,t)를 상기 단말에 같이 전송하는 단계;
    상기 단말이, 상기 C3,t가 상기 자신에게 저장된 C3에 포함되어 있는 경우에만, 상기 C2,t를 복호화하는 단계를 더 포함하는 것을 특징으로 하는 원격 컴퓨팅 환경에서의 데이터 검색 방법.
  5. 제 1 항, 제 3 항, 및 제 4 항의 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체.
KR1020120153388A 2012-12-26 2012-12-26 원격 컴퓨팅 환경에서의 데이터 검색 방법 KR101423953B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120153388A KR101423953B1 (ko) 2012-12-26 2012-12-26 원격 컴퓨팅 환경에서의 데이터 검색 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120153388A KR101423953B1 (ko) 2012-12-26 2012-12-26 원격 컴퓨팅 환경에서의 데이터 검색 방법

Publications (2)

Publication Number Publication Date
KR20140083520A KR20140083520A (ko) 2014-07-04
KR101423953B1 true KR101423953B1 (ko) 2014-08-01

Family

ID=51733941

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120153388A KR101423953B1 (ko) 2012-12-26 2012-12-26 원격 컴퓨팅 환경에서의 데이터 검색 방법

Country Status (1)

Country Link
KR (1) KR101423953B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114944940B (zh) * 2022-04-26 2023-10-03 国网山东省电力公司滨州供电公司 一种用于电气试验数据的电子档案处理系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009070240A (ja) 2007-09-14 2009-04-02 Fuji Xerox Co Ltd 文書管理サーバーから文書データを取得するためのシステムおよび方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009070240A (ja) 2007-09-14 2009-04-02 Fuji Xerox Co Ltd 文書管理サーバーから文書データを取得するためのシステムおよび方法

Also Published As

Publication number Publication date
KR20140083520A (ko) 2014-07-04

Similar Documents

Publication Publication Date Title
JP4958246B2 (ja) 高速検索可能な暗号化のための方法、装置およびシステム
US9379891B2 (en) Method and system for ID-based encryption and decryption
CN109347627B (zh) 数据加解密方法、装置、计算机设备及存储介质
EP3058678B1 (en) System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption
US20140172830A1 (en) Secure search processing system and secure search processing method
KR20100068042A (ko) 데이터 암호화 방법 및 암호화된 데이터의 결합 키워드 검색방법
US11316671B2 (en) Accelerated encryption and decryption of files with shared secret and method therefor
US9037846B2 (en) Encoded database management system, client and server, natural joining method and program
KR101979267B1 (ko) 클라우드 저장 기반 암호화 시스템 및 방법
CN111639357B (zh) 一种加密网盘系统及其认证方法和装置
CN114417073B (zh) 一种加密图的邻居节点查询方法及装置、电子设备
Isobe et al. Breaking message integrity of an end-to-end encryption scheme of LINE
KR101217491B1 (ko) 공개키 기반의 키워드 검색 방법
Minematsu et al. Attacks and security proofs of EAX-prime
Sujithra et al. ID based adaptive-key signcryption for data security in cloud environment
KR20040097016A (ko) 암호화를 활용한 웹저장공간 제공 서비스 시스템 및 방법
KR101232385B1 (ko) 대칭키 기반의 암호 생성 및 검색 방법과 그 시스템
KR100951034B1 (ko) 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법
KR101423953B1 (ko) 원격 컴퓨팅 환경에서의 데이터 검색 방법
KR20090056078A (ko) 사전 공격의 방지를 위한 키 생성 방법과, 그를 이용한검색 가능 암호문 생성 방법 및 데이터 검색 방법
KR20220059506A (ko) 보안 식별 검색을 위한 시스템 및 방법
CN108243000B (zh) 云存储系统中的密文搜索方法
KR102386717B1 (ko) 익명 사용자 속성기반의 데이터 접근 제어 시스템 및 방법
JP5799635B2 (ja) 暗号データ検索システム、装置、方法及びプログラム
Zhang et al. Secure deduplication based on Rabin fingerprinting over wireless sensing data in cloud computing

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
FPAY Annual fee payment

Payment date: 20170707

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180702

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190715

Year of fee payment: 6