KR20090046367A - 프라이버시를 보장하는 암호화와 복호화를 이용한 파일공유 방법 및 시스템 - Google Patents

프라이버시를 보장하는 암호화와 복호화를 이용한 파일공유 방법 및 시스템 Download PDF

Info

Publication number
KR20090046367A
KR20090046367A KR1020070112469A KR20070112469A KR20090046367A KR 20090046367 A KR20090046367 A KR 20090046367A KR 1020070112469 A KR1020070112469 A KR 1020070112469A KR 20070112469 A KR20070112469 A KR 20070112469A KR 20090046367 A KR20090046367 A KR 20090046367A
Authority
KR
South Korea
Prior art keywords
keyword
file
unit
encryption
file sharing
Prior art date
Application number
KR1020070112469A
Other languages
English (en)
Other versions
KR100944769B1 (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 KR1020070112469A priority Critical patent/KR100944769B1/ko
Priority to US12/252,456 priority patent/US20090116645A1/en
Publication of KR20090046367A publication Critical patent/KR20090046367A/ko
Application granted granted Critical
Publication of KR100944769B1 publication Critical patent/KR100944769B1/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

프라이버시를 보장하는 암호화와 복호화를 이용한 파일 공유 방법 및 시스템이 개시되어 있다. 클라이언트는 대칭키 알고리즘을 사용하여 파일과 관련된 키워드들을 해싱(hashing)하여 암호화하고, 해싱된 키워드로 파일들을 암호화한 후, 파일 m과 키워드들
Figure 112007079510418-PAT00001
을 암호화한 암호문(D)을 파일 공유 서버로 업로드한다. 원하는 파일을 다운로드 받기 위해, 클라이언트는 파일 공유 서버로 사용자가 원하는 파일과 관련된 해싱된 키워드(KW)로 쿼리(Q)를 요청한다. 클라이언트는 파일 공유 서버로부터 쿼리된 키워드와 동일한 키워드로부터 만들어진 암호문들의 집합(
Figure 112007079510418-PAT00002
)를 수신받아 키워드를 복호화하고, 복호화된 키워드(KW)에 의해 파일 m을 복호화한다.
파일공유, 프라이버시, 암호화/복호화, 기밀성, 키워드 검색

Description

프라이버시를 보장하는 암호화와 복호화를 이용한 파일 공유 방법 및 시스템{Method and system for sharing files by using encryption and decryption to guarantee the privacy}
본 발명은 프라이버시를 보장하는 파일 공유 방법 및 시스템에 관한 것으로, 특히 클라이언트로부터 대칭키 알고리즘을 사용하여 키워드들을 해싱(hashing)하여 암호화하고 동시에 해싱된 키워드로 파일들을 암호화한 후, 파일과 키워드를 암호화한 암호문을 파일 공유 서버로 업로드하고, 키워드 서치 기법을 사용하여 해싱된 키워드로 파일 공유 서버로 질의하여 원하는 파일을 다운로드 받아 키워드를 복호화하고, 복호화된 키워드로 암호화된 파일을 복호화하여, 사용자의 파일과 키워드의 기밀성을 보장하는, 프라이버시를 보장하는 암호화와 복호화를 이용한 파일 공유 방법 및 시스템에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 유비쿼터스원천기술개발 사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호:2005-Y-001-03, 과제명:차세대 시큐리티 기술 개발(Developments of next generation security technology)].
냅스터(Napster)나 그누텔라(Gnutella)와 같은 파일 공유 시스템들은 크게 중앙 집중식과 분산식으로 나뉘어진다.
중앙 집중식은 중앙 서버가 존재하며, 사용자 단말기들이 중앙 서버로 파일을 저장하고, 중앙 서버로부터 파일을 내려받는 방식이다.
분산식은 중앙 서버가 존재하지 않으며, 파일들이 분산된 사용자 단말기들에 저장되고, 이런 사용자 단말기들로부터 P2P 방식으로 파일들을 내려받는 방식이다.
파일 공유 시스템(file sharing system)에 대하여 사용자들의 익명성(anonymity)과 무결성(integrity)을 제공하려는 연구들이 주로 이루어져왔다.
익명성을 보장하는 파일 공유 시스템은 사용자 자신의 파일을 다른 사용자들과 공유하기를 원하지만, 자신의 신분(ID)이 들어나기를 원치 않는 경우에 사용할 수 있는 파일 공유 시스템이다. 익명성(anonymity)을 보장하는 파일 공유 시스템들은 Freenet 시스템과 Tarzan 시스템이 있다.
무결성(integrity)을 보장하는 파일 공유 시스템은 공유된 파일이 최초로 올린 사람의 동의 없이 변경되는 것을 막을 수 있는 파일 공유 시스템이다. Freenet시스템은 일회용 공개키(public key)를 사용하여 무결성을 보장한다.
암호화된 키워드 서치(Search) 기법은 개인 스토리지 시스템(private storage system)과 메시지 전송 시스템(message transfer system)에 사용되고 있는 기술이다.
개인 스토리지 시스템은 사용자가 자신이 저장한 파일을 검색하는 것이므로, 다른 사람이 검색할 수 있는 파일 공유 시스템으로 사용할 필요가 없다.
메시지 전송 시스템은 메시지 송신자가 메시지 수신자를 사전에 알아야 하므로, 다운로드할 사람을 사전에 알 수 없는 파일 공유 시스템으로 사용할 수 없다. 이와 같이, 개인 스토리지 시스템과 메시지 전송 시스템은 파일 공유 시스템과 다르기 때문에 파일 공유 시스템을 위한 암호화된 키워드 서치 기법이 필요하게 된다.
또한, 파일 공유를 위해 사용자는 파일과 키워드를 함께 파일 공유 시스템에 올리게 된다. 사용자 단말기는 파일 공유 시스템으로부터 자신이 원하는 파일을 내려받기 위해 특정한 키워드를 파일 공유 시스템에 쿼리(query)하게 된다. 그러면, 파일 공유 시스템은 사용자 단말기로부터의 쿼리에 따라 그 검색 결과를 제공하고, 사용자 단말기로부터 요청된 그 키워드와 관련된 파일들을 사용자 단말기로 전송한다.
그러나, 현재의 파일 공유 시스템들은 사용자 단말기의 올리거나 내려받는 파일들의 내용을 알 수가 있어 기밀성이 보장되지 않으므로, 사용자들의 프라이버시가 전혀 보장되지 않는 문제점이 있었다.
본 발명은 종래 기술의 문제점을 해결하기 위해 제안된 것으로, 클라이언트로부터 대칭키 알고리즘을 사용하여 키워드를 해싱(hashing)하여 암호화하고 해싱된 키워드로 파일을 암호화하며, 파일과 키워드를 암호화한 암호문을 파일 공유 서버로 업로드하고, 원하는 파일 검색시 클라이언트로부터 키워드 서치 기법을 이용하여 해싱된 키워드로 파일 공유 서버로 질의하여(query) 원하는 파일을 다운로드 받아 그 키워드를 복호화하고, 복호화된 키워드로 암호화된 파일을 복호화하여, 사용자의 파일과 키워드의 기밀성을 보장하고 사용자들의 프라이버시를 향상시키는, 프라이버시를 보장하는 암호화와 복호화를 이용한 파일 공유 방법 및 시스템을 제공하는데 그 목적이 있다.
본 발명의 목적을 달성하기 위하여, 본 발명은 프라이버시를 보장하는 암호화와 복호화를 이용한 파일 공유 클라이언트 시스템으로서, 업로드 또는 다운로드하기 위한 파일과 관련된 키워드들을 해싱하는 키워드 해싱부; 업로드하기 위한 파일과 관련되어 상기 키워드 해싱부에서 해싱된 키워드를 대칭키 알고리즘을 사용하여 암호화하는 키워드 암호화부; 대칭키 알고리즘을 사용하여 상기 키워드 해싱부로부터 수신된 해싱된 키워드에 의해 업로드하기 위한 파일을 암호화하는 파일 암호화부; 다운로드하기 위한 파일과 관련되어 상기 키워드 해싱부에서 해싱된 키워 드로부터 유도되는 쿼리(Q)를 출력하는 쿼리 요청부; 상기 키워드 암호화부에서 암호화된 키워드와 상기 파일 암호화부에서 암호화된 파일을 포함하는 암호문(D)을 파일 공유 서버로 업로드하고, 상기 쿼리 요청부로부터 수신한 쿼리(Q)를 상기 파일 공유 서버로 전송하고, 상기 파일 공유 서버로부터 암호문들의 집합(SD)을 다운로드 받는 제1 데이터 송수신부; 상기 암호문들의 집합(SD)에 포함된 키워드를 대칭키 알고리즘을 사용하여 복호화하는 키워드 복호화부; 및 상기 키워드 복호화부에서 복호화된 키워드에 의해 대칭키 알고리즘을 사용하여 상기 암호문들의 집합(SD)에 포함된 암호화된 파일을 복호화하는 파일 복호화부를 포함한다.
상기 키워드 해싱부는, 키워드를 2차 해싱하여, 상기 키워드 암호화부, 상기 파일 암호화부 및 상기 쿼리 요청부로 전송하는 것을 특징으로 한다.
본 발명의 다른 목적을 달성하기 위하여, 본 발명은 프라이버시를 보장하는 암호화와 복호화를 이용한 파일 공유 서버 시스템으로서, 클라이언트로부터 암호화된 파일과 암호화된 키워드를 포함하는 암호문(D)을 수신하고, 클라이언트로부터 다운로드하기 위한 파일과 관련된 키워드로부터 유도되는 쿼리(Q)를 수신하며, 암호문들의 집합(SD)을 클라이언트로 전송하는 제2 데이터 송수신부; 상기 제2 데이터 송수신부에서 수신한 상기 암호문(D)을 테이블에 저장하는 저장부; 상기 제2 데이터 송수신부에서 수신한 쿼리(Q)에 관련된 키워드와 동일한 키워드로부터 만들어진 암호문들의 집합(SD)을 상기 저장부로부터 추출하여 상기 제2 데이터 송수신부로 전 송하는 쿼리 응답 처리부; 및 상기 제2 데이터 송수신부, 상기 저장부, 및 상기 쿼리 응답 처리부를 제어하는 제어부를 포함한다.
본 발명의 또 다른 목적을 달성하기 위하여, 본 발명은 프라이버시를 보장하는 암호화와 복호화를 이용한 파일 공유 방법으로서, (a) 파일 공유 서버가, 클라이언트로부터 파일과 키워드를 암호화한 암호문(D)을 수신받는 단계; (b) 상기 암호문(D)을 저장부의 테이블에 저장하는 단계; 및 (c) 클라이언트로부터 다운로드하기 위한 파일과 관련된 키워드로부터 유도되는 쿼리(Q)를 수신하고, 수신한 쿼리(Q)에 관련된 키워드와 동일한 키워드로부터 만들어진 암호문들의 집합(SD)을 상기 저장부로부터 추출하여 클라이언트로 전송하는 단계를 포함한다.
본 발명의 또 다른 목적을 달성하기 위하여, 본 발명은 프라이버시를 보장하는 암호화와 복호화를 이용한 파일 공유 방법으로서, (a) 클라이언트가, 업로드하기 위한 파일과 관련된 키워드를 해싱하여 대칭키 알고리즘을 사용하여 암호화하고, 상기 해싱된 키워드로 업로드하기 위한 파일을 암호화하며, 암호화된 키워드와 암호화된 파일을 포함하는 암호문(D)을 파일 공유 서버로 업로드하는 단계; (b) 다운로드하기 위한 파일과 관련된 키워드로부터 유도되는 쿼리(Q)를 파일 공유 서버로 전송하는 단계; 및 (c) 파일 공유 서버로부터 암호문들의 집합(SD)을 다운로드 받아, 상기 암호문들의 집합(SD)에 포함된 키워드를 대칭키 알고리즘을 사용하여 복호화하고, 복호화된 키워드에 의해 대칭키 알고리즘을 사용하여 상기 암호문들의 집합(SD)에 포함된 암호화된 파일을 복호화하는 단계를 포함한다.
상기 단계 (a)는, (a1) 랜덤 넘버(R), 파일을 암호화하기 위한 대칭키로 사용하는 해싱된 키워드(km)를 선택하는 단계; (a2) 키워드(KW)를 해싱한 값과 랜덤 넘버(R)를 이용하여 해싱된 키워드(km)를 암호화하기 위한 대칭키(ki)를 생성하는 단계; (a3) 상기 해싱된 키워드(km)를 상기 대칭키(ki)를 이용하여 암호화하여 암호화된 키워드(ci)를 생성하는 단계; (a4) 상기 해싱된 키워드(km)를 이용하여 상기 업로드하기 위한 파일을 암호화하여 암호화된 파일(c)을 생성하는 단계; 및 (a5) 상기 단계 (a3)에서 생성된 암호화된 키워드(ci)와 상기 단계 (a4)에서 생성된 암호화된 파일(c)을 포함하는 암호문(D)을 파일 공유 서버로 업로드하는 단계를 포함한다.
상기 단계 (b)는, 다운로드하기 위한 파일과 관련된 키워드를 2차 해싱하여 상기 쿼리(Q)를 유도하는 것을 특징으로 한다.
이상에서 설명한 바와 같이, 본 발명은 사용자 단말기의 클라이언트로부터 대칭키 알고리즘을 사용하여 키워드를 해싱하여 암호화하고, 해싱된 키워드로 파일을 암호화하여 파일과 키워드를 암호화한 암호문을 파일 공유 서버로 업로드하고, 원하는 파일 검색시 클라이언트로부터 키워드 서치 기법을 이용하여 해싱된 키워드로 파일 공유 서버로 질의하여(query) 원하는 파일을 검색하여 다운로드 받아 그 키워드를 복호화하고, 복호화된 키워드로 암호화된 파일을 복호화하여, 사용자의 파일과 키워드의 기밀성을 보장하고 사용자들의 프라이버시를 향상시킨다.
또한, 본 발명은 파일 공유 서버로 파일 업로드와 다운로드시 대칭키 암호화/복호화 알고리즘만을 사용하므로 기존 파일 공유 기법들과 비교하여 연산량의 큰 차이가 없다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명에 따른 대칭키 알고리즘(symmetric key algorithm)을 이용한 파일 공유 시스템 구성도이다.
본 발명에 따른 대칭키 암호화/복호화 알고리즘을 이용한 파일 공유 시스템은 다수의 클라이언트(20,21)와 파일 공유 서버(10)를 포함한다.
클라이언트(20,21)는 대칭키 알고리즘을 사용하여 파일과 관련된 키워드들을 해싱(hashing)하여 암호화하고, 해싱된 키워드로 파일 m을 암호화하며, 파일 m과 키워드들(KW1,..,KWn)을 암호화한 암호문(D)을 파일 공유 서버(10)로 업로드하여 저장한다.
또한, 클라이언트(20,21)는 다운로드 받기 위한 파일과 관련된 해싱된 키워드(KW)로부터 유도되는 쿼리(Q)를 파일 공유 서버(10)로 전송하여, 파일 공유 서 버(10)로부터 쿼리된 키워드와 동일한 키워드로부터 만들어진 암호문들의 집합(
Figure 112007079510418-PAT00003
)을 다운로드받아 대칭키 알고리즘을 사용하여 키워드를 복호화한 후, 복호화된 키워드로 다운로드 받은 암호화된 파일을 복호화한다.
파일 공유 서버(10)는 여러 클라이언트(20, 21)로부터 수신받은 파일 m과 키워드들(KW1,..,KWn)을 암호화한 암호문(D)을 데이터 테이블(T)에 저장하고, 클라이언트로부터 다운로드 받기 위한 파일과 관련된 해싱된 키워드로부터 유도되는 쿼리(Q)를 수신받아, 질의된 키워드와 관련된 암호문의 키워드를 조회하고, 쿼리에 관련된 키워드와 동일한 키워드로부터 만들어진 암호문들의 집합(SD)을 클라이언트(20,21)로 전송한다.
대칭키 알고리즘은 암호화 키와 복호화 키가 동일한 하나의 key로 파일 m(평문, plaintext)의 암호화 및 복호화를 수행하며, DES(Data Encryption Standard, 64bit), 3DES(Triple DES), AES(Advanced Encryption Standard, 128bit, 256bit 가변적인 키 길이), SEED 중 어느 하나의 방식을 사용한다.
사용자 단말기의 클라이언트(20,21)에서 사용되는 대칭키 알고리즘은 파일과 관련된 키워드(keyword)를 2차 해싱하여 업로드할 파일의 암호화키 및 다운로드 받은 파일의 복호화키로 사용한다.
도 2는 본 발명에 따른 대칭키 알고리즘을 이용하는 클라이언트와 파일 공유 서버의 내부 구성도이다.
클라이언트(20,21)는 키워드 해싱부(23), 키워드 암호화부(24), 파일 암호화 부(25), 제1 데이터 송수신부(26), 쿼리 요청부(27), 키워드 복호화부(28), 및 파일 복호화부(29)로 구성된다.
클라이언트(20,21)에서 사용되는 대칭키 알고리즘은 파일과 관련된 해싱된 키워드를 업로드할 파일의 암호화키 및 다운로드 받은 파일의 복호화키로 사용한다.
키워드 해싱부(23)는 업로드하기 위한 파일과 관련된 키워드들을
Figure 112007079510418-PAT00004
에 의해 2차 해싱(hashing)한다.
키워드 암호화부(24)는 업로드하기 위한 파일과 관련되어 키워드 해싱부에서 해싱된 키워드를 대칭키 알고리즘을 사용하여 암호화한다.
파일 암호화부(25)는 대칭키 알고리즘을 사용하여 키워드 해싱부(23)로부터 수신된 해싱된 키워드에 의해 업로드하기 위한 파일 m을 암호화한다.
제1 데이터 송수신부(26)는 상기 키워드 암호화부(24)에서 암호화된 키워드와 상기 파일 암호화부(25)에서 암호화된 파일을 포함하는 암호문(D)을 파일 공유 서버로 업로드하고, 상기 쿼리 요청부로부터 수신한 쿼리(Q)를 상기 파일 공유 서버로 전송하고, 상기 파일 공유 서버로부터 암호문들의 집합(SD)을 다운로드 받는다.
쿼리 요청부(27)는 원하는 파일을 다운로드 받기 위해 키워드 해싱부(23)에 의해 해싱된 키워드를 제1 데이터 송수신부(26)를 통해 파일 공유 서버(10)로 쿼리(Q)를 요청한다.
키워드 복호화부(28)는 쿼리한 키워드와 동일한 키워드로부터 만들어진 암호문들의 집합(
Figure 112007079510418-PAT00005
)을 파일 공유 서버(10)로부터 다운로드받아 대칭키 알고리즘을 사용하여 암호문들의 집합(
Figure 112007079510418-PAT00006
)에 포함된 키워드를 복호화한다.
파일 복호화부(29)는 대칭키 알고리즘을 사용하여 복호화된 키워드로 다운로드 받은 암호문들의 집합(
Figure 112007079510418-PAT00007
)에 포함된 암호화된 파일을 복호화하여 원래 파일을 복구한다.
파일 공유 서버(10)는 제2 데이터 송수신부(11), 제어부(12), 저장부(13) 및 쿼리 응답 처리부(14)로 구성된다.
제2 데이터 송수신부(11)는 여러 클라이언트(20, 21)로부터 암호화된 파일과 암호화된 키워드를 포함하는 암호문(D)을 수신하고, 클라이언트(21)로부터 다운로드하기 위한 파일과 관련된 키워드로부터 유도되는 쿼리(Q)를 수신하며, 암호문들의 집합(SD)을 클라이언트(21)로 전송한다.
제어부(12)는 제2 데이터 송수신부(11), 저장부(13), 및 쿼리 응답 처리부(14)와 연결되어, 암호화된 파일의 업로드, 질의 응답 및 다운로드 기능을 제어한다.
저장부(13)는 수신된 암호화된 파일과 암호화된 키워드를 포함하는 암호화한 암호문(D)을 데이터 테이블(T)에 저장한다.
쿼리 응답 처리부(14)는 상기 제2 데이터 송수신부(11)에서 수신한 쿼리(Q)에 관련된 키워드와 동일한 키워드로부터 만들어진 암호문들의 집합(SD)을 상기 저 장부(13)로부터 추출하여 상기 제2 데이터 송수신부(11)를 통해 클라이언트(21)로 전송한다.
도 3은 본 발명에 따른 프라이버시를 보장하는 대칭키 알고리즘의 암호화와 복호화를 이용한 파일 공유 방법을 설명한 흐름도이다.
클라이언트(20,21)는 업로드하기 위한 파일과 관련된 키워드들을 해싱(hashing)하여 대칭키 알고리즘을 사용하여 해싱된 키워드를 암호화하고, 해싱된 키워드로 업로드하기 위한 파일들을 암호화하며, 파일 공유 서버(10)로 파일 m과 키워드
Figure 112007079510418-PAT00008
를 암호화한 암호문(D)을 업로드한다(S10).
파일 공유 서버(10)는 여러 클라이언트(20,21)로부터 수신받은 파일 m과 키워드
Figure 112007079510418-PAT00009
를 암호화한 암호문(D)들을 데이터 테이블(T)에 저장한다(S11).
클라이언트(21)는 파일 공유 서버(10)로 다운로드하기 위한 파일과 관련된 해싱된 키워드로 쿼리(Q)하여 테이블에 저장된 암호문의 키워드를 조회한다(S12).
파일 공유 서버(10)는 질의된 다운로드하기 위한 파일과 관련된 해싱된 키워드와 테이블(T)에 저장된 암호문의 키워드과 동일한 키워드를 검색하여, 쿼리된 키워드와 동일한 키워드로부터 만들어진 암호문들의 집합(
Figure 112007079510418-PAT00010
)을 만들어 클라이언트(21)로 전송한다(S13).
클라이언트(21)는 파일 공유 서버(10)로부터 쿼리된 키워드와 동일한 키워드로부터 만들어진 암호문들의 집합(
Figure 112007079510418-PAT00011
)를 수신받아 대칭키 알고리즘에 의해 키워드(KW)를 복호화하고, 복호화된 키워드로 암호화된 파일을 복호화하여 파일 m을 복 구한다(S14).
도 4는 본 발명의 실시예에 따른 클라이언트와 파일 공유 서버 사이의 대칭키 알고리즘을 사용한 파일 업로드 및 다운로드 프로토콜을 설명한 도면이다.
본 발명이 제안하는 파일 공유 기법은 클라이언트(20)로부터 키워드를 해싱(hashing)하여 암호화하고, 대칭키 알고리즘(symmetric key algorithm)을 사용하여 업로드하기 위한 파일을 해싱된 키워드로 암호화하고, 파일과 키워드를 암호화한 암호문을 파일 공유 서버(10)로 올리는 업로드(upload) 프로토콜과, 다운로드 받기 위한 파일과 관련된 해싱된 키워드로 파일 공유 서버(10)로 쿼리(Query)하여 파일 공유 서버(10)로부터 원하는 파일을 다운로드받아 파일 공유 서버(10)로부터 쿼리된 키워드와 동일한 키워드로부터 만들어진 암호문들의 집합(
Figure 112007079510418-PAT00012
)를 수신받아 키워드를 복호화하고, 복호화된 키워드에 의해 파일을 복호화하는 다운로드(download) 프로토콜로 이루어진다.
H는 해쉬 함수이고, E=(SE,SD)는 대칭 암호 스킴이라고 정의한다.
파일 공유 시스템의 업로드 프로토콜은 다음 (1)~(4)의 과정을 거친다.
클라이언트(20,21)는 업로드하기 위한 파일과 관련된 키워드들을 해싱(hashing)하여 대칭키 알고리즘에 의해 해싱된 키워드를 암호화하고, 동시에 대칭키 알고리즘에 의해 해싱된 키워드로 업로드하기 위한 파일을 암호화하며, 파일 공유 서버(10)로 암호화한 키워드
Figure 112007079510418-PAT00013
와 암호화한 파일 m을 포함하는 암호문(D)을 파일 공유 서버(10)로 업로드하여 저장한다.
(1) 클라이언트(20,21)가 랜덤 넘버(R), 업로드하기 위한 파일을 암호화하기 위한 대칭키로 사용되는 해싱된 키워드(
Figure 112007079510418-PAT00014
)를 선택하고,
(2)
Figure 112007079510418-PAT00015
조건에서,
Figure 112007079510418-PAT00016
(단,
Figure 112007079510418-PAT00017
,
Figure 112007079510418-PAT00018
Figure 112007079510418-PAT00019
)
을 계산하여, 클라이언트(20,21)가 키워드(KW)를 해싱한 값과 랜덤 넘버(R)를 이용하여 2차 해싱된 키워드(km)를 암호화하기 위한 대칭키(ki)를 생성하며, 상기 해싱된 키워드(km)를 상기 대칭키(ki)를 이용하여 암호화하여 암호화된 키워드(ci)를 생성한다.
(3) 클라이언트(20,21)가 대칭키 암호화 알고리즘 SE에 의해 업로드하기 위한 파일 m을 해싱된 키워드(
Figure 112007079510418-PAT00020
)로 암호화하여 암호화된 파일(c)
Figure 112007079510418-PAT00021
을 생성한다.
(4) 상기 단계 (2)에서 생성된 암호화된 키워드(ci)와 상기 단계 (3)에서 생성된 암호화된 파일(c)을 포함하는 암호문
Figure 112007079510418-PAT00022
을 파일 공유 서버(10)로 업로드한다.
파일 공유 서버(10)는 클라이언트(20,21)로부터 전송된 암호화한 파일과 암호화한 키워드를 포함하는 암호문(D)을 데이터 테이블(T)에 저장한다.
파일 공유 시스템의 다운로드 프로토콜은 (5)~(8)의 과정을 거친다.
파일 공유 서버(10)로부터 키워드(KW)와 관련된 파일들을 다운로드받기 위해, 클라이언트(20,21)는
Figure 112007079510418-PAT00023
를 계산하여 키워드(KW)와 관련된 쿼리
Figure 112007079510418-PAT00024
를 파일 공유 서버(10)로 전송한다.
파일 공유 서버(10)는 클라이언트(20, 21)로부터 다운로드하기 위한 파일과 관련된 해싱된 키워드(KW)로부터 유도되는 쿼리(Q)를 수신받아, 테이블에 저장된 암호문들
Figure 112007079510418-PAT00025
로부터 다음 알고리즘을 통하여
Figure 112007079510418-PAT00026
(키워드로부터 만들어진 암호문들의 집합)를 생성한다.
Figure 112007079510418-PAT00027
파일 공유 서버(10)는 쿼리된 키워드와 동일한 키워드로부터 만들어진 암호문들의 집합(
Figure 112007079510418-PAT00028
)를 클라이언트(21)로 전송한다.
사용자 단말기의 클라이언트(21)는 암호문들의 집합(
Figure 112007079510418-PAT00029
)에 있는 각각의
Figure 112007079510418-PAT00030
로부터 파일 m을 추출하기 위해, (5)~(8)의 과정을 수행한다.
(5) 클라이언트(21)가
Figure 112007079510418-PAT00031
(
Figure 112007079510418-PAT00032
: 키워드 KW의 해쉬함수값)를 계산하고,
(6)
Figure 112007079510418-PAT00033
(랜덤변수 R과
Figure 112007079510418-PAT00034
를 함께 해쉬한 해쉬함수값)를 계산하고,
(7) 대칭키 복호화 알고리즘 SD에 의해 대칭키(k)를 이용하여
Figure 112007079510418-PAT00035
에 의해 키워드의 암호문(cj)을 복호화하여, 복호화된 키워드(
Figure 112007079510418-PAT00036
)를 생성하고
(8) 대칭키 복호화 알고리즘 SD에 의해 복호화된 키워드(
Figure 112007079510418-PAT00037
)을 이용하여
Figure 112007079510418-PAT00038
에 의해 파일 m의 암호문(c)를 복호화하여 파일(평문 m)을 복구한다.
따라서, 파일 공유 서버(10)는 보통의 파일 공유 시스템과 똑같은 역할을 수행할 뿐만 아니라 대칭키 알고리즘에 의해 파일과 키워드의 암호화/복호화를 수행한다. 사용자들은 업로드하거나 다운로드되는 파일들의 내용을 알 수가 없으므로 기밀성을 보장하고, 사용자들의 프라이버시를 보장하게 된다. 또한, 본 발명은 대칭키 암호 알고리즘만을 사용하므로 기존 파일 공유 기법들과 비교하여 연산량의 큰 차이가 없다.
이상에서 설명한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진자가 하기의 특허청구범위에 기재된 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 또는 변형하여 실시할 수 있다.
도 1은 본 발명에 따른 대칭키 알고리즘을 이용한 파일 공유 시스템 구성도.
도 2는 본 발명에 따른 대칭키 알고리즘을 이용하는 클라이언트와 파일 공유 서버의 내부 구성도.
도 3은 본 발명에 따른 프라이버시를 보장하는 대칭키 알고리즘의 암호화와 복호화를 이용한 파일 공유 방법을 설명한 흐름도.
도 4는 본 발명의 일실시예에 따른 클라이언트와 파일 공유 서버 사이의 대칭키 알고리즘을 사용한 파일 업로드 및 다운로드 프로토콜을 설명한 도면.
<도면의 주요 부분에 대한 부호의 설명>
10: 파일 공유 서버 20,21: 클라이언트

Claims (7)

  1. 프라이버시를 보장하는 암호화와 복호화를 이용한 파일 공유 클라이언트 시스템에 있어서,
    업로드 또는 다운로드하기 위한 파일과 관련된 키워드들을 해싱하는 키워드 해싱부;
    업로드하기 위한 파일과 관련되어 상기 키워드 해싱부에서 해싱된 키워드를 대칭키 알고리즘을 사용하여 암호화하는 키워드 암호화부;
    대칭키 알고리즘을 사용하여 상기 키워드 해싱부로부터 수신된 해싱된 키워드에 의해 업로드하기 위한 파일을 암호화하는 파일 암호화부;
    다운로드하기 위한 파일과 관련되어 상기 키워드 해싱부에서 해싱된 키워드로부터 유도되는 쿼리(Q)를 출력하는 쿼리 요청부;
    상기 키워드 암호화부에서 암호화된 키워드와 상기 파일 암호화부에서 암호화된 파일을 포함하는 암호문(D)을 파일 공유 서버로 업로드하고, 상기 쿼리 요청부로부터 수신한 쿼리(Q)를 상기 파일 공유 서버로 전송하고, 상기 파일 공유 서버로부터 암호문들의 집합(SD)을 다운로드 받는 제1 데이터 송수신부;
    상기 암호문들의 집합(SD)에 포함된 키워드를 대칭키 알고리즘을 사용하여 복호화하는 키워드 복호화부; 및
    상기 키워드 복호화부에서 복호화된 키워드에 의해 대칭키 알고리즘을 사용 하여 상기 암호문들의 집합(SD)에 포함된 암호화된 파일을 복호화하는 파일 복호화부;
    를 포함하는 프라이버시를 보장하는 암호화와 복호화를 이용한 파일 공유 클라이언트 시스템.
  2. 제 1 항에 있어서,
    상기 키워드 해싱부는,
    키워드를 2차 해싱하여, 상기 키워드 암호화부, 상기 파일 암호화부 및 상기 쿼리 요청부로 전송하는 것을 특징으로 하는 프라이버시를 보장하는 암호화와 복호화를 이용한 파일 공유 클라이언트 시스템.
  3. 프라이버시를 보장하는 암호화와 복호화를 이용한 파일 공유 서버 시스템에 있어서,
    클라이언트로부터 암호화된 파일과 암호화된 키워드를 포함하는 암호문(D)을 수신하고, 클라이언트로부터 다운로드하기 위한 파일과 관련된 키워드로부터 유도되는 쿼리(Q)를 수신하며, 암호문들의 집합(SD)을 클라이언트로 전송하는 제2 데이터 송수신부;
    상기 제2 데이터 송수신부에서 수신한 상기 암호문(D)을 테이블에 저장하는 저장부;
    상기 제2 데이터 송수신부에서 수신한 쿼리(Q)에 관련된 키워드와 동일한 키워드로부터 만들어진 암호문들의 집합(SD)을 상기 저장부로부터 추출하여 상기 제2 데이터 송수신부로 전송하는 쿼리 응답 처리부; 및
    상기 제2 데이터 송수신부, 상기 저장부, 및 상기 쿼리 응답 처리부를 제어하는 제어부;
    를 포함하는 프라이버시를 보장하는 암호화와 복호화를 이용한 파일 공유 서버 시스템.
  4. 프라이버시를 보장하는 암호화와 복호화를 이용한 파일 공유 방법에 있어서,
    (a) 파일 공유 서버가, 클라이언트로부터 파일과 키워드를 암호화한 암호문(D)을 수신받는 단계;
    (b) 상기 암호문(D)을 저장부의 테이블에 저장하는 단계; 및
    (c) 클라이언트로부터 다운로드하기 위한 파일과 관련된 키워드로부터 유도되는 쿼리(Q)를 수신하고, 수신한 쿼리(Q)에 관련된 키워드와 동일한 키워드로부터 만들어진 암호문들의 집합(SD)을 상기 저장부로부터 추출하여 클라이언트로 전송하는 단계;
    를 포함하는 프라이버시를 보장하는 암호화와 복호화를 이용한 파일 공유 방법.
  5. 프라이버시를 보장하는 암호화와 복호화를 이용한 파일 공유 방법에 있어서,
    (a) 클라이언트가, 업로드하기 위한 파일과 관련된 키워드를 해싱하여 대칭키 알고리즘을 사용하여 암호화하고, 상기 해싱된 키워드로 업로드하기 위한 파일을 암호화하며, 암호화된 키워드와 암호화된 파일을 포함하는 암호문(D)을 파일 공유 서버로 업로드하는 단계;
    (b) 다운로드하기 위한 파일과 관련된 키워드로부터 유도되는 쿼리(Q)를 파일 공유 서버로 전송하는 단계; 및
    (c) 파일 공유 서버로부터 암호문들의 집합(SD)을 다운로드 받아, 상기 암호문들의 집합(SD)에 포함된 키워드를 대칭키 알고리즘을 사용하여 복호화하고, 복호화된 키워드에 의해 대칭키 알고리즘을 사용하여 상기 암호문들의 집합(SD)에 포함된 암호화된 파일을 복호화하는 단계;
    를 포함하는 프라이버시를 보장하는 암호화와 복호화를 이용한 파일 공유 방법.
  6. 제 5 항에 있어서,
    상기 단계 (a)는,
    (a1) 랜덤 넘버(R), 파일을 암호화하기 위한 대칭키로 사용하는 해싱된 키워드(km)를 선택하는 단계;
    (a2) 키워드(KW)를 해싱한 값과 랜덤 넘버(R)를 이용하여 해싱된 키워드(km)를 암호화하기 위한 대칭키(ki)를 생성하는 단계;
    (a3) 상기 해싱된 키워드(km)를 상기 대칭키(ki)를 이용하여 암호화하여 암호화된 키워드(ci)를 생성하는 단계;
    (a4) 상기 해싱된 키워드(km)를 이용하여 상기 업로드하기 위한 파일을 암호화하여 암호화된 파일(c)을 생성하는 단계; 및
    (a5) 상기 단계 (a3)에서 생성된 암호화된 키워드(ci)와 상기 단계 (a4)에서 생성된 암호화된 파일(c)을 포함하는 암호문(D)을 파일 공유 서버로 업로드하는 단계;
    를 포함하는 프라이버시를 보장하는 암호화와 복호화를 이용한 파일 공유 방법.
  7. 제 5 항에 있어서,
    상기 단계 (b)는,
    다운로드하기 위한 파일과 관련된 키워드를 2차 해싱하여 상기 쿼리(Q)를 유도하는 것을 특징으로 하는 프라이버시를 보장하는 암호화와 복호화를 이용한 파일 공유 방법.
KR1020070112469A 2007-11-06 2007-11-06 프라이버시를 보장하는 암호화와 복호화를 이용한 파일공유 방법 및 시스템 KR100944769B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070112469A KR100944769B1 (ko) 2007-11-06 2007-11-06 프라이버시를 보장하는 암호화와 복호화를 이용한 파일공유 방법 및 시스템
US12/252,456 US20090116645A1 (en) 2007-11-06 2008-10-16 File sharing method and system using encryption and decryption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070112469A KR100944769B1 (ko) 2007-11-06 2007-11-06 프라이버시를 보장하는 암호화와 복호화를 이용한 파일공유 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20090046367A true KR20090046367A (ko) 2009-05-11
KR100944769B1 KR100944769B1 (ko) 2010-03-03

Family

ID=40588105

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070112469A KR100944769B1 (ko) 2007-11-06 2007-11-06 프라이버시를 보장하는 암호화와 복호화를 이용한 파일공유 방법 및 시스템

Country Status (2)

Country Link
US (1) US20090116645A1 (ko)
KR (1) KR100944769B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101525489B1 (ko) * 2014-01-22 2015-06-03 송유창 스마트폰 앱을 이용한 상호 파일 공유 시스템 및 이를 이용한 파일 공유 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9425960B2 (en) * 2008-10-17 2016-08-23 Sap Se Searchable encryption for outsourcing data analytics
KR101302135B1 (ko) * 2009-11-30 2013-09-16 한국전자통신연구원 위탁 서비스를 위한 데이터의 부분 암복호화 방법 및 그 장치
US9064290B2 (en) * 2010-07-23 2015-06-23 Jkads Llc Method for inspecting a physical asset
US9846696B2 (en) 2012-02-29 2017-12-19 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus and methods for indexing multimedia content
US9633015B2 (en) 2012-07-26 2017-04-25 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus and methods for user generated content indexing
WO2014185834A1 (en) 2013-05-14 2014-11-20 Telefonaktiebolaget L M Ericsson (Publ) Search engine for textual content and non-textual content
US20140372216A1 (en) * 2013-06-13 2014-12-18 Microsoft Corporation Contextual mobile application advertisements
WO2015030645A1 (en) 2013-08-29 2015-03-05 Telefonaktiebolaget L M Ericsson (Publ) Methods, computer program, computer program product and indexing systems for indexing or updating index
EP3039811B1 (en) * 2013-08-29 2021-05-05 Telefonaktiebolaget LM Ericsson (publ) Method, content owner device, computer program, and computer program product for distributing content items to authorized users
US11405192B2 (en) * 2016-08-24 2022-08-02 Robert Bosch Gmbh Searchable symmetric encryption system and method of processing inverted index

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6675205B2 (en) * 1999-10-14 2004-01-06 Arcessa, Inc. Peer-to-peer automated anonymous asynchronous file sharing
US20020016910A1 (en) * 2000-02-11 2002-02-07 Wright Robert P. Method for secure distribution of documents over electronic networks
KR20040074537A (ko) * 2003-02-19 2004-08-25 주식회사데이콤 인터넷상의 보안기능을 구비한 파일 보관/공유 시스템 및서비스 방법
KR20040097016A (ko) * 2004-10-15 2004-11-17 곽현정 암호화를 활용한 웹저장공간 제공 서비스 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101525489B1 (ko) * 2014-01-22 2015-06-03 송유창 스마트폰 앱을 이용한 상호 파일 공유 시스템 및 이를 이용한 파일 공유 방법

Also Published As

Publication number Publication date
US20090116645A1 (en) 2009-05-07
KR100944769B1 (ko) 2010-03-03

Similar Documents

Publication Publication Date Title
KR100944769B1 (ko) 프라이버시를 보장하는 암호화와 복호화를 이용한 파일공유 방법 및 시스템
US5812671A (en) Cryptographic communication system
JP4958246B2 (ja) 高速検索可能な暗号化のための方法、装置およびシステム
CN106453612B (zh) 一种数据存储与共享系统
US9571463B2 (en) Policy-based access control in content networks
US20160149711A1 (en) Distributed identification system for peer to peer message transmission
US20180063105A1 (en) Management of enciphered data sharing
US20150256336A1 (en) End-To-End Encryption Method for Digital Data Sharing Through a Third Party
EP2232398B1 (en) Controlling a usage of digital data between terminals of a telecommunications network
Nayak et al. SEDS: secure and efficient server-aided data deduplication scheme for cloud storage
US20160105279A1 (en) Data distributing over network to user devices
EP2942899B1 (en) Information processing method, trust server and cloud server
Engelmann et al. A content-delivery protocol, exploiting the privacy benefits of coded caching
CN114513327A (zh) 一种基于区块链的物联网隐私数据快速共享方法
CN107295018A (zh) 一种云盘文件的安全存储及分享方法
CN112187757A (zh) 多链路隐私数据流转系统及方法
Kurihara et al. A consumer-driven access control approach to censorship circumvention in content-centric networking
US10050943B2 (en) Widely distributed parameterization
KR20040097016A (ko) 암호화를 활용한 웹저장공간 제공 서비스 시스템 및 방법
Seo et al. A privacy-preserving approach in content centric
KR20170084802A (ko) 단말기들 간의 보안 데이터 송수신 방법 및 시스템
Lei et al. Towards efficient re-encryption for secure client-side deduplication in public clouds
KR20170049700A (ko) 암호데이터를 저장하는 클라우드 시스템 및 그 방법
KR100380335B1 (ko) 암호화 및 전자서명을 이용한 인터넷상에서의 보안 데이터관리 및 동기화 방법
Ruffing et al. POSTER: Identity-based steganography and its applications to censorship resistance

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: 20130205

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140123

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150130

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170221

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180213

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190124

Year of fee payment: 10