KR20040097016A - 암호화를 활용한 웹저장공간 제공 서비스 시스템 및 방법 - Google Patents

암호화를 활용한 웹저장공간 제공 서비스 시스템 및 방법 Download PDF

Info

Publication number
KR20040097016A
KR20040097016A KR1020040082725A KR20040082725A KR20040097016A KR 20040097016 A KR20040097016 A KR 20040097016A KR 1020040082725 A KR1020040082725 A KR 1020040082725A KR 20040082725 A KR20040082725 A KR 20040082725A KR 20040097016 A KR20040097016 A KR 20040097016A
Authority
KR
South Korea
Prior art keywords
user
data
key
public key
service server
Prior art date
Application number
KR1020040082725A
Other languages
English (en)
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 KR1020040082725A priority Critical patent/KR20040097016A/ko
Publication of KR20040097016A publication Critical patent/KR20040097016A/ko

Links

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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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

Landscapes

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

Abstract

본 발명은 기존의 웹하드 서비스에 있어서 사용자 데이터에 대한 보안을 개선하기 위한 것으로 사용자의 등록여부와 공개키/개인키 정보의 존재여부를 기준으로 사용자 인증을 처리하는 단계; 사용자가 자신의 공개키/개인키를 생성하고 서비스서버에 등록하는 단계; 사용자가 자신의 공개키/개인키 또는 다른 사용자의 공개키를 서비스서버에서 획득하는 단계; 사용자가 데이터를 대칭형 방식으로 암호화하고 비밀키를 자신의 공개키로 암호화한 후 서비스서버로 업로드하는 단계; 사용자가 서비스서버에서 대칭형 방식으로 암호화된 데이터와 자신의 공개키로 암호화된 비밀키를 다운로드한 후 비밀키를 자신의 개인키로 복호화하고 데이터를 비밀키로 복호화 및 저장하는 단계; 사용자가 데이터저장서버의 암호화된 데이터를 다른 사용자와 교환하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 의한 암호화를 활용한 웹저장공간 제공 서비스 시스템 및 방법은 사용자의 데이터를 암호화해 보호함으로써 웹하드로 전송, 저장, 전달하는 과정이 안전하게 이루어지게 한다. 또한 하나의 패스워드로 다수의 사용자 데이터를 복호화할 수 있게 함으로써 대칭형 암호화 방식에 따른 패스워드 관리 문제를 해결하며 암호화된 데이터를 다른 사용자와 교환하는데 있어 패스워드를 알리거나 노출시킬 필요없이 이루어지게 때문에 사용자의 편의성이 극대화된다. 정보 보호 측면이 취약한 기존의 웹하드 분야에서 본 발명에 의해 개선된 새로운 웹하드 서비스를 통해 수익모델을 창출할 수 있는 환경과 여건을 제공할 뿐만 아니라 개인의 프라이버시를 지켜주는 안전한 인터넷 사용 환경을 조성하는데 있어 큰 도움을 제공한다.

Description

암호화를 활용한 웹저장공간 제공 서비스 시스템 및 방법 {Method and System of Web Storage Service with Cipher}
본 발명은 인터넷 환경에서 사용자의 데이터를 안전하게 보호할 수 있는 저장공간 서비스에 대한 것으로 보다 상세하게는 공개키 암호화 알고리즘(Public Key Algorithms, 이하 공개키 알고리즘으로 약칭)과 대칭형 암호화 알고리즘(Symmetric Ciphers, Secret Key Algorithms, 이하 대칭형 알고리즘으로 약칭)의 암호화 방법을 이용해 사용자의 데이터를 안전하게 전송, 저장, 교환할 수 있는 웹저장공간 제공 서비스에 대한 것이다.
현재 인터넷 상의 저장공간을 제공하는 서비스로서 웹하드 서비스가 많이 보급되어 있다. 웹하드 서비스를 통해 사용자는 시간과 장소에 구애받지 않고 인터넷 상의 저장공간에 자신의 파일을 저장하고 조회할 수 있고 필요할 때 자신의 컴퓨터 하드디스크로 다운로드할 수 있다. 또한 저장공간을 다른 사용자들과 공유함으로써 손쉽게 파일을 주고 받을 수도 있다. 그러나 이러한 웹하드 서비스의 주요 기능들은 데이터 보안에 대한 고려없이 구현되어 있기 때문에 전송 중에 또는 저장된 상태에서 해킹과 같은 고의적인 방법이나 부주의한 관리로 인한 사고 등으로 유출될 위험을 언제나 안고 있다. 자신의 파일이 안전하게 저장되고, 전송되길 바라는 사용자로서는 이러한 위험에 노출될 수 밖에 없다.
이러한 사용자들의 정보보호 욕구를 해소하기 위해 기존 웹하드 서비스 분야에서는 암호화 저장 기능을 함께 제공하는 업체들도 등장하고 있다. 사용자의 파일을 저장공간에 업로드하기 전에 패스워드를 입력받아 암호화한 후에 업로드 하는 방식으로 이루어진다. 이러한 방식의 정보보호 서비스는 대칭형 암호화 알고리즘을 이용한 암호화 기능에 그치고 있어 사용자에게 패스워드 관리의 또 다른 문제점을 야기시킨다. 이는 하나의 패스워드로 암호화와 복호화를 수행하는 대칭형 알고리즘의 한계에서 비롯된다. 다수의 파일을 하나의 패스워드로 암호화한 경우, 그 패스워드가 유출될 경우 그 위험은 같은 패스워드로 암호화된 모든 파일들에 미치고, 다른 경우로 파일마다 서로 다른 패스워드로 암호화한 경우 파일의 수가 많아질수록 관리해야 할 패스워드의 수도 늘어나는 문제점이 있다. 게다가 대칭형 알고리즘을 이용해 암호화한 파일을 다른 사용자에게 전달할 때에도 문제는 발생한다. 파일을 암호화하는데 쓰인 패스워드를 전달하는 과정은 안전하게 보호되지 않기 때문이다.
이러한 대칭형 알고리즘의 전형적인 패스워드 관리, 전달 문제는 암호화키와 복호화키를 구분해서 사용하는 공개키 알고리즘을 이용해 극복할 수 있다. 그렇지만 공개키 알고리즘 자체는 속도가 느리다는 단점이 있기 때문에, 이메일 메시지처럼 적은 양의 데이터를 암호화해서 교환하는데 주로 사용되거나, SSL(Secure Socket Layer) 처럼 대칭형 암호화 방식으로 통신하는데 있어서 사전에 세션키를 안전하게 교환하게 해주는 보조적인 수단으로 활용되고 있다. 따라서 대용량 파일을 빈번하게 처리해야 하는 웹하드 서비스에 직접적인 암호화 방법으로 쓰이기에는 어려움이 있다.
본 발명은 기존의 웹하드 서비스에 있어서 사용자 데이터에 대한 보안을 개선하기 위한 것으로, 웹하드로 전송, 저장 및 다른 사용자에게 전달하는 과정이 암호화된 상태로 이루어지게 하고, 웹하드상의 서로 다른 패스워드로 암호화된 다수의 데이터를 사용자가 자신의 단말기에서 하나의 패스워드만으로 복호화할 수 있게 하고, 패스워드 노출없이 다른 사용자와 데이터를 교환할 수 있게 함으로써 전문화된 데이터 보안을 수행하는 웹저장공간 제공 서비스를 가능하게 하는데 있다.
도1은 본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 시스템을 나타낸 구성도이다.
도2는 본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 시스템에서 사용자단말기 구성을 개념적으로 도시한 블록도이다.
도3은 본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 시스템에서 서비스서버 구성을 개념적으로 도시한 블록도이다.
도4-a는 본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 방법에서 사용자 인증 처리하는 방법을 순차적으로 도시한 흐름도이다.
도4-b는 본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 방법에서 사용자 공개키/개인키를 생성하고 서비스서버에 등록하는 과정을 순차적으로 도시한 흐름도이다.
도4-c는 본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 방법에서 자신의 공개키/개인키 정보 또는 다른 사용자의 공개키 정보를 획득하는 과정을 순차적으로 도시한 흐름도이다.
도5는 본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 방법에서 데이터를 업로드하는 과정을 순차적으로 도시한 흐름도이다.
도6은 본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 방법에서 목록을 조회하고 데이터를 다운로드하는 과정을 순차적으로 도시한 흐름도이다.
도7은 본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 방법에서 웹저장공간상의 암호화된 데이터를 다른 사용자에게 전달 및 권한을 부여하는 과정을 순차적으로 도시한 흐름도이다.
도8은 본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 방법에서 사용자단말기 측의 키 관리 모듈을 설명하기 위한 블록도이다.
도9는 본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 방법에서 서비스서버 측의 사용자 키 관리 모듈을 설명하기 위한 블록도이다.
도10은 본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 방법에서 서비스서버 측의 사용자 데이터 관리 모듈을 설명하기 위한 블록도이다.
상기 목적을 달성하기 위하여, 본 발명의 특징에 따른 암호화를 활용한 웹저장공간 제공 서비스 시스템은, 사용자의 요청을 입력받고 수행 결과를 표시하기 위한 웹 또는 응용프로그램 방식의 사용자 인터페이스 모듈; 서비스서버로 전송하기에 앞서 사용자 데이터를 암호화하기 위한 대칭형 방식의 암호화/복호화 모듈; 상기 사용자 데이터를 대칭형 방식으로 암호화하는데 사용한 비밀키를 암호화하기 위한 공개키 방식의 암호화/복호화 모듈; 사용자 자신의 공개키/개인키와 다른 사용자의 공개키를 사용자의 인증 세션동안 관리하기 위한 키 관리 모듈; 서비스서버에 접속한 사용자의 허가여부를 처리하는 사용자 인증 모듈; 등록된 전체 사용자의 공개키/개인키 정보를 관리하기 위한 사용자 키 관리 모듈; 서비스서버에 저장된 사용자 데이터 저장정보를 관리하기 위한 사용자 데이터 관리 모듈; 상기 사용자 데이터를 암호화하는데 사용된 비밀키 정보를 관리하기 위한 사용자 데이터 비밀키 관리 모듈을 포함한다.
본 발명의 다른 특징에 따른 암호화를 활용한 웹저장공간 제공 방법은, 사용자의 등록여부와 공개키/개인키 정보의 존재여부를 기준으로 사용자 인증을 처리하는 단계; 사용자의 공개키/개인키를 생성하고 서비스서버에 사용자의 공개키/개인키를 등록하는 단계; 사용자의 공개키/개인키 또는 다른 사용자의 공개키를 서비스서버에서 획득하는 단계; 데이터를 대칭형 방식으로 암호화하고 비밀키를 사용자의 공개키로 암호화한 후 서비스서버로 업로드하는 단계; 데이터저장서버에서 대칭형 방식으로 암호화된 데이터와 사용자의 공개키로 암호화된 비밀키를 다운로드한 후 비밀키를 사용자의 개인키로 복호화하고 데이터를 비밀키로 복호화 및 저장하는 단계; 데이터저장서버의 암호화된 데이터를 다른 사용자와 교환하는 단계를 포함하는 것을 특징으로 한다.
상술한 단계에서 사용자의 공개키/개인키를 생성하고 서비스서버에 등록하는 단계에 있어서 사용자가 본 발명에 의한 서비스가 제공하는 방식이 아닌 다른 방식에 의한 공개키/개인키를 사용할 수 있게 하는 변형된 실시가 가능하다. 또한 데이터저장서버의 암호화된 데이터를 다른 사용자와 교환하는 단계에 있어서 사용자간 공유기능을 제공하지 않을 경우에 본 단계를 제외한 변형된 실시가 가능하다.
본 발명에 따른 암호화를 활용한 웹저장공간 제공 서비스를 설명하기에 앞서 본 발명에 사용되는 주요 용어에 대하여 정의한다.
공개키와 개인키란 공개키(비대칭형) 암호 기술을 사용하기 위하여 사용자 또는 인증기관에서 생성하는 키 쌍으로서, 공개키는 인증기관에 등록하거나 이메일 등의 방법으로 다른 사람들이 이를 이용하여 암호문을 주고받을 수 있도록 하는데 사용되며, 개인키는 개인이 안전한 장소에 보관한다.
비밀키는 대칭형(비밀키) 암호 기술을 이용해 평문을 암호화하는데 사용되는 키로 복호화에도 같은 키가 사용된다.
웹하드란 인터넷을 통해 파일을 저장, 다운로드, 공유할 수 있는 웹저장공간을 말한다.
암호화를 활용한 웹저장공간 제공 서비스를 개략적으로 설명하면 다음과 같다. 공개키 알고리즘에 의해 공개키와 개인키가 사용자 단말기 상에서 생성되고, 생성된 키 쌍은 서비스서버에 등록된다. 이 때 개인키는 사용자에게서 별도로 입력받은 패스워드를 이용해 암호화된 상태로 전송되어 서비스서버에 등록된다. 이후 사용자는 소정의 인증 절차를 거쳐 상기 서비스서버에 등록한 자신의 키 쌍을 다운로드하고 상기 패스워드를 입력해 자신의 개인키를 복호화해 데이터 다운로드, 업로드 및 다른 사용자와의 교환을 준비한다.
사용자단말기에서 데이터 업로드가 요청되면 임의의 비밀키가 생성되어 상기 데이터를 암호화하고 동시에 업로드를 수행한다. 업로드가 완료되면 상기 비밀키는 사용자의 공개키로 암호화되서 서비스서버에 등록된다. 업로드 과정에는 비밀키로 암호화된 데이터의 업로드와 공개키로 암호화된 비밀키 업로드가 같이 이루어지며 반드시 순차적일 필요는 없다.
사용자가 웹하드에서 자신의 데이터를 다운로드를 요청하면, 먼저 상기 데이터를 암호화하는데 사용된 비밀키가 사용자 단말기로 전송된다. 상기 비밀키는 사용자의 공개키로 암호화된 비밀키이므로 자신의 개인키로 복호화된 후에 데이터가 다운로드되면서 상기 복호화된 비밀키로 데이터의 복호화를 수행하고, 복호화된 데이터는 단말기에 저장된다.
다른 사용자와의 데이터 교환은 사용자가 자신의 단말기 상의 데이터를 다른 사용자의 웹하드 공간으로 업로드하거나, 웹하드의 데이터를 다른 사용자의 웹하드 공간으로 전달하거나, 또는 웹하드의 데이터를 다른 사용자들이 접근할 수 있게 권한을 부여함으로써 이루어진다. 첫번째 다른 사용자의 웹하드 공간으로 자신의 단말기상의 데이터를 업로드하는 경우에는 서비스서버로부터 타겟 사용자의 공개키가 다운로드되고 그 공개키로 비밀키가 암호화되는 것외에는 상기 업로드 과정과 동일하다. 두번째 웹하드의 데이터를 다른 사용자의 웹하드 공간으로 전달하는 경우에는 서비스서버에서 상기 데이터에 해당하는 암호화된 비밀키를 사용자 단말기에 전송하여 사용자의 개인키로 복호화한 후 타겟 사용자의 공개키로 암호화하여 서비스서버에 새로 등록한다. 세 번째 웹하드의 데이터를 다른 사용자들이 접근할 수 있게 하는 경우는 접근권한을 부여할 타겟 사용자들에 대해 두 번째의 경우와 비슷하게 타겟 사용자들의 공개키로 비밀키를 각각 새로 암호화해 서비스서버에 등록함으로써 이루어진다. 사용자간 데이터 교환은 데이터 암호화에 사용된 비밀키를 타겟 사용자들의 공개키로 암호화해 등록하는 점이 공통된다.
상술한 바와 같이 사용자 데이터에 대한 암호화 방법으로서 대칭형 방식과 공개키 방식을 상호보완적인 적용을 통해 서로 다른 비밀키로 암호화되어 웹하드에 저장된 데이터에 대해 사용자는 자신의 개인키로 복호화할 수 있다. 또한 다른 사용자와 데이터를 교환하는데 있어서도 비밀키를 타겟 사용자의 공개키로 암호화해 서비스서버에 등록하고 타겟 사용자가 이 비밀키를 자신의 개인키로 복호화해 웹하드의 암호화된 사용자 데이터에 접근, 복호화할 수 있다. 본 발명의 이러한 방법을 통해 사용자 데이터에 대한 보안을 수행하는 웹하드 서비스를 제공한다.
이하 본 발명에 따른 암호화를 활용한 웹저장공간 제공 서비스의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.
도1은 본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 시스템을 나타낸 구성도이다. 각 구성 요소간 연결은 유무선의 인터넷 네트워크를 통해 소정의 통신 프로토콜을 이용하여 데이터를 송수신할 수 있는 것이면 바람직하다. 사용자단말기(100)는 사용자가 서비스서버(200)에 접속하여 소정의 통신 프로토콜에 따라 데이터를 송수신할 수 있는 것이면 바람직하다. 대표적으로 개인용 컴퓨터(PC), 휴대전화기, 개인휴대단말기(PDA)가 사용자 단말기로 이용될 수 있다. 서비스서버(200)는 상기 사용자단말기(101)와 접속되어 소정의 통신 프로토콜에 따라 수신되는 사용자의 요청을 처리할 수 있도록 도3에서 제시된 서비스 서버의 구성 요소가 구현된 것이 바람직하다. 데이터베이스(300)는 자료를 체계적으로 저장, 관리할 수 있는 기능을 제공하는 것으로서 널리 사용되는 데이터베이스 소프트웨어 또는 소정의 저장 및 추출 방법을 갖춘 파일시스템이 바람직하다. 데이터저장서버(400)는 통상의 스토리지 전용 서버와 같이 사용자의 데이터를 파일시스템을 이용해 저장하고 추출할 수 있는 장치로서 본 서비스를 통해 사용자에게 제공하고자 하는 저장규모를 감안한 것이면 바람직하다.
도2는 본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 시스템에서 사용자 단말기측의 구성 요소를 개념적으로 도시한 것으로 각 요소를 상세 설명하면 다음과 같다.
사용자인터페이스모듈(110)은 도 4,5,6,7을 참조해 후술될 사용자 인증 및 사용자가 공개키/개인키를 생성, 등록 및 획득하는 기능, 사용자가 데이터를 업로드하는 기능, 사용자가 자신의 데이터 목록을 조회하고 데이터를 다운로드하는 기능, 본 발명의 의한 서비스가 제공하는 웹하드의 암호화된 데이터를 다른 사용자에게 전달하는 기능을 사용자에게 제공하기 위해 사용자단말기(100)에 설치되어 실행되는 소프트웨어 모듈이다. 바람직한 실행으로는 웹페이지, 액티브엑스, 자바 애플릿으로 구현된 웹플러그인 형식이거나 또는 통상의 응용프로그램 형식이면 된다.
대칭형방식암호화/복호화모듈(120)은 DES(Data Encryption Standard), IDEA(International Data Encryption Algorithm), AES(Advanced Encryption Standard) 등과 같은 대칭형 암호화 알고리즘을 구현한 것으로서 상기 알고리즘에 따른 암호화, 복호화 기능을 제공하는 하드웨어 장치 또는 소프트웨어 모듈이다.
공개키방식암호화/복호화모듈(130)은 Diffie-Hellman, RSA(Rivest-Shamir-Adelman), ElGamal 등과 같은 공개키 암호화 알고리즘을 구현한 것으로서 상기 알고리즘에 따른 암호화, 복호화 기능을 수행하는 하드웨어 장치 또는 소프트웨어 모듈이다.
키관리모듈(140)은 인증된 사용자가 상기 서비스서버(200)와 통신하면서 유지되는 소정의 세션 동안 사용자의 요청을 수행하는데 필요한 자신의 공개키/개인키 및 다른 사용자의 공개키 정보를 사용자단말기(100)의 주메모리 장치에 보관, 관리하는 기능을 수행하는 소프트웨어 모듈이다. 도8을 참조하여 일실시예를 살펴보면 본 모듈은 사용자 자신의 공개키와 개인키 정보(a), 다른 사용자 아이디와 공개키 정보를 매칭하는 목록(b)을 유지, 관리할 수 있는 내장된 자료구조를 갖는 것이면 된다.
도3은 본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 시스템에서 서비스서버의 구성 요소를 개념적으로 도시한 것으로 각 요소를 상세 설명하면 다음과 같다. 서비스서버(200)의 사용자인증모듈(210)은 사용자 등록 여부, 사용자의 키 정보 존재 여부를 기준으로 사용자의 본 서비스 사용에 대한 허가 여부를 처리하는 소프트웨어 모듈이다. 사용자의 아이디와 비밀번호에 기반해 인증을 실시하는 웹 서버측 모듈 또는 소정의 통신 프로토콜을 이용해 상기 인증처리를 수행하는 응용프로그램이면 된다.
서비스서버(200)의 사용자키관리모듈(220)은 사용자가 각자의 공개키/개인키 쌍을 생성, 등록하므로 데이터베이스나 파일시스템의 저장방법을 활용해 전체 사용자의 키 정보를 관리하는 소프트웨어 모듈다. 도9를 참조하여 일실시예를 살펴보면 본 모듈은 사용자별 공개키와 개인키를 매칭하는 데이터베이스 테이블을 이용해 사용자별 공개키/개인키 정보를 관리하는 방식이면 된다.
사용자데이터관리모듈(230)은 사용자가 업로드한 암호화된 데이터의 저장정보를 데이터베이스나 파일시스템의 저장방법을 활용해 관리하는 소프트웨어 모듈이다. 도10을 참조하여 일실시예를 살펴보면 사용자 아이디, 데이터 식별자, 데이터 이름 또는 파일명, 저장서버 식별자 또는 아이피 주소, 저장서버내 데이터 경로의 필드로 구성되는 데이터베이스 테이블을 이용해 사용자 데이터를 관리하는 방식이면 된다. 데이터 식별자 필드는 데이터에 따라 고유하게 생성될 수 있는 값을 이용하는데 대표적으로 MD5, SHA와 같은 메시지 다이제스트(Message Digest) 기법을 이용하거나 간단한 해싱(Hashing) 기법을 이용하면 된다. 본 모듈은 사용자의 데이터 목록 조회나 다운로드 요청에 대해 요청에 포함된 사용자 아이디, 데이터 식별자 정보를 이용해 상기 데이터베이스 테이블에서 해당 데이터 정보를 추출, 처리하면 된다.
사용자데이터비밀키관리모듈(240)은 사용자 데이터를 암호화하는데 쓰인 비밀키를 데이터베이스나 파일시스템의 저장방법을 활용해 관리하는 소프트웨어 모듈이다. 상기 비밀키는 사용자 단말기에서 임의의 방법으로 생성되는 이진 형태 또는 텍스트 형태의 데이터이며 사용자 단말기 측의 대칭형방식암호화/복호화모듈에 의해 사용자의 데이터를 사용자단말기(100) 내에서 암호화하는데 사용된다. 상기 비밀키는 사용자단말기(100)내에서 사용자의 공개키로 암호화되어 서비스서버(200)로 전송되므로 본 모듈은 데이터베이스나 파일시스템을 이용해 상기 비밀키를 저장, 관리하고 사용자의 요청에 따라 상기 비밀키를 추출해서 제공하는 기능을 수행한다. 도10의 사용자 데이터 관리 모듈의 일실시예에서 설명된 데이터별로 매칭되는 해당 비밀키를 저장하는 데이터베이스 테이블을 이용하면 된다.
도4-a는 본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 방법에서 사용자 인증 처리하는 방법을 순차적으로 도시한 흐름도인데 상세히 설명하면 다음과 같다.
사용자단말기(100)상의 사용자인터페이스모듈(110)을 통해 아이디, 비밀번호를 포함하는 사용자 정보를 입력받고 이를 서비스서버(200)로 전송한다(S101). 상기 서비스서버(200)상의 사용자인증모듈(210)은 상기 사용자 정보를 이용해 사용자 등록 여부, 사용자 공개키/개인키 존재 여부를 기준으로 허가 여부를 처리하고(S102) 그 결과를 사용자단말기(100)로 전송해 사용자에게 표시한다(S103, S104).
도4-b는 본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 방법에서 사용자의 공개키/개인키를 생성하고 서비스서버(200)에 등록하는 일실시예를 순차적으로 도시한 흐름도인데 상세히 설명하면 다음과 같다.
본 서비스에 가입한 사용자는 공개키 알고리즘에 의한 자신만의 공개키와 개인키를 가지며 암호화에 공개키를, 복호화에 개인키를 활용하게 된다. 사용자의 키 쌍을 이용한 암호화, 복호화 작업은 사용자 데이터 자체가 아니라 데이터를 대칭형 방식으로 암호화하는데 사용되는 비밀키를 대상으로 하는데 이는 후술될 사용자가 데이터를 업로드, 다운로드하는 과정에서 상세히 설명된다.
사용자의 공개키와 개인키 생성 방법은 사용된 공개키 알고리즘에 따라 정해지는 것으로, 공개키 알고리즘이 구현되어 있는 사용자단말기(100)상의 공개키방식암호화/복호화모듈(130)을 통해 키 쌍이 생성된다(S201).
서비스서버(200)에 등록하기에 앞서 상기 생성된 키 쌍에서 개인키를 보호하기 위해 암호화하는 절차가 필요하다. 이를 위해 사용자는 개인키 암호화에 사용될 패스워드를 입력하고(S202), 대칭형 방식의 알고리즘을 이용해 상기 개인키의 암호화를 수행한다(S203). 상기 패스워드는 사용자만 알고 있는 것으로 사용자단말기(100), 서비스서버(200)등 본 서비스 시스템의 어디에도 저장되지 않으며 상기 사용자단말기(100)의 주메모리 상에서 사용자의 인증 세션 동안만 관리되는 것이 바람직하다.
상기 공개키와 개인키를 서비스서버(200)에 등록 요청을 전송한다(S204). 상기 요청에는 사용자 아이디, 공개키, 암호화된 개인키 정보를 포함한다.
서비스서버(200)에서는 사용자의 아이디로 사용자를 식별하고 사용자의 공개키, 암호화된 개인키 정보를 데이터베이스(300)에 저장하고 그 결과를 사용자단말기(100)로 전송한다(S205).
사용자단말기(100)에서는 상기 수행 결과를 사용자에게 표시한다(S206).
상기 단계들을 통해 각 사용자는 자신만의 공개키와 개인키를 소유하는데 이를 서비스서버(200)에 등록하여 관리를 위탁함으로써 사용자가 접속하는 장소, 위치에 관계없이 자신의 데이터에 접근할 수 있는 웹하드로서의 특징을 훼손하지 않고 사용자 데이터를 보호할 수 있는 방법을 제공한다. 이를 위해 상기의 단계들을 통해 등록된 사용자의 공개키와 개인키 정보를 서비스서버(200)로부터 사용자가 획득하는 과정도 필요하다.
키 정보를 획득하는 단계는 후술될 사용자가 자신의 데이터에 대한 암호화와 업로드, 그리고 다운로드와 복호화 과정에 앞서 이루어진다. 웹하드의 다른 사용자의 공간에 업로드하기 위해 사용자 자신의 키 정보 뿐만 아니라 다른 사용자의 공개키 정보도 본 단계을 통해 획득된다. 사용자가 자신의 키 쌍 또는 다른 사용자의 공개키 정보를 획득하는 과정을 도4-c를 참조하여 설명하면 다음과 같다.
업로드 또는 다운로드를 시도하는 사용자의 행위에 따라 사용자 키 정보 요청 또는 다른 사용자의 공개키 정보 요청을 서비스서버(200)로 전송한다(S301). 상기 요청에는 사용자 자신의 키 정보를 요청하는 경우 사용자 아이디를 포함하며, 다른 사용자의 공개키 정보를 요청하는 경우 타겟 사용자의 아이디가 포함된다.
서비스서버(200)의 사용자키관리모듈(220)은 상기 요청에 대해 타겟 사용자 아이디를 이용해 사용자 자신의 키 정보에 대한 요청인지 아니면 다른 사용자의 공개키 정보 요청인지를 식별하고 상기 데이터베이스(300)를 통해 키 정보를 추출한다(S302).
사용자단말기(100)에서는 상기 키 정보를 전송받고 키 정보가 사용자 자신의 것인 경우 바로 개인키의 복호화를 수행할 지 판단한다(S303). 본 단계는 최초 사용자의 행위에 따른 것으로 사용자가 자신의 데이터를 업로드, 다운로드 하려는 상태이면 바로 복호화를 수행하는 것이 바람직하다. 그렇지 않은 경우 키관리모듈(140)을 통해 암호화된 개인키를 유지, 관리하면서 이후 상기 사용자의 행위 시점에 맞게 본 단계를 수행한다.
사용자가 자신의 키 정보를 획득한 경우 개인키는 암호화된 상태이므로 사용자에게 직접 패스워드를 입력받아(S304) 개인키의 복호화를 수행한다(S305).
상기 단계들을 통해 얻어진 공개키와 개인키를 키관리모듈(140)을 통해 저장하고 관리한다(S306). 사용자의 인증 세션 동안에 반복 수행될 수 있는 본 키 정보 획득 단계를 통해 상기 키관리모듈(140)은 다수의 키 정보를 유지, 관리하는 것이 바람직하다. 상기 단계들의 수행 결과를 사용자에게 표시한다(S307).
본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 방법에서 사용자가 데이터를 사용자단말기(100)에서 서비스서버(200)로 업로드하는 단계를 도5를 참조하여 설명하면 다음과 같다.
사용자는 자신의 사용자단말기(100)에서 데이터를 선택해 업로드 요청을 서비스서버(200)로 전송한다(S401). 상기 데이터 선택 과정은 사용자인터페이스모듈(110)에 의해 제공되는 방법에 의해 이루어지며 웹페이지, 응용 프로그램 상에서 제공된다. 사용자는 웹하드의 자신의 저장공간 또는 웹하드의 다른 사용자의 저장공간에 업로드를 시도할 수 있다. 상기 업로드 요청에는 사용자 아이디, 선택된 데이터 정보, 타겟 사용자 정보가 포함되는 것이 바람직하다.
서비스서버(200)에서는 상기 업로드 요청에 포함된 타겟 사용자 정보를 이용해 상기 데이터가 저장될 공간이 요청한 사용자 자신의 것인지 아니면 다른 사용자의 것인지 판단한다(S402).
사용자가 웹하드의 자신의 저장공간에 데이터를 저장하려는 경우에 사용자단말기(100)상의 대칭형방식암호화/복호화모듈(120)에서는 상기 사용자의 데이터를 대칭형 방식으로 암호화하는데 사용할 비밀키를 임의의 방법으로 생성한다(S406). 상기 비밀키를 생성하는 방법은 쉽게 추측할 수 없고 매번 다른 값이 만들어질 수 있도록 랜덤하게 이루어지게 하는 것이 바람직하다.
사용자가 웹하드의 다른 사용자의 공간에 업로드하려는 경우에 다른 사용자와 그 공개키가 존재하는지를 판단한다(S403). 다른 사용자가 존재하지 않거나 그 키가 존재하지않으면 사용자단말기(100)에 오류메시지를 전달한다(S404). 사용자단말기(100)의 키관리모듈(140)을 통해 타겟 사용자의 공개키를 다운로드한다(S405). 본 단계는 상술한 키 정보를 획득하는 단계를 통해 이루어진다.
사용자단말기(100)에서 대칭형방식암호화/복호화모듈(120)을 통해 상기 선택된 데이터를 상기 생성된 비밀키를 이용해 암호화를 수행하면서 서비스서버(200)로 전송하고(S407), 전송된 암호화된 데이터는 서비스서버(200) 데이터저장서버(400)에 저장된다(S408). 본 단계에서 상기 선택된 데이터에 대해 일정 단위별 암호화 수행과 암호화된 데이터 블록의 전송을 병렬적, 반복적으로 수행하게 하는 것이 바람직하다. 다른 방법으로 상기 선택된 데이터에 대해 암호화 수행 완료한 후에 전송을 수행하는 순차적인 방식도 가능하다.
상기 선택된 데이터의 암호화와 업로드의 완료가 판단되면(S409) 암호화에 사용한 상기 비밀키를 서비스서버(200)에 등록한다. 상기 비밀키는 안전하게 보호되어야 하므로 서비스서버(200)에 전송, 등록하기에 앞서 암호화하는 과정이 필요하다. 사용자단말기(100)의 공개키방식암호화/복호화모듈(130)을 통해 상기 비밀키를 암호화하고 서비스서버(200)에 전송하여 등록한다(S410). 상기 암호화는 사용자가 웹하드의 자신의 공간에 업로드하는 경우에 사용자의 공개키를 이용하고 사용자가 웹하드의 다른 사용자의 공간에 업로드하는 경우에는 타겟 사용자의 공개키를 이용하는 공개키 알고리즘 방식으로 이루어진다. 상기 등록 과정에는 사용자 아이디, 타겟 사용자 아이디, 암호화된 상기 패스워드, 암호화된 데이터 식별자 등의 항목이 포함되어 이루어지는 것이 바람직하다.
서비스서버(200)에서는 상기 비밀키 등록 요청에 대해 비밀키 관련 정보를 데이터베이스(300)에 저장하고 그 결과를 사용자단말기(100)로 송신한다(S411).
사용자단말기(100)에서는 상기 사용자 데이터의 암호화와 업로드 단계들의 수행 결과를 사용자에게 표시한다(S412).
본 단계를 통해 선택된 데이터는 대칭형 방식으로, 임의의 비밀키는 공개키 방식으로 암호화되어 서비스서버(200)로 전송, 등록된다.
본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 방법에서 사용자가 자신의 데이터 목록을 조회하고 데이터를 다운로드 및 복호화하는 단계를 도6을 참조하여 설명하면 다음과 같다.
사용자가 웹하드의 자신의 공간에 저장된 데이터 목록을 조회하려 하거나 데이터를 다운로드하려 할 때 사용자인터페이스모듈(110)은 상기의 요청들을 서비스서버(200)로 전송한다(S501, S502). 상기 목록 조회 요청에는 사용자 아이디 항목을 포함하고 상기 데이터 다운로드 요청에는 사용자 아이디 항목과 함께 선택한 데이터의 식별자 정보를 포함한다.
상기 데이터 목록 조회 요청에 대해 서비스서버(200)의 사용자데이터관리모듈(230)에서 데이터베이스(300)와 데이터저장서버(400)를 통해 상기 웹하드의 사용자 공간에 저장되어 있는 데이터 목록을 추출한다(S503,S506). 데이터 목록도 본 서비스의 암호화 방식에 따라 웹하드에 암호화해 저장하는 경우에는 사용자데이터비밀키관리모듈(240)에서 해당 비밀키를 추출하는 과정이 포함된다(S504).
상기 데이터 다운로드 요청에 대해서는 서비스서버(200)의 사용자데이터관리모듈(230)에서 데이터베이스(300)와 데이터저장서버(400)를 통해 상기 사용자의 데이터 저장 정보를 추출하고(S505), 사용자데이터비밀키관리모듈(240)에서 상기 사용자의 데이터를 암호화하는 사용된 비밀키를 추출한다(S504).
사용자단말기(100)의 공개키방식암호화/복호화모듈(130)에서는 다운로드될 사용자 데이터의 복호화를 위해 상기 추출된 비밀키를 전송받아 사용자의 개인키로 복호화한다(S507). 상기 비밀키는 앞서 설명된 사용자 데이터 업로드 단계에서 사용자의 데이터를 암호화하는 사용된 비밀키이다.
다운로드되는 사용자 데이터는 상기 복호화된 비밀키에 의해 대칭형 방식으로 암호화된 데이터이므로 사용자단말기(100)의 대칭형방식암호화/복호화모듈(120)에서 다운로드되는 사용자 데이터를 일정 단위별로 복호화를 수행하고 사용자단말기(100)의 하드디스크, USB 메모리스틱 등과 같은 저장장치에 저장한다(S508). 데이터 복호화를 먼저 완료하고 복호화된 데이터를 저장장치에 저장하는 순차적인 방법도 가능하다.
상기 데이터 다운로드와 복호화 단계의 완료가 판단되면(S509) 다운로드가 완료 되었음을 사용자에게 표시한다(S510).
본 단계를 통해 사용자는 데이터저장서버(400)에 암호화되어 저장된 자신의 데이터를 다운로드 받아 사용자단말기(100)에서 복호화를 수행해 저장하게 된다. 상기 사용자 데이터를 암호화하는데 사용했던 비밀키는 앞서 설명한대로 임의로 생성된 것이며 사용자의 공개키와 개인키로 암호화, 복호화되는 과정을 거쳐 사용자 데이터를 복호화하는데 사용되므로 사용자가 상기 비밀키를 알 필요없이 상기의 단계들이 이루어진다.
본 발명의 실시예에 따른 암호화를 활용한 웹저장공간 제공 서비스 방법에서 사용자가 다른 사용자와 데이터를 교환하는 단계에 있어서 웹하드에 저장된 암호화된 데이터를 다른 사용자에게 전달하는 경우를 도7을 참조하여 설명하면 다음과 같다.
사용자는 상술한 데이터 목록 조회를 통해서 다른 사용자에게 전달하려는 데이터를 선택해 전달 요청을 서비스서버(200)에 전송한다(S601). 상기 전달 요청에는 사용자 아이디, 선택된 데이터 식별자, 타겟 사용자 아이디의 항목이 포함된다.
서비스서버(200)의 사용자키관리모듈(220)에서는 상기 전달 요청에 대해 타겟 사용자와 그 공개키가 존재하는지 판단한다(S602). 본 단계는 상기 요청에 포함된 타겟 사용자 아이디를 이용해 처리하는 것이 바람직하다.
상기 판단 단계에서 타겟 사용자나 그 공개키가 존재하는 않는 경우 사용자 단말기(100)에 오류 메시지를 전송하고 사용자에게 표시한다(S604).
상기 판단 단계에서 타겟 사용자와 그 공개키가 존재하는 경우 사용자데이터비밀키관리모듈(240)에서 상기 선택된 데이터를 암호화하는데 사용한 비밀키를 데이터베이스(300)에서 추출한다(S603). 본 단계는 상기 요청에 포함된 데이터 식별자를 이용하는 것이 바람직하다.
사용자단말기(100)에서는 상기 비밀키를 다운로드 받고 키관리모듈(140)에서 타겟 사용자의 공개키를 다운로드한다(S605).
사용자단말기(100)의 공개키방식암호화/복호화모듈(130)에서는 상기 비밀키를 사용자 자신의 개인키로 복호화한 후 상기 타겟 사용자의 공개키로 암호화하고 서비스서버(200)에 전송, 등록을 요청한다(S606). 상기 등록 요청에는 타겟 사용자 아이디, 선택된 데이터 식별자, 타겟 사용자의 공개키로 암호화된 비밀키의 정보가 포함된다.
서비스서버(200)의 사용자데이터관리모듈(230)에서는 상기 요청에 대해 타겟 사용자의 데이터 목록에 선택된 데이터 정보를 등록한다(S607). 본 단계는 상기 요청에 포함된 타겟 사용자 아이디와 데이터 식별자를 이용해 이루어진다.
서비스서버(200)의 사용자데이터비밀키관리모듈(240)에서는 상기 요청에 대해 타겟 사용자의 공개키로 암호화된 비밀키를 데이터베이스(300)에 등록한다(S608).
사용자단말기(100)에서는 상기 단계들의 수행결과를 사용자에게 표시한다(S609).
사용자가 다른 사용자와 데이터를 교환하는 단계에 있어서 다른 경우인 사용자가 자신의 사용자단말기(100)의 데이터를 다른 사용자의 웹하드의 공간으로 업로드하는 경우에는 상술한 사용자 데이터의 업로드 단계에서 타겟 사용자의 공개키를 이용해 데이터를 암호화하는 사용한 비밀키를 암호화하고 데이터와 상기 비밀키를 타겟 사용자에게 알릴 수 있도록 서비스서버(200)에 등록하는 방식으로 변형, 적용된다.
사용자가 다른 사용자와 데이터를 교환하는 단계에 있어서 또 다른 경우인 웹하드의 사용자 데이터에 대해 다른 사용자가 다운로드할 수 있는 권한부여를 하는 경우에는 상술한 다른 사용자에게 데이터를 전달하는 단계에서 타겟 사용자들의 공개키를 다운로드하고 이를 이용해 데이터 비밀키를 각 타겟 사용자의 공개키로 암호화한 후 상기 타겟 사용자별 비밀키를 서비스서버(200)에 등록하는 방식으로 변형, 적용된다.
이상의 설명에서와 같이 본 발명에 의한 암호화를 활용한 웹저장공간 제공 서비스 시스템 및 방법은 사용자의 데이터를 암호화해 보호함으로써 웹하드로 전송, 저장, 전달하는 과정이 안전하게 이루어지게 한다. 또한 하나의 패스워드로 다수의 사용자 데이터를 복호화할 수 있게 함으로써 대칭형 암호화 방식에 따른 패스워드 관리 문제를 해결하며 암호화된 데이터를 다른 사용자와 교환하는데 있어 패스워드를 알리거나 노출시킬 필요없이 이루어지게 때문에 사용자의 편의성이 극대화된다. 정보 보호 측면이 취약한 기존의 웹하드 분야에서 본 발명에 의해 개선된 새로운 웹하드 서비스를 통해 수익모델을 창출할 수 있는 환경과 여건을 제공할 뿐만 아니라 개인의 프라이버시를 지켜주는 안전한 인터넷 사용 환경을 조성하는데 있어 큰 도움을 제공한다.

Claims (8)

  1. 암호화를 활용한 웹저장공간 제공 서비스 시스템에 있어서,
    사용자의 요청을 입력받고 수행 결과를 표시하기 위한 웹 또는 응용프로그램 방식의 사용자인터페이스모듈;
    서비스서버로 전송하기에 앞서 사용자 데이터를 암호화하기 위한 대칭형방식암호화/복호화모듈;
    상기 사용자 데이터를 대칭형 방식으로 암호화하는데 사용한 비밀키를 암호화하기 위한 공개키방식암호화/복호화모듈;
    사용자 자신의 공개키/개인키와 다른 사용자의 공개키를 사용자의 인증 세션동안 관리하기 위한 키관리모듈;
    서비스서버에 접속한 사용자의 허가여부를 처리하는 사용자인증모듈;
    등록된 사용자의 공개키/개인키 정보를 관리하기 위한 사용자키관리모듈;
    서비스서버에 저장된 사용자 데이터 저장정보를 관리하기 위한 사용자데이터관리모듈;
    상기 사용자 데이터를 암호화하는데 사용된 비밀키 정보를 관리하기 위한 사용자데이터비밀키관리모듈을 포함하는 것을 특징으로하는 암호화를 활용한 웹저장공간 제공 서비스 시스템.
  2. 암호화를 활용한 웹저장공간 제공 서비스 방법에 있어서,
    사용자의 등록여부와 공개키/개인키 정보의 존재여부를 기준으로 사용자 인증을 처리하는 단계;
    사용자의 공개키/개인키를 생성하고 서비스서버에 사용자의 공개키/개인키를 등록하는 단계;
    사용자의 공개키/개인키 또는 다른 사용자의 공개키를 서비스서버에서 획득하는 단계;
    데이터를 대칭형 방식으로 암호화하고 비밀키를 사용자의 공개키로 암호화한 후 서비스서버로 업로드하는 단계;
    데이터저장서버에서 대칭형 방식으로 암호화된 데이터와 사용자의 공개키로 암호화된 비밀키를 다운로드한 후 비밀키를 사용자의 개인키로 복호화하고 데이터를 비밀키로 복호화 및 저장하는 단계;
    데이터저장서버의 암호화된 데이터를 다른 사용자와 교환하는 단계를 포함하는 것을 특징으로 하는 암호화를 활용한 웹저장공간 제공 서비스 방법.
  3. 제 2 항에 있어서 서비스서버에 접속한 사용자 인증 단계가
    사용자단말기가 서비스서버에 접속하는 단계;
    서비스서버에서 사용자 인증을 처리하는 단계; 및
    인증 처리 결과를 사용자단말기에서 결과를 표시하는 단계를 포함하는 것을 특징으로 하는 암호화를 활용한 웹저장공간 제공 서비스 방법.
  4. 제 2 항에 있어서 사용자단말기에서 사용자의 공개키와 개인키를 생성하고 서비스서버에 등록하는 단계가
    사용자단말기에서 공개키/개인키를 생성하는 단계;
    상기 생성된 개인키를 암호화하기 위해 필요한 패스워드를 사용자로부터 입력받는 단계;
    상기 개인키를 상기 패스워드를 이용해 암호화하는 단계;
    상기 공개키와 상기 암호화된 개인키를 서비스서버에 접속해 등록하는 단계;
    서비스서버에서 상기 공개키와 상기 암호화된 개인키를 데이터베이스, 데이터저장서버에 저장하는 단계; 및
    사용자단말기에 결과를 표시하는 단계를 포함하는 것을 특징으로 하는 암호화를 활용한 웹저장공간 제공 서비스 방법.
  5. 제 2 항에 있어서 사용자단말기에서 사용자의 공개키와 개인키 또는 다른 사용자의 공개키를 획득하는 단계가
    사용자의 공개키/개인키 또는 다른 사용자의 공개키 정보를 요청하는 단계;
    서비스서버에서 상기 요청에 따라 사용자의 공개키/개인키 또는 다른 사용자의 공개키 정보를 추출하는 단계;
    상기 요청이 사용자의 공개키/개인키 정보를 요청한 경우에 사용자단말기에서 개인키의 복호화를 수행해야 하는지를 판단하는 단계;
    상기 판단에 따라 개인키 복호화를 수행해야 하는 경우에 사용자에게서 개인키 패스워드를 입력받는 단계;
    상기 입력된 패스워드를 이용해 사용자 개인키의 복호화를 수행하는 단계;
    사용자의 공개키/개인키 또는 다른 사용자의 공개키 정보를 보관하는 단계; 및
    사용자단말기에 결과를 표시하는 단계를 포함하는 것을 특징으로 하는 암호화를 활용한 웹저장공간 제공 서비스 방법.
  6. 제 2 항에 있어서 사용자 단말기에서 데이터를 암호화하고 서비스서버로 업로드하는 단계가
    사용자단말기에서 데이터 업로드 요청을 서비스서버로 전송하는 단계;
    서비스서버에서 사용자의 저장공간에 데이터를 저장하는지 판단하는 단계;
    상기 타겟 저장공간 판단 단계에서 다른 사용자의 저장공간에 업로드하는 경우 타겟 사용자와 그 공개키가 존재하는지 판단하는 단계;
    상기 타겟 사용자와 그 공개키 유무 판단 단계에서 타겟 사용자 또는 그 공개키가 존재하지 않는 경우 상기 사용자에게 오류 메시지를 표시하는 단계;
    상기 타겟 사용자와 그 공개키 유무 판단 단계에서 타겟 사용자와 그 공개키가 존재하는 경우 사용자단말기에서 타겟 사용자의 공개키 정보를 다운로드하는 단계;
    상기 타겟 사용자의 공개키 정보를 다운로드하는 단계를 거치거나 또는 상기 타겟 저장공간 판단 단계에서 상기 사용자 자신의 저장공간에 업로드하는 경우 사용자단말기에서 사용자 데이터의 암호화를 위해서 대칭형 알고리즘에 사용될 임의의 비밀키를 생성하는 단계;
    상기 데이터를 일정 단위별로 암호화하고 전송하는 단계;
    상기 사용자 데이터의 업로드가 완료되었는지 판단하는 단계;
    상기 업로드 완료 여부 판단 단계에서 업로드가 완료된 경우 상기 사용자 데이터를 암호화하는데 쓰인 임의의 비밀키를 사용자의 공개키로 암호화해서 서비스서버에 등록하는 단계;
    서비스서버에서 상기 암호화된 비밀키를 저장하는 단계; 및
    사용자단말기에 결과를 표시하는 단계를 포함하는 것을 특징으로 하는 암호화를 활용한 웹저장공간 제공 서비스 방법.
  7. 제 2 항에 있어서 사용자단말기에서 사용자가 서비스서버에서 데이터 목록 또는 데이터를 다운로드하고 복호화하는 단계가
    사용자단말기에서 데이터 목록 조회 요청을 전송하는 단계;
    사용자단말기에서 데이터 다운로드 요청을 전송하는 단계;
    서비스서버에서 사용자 데이터 목록을 데이터베이스에서 추출하는 단계;
    서비스서버에서 사용자 데이터를 데이터저장서버에서 추출하는 단계;
    서비스서버에서 암호화된 대칭형 알고리즘 비밀키를 데이터베이스에서 추출하는 단계;
    사용자단말기에서 사용자의 개인키로 상기 대칭형 알고리즘 비밀키를 복호화하는 단계;
    사용자단말기에서 암호화된 데이터를 일정 단위로 수신하면서 복호화하는 단계;
    사용자단말기에서 다운로드와 복호화가 완료되었는지 판단하는 단계;
    사용자가 데이터 목록을 조회하는 단계; 및
    사용자단말기에 결과를 표시하는 단계를 포함하는 것을 특징으로 하는 암호화를 활용한 웹저장공간 제공 서비스 방법.
  8. 제 2 항에 있어서 사용자가 데이터저장서버의 암호화된 데이터를 다른 사용자에게 전달하는 단계가
    사용자가 데이터 목록에서 다른 사용자에게 전달하려는 데이터를 선택하고 전달 요청을 전송하는 단계;
    서비스서버에서 타겟 사용자와 그 공개키가 존재하는지 판단하는 단계;
    상기 판단 단계에서 타겟 사용자와 그 공개키가 존재하는 경우에 선택된 데이터의 대칭형 알고리즘 비밀키를 데이터베이스에서 추출하는 단계;
    상기 판단 단계에서 타겟 사용자 또는 그 공개키가 존재하는 않는 경우에 사용자단말기로 오류 결과를 전송해 사용자에게 표시하는 단계;
    사용자단말기에서 상기 추출된 비밀키를 다운로드하는 단계;
    사용자단말기에서 사용자의 공개키로 대칭형 알고리즘 비밀키를 복호화한 후 타겟 사용자의 공개키로 암호화하는 단계;
    서비스서버에서 상기 전달 요청된 사용자의 데이터를 타겟 사용자의 데이터 목록에 등록하는 단계;
    서비스서버에서 타겟 사용자의 공개키로 암호화된 상기 비밀키를 데이터베이스에 등록하는 단계; 및
    사용자단말기에 결과를 표시하는 단계를 포함하는 것을 특징으로 하는 암호화를 활용한 웹저장공간 제공 서비스 방법.
KR1020040082725A 2004-10-15 2004-10-15 암호화를 활용한 웹저장공간 제공 서비스 시스템 및 방법 KR20040097016A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040082725A KR20040097016A (ko) 2004-10-15 2004-10-15 암호화를 활용한 웹저장공간 제공 서비스 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040082725A KR20040097016A (ko) 2004-10-15 2004-10-15 암호화를 활용한 웹저장공간 제공 서비스 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20040097016A true KR20040097016A (ko) 2004-11-17

Family

ID=37375483

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040082725A KR20040097016A (ko) 2004-10-15 2004-10-15 암호화를 활용한 웹저장공간 제공 서비스 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20040097016A (ko)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100825127B1 (ko) * 2006-09-26 2008-04-25 백옥기 디지털 개인 정보의 안전한 관리 방법 및 그 시스템
KR100944769B1 (ko) * 2007-11-06 2010-03-03 한국전자통신연구원 프라이버시를 보장하는 암호화와 복호화를 이용한 파일공유 방법 및 시스템
WO2010090647A1 (en) * 2009-02-09 2010-08-12 Hewlett-Packard Development Company, L.P. Secure media system
KR101590076B1 (ko) * 2015-11-18 2016-02-01 주식회사 웨이브스트링 개인정보 관리 방법
KR101628195B1 (ko) * 2014-12-08 2016-06-08 한국과학기술정보연구원 클라우드 서비스를 이용한 2중 백업 시스템 및 데이터 관리 방법
WO2018070848A1 (ko) * 2016-10-13 2018-04-19 주식회사 코인플러그 스마트 컨트랙트 기반의 인증서 서비스를 제공하는 방법 및 이를 이용한 서버
KR20180113292A (ko) * 2017-04-06 2018-10-16 닉스테크 주식회사 외부 저장 장치에 저장되는 파일을 보안하는 보안 브로커 시스템 및 그 방법
KR20180114744A (ko) * 2017-04-11 2018-10-19 닉스테크 주식회사 외부 저장 장치에 저장되는 파일을 안전하게 공유하는 보안 브로커 시스템 및 그 방법
KR20180127384A (ko) * 2016-03-03 2018-11-28 알리바바 그룹 홀딩 리미티드 공동 계좌에 대한 인가 방법과 디바이스, 및 공동 계좌에 대한 인증 방법과 디바이스
CN108964920A (zh) * 2017-05-26 2018-12-07 三星Sds株式会社 认证方法、用户终端及非面对面认证服务服务器
EP2110980B1 (de) 2008-04-18 2020-10-14 Samedi GmbH Sichere serverbasierte Speicherung und Freigabe von Daten
CN113742779A (zh) * 2021-09-18 2021-12-03 湖北工业大学 一种具有隐私保护的服务定制系统与方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100825127B1 (ko) * 2006-09-26 2008-04-25 백옥기 디지털 개인 정보의 안전한 관리 방법 및 그 시스템
KR100944769B1 (ko) * 2007-11-06 2010-03-03 한국전자통신연구원 프라이버시를 보장하는 암호화와 복호화를 이용한 파일공유 방법 및 시스템
EP2110980B1 (de) 2008-04-18 2020-10-14 Samedi GmbH Sichere serverbasierte Speicherung und Freigabe von Daten
WO2010090647A1 (en) * 2009-02-09 2010-08-12 Hewlett-Packard Development Company, L.P. Secure media system
KR101628195B1 (ko) * 2014-12-08 2016-06-08 한국과학기술정보연구원 클라우드 서비스를 이용한 2중 백업 시스템 및 데이터 관리 방법
KR101590076B1 (ko) * 2015-11-18 2016-02-01 주식회사 웨이브스트링 개인정보 관리 방법
KR20180127384A (ko) * 2016-03-03 2018-11-28 알리바바 그룹 홀딩 리미티드 공동 계좌에 대한 인가 방법과 디바이스, 및 공동 계좌에 대한 인증 방법과 디바이스
WO2018070848A1 (ko) * 2016-10-13 2018-04-19 주식회사 코인플러그 스마트 컨트랙트 기반의 인증서 서비스를 제공하는 방법 및 이를 이용한 서버
KR20180113292A (ko) * 2017-04-06 2018-10-16 닉스테크 주식회사 외부 저장 장치에 저장되는 파일을 보안하는 보안 브로커 시스템 및 그 방법
KR20180114744A (ko) * 2017-04-11 2018-10-19 닉스테크 주식회사 외부 저장 장치에 저장되는 파일을 안전하게 공유하는 보안 브로커 시스템 및 그 방법
CN108964920A (zh) * 2017-05-26 2018-12-07 三星Sds株式会社 认证方法、用户终端及非面对面认证服务服务器
CN113742779A (zh) * 2021-09-18 2021-12-03 湖北工业大学 一种具有隐私保护的服务定制系统与方法
CN113742779B (zh) * 2021-09-18 2024-03-22 湖北工业大学 一种具有隐私保护的服务定制系统与方法

Similar Documents

Publication Publication Date Title
EP1714459B1 (en) Accessing protected data on network storage from multiple devices
CN101605137B (zh) 安全分布式文件系统
CN101510888B (zh) 一种SaaS应用下提高数据安全性的方法、装置及系统
JP4597784B2 (ja) データ処理装置
EP2743842A1 (en) Secure search processing system and secure search processing method
KR101648364B1 (ko) 대칭키 암호화와 비대칭키 이중 암호화를 복합적으로 적용한 암/복호화 속도개선 방법
JPWO2008029723A1 (ja) データ利用管理システム
CN111066017A (zh) 私人数据处理
JP5140026B2 (ja) データベース処理方法、データベース処理プログラム、および、暗号化装置
EP2942899B1 (en) Information processing method, trust server and cloud server
US7315950B1 (en) Method of securely sharing information over public networks using untrusted service providers and tightly controlling client accessibility
KR20040097016A (ko) 암호화를 활용한 웹저장공간 제공 서비스 시스템 및 방법
CN110062941B (zh) 消息发送系统及方法、通信终端、服务器装置、记录介质
CN102457561A (zh) 数据访问方法及使用该数据访问方法的设备
KR20070062632A (ko) 암호화를 통한 이동통신 메시지 및 파일 보안 제공 방법
JP2014176030A (ja) 情報処理装置、情報処理システム
JP2006345160A (ja) 情報通信システム
JP2011172099A (ja) データ転送方法、データ転送システム、データ送信装置、データ管理装置、データ復号装置およびコンピュータプログラム
KR102386717B1 (ko) 익명 사용자 속성기반의 데이터 접근 제어 시스템 및 방법
JPH11331145A (ja) 情報共有システム、情報保管装置およびそれらの情報処理方法、並びに記録媒体
KR20190007336A (ko) 보안채널 생성 방법 및 그 장치와 이를 이용한 보안정보의 송수신 방법 및 그 장치
JP6167598B2 (ja) 情報処理装置、情報処理方法、および、コンピュータ・プログラム
KR20060040841A (ko) 공개키 기반의 전자사서함 시스템 및 방법
KR20070049512A (ko) 이동통신 메시지 암호화를 통한 보안 기능 제공 방법
KR20040074537A (ko) 인터넷상의 보안기능을 구비한 파일 보관/공유 시스템 및서비스 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application