KR100380335B1 - Secure data management and synchronization method on internet using cryptography and digital signature - Google Patents

Secure data management and synchronization method on internet using cryptography and digital signature Download PDF

Info

Publication number
KR100380335B1
KR100380335B1 KR10-2000-0047699A KR20000047699A KR100380335B1 KR 100380335 B1 KR100380335 B1 KR 100380335B1 KR 20000047699 A KR20000047699 A KR 20000047699A KR 100380335 B1 KR100380335 B1 KR 100380335B1
Authority
KR
South Korea
Prior art keywords
data
message
server
synchronization
encrypted
Prior art date
Application number
KR10-2000-0047699A
Other languages
Korean (ko)
Other versions
KR20000072218A (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 KR10-2000-0047699A priority Critical patent/KR100380335B1/en
Publication of KR20000072218A publication Critical patent/KR20000072218A/en
Application granted granted Critical
Publication of KR100380335B1 publication Critical patent/KR100380335B1/en

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

Landscapes

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

Abstract

본 발명은 보안을 유지하면서 인터넷상의 서버에 데이터를 저장·관리하고, 한 개인 또는 그룹 구성원의 여러 데이터 통신장비의 데이터를 동기화(synchronization)함으로써 정보를 공유할 수 있는 방법에 관한 것이다.The present invention relates to a method for sharing information by storing and managing data in a server on the Internet while maintaining security, and synchronizing data of various data communication equipments of an individual or a group member.

동기화할 데이터를 저장·관리하는 동기화 서버에는 각 사용자가 통신장비를 통하여 암호화하여 업로드한 데이터(암호화된 메시지원문과 그 원문에 대한 암호화된 메시지 다이제스트)를 저장하고 있으며, 사용자의 요청에 따라 암호화 데이터를 통신장비로 전송한다. 통신장비는 메시지 다이제스트를 이용하여 데이터의 무결성을 확인하고, 갱신할 새로운 정보가 있는 경우 새로운 메시지원문 및 메시지 다이제스트를 암호화하고 서버로 전송하여 저장한다.The synchronization server, which stores and manages data to be synchronized, stores data uploaded by each user through communication equipment (encrypted message text and encrypted message digest for the text). Send to the communication equipment. The communication equipment checks the integrity of the data using the message digest, encrypts the new message text and the message digest and transmits it to the server when there is new information to be updated.

이로써, 데이터를 저장하고 있는 서버(관리자)에게 조차도 데이터가 공개되지 않은 보안 상태에서, 개인정보와 같은 여러 데이터가 일괄 저장·관리될 수 있으며, 사용자가 보유한 여러 통신장비의 데이터를 동기화할 수 있다.This allows multiple data such as personal information to be collectively stored and managed even in a secured state where the data is not disclosed to the server (administrator) who stores the data, and to synchronize the data of various communication devices possessed by the user. .

Description

암호화 및 전자서명을 이용한 인터넷상에서의 보안 데이터 관리 및 동기화 방법 {Secure data management and synchronization method on internet using cryptography and digital signature}Secure data management and synchronization method on internet using cryptography and digital signature}

본 발명은 인터넷상에서의 데이터 보안방법 및 그를 이용한 데이터통합관리와 동기화방법, 더 상세하게는 서버와 클라이언트 사이에 교류되는 데이터를 적절하게 암호화함으로써 권한없는 자가 서버내에 저장되는 데이터에 접근할 수 없도록 하는 데이터 보안방법과, 그를 이용하는 개인 또는 유저 그룹의 여러 데이터 통신 기기에서 이용되는 데이터를 인터넷의 웹서버에서 개인 또는 유저 그룹별로 통합 관리하고 동기화하여 공유하는 방법에 관한 것이다.The present invention provides a method for data security on the Internet, a method for managing and synchronizing data using the same, and more particularly, to properly encrypt data exchanged between a server and a client so that unauthorized persons cannot access data stored in the server. A data security method and a method for collectively managing, synchronizing and sharing data used in various data communication devices of individual or user groups using the same by individual or user groups in a web server of the Internet.

최근 개인용 컴퓨터(PC)의 급속한 보급과 더불어, PDA, 핸드헬드 PC(Handheld PC; H/PC), PCS 등의 무선 데이터 통신을 할 수 있는 장비들 또한 급속하게 보급되고 있다. 이러한 무선 데이터 통신 장비들은 다른 데이터 통신 장비들과 전자메일과 같은 디지털 데이터를 송수신 할 수 있는 기능 이외에도, 주소록, 전화번호부, 일정관리, 달력과 같은 개인정보 스케줄링 기능을 함께 보유하고 있는 것이 일반적이다.In recent years, with the rapid spread of personal computers (PCs), devices capable of wireless data communication such as PDAs, handheld PCs (H / PCs), PCS, etc. are also rapidly spreading. Such wireless data communication devices generally have personal information scheduling functions such as an address book, a phone book, a schedule manager, and a calendar in addition to a function of transmitting and receiving digital data such as e-mail with other data communication devices.

PC 및 데이터 통신 기기의 보급으로 인하여, 한 개인이 여러가지의 장비를 보유하는 것이 일반적이다. 그러나, 여러 통신장비들 사이의 정보교환이 없기 때문에, 한 장비의 데이터가 갱신된 경우 다른 기기의 동일 종류의 정보가 갱신되지 않음으로서 한 개인이 소유하는 장비들 사이의 정보에 불일치가 발생한다. 이러한 정보의 불일치는 사용자로 하여금 불편함을 초래할 뿐 아니라, 근본적으로는 데이터 통신기기의 저변확대에 큰 걸림돌이 될 것이다. 따라서, 한 개인이 보유하고 있는 여러 데이터 통신 장비(PC, PDA, PCS, H/PC 등) 사이의 정보의 통일화, 즉 데이터의 동기화(Synchronization of Data)가 필수적이며 이를 위하여 여러가지 기술들이 제안되고 있다.Due to the widespread use of PCs and data communication devices, it is common for an individual to have a variety of equipment. However, since there is no information exchange between several communication devices, when the data of one device is updated, the same kind of information of the other device is not updated, thereby causing inconsistency in the information between devices owned by one individual. This discrepancy of information not only causes inconvenience to users, but also fundamentally impedes the expansion of data communication devices. Therefore, the unification of information between various data communication devices (PC, PDA, PCS, H / PC, etc.) owned by one person, that is, the synchronization of data, is essential and various technologies have been proposed for this purpose. .

이러한 데이터 동기를 위하여, 지금까지 상용화된 무선 데이터 통신기기의 경우에는 PC에 저장된 데이터와 동기화하기 위하여, 데이터 변환용 응용 프로그램(application program)을 두 장비 중 어느 하나이상에 설치한 상태에서 PC의 시리얼포트에 무선 데이터 통신기기를 연결하고(Cradle connection), 전술한 응용 프로그램을 실행함으로써 데이터의 갱신에 의한 동기화가 이루어지도록 하고 있다.For this data synchronization, in the case of a wireless data communication device commercially available up to now, in order to synchronize with the data stored in the PC, a data conversion application program is installed on at least one of the two devices. A wireless data communication device is connected to a port (Cradle connection), and the above-described application program is executed to synchronize data by updating.

최근에는 인터넷 서버를 이용한 데이터 동기화 기술이 개발되고 있으며, 제2000-0039327호 한국특허출원에서는 이와 관련된 인터넷을 이용한 데이터 통신 장비의 정보 통합 관리 및 공유방법을 제시하고 있다. 이 방법에 의하면, 인터넷 서버에 각 회원이 동기화하고자 하는 장비에 대한 정보와 동기화 하고자 하는 데이터(대상) 정보를 설정하여 두고, 해당 회원이 보유하고 있는 장비를 이용하여 새로운 데이터를 업로드 하면, 서버가 등록되어 있는 모든(또는 선택된) 장비로 갱신된 데이터를 전송·저장함으로써 데이터의 동기화를 달성한다.Recently, a data synchronization technology using an internet server has been developed, and Korean Patent Application No. 2000-0039327 proposes a method for integrating information management and sharing of data communication equipment using the Internet. According to this method, each member sets information on the device to be synchronized with the data (target) information to be synchronized, and uploads new data using the equipment owned by the member. Data synchronization is achieved by transmitting and storing updated data to all registered (or selected) equipment.

이러한 데이터 동기화방법은 데이터의 보안문제를 해결할 수 없다. 즉, 서버가 관리하는 회원(사용자)의 개인정보가 그대로 서버 운영자 및 관련된 자에게 공개되므로 비밀이 보장되지 않는다. 이러한 개인정보의 유출은 이러한 동기화 서비스의 확대에 장애가 될 것이므로, 서버에 저장되고 각 통신장비로 전송·동기화되는 데이터를 해당 사용자(회원개인 또는 그룹) 이외에는 서버 관리자라도 열람할 수 없도록 할 필요가 있다.This data synchronization method cannot solve the data security problem. That is, since the personal information of the member (user) managed by the server is disclosed to the server administrator and the related person as it is, confidentiality is not guaranteed. Since the leakage of personal information will be an obstacle to the expansion of such synchronization service, it is necessary to make the data stored in the server and transmitted / synchronized to each communication device not accessible to the server administrator other than the corresponding user (member or group). .

한편, 인터넷 상에서의 보안을 위하여 여러가지 암호화 방법들이 개발되고 있으며, 이러한 암호화 방법이 요구하는 기능으로는 내용이 공개되지 않아야 한다는 기밀성(confidentiality)과, 정보를 보내는 자의 신원을 확인하기 위한 인증(Authentication)과, 전달 중간에 정보가 훼손되지 않았음을 확인하기 위한 무결성(Integrity), 정보제공자가 정보제공 사실을 부인하는 것을 방지하기 위한 부인방지(Non-repudiation)가 있으며, 이중 필요에 따라 선택된 기능들을 구비하고 있어야 한다.On the other hand, various encryption methods are being developed for security on the Internet, and the functions required by the encryption method are confidentiality and authentication to verify the identity of the sender. And Integrity to ensure that information has not been compromised in the middle of delivery, and Non-repudiation to prevent information providers from denying information provision. It must be equipped.

이러한 기능을 구비하는 종래의 암호화 방식으로 기밀 알고리즘을 이용한 방법 이외에, "키(key)"를 이용한 암호화 방식이 최근 널리 이용되고 있다. 이러한 키 기반 암호화 방법은 크게 하나의 비밀키(secret key)를 이용하는 대칭형 알고리즘(Symmetric algorithm)과 공개키(public)-개인키(private key) 조합을 이용하는 공개키 알고리즘(Public-key algorithm, Asymmetric algorithm)으로 대별된다. 또한, 암호화 알고리즘은 아니지만 정보의 변경여부(무결성)나 보낸 사람을 확인(인증)할 때 사용하는 것으로 메시지 다이제스트(Message Digest)방법이 있다.In addition to a method using a confidential algorithm as a conventional encryption method having such a function, an encryption method using a "key" has been widely used in recent years. The key-based encryption method is a symmetric algorithm using a single secret key and a public-key algorithm and asymmetric algorithm using a public-private key combination. Are roughly divided into In addition, although it is not an encryption algorithm, there is a message digest method that is used when information is changed (integrity) or the sender is verified (authenticated).

대칭형 알고리즘은 암호화 키로부터 복호화 키를 계산해낼 수 있거나, 반대로 복호화 키로부터 암호화 키를 계산해낼 수 있는 알고리즘으로서, 통상 비밀키라고 하는 하나의 키로 암호화 및 복호화를 모두 수행한다 . 정보를 보내는 자는 정보(메시지)를 비밀키로 암호화하여 암호문으로 변환하여 타인에게 보내고, 정보를 받은 자 역시 같은 비밀키로 암호문을 복호화 한다. 이 방법은 암호화와 복호화가 빠르고 다양한 암호화 기법들이 개발되어 있어서 응용성이 넓다는 장점이 있으나, 복수의 사용자가 있을 경우 비밀키의 생성 및 관리가 용이하지 않고, 비밀키의 안전한 전달이 보장되어야 한다는 단점이 있다. 이러한 대칭키 암호화 알고리즘으로는 DES, IDEA, RC2, RC5, SEED등이 있다.A symmetric algorithm is an algorithm that can calculate a decryption key from an encryption key, or vice versa, and performs both encryption and decryption with one key, commonly referred to as a secret key. The sender of the information encrypts the information (message) with the secret key, converts it into cipher text, and sends it to another person. This method has the advantage that it is quick to encrypt and decrypt, and has wide application since various encryption techniques have been developed. However, if there are multiple users, it is not easy to generate and manage the secret key and secure delivery of the secret key should be guaranteed. There are disadvantages. Such symmetric key encryption algorithms include DES, IDEA, RC2, RC5, and SEED.

공개키 알고리즘은 암호화 키와 복호화 키가 서로 다르며, 하나로 부터 다른 하나를 계산해낼 수 없는 알고리즘으로서, 공개키(public key)라는 암호화 키와 개인키(private key)라는 복호화 키의 조합을 이용한다. 공개키는 누구에게나 공개되어 있는 것으로, 정보를 보내고자 하는 자는 정보를 받을 자의 공개키로 메시지를 암호화하여 보내고, 메시지를 받은 자는 자신의 비밀키로 복호화한다. 암호문은 암호화할때 사용한 공개키에 대응하는 개인키로만 복호화 가능하기 때문에, 대칭형 알고리즘에서 발생하는 키 교환의 문제가 해결된다. 그러나 이러한 공개키 방식은 암호화·복호화 속도가 느리고, 많은 양의 정보를 암호화·복호화하기가 불편하다는 단점이 있다. 공개키 기반(Public Key Infrastructure; PKI)의 암호화 알고리즘으로는 RSA, LUC, Diffie-Hellman, Elliptic Curve등이 있다.The public key algorithm is different from the encryption key and the decryption key and cannot calculate one from the other. The public key algorithm uses a combination of an encryption key called a public key and a decryption key called a private key. The public key is open to anyone. The person who wants to send the information encrypts the message with the public key of the person who receives the information, and the person who receives the message decrypts it with his private key. Since the ciphertext can only be decrypted with the private key corresponding to the public key used for encryption, the problem of key exchange occurring in the symmetric algorithm is solved. However, this public key method has a disadvantage in that encryption and decryption speed is slow and it is inconvenient to encrypt and decrypt a large amount of information. Public key infrastructure (PKI) encryption algorithms include RSA, LUC, Diffie-Hellman, and Elliptic Curve.

한편, 암호화 방법은 아니지만, 정보의 무결성을 보장하는 방법으로 메시지 다이제스트(message digest; MD)가 있다. 이 메시지 다이제스트는 단방향 해쉬함수(hash function)을 이용하여 주어진 정보(메시지)를 일정한 길이내의 아주큰 숫자값(해쉬값)으로 변환해 주는 것이다. 정보를 보낸때 암호문과 함께 이 메시지 다이제스트를 함께 보내면, 정보를 받은 자가 복호화하여 평문(plain text)을 만들고 그의 해쉬값을 구한 후 수신된 해쉬값과 일치하는 지를 확인한다. 그 값이 같다면 정보의 전달중에 정보가 변경되지 않았음을 확인할 수 있다. 물론, 이 해쉬값은 암호화 알고리즘에 의하여 암호화되어 전달되어야 한다. 이러한 메시지 다이제스트 알고리즘으로는 Snefru, CRC-32, CRC-16, MD2, MD4, MD5, SHA, Haval 등이 있다.On the other hand, although not an encryption method, a message digest (MD) is a method of ensuring the integrity of information. This message digest uses a one-way hash function to convert the given information (message) into a very large numeric value (hash value) of a certain length. When this information is sent along with the ciphertext when the information is sent, the recipient of the information decrypts it to produce plain text, finds its hash value, and checks to see if it matches the received hash value. If the values are the same, it can be confirmed that the information has not changed during the transmission of the information. Of course, this hash value must be transmitted encrypted by an encryption algorithm. Such message digest algorithms include Snefru, CRC-32, CRC-16, MD2, MD4, MD5, SHA and Haval.

최근 전자상거래 등에서 가장 많이 사용되는 형태는, 공개키기반 및 대칭키 기반의 혼합방식으로서, 메시지 자체는 임의의 비밀키를 사용하여 비밀키 암호화 방식으로 암호화하고, 비밀키 자체는 받는 사람의 공개키를 이용하여 공개키 암호화 방식으로 암호화한 후, 두 암호문을 보내는 방식을 이용한다. 받는 사람은 자신의 개인키로 비밀키를 복호화하고, 그 복호화된 비밀키를 이용하여 메시지를 복호화한다. 또한, 인증, 무결성 및 부인방지를 위하여 메시지 다이제스트를 보내는 사람의 개인키로 암호화한 것(이를 "전자서명(Digital Signature)"이라 한다)을 함께 보내는 것이 일반적이다. 정보를 받은 사람은 보낸 사람의 공개키로 메시지 다이제스트를 복호화하고, 복호화된 원문의 메시지 다이제스트와 비교함으로써 보낸 사람의 인증, 내용의 무결성 및 부인방지를 달성할 수 있다.Recently, the most commonly used form of electronic commerce is a mixture of public key-based and symmetric key-based methods. The message itself is encrypted using a secret key encryption method using an arbitrary secret key, and the secret key itself is the recipient's public key. After encrypting with public key encryption method using, and sending two cipher texts. The recipient decrypts the private key with his private key and decrypts the message using the decrypted private key. It is also common to send a message digest encrypted with the sender's private key (called "Digital Signature") for authentication, integrity and nonrepudiation. The recipient of the information can achieve the sender's authentication, integrity and nonrepudiation of the sender by decrypting the message digest with the sender's public key and comparing it with the decrypted message digest.

본 발명은 인터넷을 이용한 데이터 통신장비의 데이터 동기화에 있어서 전술한 암호화방법 등을 사용함으로써 동기화될 데이터를 해당 개인(또는 그룹) 이외에는 접근할 수 없도록 하기 위한 것이다. 즉, 인터넷상의 보안 데이터 동기화 방법을 제공하기 위한 것이다.The present invention is to make the data to be synchronized except for the individual (or group) by using the above-described encryption method in the data synchronization of data communication equipment using the Internet. That is, to provide a secure data synchronization method on the Internet.

본 발명의 목적은 인터넷 상의 서버에 데이터를 저장·관리하는 방법에 있어서, 대칭형 또는/및 공개키 기반의 암호화와 메시지 다이제스트(또는 전자서명)를 이용함으로써 저장되는 데이터의 보안을 유지하기 위한 방법을 제공하는 것이다.SUMMARY OF THE INVENTION An object of the present invention is to provide a method for securing data stored by using symmetric or / and public key based encryption and message digest (or digital signature) in a method of storing and managing data in a server on the Internet. To provide.

본 발명의 다른 목적은 인터넷을 이용한 데이터 통신장비의 데이터 동기화 방법에 전술한 암호화 및 전자서명을 도입함으로써, 동기화하는 데이터에 대한 보안을 유지하는 방법을 제공하는 것이다.Another object of the present invention is to provide a method for maintaining security of data to be synchronized by introducing the aforementioned encryption and digital signature into a data synchronization method of data communication equipment using the Internet.

본 발명의 또다른 목적은 개인은 서버에 저장된 개인정보(파일, 연락처, 전자메일, 패스워드, 전자인증, 계좌정보 등)의 접근성, 기밀성, 무결성을 유지할 수 있고, 서버는 고객의 인증과 부인방지를 달성하면서, 복수의 데이터 통신장비에 위치하는 데이터를 동기화할 수 있는 방법을 제공하는 것이다.Another object of the present invention is that individuals can maintain the accessibility, confidentiality, integrity of personal information (files, contacts, e-mails, passwords, electronic authentication, account information, etc.) stored in the server, the server is the authentication and non-repudiation of the customer To achieve the above, to provide a method for synchronizing data located in a plurality of data communication equipment.

도 1은 본 발명에 의한 보안 데이터 관리 및 동기화방법을 수행하기 위한 시스템의 전체 구성을 개략적으로 도시한다.1 schematically shows the overall configuration of a system for performing a method for managing and synchronizing secure data according to the present invention.

도 2는 도 1의 동기화 서버의 구성을 기능모듈별로 도시한 블록도이다.FIG. 2 is a block diagram illustrating the configuration of the synchronization server of FIG. 1 for each functional module.

도 3은 본 발명에 의한 인터넷 상에서의 보안 데이터 관리 및 동기화 방법중 동기화가 클라이언트측(통신장비 사용자측)에서 일어나는 제 1 방법에 대한 흐름도이다.3 is a flow chart of a first method of synchronizing at the client side (communication equipment user side) of the secure data management and synchronization method on the Internet according to the present invention.

도 4는 본 발명에 의한 인터넷 상에서의 보안 데이터 관리 및 동기화 방법중 동기화가 서버측에서 일어나는 제 2 방법에 대한 흐름도이다.4 is a flowchart illustrating a second method of synchronizing at the server side of the secure data management and synchronization method on the Internet according to the present invention.

도 5는 본 발명에 의한 보안 데이터 관리 및 동기화방법 중 제 3 방법이 수행되는 흐름을 도시하는 것이다.5 is a flowchart illustrating a third method of the secure data management and synchronization method according to the present invention.

도 6은 본 발명에 의한 보안 데이터 관리 및 동기화방법에 이용되는 데이터의 한 형식을 테이블 형태로 도시한 것이다.6 is a table showing a format of data used in the security data management and synchronization method according to the present invention.

도 7은 본 발명에 의한 보안 데이터 관리 및 동기화방법의 각 단계에서 데이터(메시지원문 및 메시지 다이제스트)가 어떻게 변환되는 지를 도시한다.7 shows how data (mesh support text and message digest) is converted at each step of the secure data management and synchronization method of the present invention.

전술한 본 발명의 목적을 달성하기 위한 보안 데이터 관리 및 동기화 방법은 동기화 데이터를 저장하는 데이터베이스와, 데이터베이스를 관리하는 동기화서버, 1 이상의 동기용 데이터 통신장비, 상기 DB, 서버 및 통신장비를 연결하는 컴퓨터 네트워크 연결채널로 이루어지는 시스템을 이용하여 수행되며, 전술한 데이터베이스에 저장되어 있는 동기화 데이터 각각은 키(key)로 암호화된 메시지원문 필드 및, 암호화된 메시지 원문 또는 암호화 되지 않은 메시지 원문에 대하여 해쉬함수에 의하여 추출된 메시지 다이제스트로서 키로 암호화되어 있는 암호화 메시지 다이제스트 필드로 이루어져 있다.Security data management and synchronization method for achieving the above object of the present invention is to connect the database for storing the synchronization data, the synchronization server for managing the database, one or more synchronization data communication equipment, the DB, server and communication equipment The synchronization data stored in the database described above is executed using a system consisting of a computer network connection channel, and a hash function is used for a message text field encrypted with a key and an encrypted message text or an unencrypted message text. It is a message digest extracted by the message and consists of an encrypted message digest field encrypted with a key.

본 발명에 의한 보안 데이터 관리 및 동기화방법은 다음과 같은 단계로 이루어진다. 통신장비 사용자(데이터를 동기화하고자 하는 자)가 통신장비 중 하나를 이용하여 서버에 데이터 동기화 요청을 하는 단계와, 서버는 상기 데이터베이스를 검색하여 요청받은 데이터를 상기 통신장비로 전송하는 단계와, 통신장비는 전송받은 암호화 데이터의 일부 또는 전부를 복호화하고 데이터가 훼손되지 않았음을 확인하는 무결성 확인단계와, 무결성이 확인된 경우에 한하여 통신장비가 저장된 해당 데이터를 전송받은 데이터중 메시지 원문 필드 부분으로 갱신하는 데이터 동기화 단계로 이루어진다.Security data management and synchronization method according to the present invention comprises the following steps. A user of a communication device (a person who wants to synchronize data) makes a data synchronization request to a server using one of the communication devices, the server searches the database and transmits the requested data to the communication device; The device decrypts some or all of the transmitted encrypted data and verifies that the data has not been tampered with, and only if the integrity is verified, the message is the message text field part of the received data. The data synchronization step is performed.

또한, 새로 업데이트되는 데이터가 있는 경우에는 상기 데이터 동기화 단계 이후에, 통신장비가 새로운 메시지 원문을 키로 암호화하고, 암호화된 새로운 메시지 원문에 대한 메시지 다이제스트를 추출하여 키로 암호화한 후, 암호화된 새로운 메시지원문과 그에 대한 암호화 메시지 다이제스트를 서버로 전송하여 갱신·저장하게 하는 데이터 업데이트 단계를 추가로 포함한다.In addition, if there is newly updated data, after the data synchronization step, the communication device encrypts the new message text with a key, extracts a message digest for the encrypted new message text, encrypts it with a key, and then encrypts the new message text. And a data update step of transmitting the encrypted message digest thereof to the server for updating and storing.

전술한 키는 대칭키 암호화 방법에 이용되는 비밀키(secret key)이며, 무결성 확인단계는 서버로부터 전송받은 데이터 중 메시지 다이제스트 부분을 복호화하고, 메시지원문에 대한 메시지 다이제스트를 추출한 후, 그 둘이 일치하는 경우에 무결성을 인정함으로써 수행된다.The above-mentioned key is a secret key used in the symmetric key encryption method, and the integrity checking step decrypts the message digest part of the data transmitted from the server, extracts the message digest for the message text, and then matches the two. This is done by acknowledging the integrity of the case.

전술한 제 1 방법은 동기화 단계가 클라이언트측, 즉 사용자의 개별 통신장비에서 이루어지는 방법이며, 동기화 프로세스가 서버에서 수행되는 제 2 방법은다음과 같이 이루어질 수 있다.In the above-described first method, the synchronization step is performed at the client side, i.e., the individual communication equipment of the user, and the second method, in which the synchronization process is performed at the server, may be performed as follows.

제 1 방법에서의 무결성 확인단계 이후에, 통신장비는 자신이 저장하고 있던 최신 메시지 원문을 키로 암호화하여 서버로 전송한다. 서버는 전송된 암호화된 메시지 원문과 이미 저장되어 있던 대응 암호화 메시지원문을 기초로 적당한 동기화 로직에 의하여 데이터를 동기화 한다. 동기화된 암호화 메시지 원문은 다시 통신장비로 전송되어 저장됨으로써 동기화가 완료된다. 이후에 암호화 키를 가지고 있는 통신장비측에서 동기화된 암호화 메시지 원문에 대한 메시지 다이제스트를 추출한 후, 키로 암호화하여 서버로 전송하고, 서버는 암호화된 메시지 다이제스트로 데이터베이스의 정보를 갱신한다.After the integrity checking step in the first method, the communication device encrypts the latest message original text stored by the key with the key and transmits it to the server. The server synchronizes the data by appropriate synchronization logic based on the transmitted encrypted message text and the corresponding encrypted message text already stored. The synchronized encrypted message text is transmitted back to the communication device and stored, thereby completing the synchronization. Thereafter, the communication device having the encryption key extracts the message digest for the synchronized encrypted message text, transmits the encrypted message to the server by encrypting it with the key, and the server updates the information in the database with the encrypted message digest.

제 2 방법의 암호화 복호화에 사용되는 키는 대칭키 기반의 비밀키일 수 있으나, 동기화하려는 데이터를 공유하는 사용자가 여러명으로 이루어진 그룹인 경우에는, 공개키 기반의 공개키(public key) 및 개인키(private key)일 수 있다. 공개키가 사용되는 경우, 메시지원문 및 메시지 다이제스트의 암호화에는 개인키를 이용하고, 무결성 검사 및 메시지원문 복원을 위한 복호화에는 그룹에 포함되는 사용자 모두의 공개키를 이용한다.The key used for encryption and decryption of the second method may be a symmetric key-based secret key, but in the case where a group of users sharing data to be synchronized is a group consisting of a public key and a public key based on a public key ( private key). When the public key is used, the private key is used for encrypting the message text and the message digest, and the public key of all users included in the group is used for decryption for integrity checking and message text restoration.

또한, 본 발명에 의한 제 3 방법은, 사용자의 요청에 따라 금융기관, 인증기관(CA)등과 같은 외부 정보제공 서버가 사용자의 공개키로 암호화된 특정한 메시지원문을 동기화 서버로 전송하고, 동기화 서버는 이를 기초로 데이터베이스를 갱신한다. 해당 사용자가 이후에 동기화서버에 접속하여 전술한 특정 메시지원문의 동기화를 요구하는 경우에 서버는 저장되어 있는 최신 메시지원문을 전송하여 주고,사용자는 자신의 개인키로 그를 복호화하여 저장함으로써 여러 개의 통신장비 내의 데이터를 동기화 할 수 있는 방법이다.In addition, according to the third method of the present invention, an external information providing server such as a financial institution, a certification authority (CA), etc. transmits a specific message text encrypted with the user's public key to the synchronization server according to a user's request. Update the database based on this. If the user later connects to the synchronization server and requests the synchronization of the specific message text described above, the server transmits the latest message text stored, and the user decrypts and stores it with his private key. It is a way to synchronize the data inside.

이하에서는 첨부되는 도면을 기초로, 전술한 제 1 방법, 제 2 방법 및 제 3 방법에 대한 실시예를 상세하게 설명한다.Hereinafter, embodiments of the above-described first method, second method, and third method will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 의한 보안 데이터 관리 및 동기화방법을 수행하기 위한 시스템의 전체 구성을 개략적으로 도시한다. 동기화 서버(14)와, 1 이상의 데이터 통신장비(11, 12, 13) 및 이들을 연결하는 컴퓨터 연결채널로서의 인터넷(16)으로 이루어지며, 동기화 서버(14)에는 본 발명에 의한 서비스를 받고자 하는 사용자 정보, 데이터 통신장비에 대한 정보, 동기화할 대상에 대한 정보, 본 발명에 의하여 암호화된 데이터(암호화된 메시지원본 및 메시지 다이제스트) 등을 저장하기 위한 데이터베이스(15)가 연동되어 있다.1 schematically shows the overall configuration of a system for performing a method for managing and synchronizing secure data according to the present invention. It consists of a synchronization server 14, one or more data communication equipment (11, 12, 13) and the Internet 16 as a computer connection channel connecting them, the synchronization server 14, the user who wants to receive the service according to the present invention A database 15 for storing information, information on data communication equipment, information on a target to be synchronized, data encrypted by the present invention (encrypted message source and message digest), and the like is linked.

전술한 제 3 방법을 수행하기 위한 시스템에는 인터넷(16)에 연결되어 있는 외부 정보제공 서버로서의 금융기관 서버(17), 인증기관 서버(18) 등이 추가되어야 하며, 이 경우에 데이터베이스에 저장되는 데이터는 외부 정보제공 서버로부터 제공되는 데이터로서 사용자의 공개키로 암호화된 메시지원문이다.In the system for performing the above-described third method, the financial institution server 17, the certification authority server 18, or the like as an external information providing server connected to the Internet 16 should be added. Data is data provided from an external information providing server and is a message text encrypted with a user's public key.

본 발명에 의한 데이터 동기화를 수행할 수 있는 데이터 통신장비로는 PCS(Personal Communication System), 셀룰러폰(Cellular phone), PDA(Personal Digital Assistant), 핸드헬드 PC(HandHeld PC), 모뎀 또는 LAN 카드와 같은 네트워크 연결장비를 갖춘 노트북 컴퓨터, 일반 PC등을 포함하는 것으로, 전술한 장비에 한정되는 것은 아니며, 인터넷과 같은 컴퓨터 연결채널을 통하여 동기화 서버와연결되고 서버 및 서로 다른 장비와 데이터를 주고받을 수 있는 장비 전체를 포함하는 넓은 개념으로 이해되어야 할 것이다.Data communication equipment capable of performing data synchronization according to the present invention includes a personal communication system (PCS), a cellular phone, a personal digital assistant (PDA), a handheld PC, a modem, or a LAN card. It includes notebook computers and general PCs with the same network connection equipment, and is not limited to the above-mentioned equipments. It is connected to a synchronization server through a computer connection channel such as the Internet and can exchange data with the server and other devices. It should be understood as a broad concept that encompasses the whole piece of equipment.

컴퓨터 연결채널(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)를 제공하는 전세계적인 개방형 컴퓨터 네트워크 구조를 의미한다.The computer connection channel 16 connects a server with a client device (data communication device). The computer connection channel 16 may be a closed network such as a local area network (LAN) or a wide area network (WAN). The Internet is preferable in terms of phosphorus. The Internet has many services in the TCP / IP protocol and its upper layers: HyperText Transfer Protocol (HTTP), Telnet, File Transfer Protocol (FTP), Domain Name System (DNS), Simple Mail Transfer Protocol (SMTP), and SNMP ( The global open computer network architecture that provides the Simple Network Management Protocol (NFS), Network File Service (NFS), and Network Information Service (NIS).

도 2는 도 1의 동기화 서버(14)의 구성을 기능모듈별로 도시한 블록도이다. 동기화 서버는 제어모듈(21), 데이터관리 모듈(22), 동기화 로직(logic)을 포함하고 있어서 데이터의 동기화를 수행하는 동기화 프로세서(24), 송·수신모듈(26) 및 어댑터 수단(25)으로 이루어져 있으며, 서버 내부 또는 외부에 구현되어 있는 데이터베이스(23)와 연동되어 있다.FIG. 2 is a block diagram illustrating the configuration of the synchronization server 14 of FIG. 1 for each functional module. The synchronization server includes a control module 21, a data management module 22, and synchronization logic so that the synchronization processor 24, data transmission / reception module 26, and adapter means 25 perform data synchronization. It consists of, and is linked with the database 23 implemented in the server or external.

데이터 관리모듈(22)은 제어모듈의 콘트롤에 따라 데이터베이스에 데이터를 저장, 삭제, 갱신 절차를 수행하기 위한 것이며, 동기화 프로세서(24)는 데이터 통신장비로부터 전송된 업데이트 데이터와 종래의 데이터를 기초로 정해진 루틴에 따라 데이터를 동기화(Synchronization)하는 기능을 한다. 이러한 동기화 프로세서가따르는 동기화 방법은 동기화 로직으로 구현되어 있으며, 여러가지의 충돌 해결 루틴을 포함하고 있어서, 업데이트된 데이터와 종래의 데이터가 충돌할 때 이를 해결하여 데이터를 동기화한다. 물론, 이러한 동기화 프로세서(24)는 동기화가 서버측에서 일어나는 제 2 방법의 경우에만 필요하며, 제 1 방법에서는 클라이언트측 장비(통신장비) 내에 구현되어 있어야 한다.The data management module 22 is for storing, deleting, and updating data in a database according to the control of the control module, and the synchronization processor 24 is based on update data transmitted from data communication equipment and conventional data. Synchronize data according to a defined routine. The synchronization method followed by such a synchronization processor is implemented with synchronization logic, and includes various conflict resolution routines, so that the data is synchronized when the updated data and the conventional data collide with each other. Of course, this synchronization processor 24 is only needed in the case of the second method of synchronization occurring on the server side, and in the first method it must be implemented in the client side equipment (communication equipment).

어댑터 수단은 최종적으로 동기화된 데이터를 각 통신장비로 전송하기 위하여, 동기화 데이터를 수신할 장비에 맞게 데이터 포맷(양식) 및/또는 전송 프로토콜(protocol)을 조정하여 주는 기능을 한다. 예를 들어, 도 6와 관련하여 설명할 바와 같이, 동기화된 데이터가 "연락처" 정보이고 데이터를 전송받을 장비가 PCS인 경우, PCS에서 "연락처" 정보를 관리하는 소프트웨어(예컨데, PCS PIMS)의 양식에 맞게 데이터 포맷을 변환하고, PCS가 데이터를 받아서 인식할 수 있는 프로토콜(예컨데, WAP)로 데이터를 패킷화(encapsulation)하는 기능을 한다.The adapter means functions to adjust the data format (form) and / or the transmission protocol for the equipment to receive the synchronization data in order to finally transmit the synchronized data to each communication device. For example, as described in connection with FIG. 6, if the synchronized data is "contact" information and the device to which the data is to be transmitted is a PCS, the software for managing the "contact" information in the PCS (eg, PCS PIMS) It converts the data format into a form and encapsulates the data with a protocol (eg, WAP) that the PCS can receive and recognize the data.

본 발명에 의한 동기화데이터(암호화된 메시지원문 및/또는 메시지 다이제스트)의 업로드 또는 다운로드에 사용되는 전송 프로토콜은 해당 데이터 통신장비가 PC 또는 노트북인 경우에는 일반적인 TCP/IP(Transfer Control Protocol / Internet Protocol) 또는 UDP(User Datagram Protocol)이 이용될 수 있으며, 대상 장비가 휴대폰 또는 PDA인 경우에는 최근 거의 표준으로 자리잡은 WAP(Wireless Application Protocol)을 이용할 수도 있으나 이에 제한되는 것은 아니다.The transmission protocol used for uploading or downloading synchronization data (encrypted message text and / or message digest) according to the present invention is a general TCP / IP (Transfer Control Protocol / Internet Protocol) when the data communication device is a PC or a notebook. Alternatively, User Datagram Protocol (UDP) may be used, and if the target device is a mobile phone or a PDA, WAP (Wireless Application Protocol), which has recently become almost standard, may be used, but is not limited thereto.

이러한 동기화 서버는 도스(DOS), 윈도우(WINDOWSTM), 리눅스(LinuxTM), 유닉스(UNIX), 매킨토시(Macintosh)등의 운영체제에 따라 다양하게 제공되고 있는 웹서버 프로그램을 이용하여 구현될 수 있으며, 대표적인 것으로는 윈도우 환경에서 사용되는 웹사이트(Website), TTPS와 유닉스환경에서 사용되는 CERN, NCSA, APACHE등이 있다. 그러나, 이러한 서버(server)는, 통상적인 의미의 웹서버 프로그램 이외에도, 상기 서버상에서 동작하는 일련의 응용 프로그램(application program)을 포함하고, 인터넷과 같은 컴퓨터 네트워크를 이용하여 각 데이터통신장비와, 데이터베이스 및 각 모듈 사이를 연결·중개해 주는 소정의 시스템을 포함하는 넓은 개념으로 이해되어야 할 것이다. 동기화 서버에 포함되는 각 수단 또는 모듈들은 독립된 응용 프로그램(Application program) 또는 하나의 프로그램에 포함되는 프로그램 모듈(또는 프로시저;Procedure)과 같이 소프트웨어적으로 구현되는 것이 일반적이지만, 하드웨어적으로 구현될 수도 있다.Such a synchronization server can be implemented using a web server program that is provided in various ways according to operating systems such as DOS, WINDOWS TM , Linux TM , UNIX and Macintosh. Typical examples include the website used in the Windows environment, CERN, NCSA, and APACHE used in the TTPS and Unix environments. However, such a server includes a series of application programs that run on the server, in addition to the web server program in a conventional sense, and each data communication device and database using a computer network such as the Internet. And it should be understood as a broad concept including a predetermined system for connecting and mediating between each module. Each means or module included in the synchronization server is generally implemented in software such as an independent application program or a program module (or procedure) included in one program, but may be implemented in hardware. have.

데이터베이스(15, 23)에는 회원의 인적사항 등과 같은 사용자 정보, 사용자가 선택하여 등록한 데이터 통신 장비 정보 및 동기화 대상 파일 정보등이 회원별로 구별되어 저장되어 있으며, 동기화 대상 데이터 즉, 암호화된 메시지원문 (및 메시지 다이제스트)이 회원별로 저장·관리된다. 이러한 데이터베이스는 목적에 따라 회원정보 DB, 동기화 데이터 DB등으로 구분되어 구현될 수 있으며, 본 발명에서의 "데이터베이스"라는 용어는 본 발명의 구현에 필요한 정보를 포함하고 있는 하나의 모듈 또는 통합 구현되는 데이터베이스를 모두 포함하는 개념이다.The database 15, 23 stores user information such as personal information of members, data communication equipment information selected and registered by the user, and file information for synchronization, and the like. And message digest) are stored and managed for each member. Such a database may be implemented by being divided into a member information DB, a synchronization data DB, etc. according to the purpose, and the term "database" in the present invention may be implemented as a single module or integrated implementation including information necessary for implementing the present invention. The concept includes all databases.

사용자 정보의 가능한 필드(field)는 회원의 ID, 공개키, 비밀번호, 전화번호, 전자메일, 직업, 취미 등의 인적사항이 될 수 있으며, 데이터 통신장비 정보는장비명, 장비 타입, OS, 구조, 사용하고 있는 응용 프로그램 목록 등의 필드를 가질 수 있다. 동기화 대상 정보의 가능한 필드는 장비별 파일/디렉토리 종류, 파일/디렉토리 위치, 파일/디렉토리 크기 등이 될 수 있다.Possible fields of user information can be personal information such as member's ID, public key, password, phone number, e-mail, job, hobby, etc. It can have fields such as a list of applications being used. Possible fields of the synchronization target information may be file / directory type, file / directory location, file / directory size, etc. for each device.

전술한 데이터베이스(15, 23)는 컴퓨터 시스템의 저장수단에 구현되는 데이터구조를 의미하는 것으로서, 오라클(Oracle), 인포믹스(Informix), 사이베이스(Sybase), DB2와 같은 관계형 데이터베이스 관리 시스템(RDBMS)이나, 젬스톤(Gemstone), 오리온(Orion), O2 등과 같은 객체 지향 데이터베이스 관리 시스템(OODBMS)을 이용하여 본 발명의 목적에 맞게 구현될 수 있으며, 전술한 바와 같은 적당한 필드(field)들을 가지고 있다.The above-described databases 15 and 23 refer to data structures implemented in a storage means of a computer system, and are relational database management systems (RDBMS) such as Oracle, Informix, Sybase, and DB2. In addition, the object-oriented database management system (OODBMS) such as Gemstone, Orion, O2, etc. may be implemented for the purposes of the present invention, and has suitable fields as described above.

또한, 도시하지는 않았지만, 제 1 및 제 2 방법을 수행하는 데이터 통신장비 내에는 비밀키(또는 공개키-개인키 조합)에 대한 정보를 포함하고 있고, 해쉬함수를 이용하여 메시지 다이제스트를 추출하고, 추출된 메시지 다이제스트 및 메시지 원문을 암호화하기 위한 프로세서(processor)가 포함되어 있어야 한다. 또한, 동기화가 클라이언트측에서 일어나는 제 1 방법의 경우에는 데이터의 동기화를 수행하기 위한 충돌해결 루틴등을 포함하고 있어야 한다. 이러한 프로세서등은 하드웨어 또는 소프트웨어적으로 구현될 수 있으며, PC, PDA, 휴대폰 등에 설치되는 각종 소프트웨어들은 Visual C++, Visual Basic, Java와 같이 적당한 프로그래밍 언어로 작성된 소프트웨어로 구현될 수 있지만, 위의 프로그래밍 언어에 한정되는 것은 아니다. 제 3 방법을 수행하기 위한 데이터 통신장비는 사용자의 인증서, 공개키 및 개인키를 구비하고 있으며, 개인키를 이용하여 동기화 서버로부터 전송된 메시지원문을 복호화할 수 있는 기능을 구비하고 있다.In addition, although not shown, the data communication device performing the first and second methods includes information on a secret key (or public key-private key combination), extracts a message digest using a hash function, A processor must be included to encrypt the extracted message digest and message text. In addition, in the case of the first method of synchronizing occurring on the client side, a collision solving routine for synchronizing data should be included. Such a processor may be implemented in hardware or software, and various software installed in a PC, PDA, mobile phone, etc. may be implemented in software written in a suitable programming language such as Visual C ++, Visual Basic, Java, but the above programming language It is not limited to. The data communication device for performing the third method includes a user's certificate, a public key and a private key, and has a function of decrypting a message text transmitted from a synchronization server using a private key.

이하, 데이터 통신장비로의 데이터 전송 및 동기화에 대한 상세한 사항은 제2000-0039327호 한국특허출원에 기재된 기술을 이용하는 것으로 한다.Hereinafter, the details of data transmission and synchronization to the data communication equipment shall use the technology described in Korean Patent Application No. 2000-0039327.

도 3은 본 발명에 의한 인터넷 상에서의 보안 데이터 관리 및 동기화 방법중 동기화가 클라이언트측(통신장비 사용자측)일어나는 제 1 방법에 대한 흐름도이다.3 is a flowchart illustrating a first method in which synchronization occurs on the client side (communication equipment user side) of the secure data management and synchronization method on the Internet according to the present invention.

이하에서는 용어의 통일 및 단축을 위하여, 메시지원문은 MS, 메시지 다이제스트는 MD, 이들이 결합된 형태를 DATA라고 칭하며, 대상이 암호화된 경우에는 아래첨자 e(encrypted)를 복호화된 경우에는 아래첨자 d(decrypted)를 붙이는 것으로 한다. 클라이언트와 서버 사이에 SSL(Secure Socket Layer)과 같은 세션(Session)이 연결되고(S311), 사용자가 자신의 인증서(certificate)를 서버에 제공하고 서버가 인증함으로써 서버로의 접근권한을 얻는다(S312). 사용자가 서버로 특정 데이터의 동기화를 요청하면(S313), 서버는 데이터베이스에 저장되어 있는 해당 데이터를 통신장비(클라이언트)로 전송하여 주며, 이 때 전송되는 데이터는 비밀키(Secret key)로 암호화된 메시지 원문(MSe) 및 그에 대한 암호화된 메시지 다이제스트(MDe)이다(S314).For the sake of unification and shortening of the terminology below, the message text is MS, the message digest is MD, the combined form is called DATA, and if the target is encrypted, the subscript e (encrypted) is subscript d ( decrypted). A session such as SSL (Secure Socket Layer) is connected between the client and the server (S311), and the user obtains access to the server by providing his own certificate to the server and authenticating the server (S312). ). When the user requests synchronization of specific data to the server (S313), the server transmits the corresponding data stored in the database to the communication device (client), and the data transmitted at this time is encrypted with a secret key. The message text MSe and the encrypted message digest MDe therefor (S314).

통신장비측에서는 수신받은 메시지 다이제스트(MDe)를 복호화하여 수신 메시지 다이제스트(MDdr이라 칭함)를 생성하고, 수신받은 암호화된 메시지 원문(MSe) 또는 복호화된 메시지 원문(MSd)을 해싱(hashing)하여 산출 메시지 다이제스트(MDdc라 칭함)을 추출한 뒤(S315), 이 두 메시지 다이제스트(MDdr 및 MDdc)가 일치하는 지 비교하여 일치하는 경우에 데이터의 무결성을인정한다(S316). 이 때 수신받은 암호화 메시지 원문(MSe)을 해싱할 지, 일단 메시지 원문을 복호화 한 후 그를 해싱할 지는 최초 사용시 서버와 사용자 사이에서 정한 기준, 즉 데이터베이스에 저장되는 암호화 메시지 다이제스트가 암호화된 메시지 원문(MSe)에 대한 것인 지, 아니면 복호화된 평문 메시지 원문(MSd)에 대한 것인지에 따라 정하여 진다. 그러나, 암호화/복호화의 속도를 고려할 때 암호화된 메시지원문(MSe)을 해싱하여 메시지 다이제스트를 생성하는 것이 바람직하다.The communication device decrypts the received message digest (MDe) to generate a received message digest (called MDdr), and hashes the received encrypted message text (MSe) or decrypted message text (MSd) to calculate the message. After extracting the digest (referred to as MDdc) (S315), the two message digests (MDdr and MDdc) are compared and matched to confirm the integrity of the data (S316). At this time, whether to hash the received MSE message or to decode the original message once and then hash it, the encrypted message digest stored in the database based on the criteria set by the server and the user at the time of first use is encrypted. MSe) or the decrypted plaintext message (MSd). However, considering the speed of encryption / decryption, it is desirable to generate a message digest by hashing the encrypted message text (MSe).

통신장비는 메시지에 대한 무결성이 확인되면 메시지 원문을 복호화하고(S318), 클라이언트측에 있는 동기화 로직에 따라 해당 메시지 원문을 동기화한다(S319). 이 후에 사용자가 추가할 데이터가 있는 경우(예를 들어 새로운 사람의 연락처를 주소록에 추가하고 싶은 경우와 같이) 새로운 데이터(메시지원문)를 통신장비에 입력하면, 통신장비는 입력된 정보를 기초로 동기화 로직을 이용하여 다시 한 번 데이터(메시지원문)를 동기화한다(S320, S321). 이후에 통신장비는 새로이 동기화된 데이터를 서버로 보내 저장하기 위하여, 갱신된 새로운 메시지 원문(또는 이를 먼저 암호화한 후, 암호화한 메시지 원문)을 해싱하여 추출한 메시지 다이제스트를 추출한 자신의 비밀키로 암호화하고, 이를 암호화된 메시지 원문(MSe)과 함께 서버로 전송한다(S322, S323). 서버는 갱신된 새로운 데이터를 수신하여 데이터베이스에 있는 해당 데이터를 새로운 데이터로 갱신한다(S324). 도면에서, 클라이언트측에서 수행되는 단계에는 "C+일련번호", 서버측에서 수행되는 단계에는 "S+일련번호"를 병기하였다.If the integrity of the message is confirmed, the communication device decrypts the original message (S318), and synchronizes the corresponding original message according to the synchronization logic on the client side (S319). After that, if the user has data to add (for example, if you want to add a new person's contact to the address book) and enter new data (mesh support) into the communication device, the communication device will be based on the entered information. The data (mesh support statement) is once again synchronized using the synchronization logic (S320 and S321). After that, the communication device encrypts the extracted message digest with its own secret key by hashing the updated new message original (or first encrypting the encrypted message original) to send the newly synchronized data to the server for storage. This is transmitted to the server together with the encrypted message text (MSe) (S322, S323). The server receives the updated new data and updates the corresponding data in the database with the new data (S324). In the figure, the step performed on the client side "C + serial number", and the step performed on the server side "S + serial number".

이러한 제 1 방법을 요약하면, 일단 서버에 있는 최신 내용을 다운로드 받아해당 통신장비의 데이터를 한 번 동기화하고, 새로운 데이터가 있는 경우 이를 통신장비에 저장하면서 동시에 서버로 보내 서버의 데이터베이스를 갱신하는 방식으로 수행된다. 즉, 데이터의 동기화가 클라이언트(통신장비)측에서 일어나는 방식으로, 클라이언트측에 동기화 로직(예를 들어, 동기화방식, 충돌해결 루틴 등)이 구비되어 있어야 한다. 이러한 동기화 로직은, 한 개인의 데이터 동기화시에는 가장 최근의 정보를 가장 우선적으로 저장하는 "시간기반(time-based)" 동기화 로직이 가장 일반적으로 사용되지만, 예를 들어, 특정장비의 데이터에 우선순위를 주는 동기화 방식 등이 이용될 수도 있다.In summary, the first method is to download the latest contents from the server and synchronize the data of the corresponding communication device once, and if there is new data, store it in the communication device and send it to the server to update the server database. Is performed. That is, in a manner in which data synchronization occurs on the client (communication equipment) side, synchronization logic (eg, a synchronization scheme, a conflict resolution routine, etc.) should be provided on the client side. This synchronization logic is most commonly used for "time-based" synchronization logic, which stores the most recent information first when synchronizing a person's data, but, for example, prioritizes data from a particular device. A ranking scheme or the like may be used.

도 4는 본 발명에 의한 인터넷 상에서의 보안 데이터 관리 및 동기화 방법중 동기화가 서버측에서 일어나는 제 2 방법에 대한 흐름도이다.4 is a flowchart illustrating a second method of synchronizing at the server side of the secure data management and synchronization method on the Internet according to the present invention.

서버와 클라이언트의 연결부터 메시지의 무결성 확인까지는 제 1 방법과 동일하므로 상세한 설명은 생략한다(S411∼S417). 다만, 대칭키 기반의 비밀키만을 암호화/복호화에 이용했던 제 1 방법과는 달리 공개키 기반의 공개키-개인키 조합을 사용할 수 있다. 이러한 공개키 기반을 사용하는 경우에는 동기화할 데이터를 여러 사용자가 그룹형태로 공유하고자 하는 경우에 유용하게 사용되며, 이에 대해서는 도 7과 관련하여 상세하게 설명한다.Since the connection between the server and the client and the integrity checking of the message are the same as in the first method, detailed descriptions are omitted (S411 to S417). However, unlike the first method in which only a symmetric key based secret key is used for encryption / decryption, a public key based public key-private key combination can be used. In the case of using such a public key base, it is useful when multiple users want to share data to be synchronized in a group form, which will be described in detail with reference to FIG. 7.

전송된 메시지의 무결성이 확인되면, 데이터 통신장비는 저장하고 있는 최신의 메시지원문(또는 사용자에 의하여 선택된 동기화 데이터)을 키(개인키 또는 비밀키)로 암호화하여 암호화 메시지원문(MSe)을 생성한 후, 서버로 전송한다(S418). 서버는 제어모듈 내에 있는 동기화 로직(logic)에 의하여 수신 암호화 메시지원문으로 데이터베이스 내의 정보를 갱신함으로써 데이터를 동기화한다(S419). 이러한 동기화 로직은, 이미 저장되어 있는 데이터 중에서 수신된 메시지 원문에 대응되는 데이터가 있을 경우, 즉 데이터의 충돌이 있는 경우, 어떠한 것을 우선적으로 저장할 것인지에 대한 충돌처리 루틴을 포함하고 있으며, 이러한 충돌처리에 대한 사항은 제2000-0039327호 한국특허출원에 상세하게 기재되어 있다. 물론, 수신된 메시지 원문에 대응되는 이전 정보가 없을 경우에는 새로운 정보로 저장하면 된다.When the integrity of the transmitted message is verified, the data communication device encrypts the latest message text (or synchronization data selected by the user) with the key (private key or secret key) to generate an encrypted message text (MSe). After that, it transmits to the server (S418). The server synchronizes the data by updating the information in the database with the received encrypted message text by the synchronization logic in the control module (S419). This synchronization logic includes a conflict processing routine for determining which data is stored first when there is data corresponding to the received message text among data already stored, that is, when there is a data collision. The matter is described in detail in Korean Patent Application No. 2000-0039327. Of course, if there is no previous information corresponding to the original message received, it may be stored as new information.

서버는 동기화된(최종적으로 DB에 저장된 암호화된 메시지 원문) 메시지 원문을 통신장비로 전송하고(S420), 통신장비는 동기화된 메시지 원문을 수신하여 그를 공개키 또는 비밀키로 복호화한 후 저장함으로써 통신장비로의 데이터 동기화가 종료한다(S421). 통신장비는 동기화된 메시지원문(암호화된 메시지원문 또는 복호화된 메시지원문)을 해싱하여 메시지 다이제스트(MDd)를 추출한 후(S422), 개인키 또는 비밀키로 암호화하여 암호화 메시지 다이제스트(MDe)를 생성하고, 이를 서버로 전송한다(S423). 서버는 동기화된 메시지원문에 대응하는 암호화된 메시지 다이제스트(MDe)를 데이터베이스의 해당 영역에 저장함으로써 모든 단계가 종료된다(S424). 데이터베이스에는 이미 동기화된 메시지원문(암호화된)이 저장되어 있기 때문에, 그에 대응하도록 수신된 메시지 다이제스트를 저장하기만 하면 된다.The server transmits the synchronized (finally encrypted message text stored in the DB) message text to the communication device (S420), the communication device receives the synchronized message text and decrypts it with a public key or a secret key and stores it by communicating. The data synchronization with the furnace ends (S421). The communication device hashes the synchronized message text (encrypted message text or decrypted message text) to extract the message digest (MDd) (S422), encrypts it with a private key or a secret key, and generates an encrypted message digest (MDe). This is transmitted to the server (S423). The server ends all steps by storing the encrypted message digest (MDe) corresponding to the synchronized message text in the corresponding area of the database (S424). Since the database contains already synchronized message text (encrypted), all you need to do is store the received message digest.

이러한 제 2 방법은 요약하면, 사용자가 선택한 동기화 대상 데이터에 대응하여 서버의 데이터베이스에 저장되어 있는 데이터(암호화된 메시지원문 및 메시지 다이제스트)를 수신하여 무결성을 검사하고, 갱신할(동기화할) 메시지원문을 암호화하여 서버로 보낸다. 서버가 동기화를 수행한 후, 동기화된 메시지원문을 다시 클라이언트측으로 전송하고, 클라이언트는 그를 수신하여 저장함으로써 클라이언트측의 데이터 갱신이 달성된다. 클라이언트는 동기화된 메시지원문에 대한 메시지 다이제스트를 추출하고 암호화하여 서버로 전송하며, 서버는 암호화된 메시지 다이제스트를 동기화된 메시지원문과 함께 저장한다.In summary, this second method receives the data (encrypted message text and message digest) stored in the database of the server corresponding to the data to be synchronized selected by the user to check integrity and update (synchronize) the message text. Encrypt it and send it to the server. After the server performs the synchronization, the synchronized message text is sent back to the client side, and the client receives and stores it so that data update on the client side is achieved. The client extracts the message digest for the synchronized message text, encrypts it, and sends it to the server, which stores the encrypted message digest with the synchronized message text.

도 5는 본 발명에 의한 보안 데이터 관리 및 동기화방법 중 제 3 방법이 수행되는 흐름을 도시하는 것이다.5 is a flowchart illustrating a third method of the secure data management and synchronization method according to the present invention.

사용자가 자신이 가진 통신장비 중 하나를 이용하여 금융기관 서버, 인증기관 서버 등의 외부 정보제공 서버와 접속하고(S511), 외부 정보제공 서버에게 자신을 인증할 수 있는 수단인 자신의 인증서와 함께, 외부 정보제공 서버에 저장된 자신과 관련된 정보 중 특정한 정보를 동기화 서버로 전송해달라는 요청을 한다(S512). 외부 정보제공 서버는 사용자가 인증된 경우에 한하여(S513), 특정한 정보(메시지원문)를 추출하고, 그를 해당 사용자의 공개키로 암호화하여 동기화서버로 전송하며(S514), 동기화서버는 전송받은 (암호화된) 메시지원문으로 데이터베이스의 해당 영역을 갱신한다(S515).The user connects to an external information providing server such as a financial institution server or a certification authority server by using one of his communication equipments (S511), and with his certificate which is a means for authenticating himself to the external information providing server. In step S512, the client requests to transmit specific information among the information related to itself stored in the external information providing server to the synchronization server. The external information providing server extracts specific information (mesh support text) only when the user is authenticated (S513), encrypts it with the public key of the user, and transmits it to the synchronization server (S514), and the synchronization server receives the received (encryption). The corresponding message in the database is updated with the message text (S515).

이후에 그 사용자가 통신장비를 이용하여 동기화 서버에 접속하고, 특정 메시지원문에 대한 동기화를 요청하면(S516), 동기화 서버는 사용자 인증을 거쳐 해당되는 (암호화된)메시지원문을 통신장비로 전송하여 준다(S517). 통신장비는 사용자의 개인키를 이용하여 메시지원문을 복호화하고 저장함으로써 여러 장비의 데이터를 안전하게 동기화할 수 있다(S518, S519).After that, when the user accesses the synchronization server using a communication device and requests synchronization for a specific message text (S516), the synchronization server transmits the corresponding (encrypted) message support message to the communication device through user authentication. (S517). The communication device can securely synchronize data of various devices by decrypting and storing the message text using the user's private key (S518, S519).

이 때, 동기화서버가 정보제공 서버로부터 암호화된 메시지원문을 받았을 때 그것이 어느 사용자의 어떠한 종류의 정보인지, 즉 데이터베이스의 어느 영역에 해당되는 지 인식할 수 있어야 하므로(왜냐하면, 데이터가 암호화되어 있어 동기화 서버는 그 내용을 알 수 없다), 외부 정보제공 서버는 사용자의 요청 또는 자체적인 로직에 의하여 메시지 원문의 종류를 나타내는 인식코드를 부여하여야 한다.At this time, when the synchronization server receives the encrypted message text from the information providing server, it must be able to recognize what kind of information of which user, that is, which area of the database (because the data is encrypted and synchronized). The server cannot know its contents.), The external information providing server must assign a recognition code indicating the type of the message text by the user's request or its own logic.

서버가 암호화된 메시지원문의 종류를 인식하도록 하기 위하여, 예를 들면, 후술할 데이터의 형식의 일예에서 "도메인명"이나 "객체명" 등의 항목은 암호화하지 않고, 단지 "필드"와 "내용(값)"만을 암호화하는 방식을 이용할 수도 있으며, 또는 DTD(Data Type Definition)을 통하여 사용자가 임의로 정의한 데이터 타입으로 암호화한 메시지원문을 변환하고 XML(eXtensible Mark-up Language)를 이용하여 전송문서를 만드는 방법을 이용하여도 된다.In order to allow the server to recognize the type of encrypted message text, for example, in an example of the format of data to be described later, items such as "domain name" or "object name" are not encrypted, but only "field" and "content". (Value) "may be used, or the message text encrypted with the data type defined by the user through DTD (Data Type Definition) may be converted and the transmission document may be converted using XML (eXtensible Mark-up Language). You can also use the making method.

사용자가 외부 정보제공 서버로 하는 메시지원문 전송요청시 전자서명(Digital Signature)을 첨부함으로써 부인방지 및 무결성을 보장할 수 있도록 하는 것이 바람직하다. "전자서명"이란 사용자가 외부 정보제공 서버로 하는 요청내용에 대한 메시지 다이제스트를 해당 사용자의 개인키로 암호화한 것을 의미하며, 이를 수신한 외부 정보제공 서버는 사용자의 공개키로 복호화한 메시지 다이제스트와 요청내용으로부터 추출한 메시지 다이제스트를 비교함으로써 부인방지 및 무결성을 확인할 수 있다.When a user requests a message text transmission to an external information providing server, it is desirable to attach a digital signature to ensure nonrepudiation and integrity. "Electronic signature" means that the user encrypts the message digest for the request made by the external information provision server with the user's private key, and the external information provision server receiving the message decrypts the message digest and the request contents decrypted with the user's public key. Nonrepudiation and integrity can be verified by comparing the message digests extracted from them.

외부 정보제공 서버의 종류 및 메시지원문의 종류에는 제한은 없으나, 그 예를 살펴보면 외부 정보제공 서버는 은행, 증권사등의 서버이고 메시지원문은 해당사용자의 계좌번호, 잔고, 특정 주식의 주가 등이 될 수 있으며, 또한 외부 정보제공 서버는 인증기관(Certificate Authority)이고 메시지원문은 해당 사용자 또는 타인의 인증서(Digital Certificate) 또는 해당 인증서의 유·무효 여부를 알 수 있는 "인증서 폐지목록(CRL)"일 수 있다.There is no restriction on the type of external information providing server and the type of message text. However, looking at the example, the external information providing server is a server such as a bank or a securities company. In addition, the external information providing server is a certificate authority, and the message text is a certificate of the user or another person or a "certificate revocation list (CRL)" which can know whether the certificate is valid or invalid. Can be.

도 6은 본 발명에 의한 보안 데이터 관리 및 동기화방법에 이용되는 데이터의 한 형식을 테이블 형태로 도시한 것이다.6 is a table showing a format of data used in the security data management and synchronization method according to the present invention.

도면에 예시된 데이터는 크게, 도메인명, 객체명, 필드명, 내용 등으로 이루어지는 메시지원문과, 각각의 메시지 원문에 대한 메시지 다이제스트(MDe 또는 MDd)로 이루어져 있다. "도메인명"은 데이터를 분류하는 가장 큰 카테고리로서, 도면에서는 "연락처"정보, "은행계정"정보, "디지털 인증서"에 대한 정보, "일반 개인 작업내용"에 대한 정보등이 도시되어 있다. 이러한 "도메인명"의 분류는 임의로 이루어질 수 있다. 각각의 도메인명에는 소분류단위로 "객체"와 "필드명", 및 객체-필드에 해당되는 데이터의 "내용" 항목이 추가된다. "연락처" 도메인명을 예로 들면, "객체"는 개인의 이름을, "필드명"은 전화번호, 전자메일 주소와 같은 연락처의 종류를, "내용"은 그에 해당되는 값(value)을 나타낸다. "디지털 인증서"는 해당 사용자의 친구, 관련자 또는 거래기관의 공인된 인증서를 포함하고 있으며, 이러한 인증서는 예를 들면, IETF 의 보안영역(Security Area)의 공개키 기반(Public-Key Infrastructure) 인증서 양식인 X.509 포멧 또는 RFC 2459 포맷일 수 있으나 이에 한정되는 것은 아니다.The data illustrated in the figure largely consists of a message text consisting of a domain name, an object name, a field name, content, and the like, and a message digest (MDe or MDd) for each message text. "Domain Name" is the largest category for classifying data, and in the drawings, "contact" information, "bank account" information, "digital certificate" information, "general personal work content" and the like are shown. This classification of "domain name" can be done arbitrarily. In each domain name, "object" and "field name" and "content" items of data corresponding to the object-field are added in subclasses. Taking the "contact" domain name as an example, "object" indicates the name of the individual, "field name" indicates the type of contact, such as a telephone number and an e-mail address, and "content" indicates a corresponding value. A "digital certificate" contains a certified certificate of a user, friend or trader of the user, for example, the public-key infrastructure certificate form of the IETF's Security Area. In X.509 format or RFC 2459 format, but is not limited thereto.

이 때, 동기화의 대상이 되는 메시지원문의 기본 단위는 "도메인명" 단위인것이 바람직하지만, 더욱 더 세부적으로 "객체" 단위일 수도 있다. 동기화되는 메시지원문의 기본 단위가 "도메인명"이라 하면, 예를 들어 "연락처"에 해당되는 정보 전체에 대한 메시지 다이제스트가 클라이언트에서 추출되며 클라이언트에서 추출되며, 이 값은 다시 사용자의 개인키 또는 비밀키로 암호화되어 다른 값 (MDe, 도면에서는 "7979ace980e")으로 변환된다. 즉, 서버의 데이터베이스에 저장되는 데이터는, 예를 들어, "연락처"에 포함되는 데이터(메시지원문; MSd)를 암호화한 암호화된 메시지원문(MSe)과, 그에 대한 암호화된 메시지 다이제스트(MDe)이다. 이 때 메시지원문 전체가 암호화될 필요는 없으며, 예를 들어, "연락처"라는 도메인명은 분류단위(서버가 데이터를 분류하여 저장하기 위한 인식단위)로 사용되기 위하여 암호화되지 않고, 그 하부 정보들만 암호화될 수 있다.At this time, the basic unit of the message text to be synchronized is preferably a "domain name" unit, but may be a more "object" unit in more detail. If the basic unit of the message text to be synchronized is "domain name", for example, the message digest for all of the information corresponding to "contact" is extracted from the client and extracted from the client, which in turn is the user's private key or secret. The key is encrypted and converted to another value (MDe, "7979ace980e" in the figure). That is, the data stored in the database of the server is, for example, an encrypted message text (MSe) encrypting data (mesh support text; MSd) included in the "contact", and an encrypted message digest (MDe) thereof. . In this case, the entire message text does not need to be encrypted. For example, the domain name "contact" is not encrypted to be used as a classification unit (a recognition unit for classifying and storing data by the server), and only sub information thereof is encrypted. Can be.

그러나, 본 발명에 의하여 동기화되는 데이터는 그 종류에 제한이 있는 것은 아니며, 도면에 예시된 "도메인명"을 따르는 분류 이외에도 데이터 통신 장비에 저장되고 이용될 수 있는 어떠한 정보도 포함될 수 있다.However, the data synchronized by the present invention is not limited in kind and may include any information that may be stored and used in the data communication equipment in addition to the classification according to the "domain name" illustrated in the drawings.

도 7은 본 발명에 의한 보안 데이터 관리 및 동기화방법의 각 단계에서 데이터(메시지원문 및 메시지 다이제스트)가 어떻게 변환되는 지를 도시하는 도면이다.7 is a diagram illustrating how data (mesh support text and message digest) is converted at each step of the secure data management and synchronization method according to the present invention.

도 6a는 본 발명에 의한 제 1 방법 및 제 2 방법에서의 메시지 무결성 확인단계에 해당되는 것으로, 서버로 부터 사용자가 요구한 데이터(DATAe=MSe+MDe)가 전송되고, 통신장비는 수신된 암호화 메시지 다이제스트(MDe)를 자신의 비밀키 또는 공개키로 복호화하여 수신 메시지 다이제스트(MDdr)을 생성한다. 그 다음으로 암호화된 메시지원문 또는 복호화된 메시지원문을 해싱하여 산출 메시지 다이제스트(MDdc)를 생성한 후 이 둘(MDdr, MDdc)의 동일성을 비교함으로써 데이터의 무결성(무변조)을 확인한다.FIG. 6A corresponds to a message integrity checking step in the first and second methods of the present invention, in which data (DATAe = MSe + MDe) requested by a user is transmitted from a server, and communication equipment receives the received encryption. The received message digest MDdr is generated by decrypting the message digest MDe with its private or public key. Then, the encrypted message text or decrypted message text is hashed to generate a calculated message digest MDdc, and then the integrity of the data (unmodulated) is verified by comparing the identity of the two (MDdr, MDdc).

전술한 바와 같이 데이터의 암호화 및 복호화에는 대칭키 기반의 비밀키가 사용되는 것이 일반적이지만, 동기화할 데이터를 여러 사용자가 그룹형태로 공유하고자 하는 경우에는 공개키 기반의 공개키-개인키 조합이 유용하게 사용된다. 그룹의 구성원들은 각각 다른 공개키와 개인키를 가지고 있고, 메시지원문 또는 메시지 다이제스트를 암호화할 때는 각자의 개인키를 사용하고 복호화할 때에는 그룹 구성원 전체의 공개키(공개키 1, 2 ‥‥ n; 이를 "공개키링(ring)"이라 칭한다)를 사용한다. 즉, 무결성 검사를 위하여 또는 메시지원문의 복원을 위하여 복호화하는 경우에는 어느 구성원이 해당 데이터를 업로드했는 지 알 수 없기 때문에, 그룹 구성원 전체의 공개키를 모두 사용하여 순차적으로 복호화한다. 이러한 방법을 사용하면 메시지원문은 데이터를 업로드한 구성원의 공캐키를 사용하는 경우에만 의미있는 정보로 복호화 될 수 있고, 무결성 검사에서는 공개키링 중에서 하나에 의하여 복호화된 메시지 다이제스트(MDdr)가 산출 메시지 다이제스트(MDdc)와 일치하면 무결성을 인정한다.As described above, a symmetric key-based secret key is generally used for encrypting and decrypting data, but a public key-private key combination is useful when multiple users want to share data to be synchronized in a group form. Is used. Each member of the group has a different public key and private key, and when encrypting the message text or message digest, each group uses its own private key and decrypts the group's public key (public key 1, 2 ... n; This is referred to as a "public key ring". That is, when decrypting for integrity check or restoring the message text, it is not possible to know which member uploaded the corresponding data. Therefore, decryption is performed sequentially using all public keys of all group members. Using this method, the message text can be decoded into meaningful information only when using the public cache key of the member who uploaded the data.In the integrity check, the message digest (MDdr) that is decrypted by one of the public keyrings is the resulting message digest. If it matches (MDdc), integrity is recognized.

반면에, 이렇게 그룹의 데이터 동기화에 하나의 공통된 비밀키를 이용하게 되면 그 비밀키가 구성원 중 하나에 의하여 유출되는 경우, 동기화되던 그룹 전체의 데이터가 유출 및 변조될 수 있다는 우려가 있다. 그러나, 이러한 경우에, 전술한 바와 같이 공개키-개인키를 사용하면 비록 한 구성원의 개인키가 공개되더라도 그 구성원이 업로드한 데이터만 유출되고, 나머지의 그룹 정보는 안전하게 유지될수 있다.On the other hand, if one common secret key is used for data synchronization of the group, if the secret key is leaked by one of the members, there is a concern that the data of the entire synchronized group may be leaked and altered. In this case, however, if the public key-private key is used as described above, even if the private key of one member is disclosed, only the data uploaded by the member can be leaked, and the remaining group information can be kept secure.

이러한 공개키 기반의 그룹 데이터 동기화는 제 1 방법보다 제 2 방법에 더 유용하게 적용될 수 있다. 제 1 방법의 경우에는 동기화가 클라이언트측에서 일어나므로, 모든 그룹 구성원의 데이터 통신장비가 같은 동기화 로직을 사용하여야 한다는 제한이 있으나, 제 2 방법은 동기화가 서버측에서 일어나고 클라이언트측에서는 데이터의 암호화/복호화만 일어나기 때문에 전술한 바와 같은 제한이 없기 때문이다.Such public key based group data synchronization can be more usefully applied to the second method than the first method. In the case of the first method, since synchronization occurs on the client side, there is a restriction that data communication equipment of all group members must use the same synchronization logic. However, in the second method, synchronization occurs on the server side and data encryption / decryption on the client side. This is because there is no limit as described above because only it occurs.

그러나, 이러한 공개키 기반의 그룹 데이터 동기에서의 "공개키"는 해당 그룹의 구성원들 사이에만 공개되어 있고, 다른 타인에게는 공개되어서는 안된다는 점에서, 통상적인 "공개키"의 개념과는 약간 상이하다.However, the "public key" in this public key-based group data synchronization is slightly different from the conventional concept of "public key" in that it is only open to members of the group and not to others. Do.

도 7b는 제 1 방법에서의 추가(갱신) 정보의 서버로의 업로드 단계를 도시하는 것으로, 서버로부터 전송된 데이터를 기초로 클라이언트측(통신장비측)에서 데이터의 무결성을 확인하고 데이터를 동기화한 후, 새로운 메시지원문이 있을 경우에 대한 것이다.Fig. 7B shows a step of uploading additional (update) information to the server in the first method, which checks the integrity of the data and synchronizes the data on the client side (communication equipment side) based on the data transmitted from the server. Then, if there is a new message text.

새로운 메시지원문(MSd)을 해싱하여 메시지 다이제스트(MDd)를 생성하고, 메시지원문 및 메시지 다이제스트를 비밀키로 암호화하여 암호화 메시지원문(MSe) 및 암호화 메시지 다이제스트(MDe)를 생성한다. 이 둘을 결합하여 암호화 데이터 패키지(DATAe = MSe+MDe)를 생성한 후 서버로 전송한다. 서버는 전송된 암호화 패키지를 데이터베이스의 해당 영역에 저장·갱신한다. 이로써 서버측의 데이터베이스에는 항상 가장 최신의 데이터가 저장되어 있게 된다.The new message text (MSd) is hashed to generate a message digest (MDd), and the encrypted message text (MSe) and the encrypted message digest (MDe) are generated by encrypting the message text and the message digest with a secret key. The two combine to create an encrypted data package (DATAe = MSe + MDe) and send it to the server. The server stores and updates the transmitted encryption package in the corresponding area of the database. This ensures that the most recent data is always stored in the database on the server side.

도 7c는 제 2 방법에 있어서 데이터 동기단계에 대한 것으로, 서버로부터 저장되어 있는 메시지원문 및 메시지 다이제스트를 전송받아 무결성을 확인한 후, 이를 통신장비에 바로 저장하지 않고, 통신장비에 있는 가장 최신의 새로운 메시지원문을 사용자의 개인키 또는 비밀키로 암호화하여 암호화 메시지원문(MSe)을 생성한 후, 이를 서버로 전송한다. 서버는 전송받은 새로운 메시지원문과 이미 저장되어 있는 대응 메시지원문을 기초로 동기화 로직에 따라 메시지원문을 동기화함으로써 동기화 메시지원문(MSesync)을 생성한 후 통신장비(클라이언트)로 전송한다. 통신장비는 전송받은 동기화 메시지원문을 사용자의 공개키 또는 비밀키로 복호화한 후 저장함으로써 데이터의 동기화를 수행하며, 이어서 암호화된 또는 복호화된 동기화 데이터(MSesync 또는 MSdsync)를 해싱하여 새로운 메시지 다이제스트(MDd)를 추출한다. 새로이 추출된 메시지 다이제스트(MDd)를 비밀키 또는 사용자의 개인키로 암호화하여 암호화 메시지 다이제스트(MDe)를 생성한 후, 이를 서버로 전송하여 저장하게 한다. 따라서 서버에는 통신장비측에 저장되어 있는 것과 동일한 동기화 메시지원문(단, 암호화되어 있음; MSesync)과 그에 대한 암호화 메시지 다이제스트(MDe)가 저장되어 있게 된다.FIG. 7C illustrates a data synchronization step in the second method. After receiving the message text and the message digest stored from the server to check the integrity, the FIG. 7C does not directly store the data in the communication device. The message text is encrypted with the user's private key or secret key to generate an encrypted message text (MSe) and then transmitted to the server. The server generates a synchronization message text (MSesync) by synchronizing the message text according to the synchronization logic based on the new message text received and the corresponding message text already stored, and transmits it to the communication device (client). The communication device performs data synchronization by decrypting and storing the received synchronization message text with the user's public or private key, and then hashes the encrypted or decrypted synchronization data (MSesync or MSdsync) to create a new message digest (MDd). Extract The newly extracted message digest (MDd) is encrypted with a secret key or a user's private key to generate an encrypted message digest (MDe), which is then transmitted to the server for storage. Therefore, the same synchronization message text as that stored in the communication device (except for encrypted; MSesync) and its encrypted message digest (MDe) are stored in the server.

본 발명에 의한 방법을 이용하면, 한 사용자 또는 그룹 구성원이 보유하고 있는 복수의 데이터 통신장비의 데이터를 인터넷 상의 서버에 일괄적으로 저장·관리하고 사용자의 요구에 따라 해당 데이터를 제공함에 있어서, 대칭형 또는/및 공개키 기반의 암호화와 메시지 다이제스트(또는 전자서명)를 이용함으로써 개인은서버에 저장된 개인정보(파일, 연락처, 전자메일, 패스워드, 전자인증, 계좌정보 등)의 접근성, 기밀성, 무결성을 유지할 수 있고, 서버는 고객의 인증과 부인방지를 달성할 수 있다.According to the method of the present invention, the data of a plurality of data communication equipments owned by a user or a group member are collectively stored and managed in a server on the Internet, and the corresponding data is provided according to a user's request. Or / and by using public key-based encryption and message digests (or digital signatures), an individual can determine the accessibility, confidentiality, and integrity of personal information (files, contacts, e-mails, passwords, electronic certificates, account information, etc.) stored on the server. It can maintain and the server can achieve customer's authentication and nonrepudiation.

또한, 데이터를 저장·관리하는 서버(관리자)에게도 데이터의 내용이 공개되지 않으면서, 한 사용자 또는 그룹 구성원이 보유하고 있는 복수의 데이터 통신장비의 데이터를 일괄적으로 관리하고 동기화(Synchronization)할 수 있다.In addition, it is possible to collectively manage and synchronize data of a plurality of data communication devices owned by a user or a group member without the contents of the data being disclosed to a server (administrator) who stores and manages the data. have.

또한, 보안이 유지된 상태에서 개인정보를 제공하는 서버로부터 최신 정보를 동기화 서버로 전송하고, 사용자의 요청에 따라 해당 정보를 개인의 여러 데이터 통신장비로 동기화할 수 있다.In addition, while maintaining security, the latest information may be transmitted from the server providing the personal information to the synchronization server, and the information may be synchronized to various data communication devices of the individual at the request of the user.

Claims (12)

동기화 데이터를 저장하는 데이터베이스와, 데이터베이스를 관리하는 동기화서버, 1 이상의 동기용 데이터 통신장비, 상기 DB, 서버 및 통신장비를 연결하는 컴퓨터 네트워크 연결채널을 이용한 데이터 동기화방법에 있어서,In the data synchronization method using a database for storing the synchronization data, a synchronization server for managing the database, one or more synchronization data communication equipment, a computer network connection channel connecting the DB, the server and the communication equipment, 데이터베이스에 저장되어 있는 동기화 데이터 각각은 키(key)로 암호화된 메시지원문 필드 및, 암호화된 메시지 원문 및 암호화 되지 않은 메시지 원문 중 하나에 대하여 해쉬함수에 의하여 추출된 메시지 다이제스트로서 키로 암호화되어 있는 암호화 메시지 다이제스트 필드로 이루어져 있으며,Each of the synchronization data stored in the database is an encrypted message encrypted with a key as a message digest extracted by a hash function for one of a message original field encrypted with a key and an encrypted message original and an unencrypted message original. Consists of digest fields, 통신장비 사용자가 통신장비 중 하나를 이용하여 서버에 데이터 동기화 요청을 하는 단계;A user of a communication device making a data synchronization request to a server using one of the communication devices; 서버는 상기 데이터베이스를 검색하여 요청받은 데이터를 상기 통신장비로 전송하는 단계;The server searching the database and transmitting the requested data to the communication device; 통신장비가 전송받은 암호화 데이터 중에서 메시지 다이제스트 필드를 복호화하고, 암호화된 메시지원문 필드 부분 및 암호화되지 않은 메시지 원문 필드 부분 중 하나의 메시지 다이제스트를 추출한 후, 복호화된 수신 메시지 다이제스트와 추출된 산출 메시지 다이제스트를 비교하여 동일한 경우에 한하여 무결성을 인정하는 무결성 확인단계;After deciphering the message digest field from the encrypted data transmitted by the communication device, extracting the message digest of one of the encrypted message text field portion and the unencrypted message text field portion, the decrypted received message digest and the extracted output message digest are extracted. An integrity checking step of acknowledging the integrity only in the same case in comparison; 무결성이 확인된 경우에 한하여 통신장비가 저장된 해당 데이터를 전송받은 데이터중 메시지 원문 필드 부분으로 갱신하는 데이터 동기 단계; 및A data synchronization step of updating, by the communication equipment, the corresponding data stored in the message original field part of the received data only when the integrity is confirmed; And 통신장비가 새로운 메시지 원문을 키로 암호화하고, 암호화된 새로운 메시지 원문에 대한 메시지 다이제스트를 추출하여 키로 암호화한 후, 암호화된 새로운 메시지원문과 그에 대한 암호화 메시지 다이제스트를 서버로 전송하여 갱신·저장하게 하는 데이터 업데이트 단계Data that communication equipment encrypts new message text with key, extracts message digest for encrypted new message text, encrypts with key, and transmits new encrypted message text and encrypted message digest to server for update and storage. Update phase 로 이루어지는 것을 특징으로 하는 인터넷 상에서의 보안 데이터 관리 및 동기화 방법.Secure data management and synchronization method on the Internet, characterized in that consisting of. 삭제delete 제 1 항에 있어서,The method of claim 1, 상기 키(key)는 대칭키 기반의 암호화방식에 이용되는 개인의 비밀키(secret key)인 것을 특징으로 하는 인터넷 상에서의 보안 데이터 관리 및 동기화 방법.And said key is a secret key of an individual used in a symmetric key-based encryption method. 삭제delete 동기화 데이터를 저장하는 데이터베이스와, 데이터베이스를 관리하는 동기화서버, 1 이상의 동기용 데이터 통신장비, 상기 DB, 서버 및 통신장비를 연결하는 컴퓨터 네트워크 연결채널을 이용한 데이터 동기화방법에 있어서,In the data synchronization method using a database for storing the synchronization data, a synchronization server for managing the database, one or more synchronization data communication equipment, a computer network connection channel connecting the DB, the server and the communication equipment, 데이터베이스에 저장되어 있는 동기화 데이터 각각은 키(key)로 암호화된 메시지원문 필드 및, 암호화된 메시지 원문 및 암호화 되지 않은 메시지 원문 중 하나에 대하여 해쉬함수에 의하여 추출된 메시지 다이제스트로서 키로 암호화되어 있는 암호화 메시지 다이제스트 필드로 이루어져 있으며,Each of the synchronization data stored in the database is an encrypted message encrypted with a key as a message digest extracted by a hash function for one of a message original field encrypted with a key and an encrypted message original and an unencrypted message original. Consists of digest fields, 통신장비 사용자가 통신장비 중 하나를 이용하여 서버에 데이터 동기화 요청을 하는 단계;A user of a communication device making a data synchronization request to a server using one of the communication devices; 서버는 상기 데이터베이스를 검색하여 요청받은 데이터를 상기 통신장비로 전송하는 단계;The server searching the database and transmitting the requested data to the communication device; 통신장비가 전송받은 암호화 데이터 중에서 메시지 다이제스트 필드를 복호화하고, 암호화된 메시지원문 필드 부분 및 암호화되지 않은 메시지 원문 필드 부분 중 하나의 메시지 다이제스트를 추출한 후, 복호화된 수신 메시지 다이제스트와 추출된 산출 메시지 다이제스트를 비교하여 동일한 경우에 한하여 무결성을 인정하는 무결성 확인단계;After deciphering the message digest field from the encrypted data transmitted by the communication device, extracting the message digest of one of the encrypted message text field portion and the unencrypted message text field portion, the decrypted received message digest and the extracted output message digest are extracted. An integrity checking step of acknowledging the integrity only in the same case in comparison; 무결성이 확인된 경우에 한하여, 통신장비의 최신 메시지 원문을 키로 암호화하여 서버로 전송하는 단계;Only when the integrity is confirmed, encrypting the latest message text of the communication device with a key and transmitting it to a server; 서버는 소정의 동기화 로직에 의하여 암호화된 최신 메시지 원문과 종래의 대응 메시지를 동기화하여 암호화된 동기화 메시지원문을 생성하고, 통신장비로 전송하는 단계;The server synchronizing the latest message original encrypted by the predetermined synchronization logic with the corresponding corresponding message to generate an encrypted synchronization message original, and transmitting it to the communication device; 통신장비는 암호화된 동기화 메시지원문에 대한 메시지 다이제스트를 추출하고 키로 암호화하여 서버로 전송하는 단계;The communication device extracts the message digest for the encrypted synchronization message text, encrypts it with a key, and transmits the message digest to the server; 서버는 전송받은 암호화된 메시지 다이제스트로 데이터베이스의 해당 메시지 다이제스트를 갱신·저장하는 단계;로 이루어지는 것을 특징으로 하는 인터넷 상에서의 보안 데이터 관리 및 동기화 방법.And updating and storing a corresponding message digest of the database with the received encrypted message digest. 2. 삭제delete 제 5 항에 있어서,The method of claim 5, 상기 키(key)는 대칭키 기반의 암호화방식에 이용되는 개인의 비밀키(secret key)인 것을 특징으로 하는 인터넷 상에서의 보안 데이터 관리 및 동기화 방법.And said key is a secret key of an individual used in a symmetric key-based encryption method. 제 5 항에 있어서,The method of claim 5, 상기 키(key)는 공개키 기반의 암호화방식에 이용되는 공개키(public key) 및 개인키(private key)이며,The key is a public key and a private key used in a public key based encryption method, 상기 메시지원문과 메시지 다이제스트의 암호화에서는 데이터를 동기화하려는 1 이상의 그룹사용자 각각의 개인키가 이용되고, 복호화에는 1 이상인 그룹사용자의 공개키 전체가 이용되는 것을 특징으로 하는 인터넷 상에서의 보안 데이터 관리 및 동기화 방법.In the encryption of the message text and the message digest, the private key of each of the one or more group users to synchronize data is used, and the entire public key of one or more group users is used for decryption. Way. 삭제delete 삭제delete 삭제delete 삭제delete
KR10-2000-0047699A 2000-08-18 2000-08-18 Secure data management and synchronization method on internet using cryptography and digital signature KR100380335B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0047699A KR100380335B1 (en) 2000-08-18 2000-08-18 Secure data management and synchronization method on internet using cryptography and digital signature

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0047699A KR100380335B1 (en) 2000-08-18 2000-08-18 Secure data management and synchronization method on internet using cryptography and digital signature

Publications (2)

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

Family

ID=19683700

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0047699A KR100380335B1 (en) 2000-08-18 2000-08-18 Secure data management and synchronization method on internet using cryptography and digital signature

Country Status (1)

Country Link
KR (1) KR100380335B1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100724356B1 (en) * 2001-03-31 2007-06-04 엘지전자 주식회사 Guidance method for user friendly program
KR100641824B1 (en) * 2001-04-25 2006-11-06 주식회사 하렉스인포텍 A payment information input method and mobile commerce system using symmetric cipher system
KR100485243B1 (en) * 2001-05-28 2005-04-22 조배수 payment method by on-line account commerce using security system
KR100905531B1 (en) * 2002-03-30 2009-07-01 주식회사 클래러스 System and method for operating mobile storage center, and mobile service providing method based on information stored in mobile storage center
KR100684079B1 (en) 2005-06-20 2007-02-20 성균관대학교산학협력단 System and method for detecting the exposure of ocsp responder's session private key
JP2007316944A (en) 2006-05-25 2007-12-06 Toshiba Corp Data processor, data processing method and data processing program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980071098A (en) * 1997-02-06 1998-10-26 모리시타요이찌 Encryption device, decryption device and encryption / decryption device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980071098A (en) * 1997-02-06 1998-10-26 모리시타요이찌 Encryption device, decryption device and encryption / decryption device

Also Published As

Publication number Publication date
KR20000072218A (en) 2000-12-05

Similar Documents

Publication Publication Date Title
US8233627B2 (en) Method and system for managing a key for encryption or decryption of data
US6651166B1 (en) Sender driven certification enrollment system
CN106254324B (en) A kind of encryption method and device of storage file
US6912657B2 (en) Method and arrangement in a communication network
US7366905B2 (en) Method and system for user generated keys and certificates
US6381695B2 (en) Encryption system with time-dependent decryption
AU2005241575B2 (en) System, method and computer product for sending encrypted messages to recipients where the sender does not possess the credentials of the recipient
US5638446A (en) Method for the secure distribution of electronic files in a distributed environment
US8824674B2 (en) Information distribution system and program for the same
US20080031458A1 (en) System, methods, and apparatus for simplified encryption
CN113067699B (en) Data sharing method and device based on quantum key and computer equipment
JP4040886B2 (en) Content management system and content management method
JPH09219701A (en) Method and device for retrieving identity recognizing identification
JP2007506392A (en) Data communication security mechanisms and methods
US7266705B2 (en) Secure transmission of data within a distributed computer system
WO2001052473A1 (en) Secure management of electronic documents in a networked environment
JP2003503901A (en) User information security apparatus and method in mobile communication system in Internet environment
CN113779619A (en) Encryption and decryption method for ceph distributed object storage system based on state cryptographic algorithm
KR100380335B1 (en) Secure data management and synchronization method on internet using cryptography and digital signature
JP2007142504A (en) Information processing system
JP2006279269A (en) Information management device, information management system, network system, user terminal, and their programs
CN111914270A (en) Programmable authentication service method and system based on block chain technology
JPH0969831A (en) Cipher communication system
CN113918971A (en) Block chain based message transmission method, device, equipment and readable storage medium
JP2005217808A (en) Information processing unit, and method for sealing electronic document

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