KR20000072218A - 암호화 및 전자서명을 이용한 인터넷상에서의 보안 데이터관리 및 동기화 방법 - Google Patents

암호화 및 전자서명을 이용한 인터넷상에서의 보안 데이터관리 및 동기화 방법 Download PDF

Info

Publication number
KR20000072218A
KR20000072218A KR1020000047699A KR20000047699A KR20000072218A KR 20000072218 A KR20000072218 A KR 20000072218A KR 1020000047699 A KR1020000047699 A KR 1020000047699A KR 20000047699 A KR20000047699 A KR 20000047699A KR 20000072218 A KR20000072218 A KR 20000072218A
Authority
KR
South Korea
Prior art keywords
data
synchronization
message
server
encrypted
Prior art date
Application number
KR1020000047699A
Other languages
English (en)
Other versions
KR100380335B1 (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 KR10-2000-0047699A priority Critical patent/KR100380335B1/ko
Publication of KR20000072218A publication Critical patent/KR20000072218A/ko
Application granted granted Critical
Publication of KR100380335B1 publication Critical patent/KR100380335B1/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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Abstract

본 발명은 보안을 유지하면서 인터넷상의 서버에 데이터를 저장·관리하고, 한 개인 또는 그룹 구성원의 여러 데이터 통신장비의 데이터를 동기화(synchronization)함으로써 정보를 공유할 수 있는 방법에 관한 것이다.
동기화할 데이터를 저장·관리하는 동기화 서버에는 각 사용자가 통신장비를 통하여 암호화하여 업로드한 데이터(암호화된 메시지원문과 그 원문에 대한 암호화된 메시지 다이제스트)를 저장하고 있으며, 사용자의 요청에 따라 암호화 데이터를 통신장비로 전송한다. 통신장비는 메시지 다이제스트를 이용하여 데이터의 무결성을 확인하고, 갱신할 새로운 정보가 있는 경우 새로운 메시지원문 및 메시지 다이제스트를 암호화하고 서버로 전송하여 저장한다.
이로써, 데이터를 저장하고 있는 서버(관리자)에게 조차도 데이터가 공개되지 않은 보안 상태에서, 개인정보와 같은 여러 데이터가 일괄 저장·관리될 수 있으며, 사용자가 보유한 여러 통신장비의 데이터를 동기화할 수 있다.

Description

암호화 및 전자서명을 이용한 인터넷상에서의 보안 데이터 관리 및 동기화 방법 {Secure data management and synchronization method on internet using cryptography and digital signature}
본 발명은 인터넷상에서의 데이터 보안방법 및 그를 이용한 데이터통합관리와 동기화방법, 더 상세하게는 서버와 클라이언트 사이에 교류되는 데이터를 적절하게 암호화함으로써 권한없는 자가 서버내에 저장되는 데이터에 접근할 수 없도록 하는 데이터 보안방법과, 그를 이용하는 개인 또는 유저 그룹의 여러 데이터 통신 기기에서 이용되는 데이터를 인터넷의 웹서버에서 개인 또는 유저 그룹별로 통합 관리하고 동기화하여 공유하는 방법에 관한 것이다.
최근 개인용 컴퓨터(PC)의 급속한 보급과 더불어, PDA, 핸드헬드 PC(Handheld PC; H/PC), PCS 등의 무선 데이터 통신을 할 수 있는 장비들 또한 급속하게 보급되고 있다. 이러한 무선 데이터 통신 장비들은 다른 데이터 통신 장비들과 전자메일과 같은 디지털 데이터를 송수신 할 수 있는 기능 이외에도, 주소록, 전화번호부, 일정관리, 달력과 같은 개인정보 스케줄링 기능을 함께 보유하고 있는 것이 일반적이다.
PC 및 데이터 통신 기기의 보급으로 인하여, 한 개인이 여러가지의 장비를 보유하는 것이 일반적이다. 그러나, 여러 통신장비들 사이의 정보교환이 없기 때문에, 한 장비의 데이터가 갱신된 경우 다른 기기의 동일 종류의 정보가 갱신되지 않음으로서 한 개인이 소유하는 장비들 사이의 정보에 불일치가 발생한다. 이러한 정보의 불일치는 사용자로 하여금 불편함을 초래할 뿐 아니라, 근본적으로는 데이터 통신기기의 저변확대에 큰 걸림돌이 될 것이다. 따라서, 한 개인이 보유하고 있는 여러 데이터 통신 장비(PC, PDA, PCS, H/PC 등) 사이의 정보의 통일화, 즉 데이터의 동기화(Synchronization of Data)가 필수적이며 이를 위하여 여러가지 기술들이 제안되고 있다.
이러한 데이터 동기를 위하여, 지금까지 상용화된 무선 데이터 통신기기의 경우에는 PC에 저장된 데이터와 동기화하기 위하여, 데이터 변환용 응용 프로그램(application program)을 두 장비 중 어느 하나이상에 설치한 상태에서 PC의 시리얼포트에 무선 데이터 통신기기를 연결하고(Cradle connection), 전술한 응용 프로그램을 실행함으로써 데이터의 갱신에 의한 동기화가 이루어지도록 하고 있다.
최근에는 인터넷 서버를 이용한 데이터 동기화 기술이 개발되고 있으며, 제2000-0039327호 한국특허출원에서는 이와 관련된 인터넷을 이용한 데이터 통신 장비의 정보 통합 관리 및 공유방법을 제시하고 있다. 이 방법에 의하면, 인터넷 서버에 각 회원이 동기화하고자 하는 장비에 대한 정보와 동기화 하고자 하는 데이터(대상) 정보를 설정하여 두고, 해당 회원이 보유하고 있는 장비를 이용하여 새로운 데이터를 업로드 하면, 서버가 등록되어 있는 모든(또는 선택된) 장비로 갱신된 데이터를 전송·저장함으로써 데이터의 동기화를 달성한다.
이러한 데이터 동기화방법은 데이터의 보안문제를 해결할 수 없다. 즉, 서버가 관리하는 회원(사용자)의 개인정보가 그대로 서버 운영자 및 관련된 자에게 공개되므로 비밀이 보장되지 않는다. 이러한 개인정보의 유출은 이러한 동기화 서비스의 확대에 장애가 될 것이므로, 서버에 저장되고 각 통신장비로 전송·동기화되는 데이터를 해당 사용자(회원개인 또는 그룹) 이외에는 서버 관리자라도 열람할 수 없도록 할 필요가 있다.
한편, 인터넷 상에서의 보안을 위하여 여러가지 암호화 방법들이 개발되고 있으며, 이러한 암호화 방법이 요구하는 기능으로는 내용이 공개되지 않아야 한다는 기밀성(confidentiality)과, 정보를 보내는 자의 신원을 확인하기 위한 인증(Authentication)과, 전달 중간에 정보가 훼손되지 않았음을 확인하기 위한 무결성(Integrity), 정보제공자가 정보제공 사실을 부인하는 것을 방지하기 위한 부인방지(Non-repudiation)가 있으며, 이중 필요에 따라 선택된 기능들을 구비하고 있어야 한다.
이러한 기능을 구비하는 종래의 암호화 방식으로 기밀 알고리즘을 이용한 방법 이외에, "키(key)"를 이용한 암호화 방식이 최근 널리 이용되고 있다. 이러한 키 기반 암호화 방법은 크게 하나의 비밀키(secret key)를 이용하는 대칭형 알고리즘(Symmetric algorithm)과 공개키(public)-개인키(private key) 조합을 이용하는 공개키 알고리즘(Public-key algorithm, Asymmetric algorithm)으로 대별된다. 또한, 암호화 알고리즘은 아니지만 정보의 변경여부(무결성)나 보낸 사람을 확인(인증)할 때 사용하는 것으로 메시지 다이제스트(Message Digest)방법이 있다.
대칭형 알고리즘은 암호화 키로부터 복호화 키를 계산해낼 수 있거나, 반대로 복호화 키로부터 암호화 키를 계산해낼 수 있는 알고리즘으로서, 통상 비밀키라고 하는 하나의 키로 암호화 및 복호화를 모두 수행한다 . 정보를 보내는 자는 정보(메시지)를 비밀키로 암호화하여 암호문으로 변환하여 타인에게 보내고, 정보를 받은 자 역시 같은 비밀키로 암호문을 복호화 한다. 이 방법은 암호화와 복호화가 빠르고 다양한 암호화 기법들이 개발되어 있어서 응용성이 넓다는 장점이 있으나, 복수의 사용자가 있을 경우 비밀키의 생성 및 관리가 용이하지 않고, 비밀키의 안전한 전달이 보장되어야 한다는 단점이 있다. 이러한 대칭키 암호화 알고리즘으로는 DES, IDEA, RC2, RC5, SEED등이 있다.
공개키 알고리즘은 암호화 키와 복호화 키가 서로 다르며, 하나로 부터 다른 하나를 계산해낼 수 없는 알고리즘으로서, 공개키(public key)라는 암호화 키와 개인키(private key)라는 복호화 키의 조합을 이용한다. 공개키는 누구에게나 공개되어 있는 것으로, 정보를 보내고자 하는 자는 정보를 받을 자의 공개키로 메시지를 암호화하여 보내고, 메시지를 받은 자는 자신의 비밀키로 복호화한다. 암호문은 암호화할때 사용한 공개키에 대응하는 개인키로만 복호화 가능하기 때문에, 대칭형 알고리즘에서 발생하는 키 교환의 문제가 해결된다. 그러나 이러한 공개키 방식은 암호화·복호화 속도가 느리고, 많은 양의 정보를 암호화·복호화하기가 불편하다는 단점이 있다. 공개키 기반(Public Key Infrastructure; PKI)의 암호화 알고리즘으로는 RSA, LUC, Diffie-Hellman, Elliptic Curve등이 있다.
한편, 암호화 방법은 아니지만, 정보의 무결성을 보장하는 방법으로 메시지 다이제스트(message digest; MD)가 있다. 이 메시지 다이제스트는 단방향 해쉬함수(hash function)을 이용하여 주어진 정보(메시지)를 일정한 길이내의 아주 큰 숫자값(해쉬값)으로 변환해 주는 것이다. 정보를 보낸때 암호문과 함께 이 메시지 다이제스트를 함께 보내면, 정보를 받은 자가 복호화하여 평문(plain text)을 만들고 그의 해쉬값을 구한 후 수신된 해쉬값과 일치하는 지를 확인한다. 그 값이 같다면 정보의 전달중에 정보가 변경되지 않았음을 확인할 수 있다. 물론, 이 해쉬값은 암호화 알고리즘에 의하여 암호화되어 전달되어야 한다. 이러한 메시지 다이제스트 알고리즘으로는 Snefru, CRC-32, CRC-16, MD2, MD4, MD5, SHA, Haval 등이 있다.
최근 전자상거래 등에서 가장 많이 사용되는 형태는, 공개키기반 및 대칭키 기반의 혼합방식으로서, 메시지 자체는 임의의 비밀키를 사용하여 비밀키 암호화 방식으로 암호화하고, 비밀키 자체는 받는 사람의 공개키를 이용하여 공개키 암호화 방식으로 암호화한 후, 두 암호문을 보내는 방식을 이용한다. 받는 사람은 자신의 개인키로 비밀키를 복호화하고, 그 복호화된 비밀키를 이용하여 메시지를 복호화한다. 또한, 인증, 무결성 및 부인방지를 위하여 메시지 다이제스트를 보내는 사람의 개인키로 암호화한 것(이를 "전자서명(Digital Signature)"이라 한다)을 함께 보내는 것이 일반적이다. 정보를 받은 사람은 보낸 사람의 공개키로 메시지 다이제스트를 복호화하고, 복호화된 원문의 메시지 다이제스트와 비교함으로써 보낸 사람의 인증, 내용의 무결성 및 부인방지를 달성할 수 있다.
본 발명은 인터넷을 이용한 데이터 통신장비의 데이터 동기화에 있어서 전술한 암호화방법 등을 사용함으로써 동기화될 데이터를 해당 개인(또는 그룹) 이외에는 접근할 수 없도록 하기 위한 것이다. 즉, 인터넷상의 보안 데이터 동기화 방법을 제공하기 위한 것이다.
본 발명의 목적은 인터넷 상의 서버에 데이터를 저장·관리하는 방법에 있어서, 대칭형 또는/및 공개키 기반의 암호화와 메시지 다이제스트(또는 전자서명)를 이용함으로써 저장되는 데이터의 보안을 유지하기 위한 방법을 제공하는 것이다.
본 발명의 다른 목적은 인터넷을 이용한 데이터 통신장비의 데이터 동기화 방법에 전술한 암호화 및 전자서명을 도입함으로써, 동기화하는 데이터에 대한 보안을 유지하는 방법을 제공하는 것이다.
본 발명의 또다른 목적은 개인은 서버에 저장된 개인정보(파일, 연락처, 전자메일, 패스워드, 전자인증, 계좌정보 등)의 접근성, 기밀성, 무결성을 유지할 수 있고, 서버는 고객의 인증과 부인방지를 달성하면서, 복수의 데이터 통신장비에 위치하는 데이터를 동기화할 수 있는 방법을 제공하는 것이다.
도 1은 본 발명에 의한 보안 데이터 관리 및 동기화방법을 수행하기 위한 시스템의 전체 구성을 개략적으로 도시한다.
도 2는 도 1의 동기화 서버의 구성을 기능모듈별로 도시한 블록도이다.
도 3은 본 발명에 의한 인터넷 상에서의 보안 데이터 관리 및 동기화 방법중 동기화가 클라이언트측(통신장비 사용자측)에서 일어나는 제 1 방법에 대한 흐름도이다.
도 4는 본 발명에 의한 인터넷 상에서의 보안 데이터 관리 및 동기화 방법중 동기화가 서버측에서 일어나는 제 2 방법에 대한 흐름도이다.
도 5는 본 발명에 의한 보안 데이터 관리 및 동기화방법 중 제 3 방법이 수행되는 흐름을 도시하는 것이다.
도 6은 본 발명에 의한 보안 데이터 관리 및 동기화방법에 이용되는 데이터의 한 형식을 테이블 형태로 도시한 것이다.
도 7은 본 발명에 의한 보안 데이터 관리 및 동기화방법의 각 단계에서 데이터(메시지원문 및 메시지 다이제스트)가 어떻게 변환되는 지를 도시한다.
전술한 본 발명의 목적을 달성하기 위한 보안 데이터 관리 및 동기화 방법은 동기화 데이터를 저장하는 데이터베이스와, 데이터베이스를 관리하는 동기화서버, 1 이상의 동기용 데이터 통신장비, 상기 DB, 서버 및 통신장비를 연결하는 컴퓨터 네트워크 연결채널로 이루어지는 시스템을 이용하여 수행되며, 전술한 데이터베이스에 저장되어 있는 동기화 데이터 각각은 키(key)로 암호화된 메시지원문 필드 및, 암호화된 메시지 원문 또는 암호화 되지 않은 메시지 원문에 대하여 해쉬함수에 의하여 추출된 메시지 다이제스트로서 키로 암호화되어 있는 암호화 메시지 다이제스트 필드로 이루어져 있다.
본 발명에 의한 보안 데이터 관리 및 동기화방법은 다음과 같은 단계로 이루어진다. 통신장비 사용자(데이터를 동기화하고자 하는 자)가 통신장비 중 하나를 이용하여 서버에 데이터 동기화 요청을 하는 단계와, 서버는 상기 데이터베이스를 검색하여 요청받은 데이터를 상기 통신장비로 전송하는 단계와, 통신장비는 전송받은 암호화 데이터의 일부 또는 전부를 복호화하고 데이터가 훼손되지 않았음을 확인하는 무결성 확인단계와, 무결성이 확인된 경우에 한하여 통신장비가 저장된 해당 데이터를 전송받은 데이터중 메시지 원문 필드 부분으로 갱신하는 데이터 동기화 단계로 이루어진다.
또한, 새로 업데이트되는 데이터가 있는 경우에는 상기 데이터 동기화 단계 이후에, 통신장비가 새로운 메시지 원문을 키로 암호화하고, 암호화된 새로운 메시지 원문에 대한 메시지 다이제스트를 추출하여 키로 암호화한 후, 암호화된 새로운 메시지원문과 그에 대한 암호화 메시지 다이제스트를 서버로 전송하여 갱신·저장하게 하는 데이터 업데이트 단계를 추가로 포함한다.
전술한 키는 대칭키 암호화 방법에 이용되는 비밀키(secret key)이며, 무결성 확인단계는 서버로부터 전송받은 데이터 중 메시지 다이제스트 부분을 복호화하고, 메시지원문에 대한 메시지 다이제스트를 추출한 후, 그 둘이 일치하는 경우에 무결성을 인정함으로써 수행된다.
전술한 제 1 방법은 동기화 단계가 클라이언트측, 즉 사용자의 개별 통신장비에서 이루어지는 방법이며, 동기화 프로세스가 서버에서 수행되는 제 2 방법은 다음과 같이 이루어질 수 있다.
제 1 방법에서의 무결성 확인단계 이후에, 통신장비는 자신이 저장하고 있던 최신 메시지 원문을 키로 암호화하여 서버로 전송한다. 서버는 전송된 암호화된 메시지 원문과 이미 저장되어 있던 대응 암호화 메시지원문을 기초로 적당한 동기화 로직에 의하여 데이터를 동기화 한다. 동기화된 암호화 메시지 원문은 다시 통신장비로 전송되어 저장됨으로써 동기화가 완료된다. 이후에 암호화 키를 가지고 있는 통신장비측에서 동기화된 암호화 메시지 원문에 대한 메시지 다이제스트를 추출한 후, 키로 암호화하여 서버로 전송하고, 서버는 암호화된 메시지 다이제스트로 데이터베이스의 정보를 갱신한다.
제 2 방법의 암호화 복호화에 사용되는 키는 대칭키 기반의 비밀키일 수 있으나, 동기화하려는 데이터를 공유하는 사용자가 여러명으로 이루어진 그룹인 경우에는, 공개키 기반의 공개키(public key) 및 개인키(private key)일 수 있다. 공개키가 사용되는 경우, 메시지원문 및 메시지 다이제스트의 암호화에는 개인키를 이용하고, 무결성 검사 및 메시지원문 복원을 위한 복호화에는 그룹에 포함되는 사용자 모두의 공개키를 이용한다.
또한, 본 발명에 의한 제 3 방법은, 사용자의 요청에 따라 금융기관, 인증기관(CA)등과 같은 외부 정보제공 서버가 사용자의 공개키로 암호화된 특정한 메시지원문을 동기화 서버로 전송하고, 동기화 서버는 이를 기초로 데이터베이스를 갱신한다. 해당 사용자가 이후에 동기화서버에 접속하여 전술한 특정 메시지원문의 동기화를 요구하는 경우에 서버는 저장되어 있는 최신 메시지원문을 전송하여 주고, 사용자는 자신의 개인키로 그를 복호화하여 저장함으로써 여러 개의 통신장비 내의 데이터를 동기화 할 수 있는 방법이다.
이하에서는 첨부되는 도면을 기초로, 전술한 제 1 방법, 제 2 방법 및 제 3 방법에 대한 실시예를 상세하게 설명한다.
도 1은 본 발명에 의한 보안 데이터 관리 및 동기화방법을 수행하기 위한 시스템의 전체 구성을 개략적으로 도시한다. 동기화 서버(14)와, 1 이상의 데이터 통신장비(11, 12, 13) 및 이들을 연결하는 컴퓨터 연결채널로서의 인터넷(16)으로 이루어지며, 동기화 서버(14)에는 본 발명에 의한 서비스를 받고자 하는 사용자 정보, 데이터 통신장비에 대한 정보, 동기화할 대상에 대한 정보, 본 발명에 의하여 암호화된 데이터(암호화된 메시지원본 및 메시지 다이제스트) 등을 저장하기 위한 데이터베이스(15)가 연동되어 있다.
전술한 제 3 방법을 수행하기 위한 시스템에는 인터넷(16)에 연결되어 있는 외부 정보제공 서버로서의 금융기관 서버(17), 인증기관 서버(18) 등이 추가되어야 하며, 이 경우에 데이터베이스에 저장되는 데이터는 외부 정보제공 서버로부터 제공되는 데이터로서 사용자의 공개키로 암호화된 메시지원문이다.
본 발명에 의한 데이터 동기화를 수행할 수 있는 데이터 통신장비로는 PCS(Personal Communication System), 셀룰러폰(Cellular phone), PDA(Personal Digital Assistant), 핸드헬드 PC(HandHeld PC), 모뎀 또는 LAN 카드와 같은 네트워크 연결장비를 갖춘 노트북 컴퓨터, 일반 PC등을 포함하는 것으로, 전술한 장비에 한정되는 것은 아니며, 인터넷과 같은 컴퓨터 연결채널을 통하여 동기화 서버와 연결되고 서버 및 서로 다른 장비와 데이터를 주고받을 수 있는 장비 전체를 포함하는 넓은 개념으로 이해되어야 할 것이다.
컴퓨터 연결채널(16)은 서버와 클라이언트 장비(데이터 통신장비)를 연결하는 것으로서, LAN(local area network), WAN(wide area network)등의 폐쇄형 네트워크일 수도 있으나, 본 서비스의 사용자가 불특정 다수인이라는 점에서 인터넷(Internet)인 것이 바람직하다. 인터넷은 TCP/IP 프로토콜 및 그 상위계층에 존재하는 여러 서비스, 즉 HTTP(HyperText Transfer Protocol), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol), SNMP(Simple Network Management Protocol), NFS(Network File Service), NIS(Network Information Service)를 제공하는 전세계적인 개방형 컴퓨터 네트워크 구조를 의미한다.
도 2는 도 1의 동기화 서버(14)의 구성을 기능모듈별로 도시한 블록도이다. 동기화 서버는 제어모듈(21), 데이터관리 모듈(22), 동기화 로직(logic)을 포함하고 있어서 데이터의 동기화를 수행하는 동기화 프로세서(24), 송·수신모듈(26) 및 어댑터 수단(25)으로 이루어져 있으며, 서버 내부 또는 외부에 구현되어 있는 데이터베이스(23)와 연동되어 있다.
데이터 관리모듈(22)은 제어모듈의 콘트롤에 따라 데이터베이스에 데이터를 저장, 삭제, 갱신 절차를 수행하기 위한 것이며, 동기화 프로세서(24)는 데이터 통신장비로부터 전송된 업데이트 데이터와 종래의 데이터를 기초로 정해진 루틴에 따라 데이터를 동기화(Synchronization)하는 기능을 한다. 이러한 동기화 프로세서가 따르는 동기화 방법은 동기화 로직으로 구현되어 있으며, 여러가지의 충돌 해결 루틴을 포함하고 있어서, 업데이트된 데이터와 종래의 데이터가 충돌할 때 이를 해결하여 데이터를 동기화한다. 물론, 이러한 동기화 프로세서(24)는 동기화가 서버측에서 일어나는 제 2 방법의 경우에만 필요하며, 제 1 방법에서는 클라이언트측 장비(통신장비) 내에 구현되어 있어야 한다.
어댑터 수단은 최종적으로 동기화된 데이터를 각 통신장비로 전송하기 위하여, 동기화 데이터를 수신할 장비에 맞게 데이터 포맷(양식) 및/또는 전송 프로토콜(protocol)을 조정하여 주는 기능을 한다. 예를 들어, 도 6와 관련하여 설명할 바와 같이, 동기화된 데이터가 "연락처" 정보이고 데이터를 전송받을 장비가 PCS인 경우, PCS에서 "연락처" 정보를 관리하는 소프트웨어(예컨데, PCS PIMS)의 양식에 맞게 데이터 포맷을 변환하고, PCS가 데이터를 받아서 인식할 수 있는 프로토콜(예컨데, WAP)로 데이터를 패킷화(encapsulation)하는 기능을 한다.
본 발명에 의한 동기화데이터(암호화된 메시지원문 및/또는 메시지 다이제스트)의 업로드 또는 다운로드에 사용되는 전송 프로토콜은 해당 데이터 통신장비가 PC 또는 노트북인 경우에는 일반적인 TCP/IP(Transfer Control Protocol / Internet Protocol) 또는 UDP(User Datagram Protocol)이 이용될 수 있으며, 대상 장비가 휴대폰 또는 PDA인 경우에는 최근 거의 표준으로 자리잡은 WAP(Wireless Application Protocol)을 이용할 수도 있으나 이에 제한되는 것은 아니다.
이러한 동기화 서버는 도스(DOS), 윈도우(WINDOWSTM), 리눅스(LinuxTM), 유닉스(UNIX), 매킨토시(Macintosh)등의 운영체제에 따라 다양하게 제공되고 있는 웹서버 프로그램을 이용하여 구현될 수 있으며, 대표적인 것으로는 윈도우 환경에서 사용되는 웹사이트(Website), TTPS와 유닉스환경에서 사용되는 CERN, NCSA, APACHE등이 있다. 그러나, 이러한 서버(server)는, 통상적인 의미의 웹서버 프로그램 이외에도, 상기 서버상에서 동작하는 일련의 응용 프로그램(application program)을 포함하고, 인터넷과 같은 컴퓨터 네트워크를 이용하여 각 데이터통신장비와, 데이터베이스 및 각 모듈 사이를 연결·중개해 주는 소정의 시스템을 포함하는 넓은 개념으로 이해되어야 할 것이다. 동기화 서버에 포함되는 각 수단 또는 모듈들은 독립된 응용 프로그램(Application program) 또는 하나의 프로그램에 포함되는 프로그램 모듈(또는 프로시저;Procedure)과 같이 소프트웨어적으로 구현되는 것이 일반적이지만, 하드웨어적으로 구현될 수도 있다.
데이터베이스(15, 23)에는 회원의 인적사항 등과 같은 사용자 정보, 사용자가 선택하여 등록한 데이터 통신 장비 정보 및 동기화 대상 파일 정보등이 회원별로 구별되어 저장되어 있으며, 동기화 대상 데이터 즉, 암호화된 메시지원문 (및 메시지 다이제스트)이 회원별로 저장·관리된다. 이러한 데이터베이스는 목적에 따라 회원정보 DB, 동기화 데이터 DB등으로 구분되어 구현될 수 있으며, 본 발명에서의 "데이터베이스"라는 용어는 본 발명의 구현에 필요한 정보를 포함하고 있는 하나의 모듈 또는 통합 구현되는 데이터베이스를 모두 포함하는 개념이다.
사용자 정보의 가능한 필드(field)는 회원의 ID, 공개키, 비밀번호, 전화번호, 전자메일, 직업, 취미 등의 인적사항이 될 수 있으며, 데이터 통신장비 정보는 장비명, 장비 타입, OS, 구조, 사용하고 있는 응용 프로그램 목록 등의 필드를 가질 수 있다. 동기화 대상 정보의 가능한 필드는 장비별 파일/디렉토리 종류, 파일/디렉토리 위치, 파일/디렉토리 크기 등이 될 수 있다.
전술한 데이터베이스(15, 23)는 컴퓨터 시스템의 저장수단에 구현되는 데이터구조를 의미하는 것으로서, 오라클(Oracle), 인포믹스(Informix), 사이베이스(Sybase), DB2와 같은 관계형 데이터베이스 관리 시스템(RDBMS)이나, 젬스톤(Gemstone), 오리온(Orion), O2 등과 같은 객체 지향 데이터베이스 관리 시스템(OODBMS)을 이용하여 본 발명의 목적에 맞게 구현될 수 있으며, 전술한 바와 같은 적당한 필드(field)들을 가지고 있다.
또한, 도시하지는 않았지만, 제 1 및 제 2 방법을 수행하는 데이터 통신장비 내에는 비밀키(또는 공개키-개인키 조합)에 대한 정보를 포함하고 있고, 해쉬함수를 이용하여 메시지 다이제스트를 추출하고, 추출된 메시지 다이제스트 및 메시지 원문을 암호화하기 위한 프로세서(processor)가 포함되어 있어야 한다. 또한, 동기화가 클라이언트측에서 일어나는 제 1 방법의 경우에는 데이터의 동기화를 수행하기 위한 충돌해결 루틴등을 포함하고 있어야 한다. 이러한 프로세서등은 하드웨어 또는 소프트웨어적으로 구현될 수 있으며, PC, PDA, 휴대폰 등에 설치되는 각종 소프트웨어들은 Visual C++, Visual Basic, Java와 같이 적당한 프로그래밍 언어로 작성된 소프트웨어로 구현될 수 있지만, 위의 프로그래밍 언어에 한정되는 것은 아니다. 제 3 방법을 수행하기 위한 데이터 통신장비는 사용자의 인증서, 공개키 및 개인키를 구비하고 있으며, 개인키를 이용하여 동기화 서버로부터 전송된 메시지원문을 복호화할 수 있는 기능을 구비하고 있다.
이하, 데이터 통신장비로의 데이터 전송 및 동기화에 대한 상세한 사항은 제2000-0039327호 한국특허출원에 기재된 기술을 이용하는 것으로 한다.
도 3은 본 발명에 의한 인터넷 상에서의 보안 데이터 관리 및 동기화 방법중 동기화가 클라이언트측(통신장비 사용자측)일어나는 제 1 방법에 대한 흐름도이다.
이하에서는 용어의 통일 및 단축을 위하여, 메시지원문은 MS, 메시지 다이제스트는 MD, 이들이 결합된 형태를 DATA라고 칭하며, 대상이 암호화된 경우에는 아래첨자 e(encrypted)를 복호화된 경우에는 아래첨자 d(decrypted)를 붙이는 것으로 한다. 클라이언트와 서버 사이에 SSL(Secure Socket Layer)과 같은 세션(Session)이 연결되고(S311), 사용자가 자신의 인증서(certificate)를 서버에 제공하고 서버가 인증함으로써 서버로의 접근권한을 얻는다(S312). 사용자가 서버로 특정 데이터의 동기화를 요청하면(S313), 서버는 데이터베이스에 저장되어 있는 해당 데이터를 통신장비(클라이언트)로 전송하여 주며, 이 때 전송되는 데이터는 비밀키(Secret key)로 암호화된 메시지 원문(MSe) 및 그에 대한 암호화된 메시지 다이제스트(MDe)이다(S314).
통신장비측에서는 수신받은 메시지 다이제스트(MDe)를 복호화하여 수신 메시지 다이제스트(MDdr이라 칭함)를 생성하고, 수신받은 암호화된 메시지 원문(MSe) 또는 복호화된 메시지 원문(MSd)을 해싱(hashing)하여 산출 메시지 다이제스트(MDdc라 칭함)을 추출한 뒤(S315), 이 두 메시지 다이제스트(MDdr 및 MDdc)가 일치하는 지 비교하여 일치하는 경우에 데이터의 무결성을 인정한다(S316). 이 때 수신받은 암호화 메시지 원문(MSe)을 해싱할 지, 일단 메시지 원문을 복호화 한 후 그를 해싱할 지는 최초 사용시 서버와 사용자 사이에서 정한 기준, 즉 데이터베이스에 저장되는 암호화 메시지 다이제스트가 암호화된 메시지 원문(MSe)에 대한 것인 지, 아니면 복호화된 평문 메시지 원문(MSd)에 대한 것인지에 따라 정하여 진다. 그러나, 암호화/복호화의 속도를 고려할 때 암호화된 메시지원문(MSe)을 해싱하여 메시지 다이제스트를 생성하는 것이 바람직하다.
통신장비는 메시지에 대한 무결성이 확인되면 메시지 원문을 복호화하고(S318), 클라이언트측에 있는 동기화 로직에 따라 해당 메시지 원문을 동기화한다(S319). 이 후에 사용자가 추가할 데이터가 있는 경우(예를 들어 새로운 사람의 연락처를 주소록에 추가하고 싶은 경우와 같이) 새로운 데이터(메시지원문)를 통신장비에 입력하면, 통신장비는 입력된 정보를 기초로 동기화 로직을 이용하여 다시 한 번 데이터(메시지원문)를 동기화한다(S320, S321). 이후에 통신장비는 새로이 동기화된 데이터를 서버로 보내 저장하기 위하여, 갱신된 새로운 메시지 원문(또는 이를 먼저 암호화한 후, 암호화한 메시지 원문)을 해싱하여 추출한 메시지 다이제스트를 추출한 자신의 비밀키로 암호화하고, 이를 암호화된 메시지 원문(MSe)과 함께 서버로 전송한다(S322, S323). 서버는 갱신된 새로운 데이터를 수신하여 데이터베이스에 있는 해당 데이터를 새로운 데이터로 갱신한다(S324). 도면에서, 클라이언트측에서 수행되는 단계에는 "C+일련번호", 서버측에서 수행되는 단계에는 "S+일련번호"를 병기하였다.
이러한 제 1 방법을 요약하면, 일단 서버에 있는 최신 내용을 다운로드 받아 해당 통신장비의 데이터를 한 번 동기화하고, 새로운 데이터가 있는 경우 이를 통신장비에 저장하면서 동시에 서버로 보내 서버의 데이터베이스를 갱신하는 방식으로 수행된다. 즉, 데이터의 동기화가 클라이언트(통신장비)측에서 일어나는 방식으로, 클라이언트측에 동기화 로직(예를 들어, 동기화방식, 충돌해결 루틴 등)이 구비되어 있어야 한다. 이러한 동기화 로직은, 한 개인의 데이터 동기화시에는 가장 최근의 정보를 가장 우선적으로 저장하는 "시간기반(time-based)" 동기화 로직이 가장 일반적으로 사용되지만, 예를 들어, 특정장비의 데이터에 우선순위를 주는 동기화 방식 등이 이용될 수도 있다.
도 4는 본 발명에 의한 인터넷 상에서의 보안 데이터 관리 및 동기화 방법중 동기화가 서버측에서 일어나는 제 2 방법에 대한 흐름도이다.
서버와 클라이언트의 연결부터 메시지의 무결성 확인까지는 제 1 방법과 동일하므로 상세한 설명은 생략한다(S411∼S417). 다만, 대칭키 기반의 비밀키만을 암호화/복호화에 이용했던 제 1 방법과는 달리 공개키 기반의 공개키-개인키 조합을 사용할 수 있다. 이러한 공개키 기반을 사용하는 경우에는 동기화할 데이터를 여러 사용자가 그룹형태로 공유하고자 하는 경우에 유용하게 사용되며, 이에 대해서는 도 7과 관련하여 상세하게 설명한다.
전송된 메시지의 무결성이 확인되면, 데이터 통신장비는 저장하고 있는 최신의 메시지원문(또는 사용자에 의하여 선택된 동기화 데이터)을 키(개인키 또는 비밀키)로 암호화하여 암호화 메시지원문(MSe)을 생성한 후, 서버로 전송한다(S418). 서버는 제어모듈 내에 있는 동기화 로직(logic)에 의하여 수신 암호화 메시지원문으로 데이터베이스 내의 정보를 갱신함으로써 데이터를 동기화한다(S419). 이러한 동기화 로직은, 이미 저장되어 있는 데이터 중에서 수신된 메시지 원문에 대응되는 데이터가 있을 경우, 즉 데이터의 충돌이 있는 경우, 어떠한 것을 우선적으로 저장할 것인지에 대한 충돌처리 루틴을 포함하고 있으며, 이러한 충돌처리에 대한 사항은 제2000-0039327호 한국특허출원에 상세하게 기재되어 있다. 물론, 수신된 메시지 원문에 대응되는 이전 정보가 없을 경우에는 새로운 정보로 저장하면 된다.
서버는 동기화된(최종적으로 DB에 저장된 암호화된 메시지 원문) 메시지 원문을 통신장비로 전송하고(S420), 통신장비는 동기화된 메시지 원문을 수신하여 그를 공개키 또는 비밀키로 복호화한 후 저장함으로써 통신장비로의 데이터 동기화가 종료한다(S421). 통신장비는 동기화된 메시지원문(암호화된 메시지원문 또는 복호화된 메시지원문)을 해싱하여 메시지 다이제스트(MDd)를 추출한 후(S422), 개인키 또는 비밀키로 암호화하여 암호화 메시지 다이제스트(MDe)를 생성하고, 이를 서버로 전송한다(S423). 서버는 동기화된 메시지원문에 대응하는 암호화된 메시지 다이제스트(MDe)를 데이터베이스의 해당 영역에 저장함으로써 모든 단계가 종료된다(S424). 데이터베이스에는 이미 동기화된 메시지원문(암호화된)이 저장되어 있기 때문에, 그에 대응하도록 수신된 메시지 다이제스트를 저장하기만 하면 된다.
이러한 제 2 방법은 요약하면, 사용자가 선택한 동기화 대상 데이터에 대응하여 서버의 데이터베이스에 저장되어 있는 데이터(암호화된 메시지원문 및 메시지 다이제스트)를 수신하여 무결성을 검사하고, 갱신할(동기화할) 메시지원문을 암호화하여 서버로 보낸다. 서버가 동기화를 수행한 후, 동기화된 메시지원문을 다시 클라이언트측으로 전송하고, 클라이언트는 그를 수신하여 저장함으로써 클라이언트측의 데이터 갱신이 달성된다. 클라이언트는 동기화된 메시지원문에 대한 메시지 다이제스트를 추출하고 암호화하여 서버로 전송하며, 서버는 암호화된 메시지 다이제스트를 동기화된 메시지원문과 함께 저장한다.
도 5는 본 발명에 의한 보안 데이터 관리 및 동기화방법 중 제 3 방법이 수행되는 흐름을 도시하는 것이다.
사용자가 자신이 가진 통신장비 중 하나를 이용하여 금융기관 서버, 인증기관 서버 등의 외부 정보제공 서버와 접속하고(S511), 외부 정보제공 서버에게 자신을 인증할 수 있는 수단인 자신의 인증서와 함께, 외부 정보제공 서버에 저장된 자신과 관련된 정보 중 특정한 정보를 동기화 서버로 전송해달라는 요청을 한다(S512). 외부 정보제공 서버는 사용자가 인증된 경우에 한하여(S513), 특정한 정보(메시지원문)를 추출하고, 그를 해당 사용자의 공개키로 암호화하여 동기화서버로 전송하며(S514), 동기화서버는 전송받은 (암호화된) 메시지원문으로 데이터베이스의 해당 영역을 갱신한다(S515).
이후에 그 사용자가 통신장비를 이용하여 동기화 서버에 접속하고, 특정 메시지원문에 대한 동기화를 요청하면(S516), 동기화 서버는 사용자 인증을 거쳐 해당되는 (암호화된)메시지원문을 통신장비로 전송하여 준다(S517). 통신장비는 사용자의 개인키를 이용하여 메시지원문을 복호화하고 저장함으로써 여러 장비의 데이터를 안전하게 동기화할 수 있다(S518, S519).
이 때, 동기화서버가 정보제공 서버로부터 암호화된 메시지원문을 받았을 때 그것이 어느 사용자의 어떠한 종류의 정보인지, 즉 데이터베이스의 어느 영역에 해당되는 지 인식할 수 있어야 하므로(왜냐하면, 데이터가 암호화되어 있어 동기화 서버는 그 내용을 알 수 없다), 외부 정보제공 서버는 사용자의 요청 또는 자체적인 로직에 의하여 메시지 원문의 종류를 나타내는 인식코드를 부여하여야 한다.
서버가 암호화된 메시지원문의 종류를 인식하도록 하기 위하여, 예를 들면, 후술할 데이터의 형식의 일예에서 "도메인명"이나 "객체명" 등의 항목은 암호화하지 않고, 단지 "필드"와 "내용(값)"만을 암호화하는 방식을 이용할 수도 있으며, 또는 DTD(Data Type Definition)을 통하여 사용자가 임의로 정의한 데이터 타입으로 암호화한 메시지원문을 변환하고 XML(eXtensible Mark-up Language)를 이용하여 전송문서를 만드는 방법을 이용하여도 된다.
사용자가 외부 정보제공 서버로 하는 메시지원문 전송요청시 전자서명(Digital Signature)을 첨부함으로써 부인방지 및 무결성을 보장할 수 있도록 하는 것이 바람직하다. "전자서명"이란 사용자가 외부 정보제공 서버로 하는 요청내용에 대한 메시지 다이제스트를 해당 사용자의 개인키로 암호화한 것을 의미하며, 이를 수신한 외부 정보제공 서버는 사용자의 공개키로 복호화한 메시지 다이제스트와 요청내용으로부터 추출한 메시지 다이제스트를 비교함으로써 부인방지 및 무결성을 확인할 수 있다.
외부 정보제공 서버의 종류 및 메시지원문의 종류에는 제한은 없으나, 그 예를 살펴보면 외부 정보제공 서버는 은행, 증권사등의 서버이고 메시지원문은 해당 사용자의 계좌번호, 잔고, 특정 주식의 주가 등이 될 수 있으며, 또한 외부 정보제공 서버는 인증기관(Certificate Authority)이고 메시지원문은 해당 사용자 또는 타인의 인증서(Digital Certificate) 또는 해당 인증서의 유·무효 여부를 알 수 있는 "인증서 폐지목록(CRL)"일 수 있다.
도 6은 본 발명에 의한 보안 데이터 관리 및 동기화방법에 이용되는 데이터의 한 형식을 테이블 형태로 도시한 것이다.
도면에 예시된 데이터는 크게, 도메인명, 객체명, 필드명, 내용 등으로 이루어지는 메시지원문과, 각각의 메시지 원문에 대한 메시지 다이제스트(MDe 또는 MDd)로 이루어져 있다. "도메인명"은 데이터를 분류하는 가장 큰 카테고리로서, 도면에서는 "연락처"정보, "은행계정"정보, "디지털 인증서"에 대한 정보, "일반 개인 작업내용"에 대한 정보등이 도시되어 있다. 이러한 "도메인명"의 분류는 임의로 이루어질 수 있다. 각각의 도메인명에는 소분류단위로 "객체"와 "필드명", 및 객체-필드에 해당되는 데이터의 "내용" 항목이 추가된다. "연락처" 도메인명을 예로 들면, "객체"는 개인의 이름을, "필드명"은 전화번호, 전자메일 주소와 같은 연락처의 종류를, "내용"은 그에 해당되는 값(value)을 나타낸다. "디지털 인증서"는 해당 사용자의 친구, 관련자 또는 거래기관의 공인된 인증서를 포함하고 있으며, 이러한 인증서는 예를 들면, IETF 의 보안영역(Security Area)의 공개키 기반(Public-Key Infrastructure) 인증서 양식인 X.509 포멧 또는 RFC 2459 포맷일 수 있으나 이에 한정되는 것은 아니다.
이 때, 동기화의 대상이 되는 메시지원문의 기본 단위는 "도메인명" 단위인 것이 바람직하지만, 더욱 더 세부적으로 "객체" 단위일 수도 있다. 동기화되는 메시지원문의 기본 단위가 "도메인명"이라 하면, 예를 들어 "연락처"에 해당되는 정보 전체에 대한 메시지 다이제스트가 클라이언트에서 추출되며 클라이언트에서 추출되며, 이 값은 다시 사용자의 개인키 또는 비밀키로 암호화되어 다른 값 (MDe, 도면에서는 "7979ace980e")으로 변환된다. 즉, 서버의 데이터베이스에 저장되는 데이터는, 예를 들어, "연락처"에 포함되는 데이터(메시지원문; MSd)를 암호화한 암호화된 메시지원문(MSe)과, 그에 대한 암호화된 메시지 다이제스트(MDe)이다. 이 때 메시지원문 전체가 암호화될 필요는 없으며, 예를 들어, "연락처"라는 도메인명은 분류단위(서버가 데이터를 분류하여 저장하기 위한 인식단위)로 사용되기 위하여 암호화되지 않고, 그 하부 정보들만 암호화될 수 있다.
그러나, 본 발명에 의하여 동기화되는 데이터는 그 종류에 제한이 있는 것은 아니며, 도면에 예시된 "도메인명"을 따르는 분류 이외에도 데이터 통신 장비에 저장되고 이용될 수 있는 어떠한 정보도 포함될 수 있다.
도 7은 본 발명에 의한 보안 데이터 관리 및 동기화방법의 각 단계에서 데이터(메시지원문 및 메시지 다이제스트)가 어떻게 변환되는 지를 도시하는 도면이다.
도 6a는 본 발명에 의한 제 1 방법 및 제 2 방법에서의 메시지 무결성 확인단계에 해당되는 것으로, 서버로 부터 사용자가 요구한 데이터(DATAe=MSe+MDe)가 전송되고, 통신장비는 수신된 암호화 메시지 다이제스트(MDe)를 자신의 비밀키 또는 공개키로 복호화하여 수신 메시지 다이제스트(MDdr)을 생성한다. 그 다음으로 암호화된 메시지원문 또는 복호화된 메시지원문을 해싱하여 산출 메시지 다이제스트(MDdc)를 생성한 후 이 둘(MDdr, MDdc)의 동일성을 비교함으로써 데이터의 무결성(무변조)을 확인한다.
전술한 바와 같이 데이터의 암호화 및 복호화에는 대칭키 기반의 비밀키가 사용되는 것이 일반적이지만, 동기화할 데이터를 여러 사용자가 그룹형태로 공유하고자 하는 경우에는 공개키 기반의 공개키-개인키 조합이 유용하게 사용된다. 그룹의 구성원들은 각각 다른 공개키와 개인키를 가지고 있고, 메시지원문 또는 메시지 다이제스트를 암호화할 때는 각자의 개인키를 사용하고 복호화할 때에는 그룹 구성원 전체의 공개키(공개키 1, 2 ‥‥ n; 이를 "공개키링(ring)"이라 칭한다)를 사용한다. 즉, 무결성 검사를 위하여 또는 메시지원문의 복원을 위하여 복호화하는 경우에는 어느 구성원이 해당 데이터를 업로드했는 지 알 수 없기 때문에, 그룹 구성원 전체의 공개키를 모두 사용하여 순차적으로 복호화한다. 이러한 방법을 사용하면 메시지원문은 데이터를 업로드한 구성원의 공캐키를 사용하는 경우에만 의미있는 정보로 복호화 될 수 있고, 무결성 검사에서는 공개키링 중에서 하나에 의하여 복호화된 메시지 다이제스트(MDdr)가 산출 메시지 다이제스트(MDdc)와 일치하면 무결성을 인정한다.
반면에, 이렇게 그룹의 데이터 동기화에 하나의 공통된 비밀키를 이용하게 되면 그 비밀키가 구성원 중 하나에 의하여 유출되는 경우, 동기화되던 그룹 전체의 데이터가 유출 및 변조될 수 있다는 우려가 있다. 그러나, 이러한 경우에, 전술한 바와 같이 공개키-개인키를 사용하면 비록 한 구성원의 개인키가 공개되더라도 그 구성원이 업로드한 데이터만 유출되고, 나머지의 그룹 정보는 안전하게 유지될 수 있다.
이러한 공개키 기반의 그룹 데이터 동기화는 제 1 방법보다 제 2 방법에 더 유용하게 적용될 수 있다. 제 1 방법의 경우에는 동기화가 클라이언트측에서 일어나므로, 모든 그룹 구성원의 데이터 통신장비가 같은 동기화 로직을 사용하여야 한다는 제한이 있으나, 제 2 방법은 동기화가 서버측에서 일어나고 클라이언트측에서는 데이터의 암호화/복호화만 일어나기 때문에 전술한 바와 같은 제한이 없기 때문이다.
그러나, 이러한 공개키 기반의 그룹 데이터 동기에서의 "공개키"는 해당 그룹의 구성원들 사이에만 공개되어 있고, 다른 타인에게는 공개되어서는 안된다는 점에서, 통상적인 "공개키"의 개념과는 약간 상이하다.
도 7b는 제 1 방법에서의 추가(갱신) 정보의 서버로의 업로드 단계를 도시하는 것으로, 서버로부터 전송된 데이터를 기초로 클라이언트측(통신장비측)에서 데이터의 무결성을 확인하고 데이터를 동기화한 후, 새로운 메시지원문이 있을 경우에 대한 것이다.
새로운 메시지원문(MSd)을 해싱하여 메시지 다이제스트(MDd)를 생성하고, 메시지원문 및 메시지 다이제스트를 비밀키로 암호화하여 암호화 메시지원문(MSe) 및 암호화 메시지 다이제스트(MDe)를 생성한다. 이 둘을 결합하여 암호화 데이터 패키지(DATAe = MSe+MDe)를 생성한 후 서버로 전송한다. 서버는 전송된 암호화 패키지를 데이터베이스의 해당 영역에 저장·갱신한다. 이로써 서버측의 데이터베이스에는 항상 가장 최신의 데이터가 저장되어 있게 된다.
도 7c는 제 2 방법에 있어서 데이터 동기단계에 대한 것으로, 서버로부터 저장되어 있는 메시지원문 및 메시지 다이제스트를 전송받아 무결성을 확인한 후, 이를 통신장비에 바로 저장하지 않고, 통신장비에 있는 가장 최신의 새로운 메시지원문을 사용자의 개인키 또는 비밀키로 암호화하여 암호화 메시지원문(MSe)을 생성한 후, 이를 서버로 전송한다. 서버는 전송받은 새로운 메시지원문과 이미 저장되어 있는 대응 메시지원문을 기초로 동기화 로직에 따라 메시지원문을 동기화함으로써 동기화 메시지원문(MSesync)을 생성한 후 통신장비(클라이언트)로 전송한다. 통신장비는 전송받은 동기화 메시지원문을 사용자의 공개키 또는 비밀키로 복호화한 후 저장함으로써 데이터의 동기화를 수행하며, 이어서 암호화된 또는 복호화된 동기화 데이터(MSesync 또는 MSdsync)를 해싱하여 새로운 메시지 다이제스트(MDd)를 추출한다. 새로이 추출된 메시지 다이제스트(MDd)를 비밀키 또는 사용자의 개인키로 암호화하여 암호화 메시지 다이제스트(MDe)를 생성한 후, 이를 서버로 전송하여 저장하게 한다. 따라서 서버에는 통신장비측에 저장되어 있는 것과 동일한 동기화 메시지원문(단, 암호화되어 있음; MSesync)과 그에 대한 암호화 메시지 다이제스트(MDe)가 저장되어 있게 된다.
본 발명에 의한 방법을 이용하면, 한 사용자 또는 그룹 구성원이 보유하고 있는 복수의 데이터 통신장비의 데이터를 인터넷 상의 서버에 일괄적으로 저장·관리하고 사용자의 요구에 따라 해당 데이터를 제공함에 있어서, 대칭형 또는/및 공개키 기반의 암호화와 메시지 다이제스트(또는 전자서명)를 이용함으로써 개인은 서버에 저장된 개인정보(파일, 연락처, 전자메일, 패스워드, 전자인증, 계좌정보 등)의 접근성, 기밀성, 무결성을 유지할 수 있고, 서버는 고객의 인증과 부인방지를 달성할 수 있다.
또한, 데이터를 저장·관리하는 서버(관리자)에게도 데이터의 내용이 공개되지 않으면서, 한 사용자 또는 그룹 구성원이 보유하고 있는 복수의 데이터 통신장비의 데이터를 일괄적으로 관리하고 동기화(Synchronization)할 수 있다.
또한, 보안이 유지된 상태에서 개인정보를 제공하는 서버로부터 최신 정보를 동기화 서버로 전송하고, 사용자의 요청에 따라 해당 정보를 개인의 여러 데이터 통신장비로 동기화할 수 있다.

Claims (12)

  1. 동기화 데이터를 저장하는 데이터베이스와, 데이터베이스를 관리하는 동기화서버, 1 이상의 동기용 데이터 통신장비, 상기 DB, 서버 및 통신장비를 연결하는 컴퓨터 네트워크 연결채널을 이용한 데이터 동기화방법에 있어서,
    데이터베이스에 저장되어 있는 동기화 데이터 각각은 키(key)로 암호화된 메시지원문 필드 및, 암호화된 메시지 원문 및 암호화 되지 않은 메시지 원문 중 하나에 대하여 해쉬함수에 의하여 추출된 메시지 다이제스트로서 키로 암호화되어 있는 암호화 메시지 다이제스트 필드로 이루어져 있으며,
    통신장비 사용자가 통신장비 중 하나를 이용하여 서버에 데이터 동기화 요청을 하는 단계;
    서버는 상기 데이터베이스를 검색하여 요청받은 데이터를 상기 통신장비로 전송하는 단계;
    통신장비는 전송받은 암호화 데이터의 일부 또는 전부를 복호화함으로써 데이터가 훼손되지 않았음을 확인하는 무결성 확인단계; 및,
    무결성이 확인된 경우에 한하여 통신장비가 저장된 해당 데이터를 전송받은 데이터중 메시지 원문 필드 부분으로 갱신하는 데이터 동기 단계;로 이루어지는 것을 특징으로 하는 인터넷 상에서의 보안 데이터 관리 및 동기화 방법.
  2. 제 1 항에 있어서, 업데이트 하려는 새로운 데이터가 있는 경우에는 상기 데이터 동기단계 이후에,
    통신장비가 새로운 메시지 원문을 키로 암호화하고, 암호화된 새로운 메시지 원문에 대한 메시지 다이제스트를 추출하여 키로 암호화한 후, 암호화된 새로운 메시지원문과 그에 대한 암호화 메시지 다이제스트를 서버로 전송하여 갱신·저장하게 하는 데이터 업데이트 단계를 추가로 포함하는 것을 특징으로 하는 인터넷 상에서의 보안 데이터 관리 및 동기화 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 키(key)는 대칭키 기반의 암호화방식에 이용되는 개인의 비밀키(secret key)인 것을 특징으로 하는 인터넷 상에서의 보안 데이터 관리 및 동기화 방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 무결성 확인단계에서는,
    통신장비가 전송받은 암호화 데이터 중에서 메시지 다이제스트 필드를 복호화하고, 암호화된 메시지원문 필드 부분 및 암호화되지 않은 메시지 원문 필드 부분 중 하나의 메시지 다이제스트를 추출한 후, 복호화된 수신 메시지 다이제스트와 추출된 산출 메시지 다이제스트를 비교하여 동일한 경우에 한하여 무결성을 인정하는 것을 특징으로 하는 인터넷 상에서의 보안 데이터 관리 및 동기화 방법.
  5. 동기화 데이터를 저장하는 데이터베이스와, 데이터베이스를 관리하는 동기화서버, 1 이상의 동기용 데이터 통신장비, 상기 DB, 서버 및 통신장비를 연결하는 컴퓨터 네트워크 연결채널을 이용한 데이터 동기화방법에 있어서,
    데이터베이스에 저장되어 있는 동기화 데이터 각각은 키(key)로 암호화된 메시지원문 필드 및, 암호화된 메시지 원문 및 암호화 되지 않은 메시지 원문 중 하나에 대하여 해쉬함수에 의하여 추출된 메시지 다이제스트로서 키로 암호화되어 있는 암호화 메시지 다이제스트 필드로 이루어져 있으며,
    통신장비 사용자가 통신장비 중 하나를 이용하여 서버에 데이터 동기화 요청을 하는 단계;
    서버는 상기 데이터베이스를 검색하여 요청받은 데이터를 상기 통신장비로 전송하는 단계;
    통신장비는 전송받은 암호화 데이터의 일부 또는 전부를 복호화함으로써 데이터가 훼손되지 않았음을 확인하는 무결성 확인단계;
    무결성이 확인된 경우에 한하여, 통신장비의 최신 메시지 원문을 키로 암호화하여 서버로 전송하는 단계;
    서버는 소정의 동기화 로직에 의하여 암호화된 최신 메시지 원문과 종래의 대응 메시지를 동기화하여 암호화된 동기화 메시지원문을 생성하고, 통신장비로 전송하는 단계;
    통신장비는 암호화된 동기화 메시지원문에 대한 메시지 다이제스트를 추출하고 키로 암호화하여 서버로 전송하는 단계;
    서버는 전송받은 암호화된 메시지 다이제스트로 데이터베이스의 해당 메시지 다이제스트를 갱신·저장하는 단계;로 이루어지는 것을 특징으로 하는 인터넷 상에서의 보안 데이터 관리 및 동기화 방법.
  6. 제 5 항에 있어서,
    상기 무결성 확인단계에서는,
    통신장비가 전송받은 암호화 데이터 중에서 메시지 다이제스트 필드를 복호화하고, 암호화된 메시지원문 필드 부분 및 암호화되지 않은 메시지 원문 필드 부분 중 하나의 메시지 다이제스트를 추출한 후, 복호화된 수신 메시지 다이제스트와 추출된 산출 메시지 다이제스트를 비교하여 동일한 경우에 한하여 무결성을 인정하는 것을 특징으로 하는 인터넷 상에서의 보안 데이터 관리 및 동기화 방법.
  7. 제 5 항 또는 제 6 항에 있어서,
    상기 키(key)는 대칭키 기반의 암호화방식에 이용되는 개인의 비밀키(secret key)인 것을 특징으로 하는 인터넷 상에서의 보안 데이터 관리 및 동기화 방법.
  8. 제 5 항 또는 제 6 항에 있어서,
    상기 키(key)는 공개키 기반의 암호화방식에 이용되는 공개키(public key) 및 개인키(private key)이며,
    상기 메시지원문과 메시지 다이제스트의 암호화에서는 데이터를 동기화하려는 1 이상의 그룹사용자 각각의 개인키가 이용되고, 복호화에는 1 이상인 그룹사용자의 공개키 전체가 이용되는 것을 특징으로 하는 인터넷 상에서의 보안 데이터 관리 및 동기화 방법.
  9. 외부 정보제공 서버와, 사용자의 공개키로 암호화된 동기화 대상 메시지원문을 저장하는 데이터베이스와, 데이터베이스를 관리하는 동기화서버, 1 이상의 동기용 데이터 통신장비, 상기 DB, 서버들 및 통신장비를 연결하는 인터넷을 이용한 방법에 있어서,
    통신장비 사용자가 통신장비 중 하나를 이용하여 외부 정보제공 서버에 접속하고, 자신의 인증서 제공과 함께 상기 동기화 서버로 특정 메시지원문을 전송하라는 요청을 하는 단계;
    외부 정보제공 서버는 사용자 인증이 된 경우에 한하여, 특정된 메시지원문을 추출하고, 해당 사용자의 공개키로 암호화하여 상기 동기화 서버로 전송하는 단계;
    상기 동기화 서버는 전송받은 암호화 메시지원문을 데이터베이스의 해당 영역에 갱신·저장하는 메시지원문 동기화 단계;
    상기 사용자가 통신장비를 이용하여 상기 동기화 서버에 접속하고, 상기 특정 메시지원문의 동기화를 요청하는 단계;
    상기 동기화 서버가 해당되는 암호화 메시지원문을 상기 통신장비로 전송하고, 이를 수신한 통신장비가 사용자의 개인키로 메시지원문을 복호화하여 갱신·저장하는 단계;로 이루어지는 것을 특징으로 하는 인터넷 상에서의 보안 데이터관리 및 동기화 방법.
  10. 제 9 항에 있어서,
    통신장비 사용자가 상기 동기화 서버로 특정 메시지원문을 전송하라는 요청을 할 때, 상기 인증서 이외에 요청 내용에 대한 전자서명을 추가로 제공하는 것을 특징으로 하는 인터넷 상에서의 보안 데이터 관리 및 동기화방법.
  11. 제 9 항 또는 제 10 항에 있어서,
    상기 외부 정보제공 서버는 금융기관 서버이고, 제공되는 특정 메시지원문은 사용자가 선택한 금융정보인 것을 특징으로 하는 인터넷 상에서의 보안 데이터 관리 및 동기화방법.
  12. 제 9 항 또는 제 10 항에 있어서,
    상기 외부 정보제공 서버는 인증기관 서버이고, 제공되는 특정 메시지원문은 상기 사용자가 선택한 자의 인증서(Digital Certificate) 및 인증서폐지목록(Certificate Revocation List; CRL) 중 하나 이상인 것을 특징으로 하는 인터넷 상에서의 보안 데이터 관리 및 동기화방법.
KR10-2000-0047699A 2000-08-18 2000-08-18 암호화 및 전자서명을 이용한 인터넷상에서의 보안 데이터관리 및 동기화 방법 KR100380335B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0047699A KR100380335B1 (ko) 2000-08-18 2000-08-18 암호화 및 전자서명을 이용한 인터넷상에서의 보안 데이터관리 및 동기화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0047699A KR100380335B1 (ko) 2000-08-18 2000-08-18 암호화 및 전자서명을 이용한 인터넷상에서의 보안 데이터관리 및 동기화 방법

Publications (2)

Publication Number Publication Date
KR20000072218A true KR20000072218A (ko) 2000-12-05
KR100380335B1 KR100380335B1 (ko) 2003-04-16

Family

ID=19683700

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0047699A KR100380335B1 (ko) 2000-08-18 2000-08-18 암호화 및 전자서명을 이용한 인터넷상에서의 보안 데이터관리 및 동기화 방법

Country Status (1)

Country Link
KR (1) KR100380335B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100485243B1 (ko) * 2001-05-28 2005-04-22 조배수 보안시스템을 이용하는 온라인 계좌 이체 거래를 통한 납부방법
KR100641824B1 (ko) * 2001-04-25 2006-11-06 주식회사 하렉스인포텍 대칭키 보안 알고리즘을 이용한 금융정보 입력방법 및 그이동통신용 상거래 시스템
KR100724356B1 (ko) * 2001-03-31 2007-06-04 엘지전자 주식회사 사용자 선호 프로그램 안내 방법
KR100905531B1 (ko) * 2002-03-30 2009-07-01 주식회사 클래러스 모바일 데이터 스토리지센터 운영시스템 및 운영방법과모바일 데이터 스토리지센터 저장정보 기반 모바일 서비스제공 방법
KR100910075B1 (ko) 2006-05-25 2009-07-30 가부시끼가이샤 도시바 데이터 처리 장치, 데이터 처리 방법 및 데이터 처리용 컴퓨터 프로그램이 기록된 기록 매체
US7721102B2 (en) 2005-06-20 2010-05-18 Sungkyunkwan University Foundation For Corporate Collaboration System and method for detecting exposure of OCSP responder's session private key

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10224763A (ja) * 1997-02-06 1998-08-21 Matsushita Electric Ind Co Ltd 暗号化装置および復号化装置および暗号化復号化装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100724356B1 (ko) * 2001-03-31 2007-06-04 엘지전자 주식회사 사용자 선호 프로그램 안내 방법
KR100641824B1 (ko) * 2001-04-25 2006-11-06 주식회사 하렉스인포텍 대칭키 보안 알고리즘을 이용한 금융정보 입력방법 및 그이동통신용 상거래 시스템
KR100485243B1 (ko) * 2001-05-28 2005-04-22 조배수 보안시스템을 이용하는 온라인 계좌 이체 거래를 통한 납부방법
KR100905531B1 (ko) * 2002-03-30 2009-07-01 주식회사 클래러스 모바일 데이터 스토리지센터 운영시스템 및 운영방법과모바일 데이터 스토리지센터 저장정보 기반 모바일 서비스제공 방법
US7721102B2 (en) 2005-06-20 2010-05-18 Sungkyunkwan University Foundation For Corporate Collaboration System and method for detecting exposure of OCSP responder's session private key
KR100910075B1 (ko) 2006-05-25 2009-07-30 가부시끼가이샤 도시바 데이터 처리 장치, 데이터 처리 방법 및 데이터 처리용 컴퓨터 프로그램이 기록된 기록 매체

Also Published As

Publication number Publication date
KR100380335B1 (ko) 2003-04-16

Similar Documents

Publication Publication Date Title
US8233627B2 (en) Method and system for managing a key for encryption or decryption of data
CN106254324B (zh) 一种存储文件的加密方法及装置
US6651166B1 (en) Sender driven certification enrollment system
US6381695B2 (en) Encryption system with time-dependent decryption
US8656177B2 (en) Identity-based-encryption system
US6912657B2 (en) Method and arrangement in a communication network
JP4571865B2 (ja) 識別ベースの暗号化システム
US7366905B2 (en) Method and system for user generated keys and certificates
US5638446A (en) Method for the secure distribution of electronic files in a distributed environment
US6834112B1 (en) Secure distribution of private keys to multiple clients
US20080031458A1 (en) System, methods, and apparatus for simplified encryption
US8824674B2 (en) Information distribution system and program for the same
US20060218400A1 (en) Cryptographic key construct
CN113067699B (zh) 基于量子密钥的数据共享方法、装置和计算机设备
JP4040886B2 (ja) コンテンツ管理システムおよびコンテンツ管理方法
US7266705B2 (en) Secure transmission of data within a distributed computer system
JPH09219701A (ja) 身元確認身分証明書を検索する方法および装置
WO2001052473A1 (en) Secure management of electronic documents in a networked environment
JP2007142504A (ja) 情報処理システム
KR100380335B1 (ko) 암호화 및 전자서명을 이용한 인터넷상에서의 보안 데이터관리 및 동기화 방법
JP2006279269A (ja) 情報管理装置、情報管理システム、ネットワークシステム、ユーザ端末、及びこれらのプログラム
CN111914270A (zh) 基于区块链技术的可编程认证服务方法和系统
KR20010025938A (ko) 인터넷에서 암호화·인증기술을 이용한 보안메일시스템
CN112019553A (zh) 一种基于ibe/ibbe数据共享方法
JP2005217808A (ja) 情報処理装置及び電子文章の封印方法

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

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee