KR102310811B1 - Method and System for electronic authentication and encryption of data Based On Cloud System - Google Patents
Method and System for electronic authentication and encryption of data Based On Cloud System Download PDFInfo
- Publication number
- KR102310811B1 KR102310811B1 KR1020190128902A KR20190128902A KR102310811B1 KR 102310811 B1 KR102310811 B1 KR 102310811B1 KR 1020190128902 A KR1020190128902 A KR 1020190128902A KR 20190128902 A KR20190128902 A KR 20190128902A KR 102310811 B1 KR102310811 B1 KR 102310811B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- server
- digital signature
- encryption
- key
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 클라우드 기반 데이터 전자인증 및 암호화 방법 및 시스템에 관한 것으로서, 더욱 상세하게는, 클라우드의 안전한 저장소 내에 인증서와 개인키를 발급하여 저장함으로써, 사용자가 인증서 및 개인키를 직접 소지 하지 않더라도 클라우드 환경에서 데이터 전자서명을 수행하고, 데이터의 암호화 및 복호화를 수행할 수 있는, 클라우드 기반 데이터 전자인증 및 암호화 방법 및 시스템에 관한 것이다.The present invention relates to a cloud-based data electronic authentication and encryption method and system, and more particularly, by issuing and storing a certificate and a private key in a secure storage of the cloud, even if the user does not directly possess the certificate and the private key, a cloud environment It relates to a cloud-based data electronic authentication and encryption method and system capable of performing data digital signature and data encryption and decryption.
Description
본 발명은 클라우드 기반 데이터 전자인증 및 암호화 방법 및 시스템에 관한 것으로서, 더욱 상세하게는, 클라우드의 안전한 저장소 내에 인증서와 개인키를 발급하여 저장함으로써, 사용자가 인증서 및 개인키를 직접 소지 하지 않더라도 클라우드 환경에서 데이터 전자서명을 수행하고, 데이터의 암호화 및 복호화를 수행할 수 있는, 클라우드 기반 데이터 전자인증 및 암호화 방법 및 시스템에 관한 것이다.The present invention relates to a cloud-based data electronic authentication and encryption method and system, and more particularly, by issuing and storing a certificate and a private key in a secure storage of the cloud, even if the user does not directly possess the certificate and the private key, a cloud environment It relates to a cloud-based data electronic authentication and encryption method and system capable of performing data digital signature and data encryption and decryption.
현대에는 스마트 시대의 도래로 인하여 인터넷의 보급과 정보통신기술의 급격한 발전으로 인해 클라우드 컴퓨팅 기술이 발전하고 있으며, 개인 또는 기업들은 개별적으로 저장하던 디지털 데이터를 클라우드 기반의 스토리지 또는 웹하드와 같은 온라인 저장소에 저장하여 시간과 공간의 제약 없이 항상 디지털 데이터를 다운로드 하여 원하는 작업을 수행할 수 있는 환경이 마련되고 있다.In modern times, with the advent of the smart era, cloud computing technology is developing due to the spread of the Internet and rapid development of information and communication technology. An environment is being prepared where you can always download digital data and perform desired tasks without time and space restrictions by storing it in the .
한편, 현대에는 데이터의 송수신에 있어서, 특정 사용자가 보낸 데이터임을 인증하기 위한 전자서명 기술이 활용되고 있다. 종래의 기술에 따르면, 전자서명을 수행하는 데 필요한 어플리케이션 프로그램의 설치가 필수적이며 혹은 액티브엑스(ActiveX) 등의 보안 솔루션을 통해 악성코드의 탐지, 피싱 방지 등을 수행하여야만 한다. 그러나, 이러한 보안 솔루션은 상대적으로 고가여서 모든 서비스 제공자가 모든 사용자에게 보안 솔루션을 제공하는데 무리가 있는 것이 사실이며, 악성코드나 피싱의 유형은 날로 다양해지므로 보안솔루션 역시 계속 갱신 또는 업그레이드를 필요로 한다.Meanwhile, in modern times, digital signature technology for authenticating data sent by a specific user is utilized in data transmission and reception. According to the prior art, it is essential to install an application program necessary to perform a digital signature, or to detect malicious code and prevent phishing through a security solution such as ActiveX. However, these security solutions are relatively expensive, so it is true that it is difficult for all service providers to provide security solutions to all users. As the types of malicious code or phishing are diversifying day by day, security solutions also need to be continuously updated or upgraded. .
또한, 사용자 단말기를 통해 별도의 인증서 발급 절차 등을 필요로 하며, 전자서명을 위한 인증서 및 개인키를 사용자가 지정한 단말기와 같은 로컬 저장소에 직접 소지해야 하는 불편함이 존재한다. 이와 같이, 사용자가 인증서 및 개인키를 소지하는 경우, 사용자가 해당 단말기를 잃어버리는 경우, 개인키의 유출 위험이 증가함으로써 개인정보 침해 사고 발생가능성 또한 증가한다.In addition, a separate certificate issuance procedure is required through the user terminal, and there is an inconvenience of having to directly possess a certificate and a private key for digital signature in a local storage such as a terminal designated by the user. As such, when the user possesses the certificate and the private key, when the user loses the corresponding terminal, the risk of leakage of the private key increases, thereby increasing the possibility of a personal information infringement accident.
이와 같은 문제점을 해결하기 위해서, 사용자의 단말기에 설치되어 왔던 인증서를 클라우드 기반의 외부 시스템에 보관해두고, 본인인증이 필요한 시점에 상기 외부 시스템에 저장되어 있는 상태에서 인증서를 통한 전자서명을 수행할 수 있고, 데이터의 암호화 및 복호화 또한, 설치형 어플리케이션 및 보안솔루션의 설치가 필요 없이 클라우드 기반의 같은 외부 시스템에서 데이터의 암호화 및 복호화를 할 수 있는 방법이 필요하나, 이러한 서비스를 제공하는 종래의 기술은 전무하다.In order to solve this problem, the certificate that has been installed on the user's terminal is stored in a cloud-based external system, and digital signature is performed through the certificate while being stored in the external system at the time when user authentication is required. In addition, there is a need for a method for encrypting and decrypting data in an external system such as cloud-based without the need for installation of an installed application and security solution. None.
본 발명은 클라우드의 안전한 저장소 내에 인증서와 개인키를 발급하여 저장함으로써, 사용자가 인증서 및 개인키를 직접 소지 하지 않더라도 클라우드 환경에서 데이터 전자서명을 수행하고, 데이터의 암호화 및 복호화를 수행할 수 있는, 클라우드 기반 데이터 전자인증 및 암호화 방법, 시스템 및 컴퓨터-판독가능 매체를 제공하는 것을 목적으로 한다.The present invention issues and stores a certificate and a private key in a secure storage of the cloud, so that the user can digitally sign data in a cloud environment and perform encryption and decryption of data even if the user does not directly possess the certificate and private key, An object of the present invention is to provide a cloud-based data electronic authentication and encryption method, system and computer-readable medium.
상기와 같은 과제를 해결하기 위하여 본 발명은, 웹포탈서버, 전자서명서버, 암호화서버, 및 키관리서버를 포함하는 클라우드 시스템에 의한 데이터 전자서명 및 암호화 방법으로서, 발송사용자의 단말기로부터 원문데이터 및 수신자정보를 수신하는 제1단계; 상기 키관리서버에 저장된 상기 발송사용자의 인증서 및 개인키에 의하여 전자서명이 수행되고, 상기 키관리서버에 저장된 암호화키에 의하여 암호화된 상기 원문데이터에 대한 암호화전자서명데이터, 및 상기 수신자정보를 포함하는 발송데이터를 생성하여, 상기 발송사용자의 단말기로 송신하는 제2단계; 상기 발송데이터의 수신사용자의 단말기로부터 상기 발송데이터 및 상기 수신사용자의 정보를 수신하는 제3단계; 및 상기 수신사용자의 정보 및 상기 발송데이터에 포함된 수신자정보를 포함하는 검증정보를 검증하고, 상기 검증정보의 검증결과에 따라 상기 키관리서버에 저장된 복호화키에 의하여 상기 암호화전자서명데이터로부터 전자서명된 원문데이터를 복호화하고, 상기 전자서명된 원문데이터를 상기 수신사용자의 단말기로 송신하는 제4단계;를 포함하는, 데이터 전자서명 및 암호화 방법을 제공한다.In order to solve the above problems, the present invention provides a data digital signature and encryption method by a cloud system including a web portal server, an electronic signature server, an encryption server, and a key management server, A first step of receiving recipient information; The digital signature is performed by the sending user's certificate and private key stored in the key management server, and includes encrypted digital signature data for the original data encrypted by the encryption key stored in the key management server, and the recipient information. a second step of generating and transmitting the sending data to the sending user's terminal; a third step of receiving the sending data and information of the receiving user from the terminal of the receiving user of the sending data; and verifying verification information including information of the receiving user and recipient information included in the sending data, and using a decryption key stored in the key management server according to the verification result of the verification information to digitally sign the encrypted digital signature data. A fourth step of decrypting the original text data and transmitting the digitally signed text data to the terminal of the receiving user; provides a data digital signature and encryption method comprising the.
본 발명의 일 실시예에서는, 상기 제2단계는, 전자서명단계를 포함하고, 상기 전자서명단계는, 상기 전자서명서버에 의하여, 상기 웹포탈서버로부터 상기 원문데이터를 수신하는 단계; 상기 키관리서버에 의하여, 상기 전자서명서버로부터 상기 원문데이터를 수신하는 단계; 상기 키관리서버에 의하여, 상기 발송사용자의 인증서 및 개인키에 의하여 전자서명을 수행하여 전자서명데이터를 도출하는 단계; 및 상기 전자서명서버에 의하여, 상기 키관리서버로부터 상기 전자서명데이터를 수신하는 단계;를 포함하고, 상기 키관리서버는 상기 전자서명서버와 접속될 수 있고, 상기 웹포탈서버와는 접속되지 않을 수 있다.In an embodiment of the present invention, the second step includes a digital signature step, wherein the digital signature step includes: receiving, by the electronic signature server, the original text data from the web portal server; receiving, by the key management server, the original text data from the digital signature server; deriving digital signature data by performing, by the key management server, a digital signature based on the sending user's certificate and private key; and receiving, by the electronic signature server, the digital signature data from the key management server, wherein the key management server may be connected to the electronic signature server and may not be connected to the web portal server. can
본 발명의 일 실시예에서는, 상기 제2단계는, 발송데이터생성단계를 포함하고, 상기 발송데이터생성단계는, 상기 원문데이터 및 상기 전자서명의 수행에 의하여 도출된 전자서명데이터의 암호화를 수행하여 상기 암호화전자서명데이터를 도출하는 단계; 상기 수신자정보 및 상기 암호화전자서명데이터의 무결성을 검증하기 위한 메시지무결성검증코드를 도출하는 단계; 상기 수신자정보, 상기 암호화전자서명데이터, 및 상기 메시지무결성검증코드에 기초하여 발송데이터를 생성하여 상기 발송사용자의 단말기로 송신하는 단계;를 포함할 수 있다.In an embodiment of the present invention, the second step includes a sending data generating step, wherein the sending data generating step performs encryption of the original text data and the digital signature data derived by performing the digital signature. deriving the encrypted digital signature data; deriving a message integrity verification code for verifying the integrity of the recipient information and the encrypted digital signature data; and generating transmission data based on the recipient information, the encrypted digital signature data, and the message integrity verification code and transmitting the transmission data to the terminal of the sending user.
본 발명의 일 실시예에서는, 상기 발송데이터는, 상기 수신자정보; 상기 암호화전자서명데이터; 및 상기 수신자정보 및 상기 암호화전자서명데이터의 무결성을 검증하기 위한 메시지무결성검증코드를 포함할 수 있다.In an embodiment of the present invention, the sending data includes: the recipient information; the encrypted digital signature data; and a message integrity verification code for verifying the integrity of the recipient information and the encrypted digital signature data.
본 발명의 일 실시예에서는, 상기 제4단계는, 상기 암호화서버에 의하여, 상기 웹포탈서버로부터 상기 수신사용자의 정보 및 상기 발송데이터를 수신하는 단계; 상기 암호화서버에 의하여, 상기 검증정보의 검증결과를 도출하는 검증단계; 상기 암호화서버에 의하여, 상기 검증결과에 따라 상기 암호화서버에서 상기 암호화전자서명데이터를 상기 키관리서버로 송신하는 단계; 상기 키관리서버에 의하여, 상기 암호화전자서명데이터의 복호화를 수행하는 복호화단계; 상기 암호화서버에 의하여, 상기 키관리서버로부터 복호화된 상기 전자서명된 원문데이터를 수신하는 단계; 및 상기 웹포탈서버에 의하여, 상기 암호화서버로부터 상기 전자서명된 원문데이터를 수신하는 단계;를 포함하고, 상기 키관리서버는 상기 전자서명서버와 접속될 수 있고, 상기 웹포탈서버와는 접속되지 않을 수 있다.In an embodiment of the present invention, the fourth step includes: receiving, by the encryption server, the information of the receiving user and the sending data from the web portal server; a verification step of deriving a verification result of the verification information by the encryption server; transmitting, by the encryption server, the encrypted digital signature data from the encryption server to the key management server according to the verification result; a decryption step of performing decryption of the encrypted digital signature data by the key management server; receiving, by the encryption server, the digitally signed original text data decrypted from the key management server; and receiving, by the web portal server, the digitally signed original text data from the encryption server, wherein the key management server can be connected to the digital signature server and is not connected to the web portal server. may not be
본 발명의 일 실시예에서는, 상기 제4단계는, 검증단계를 포함하고, 상기 검증단계는, 상기 수신사용자의 정보 및 상기 수신자정보의 일치여부에 기초하여 사용자검증결과를 도출하는 사용자검증단계; 및 상기 수신자정보 및 상기 암호화전자서명데이터의 무결성을 검증하기 위한 메시지무결성검증코드를 도출하고, 상기 검증정보에 포함된 메시지무결성검증코드의 일치여부에 기초하여 메시지무결성검증결과를 도출하는 메시지무결성검증단계;를 포함할 수 있다.In an embodiment of the present invention, the fourth step includes a verification step, wherein the verification step includes: a user verification step of deriving a user verification result based on whether the recipient user information and the recipient information match; and message integrity verification for deriving a message integrity verification code for verifying the integrity of the recipient information and the encrypted digital signature data, and deriving a message integrity verification result based on whether the message integrity verification code included in the verification information matches or not step; may include.
본 발명의 일 실시예에서는, 상기 제4단계는, 복호화단계를 포함하고, 상기 복호화단계는, 상기 사용자검증결과 및 상기 메시지무결성검증결과가 검증으로 도출되는 경우, 상기 키관리서버에 저장된 복호화키에 의하여 상기 암호화전자서명데이터로부터 전자서명된 원문데이터를 복호화할 수 있다.In an embodiment of the present invention, the fourth step includes a decryption step, wherein the decryption step includes a decryption key stored in the key management server when the user verification result and the message integrity verification result are derived as verification. can decrypt the digitally signed original text data from the encrypted digital signature data.
상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예는 웹포탈서버, 전자서명서버, 암호화서버, 및 키관리서버를 포함하고, 데이터 전자서명 및 암호화를 수행하기 위한 클라우드 시스템으로서, 상기 웹포탈서버는 발송사용자의 단말기로부터 원문데이터 및 수신자정보를 수신하고, 상기 키관리서버는 상기 키관리서버에 저장된 상기 발송사용자의 인증서 및 개인키에 의하여 전자서명을 수행하고, 상기 암호화서버는 상기 키관리서버에 저장된 암호화키에 의하여 암호화된 상기 원문데이터에 대한 암호화전자서명데이터, 및 상기 수신자정보를 포함하는 발송데이터를 생성하고, 상기 웹포탈서버는 상기 발송데이터를 상기 발송사용자의 단말기로 송신하고, 상기 웹포탈서버는 상기 발송데이터의 수신사용자의 단말기로부터 상기 발송데이터 및 상기 수신사용자의 정보를 수신하고, 상기 암호화서버는 상기 수신사용자의 정보 및 상기 발송데이터에 포함된 수신자정보를 포함하는 검증정보를 검증하고, 상기 키관리서버는 상기 검증정보의 검증결과에 따라 상기 키관리서버에 저장된 복호화키에 의하여 상기 암호화전자서명데이터로부터 전자서명된 원문데이터를 복호화하고, 상기 웹포탈서버는 상기 전자서명된 원문데이터를 상기 수신사용자의 단말기로 송신하는, 데이터 전자서명 및 암호화를 수행하기 위한 클라우드 시스템을 제공한다.In order to solve the above problems, an embodiment of the present invention includes a web portal server, an electronic signature server, an encryption server, and a key management server, and as a cloud system for performing digital signature and encryption of data, the web The portal server receives the original text data and recipient information from the sending user's terminal, the key management server performs digital signatures based on the sending user's certificate and private key stored in the key management server, and the encryption server uses the key Generates sending data including encrypted digital signature data for the original data encrypted by the encryption key stored in the management server, and the recipient information, the web portal server transmits the sending data to the sending user's terminal, , the web portal server receives the sending data and the receiving user's information from the terminal of the receiving user of the sending data, and the encryption server verifies including the receiving user's information and the recipient information included in the sending data. information is verified, and the key management server decrypts the digitally signed original text data from the encrypted digital signature data using a decryption key stored in the key management server according to the verification result of the verification information, and the web portal server uses the electronic There is provided a cloud system for transmitting the signed original text data to the terminal of the receiving user, and performing digital signature and encryption of data.
상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예는 웹포탈서버, 전자서명서버, 암호화서버, 및 키관리서버를 포함하는 클라우드 시스템에 의한 데이터 전자서명 및 암호화 방법으로서, 발송사용자의 단말기로부터 원문데이터 및 수신자정보를 수신하는 제1단계; 상기 키관리서버에 저장된 상기 발송사용자의 인증서 및 개인키에 의하여 전자서명이 수행되고, 상기 키관리서버에 저장된 암호화키에 의하여 암호화된 상기 원문데이터에 대한 암호화전자서명데이터, 및 상기 수신자정보를 포함하는 발송데이터를 생성하여, 상기 발송사용자의 단말기로 송신하는 제2단계; 상기 발송데이터의 수신사용자의 단말기로부터 상기 발송데이터, 상기 수신사용자의 정보 및 수신사용자의 공개키를 수신하는 제3단계; 및 상기 수신사용자의 정보 및 상기 발송데이터에 포함된 수신자정보를 포함하는 검증정보를 검증하고, 상기 검증정보의 검증결과에 따라 상기 수신사용자의 공개키에 의하여 상기 키관리서버에 저장된 복호화키를 암호화한 암호화키데이터를 도출하고, 상기 암호화키데이터를 수신사용자의 단말기로 송신하는 제4단계; 및 수신사용자의 단말기에 의하여, 수신사용자의 개인키에 의하여 상기 암호화키데이터로부터 복호화키를 복호화하고, 상기 복호화키에 의하여 상기 암호화전자서명데이터로부터 전자서명된 원문데이터를 복호화하는 제5단계;를 포함하는, 데이터 전자서명 및 암호화 방법을 제공한다.In order to solve the above problems, an embodiment of the present invention is a method for digitally signing and encrypting data by a cloud system including a web portal server, an electronic signature server, an encryption server, and a key management server, a terminal of a sending user A first step of receiving the original data and recipient information from the; The digital signature is performed by the sending user's certificate and private key stored in the key management server, and includes encrypted digital signature data for the original data encrypted by the encryption key stored in the key management server, and the recipient information. a second step of generating and transmitting the sending data to the sending user's terminal; a third step of receiving the sending data, information of the receiving user, and a public key of the receiving user from the terminal of the receiving user of the sending data; and verifying verification information including information of the receiving user and recipient information included in the sending data, and encrypting the decryption key stored in the key management server using the public key of the receiving user according to the verification result of the verification information. a fourth step of deriving one encryption key data and transmitting the encryption key data to a terminal of a receiving user; and a fifth step of decrypting, by the receiving user's terminal, the decryption key from the encryption key data using the receiving user's private key, and decrypting the digitally signed text data from the encrypted digital signature data using the decryption key; It provides a data digital signature and encryption method, including.
본 발명의 일 실시예에 따르면, 인증서 기반 전자서명 시 인증서와 개인키를 소지할 필요 없이 간편한 본인인증 만으로 데이터에 대한 전자서명을 수행할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, it is possible to exhibit the effect of performing digital signature on data only by simple self-authentication without needing to possess a certificate and a private key during certificate-based digital signature.
본 발명의 일 실시예에 따르면, 클라우드 시스템에서 암호화 및 복호화를 수행함으로써, 사용자는 자신의 단말기에 Plug in과 같은 설치형 솔루션의 설치를 하지 않더라도 암호화 및 복호화를 할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, by performing encryption and decryption in the cloud system, the user can exhibit the effect of encrypting and decrypting without installing an installed solution such as a plug-in in his/her terminal.
본 발명의 일 실시예에 따르면, 클라우드 시스템에서 암호화 및 복호화를 수행함으로써, 사용자의 단말기에 Plug in과 같은 설치형 솔루션의 설치가 불필요 하게 되어, 설치형 솔루션의 도입 및 운영에 대한 투자 비용을 절감할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, by performing encryption and decryption in the cloud system, it is unnecessary to install an installed solution such as a plug-in in the user's terminal, thereby reducing the investment cost for the introduction and operation of the installed solution. can have an effect.
본 발명의 일 실시예에 따르면, 클라우드 시스템 내에 사용자의 인증서 및 개인키를 저장함으로써, 인증서 및 개인키의 유출을 방지하여, 개인정보 유출로 인한 피해를 절감할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, by storing the user's certificate and private key in the cloud system, leakage of the certificate and private key is prevented, thereby reducing damage due to leakage of personal information.
본 발명의 일 실시예에 따르면 다수의 사용자 단말기와 접속하는 웹포탈서버는 사용자의 인증서 및 개인키가 저장된 키관리서버와 접속될 수 없는 시스템의 형태를 가짐으로써, 개인정보의 보안성이 강화되는 효과를 발휘할 수 있다.According to an embodiment of the present invention, the web portal server connected to a plurality of user terminals has a system that cannot be connected to the key management server in which the user's certificate and private key are stored, so that the security of personal information is strengthened. can be effective.
도 1은 본 발명의 일 실시예에 따른 클라우드 기반 데이터 전자인증 및 암호화 방법의 전체적인 시스템 형태를 개략적으로 도시한다.
도 2는 본 발명의 일 실시예에 따른 클라우드 시스템의 제1단계 및 제2단계 수행 과정을 개략적으로 도시한다.
도 3은 본 발명의 일 실시예에 따른 클라우드 시스템의 제3단계 및 제4단계 수행 과정을 개략적으로 도시한다.
도 4는 본 발명의 일 실시예에 따른 클라우드 시스템의 전자서명 과정의 단계들을 개략적으로 도시한다.
도 5는 본 발명의 일 실시예에 따른 클라우드 시스템의 발송데이터의 생성 및 송신 과정의 단계들을 개략적으로 도시한다.
도 6은 본 발명의 일 실시예에 따른 발송사용자의 단말기로부터 수신한 정보의 처리과정을 개략적으로 도시한다.
도 7은 본 발명의 일 실시예에 따른 발송데이터의 형태를 개략적으로 도시한다.
도 8은 본 발명의 일 실시예에 따른 클라우드 시스템의 복호화 과정의 단계들을 개략적으로 도시한다.
도 9는 본 발명의 일 실시예에 따른 암호화서버의 메시지 무결성 검증 과정을 개략적으로 도시한다.
도 10은 본 발명의 일 실시예에 따른 수신사용자 단말기로부터 수신한 정보의 처리과정을 개략적으로 도시한다.
도 11은 본 발명의 일 실시예에 따른 컴퓨팅 장치의 내부구성을 개략적으로 도시한다.1 schematically shows the overall system form of a cloud-based data electronic authentication and encryption method according to an embodiment of the present invention.
2 schematically illustrates a process of performing a first step and a second step of the cloud system according to an embodiment of the present invention.
3 schematically illustrates a process of performing a third step and a fourth step of the cloud system according to an embodiment of the present invention.
4 schematically shows steps of a digital signature process of a cloud system according to an embodiment of the present invention.
5 schematically illustrates steps of a process of generating and transmitting transmission data in a cloud system according to an embodiment of the present invention.
6 schematically illustrates a process of processing information received from a sending user's terminal according to an embodiment of the present invention.
7 schematically shows the form of transmission data according to an embodiment of the present invention.
8 schematically illustrates steps of a decryption process of a cloud system according to an embodiment of the present invention.
9 schematically illustrates a message integrity verification process of an encryption server according to an embodiment of the present invention.
10 schematically illustrates a process of processing information received from a receiving user terminal according to an embodiment of the present invention.
11 schematically illustrates an internal configuration of a computing device according to an embodiment of the present invention.
다양한 실시예들이 이제 도면을 참조하여 설명되며, 전체 도면에서 걸쳐 유사한 도면번호는 유사한 구성요소를 나타내기 위해서 사용된다. 본 명세서에서, 다양한 설명들이 본 발명의 이해를 제공하기 위해서 제시된다. 그러나 이러한 실시예들은 이러한 구체적인 설명 없이도 실행될 수 있음이 명백하다. 다른 예들에서, 공지된 구조 및 장치들은 실시예들의 설명을 용이하게 하기 위해서 블록 다이어그램 형태로 제공된다.BRIEF DESCRIPTION OF THE DRAWINGS Various embodiments are now described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In this specification, various descriptions are presented to provide an understanding of the present invention. However, it is apparent that these embodiments may be practiced without these specific descriptions. In other instances, well-known structures and devices are provided in block diagram form in order to facilitate describing the embodiments.
본 명세서에서 사용되는 용어 "컴포넌트", "모듈", "시스템", "~부" 등은 컴퓨터-관련 엔티티, 하드웨어, 펌웨어, 소프트웨어, 소프트웨어 및 하드웨어의 조합, 또는 소프트웨어의 실행을 지칭한다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 처리과정, 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 컴퓨팅 장치에서 실행되는 애플리케이션 및 컴퓨팅 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세서 및/또는 실행 스레드 내에 상주할 수 있고, 일 컴포넌트는 하나의 컴퓨터As used herein, the terms “component,” “module,” “system,” “part,” and the like refer to a computer-related entity, hardware, firmware, software, a combination of software and hardware, or execution of software. For example, a component can be, but is not limited to being, a process running on a processor, a processor, an object, a thread of execution, a program, and/or a computer. For example, both an application running on a computing device and the computing device may be a component. One or more components may reside within a processor and/or thread of execution, and a component may reside within one computer.
내에 로컬화될 수 있고, 또는 2개 이상의 컴퓨터들 사이에 분배될 수 있다. 또한, 이러한 컴포넌트들은 그 내부에 저장된 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능한 매체로부터 실행할 수 있다. 컴포넌트들은 예를 들어 하나 이상의 데이터 패킷들을 갖는 신호(예를 들면, 로컬 시스템, 분산 시스템에서 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터 데이터 및/또는 신호를 통해 다른 시스템과 인터넷과 같은 네트워크를 통한 데이터)에 따라 로컬 및/또는 원격 처리들을 통해 통신할 수 있다. It may be localized within, or distributed between two or more computers. In addition, these components can execute from various computer readable media having various data structures stored therein. The components may contain, for example, a signal having one or more data packets (eg, data from one component interacting with another component in a local system, a distributed system and/or data via a network such as the Internet with another system via a signal). ) may communicate via local and/or remote processes.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.Also, the terms "comprises" and/or "comprising" mean that the feature and/or element is present, but excludes the presence or addition of one or more other features, elements and/or groups thereof. should be understood as not
또한, 제1, 제2등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소도 제1구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Also, terms including an ordinal number such as 1st, 2nd, etc. may be used to describe various components, but the components are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.
또한, 본 발명의 실시예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, in the embodiments of the present invention, unless otherwise defined, all terms used herein, including technical or scientific terms, are generally understood by those of ordinary skill in the art to which the present invention belongs. have the same meaning as Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in an embodiment of the present invention, an ideal or excessively formal meaning is not interpreted as
이하에서 언급되는 "사용자 단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말기로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말 등과 같은 모든 종류의 핸드헬드 (Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, "네트워크"는 근거리 통신망(Local Area Network;LAN), 광역 통신망(Wide Area Network; WAN) 또는 부가가치 통신망(Value Added Network; VAN) 등과 같은 유선네트워크나 이동 통신망(mobile radio communication network) 또는 위성 통신망 등과 같은 모든 종류의 무선 네트워크로 구현될 수 있다.The "user terminal" referred to below may be implemented as a computer or portable terminal that can access a server or other terminal through a network. Here, the computer includes, for example, a laptop, a desktop, and a laptop equipped with a web browser (WEB Browser), and the portable terminal is, for example, a wireless communication device that ensures portability and mobility. , PCS (Personal Communication System), GSM (Global System for Mobile communications), PDC (Personal Digital Cellular), PHS (Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code) Division Multiple Access)-2000, W-Code Division Multiple Access (W-CDMA), Wireless Broadband Internet (Wibro) terminals, and the like may include all types of handheld-based wireless communication devices. In addition, "network" refers to a wired network such as a local area network (LAN), a wide area network (WAN), or a value added network (VAN), or a mobile radio communication network or satellite. It may be implemented as any kind of wireless network, such as a communication network.
도 1은 본 발명의 일 실시예에 따른 클라우드 기반 데이터 전자인증 및 암호화 방법의 전체적인 시스템 형태를 개략적으로 도시한다.1 schematically shows the overall system form of a cloud-based data electronic authentication and encryption method according to an embodiment of the present invention.
도 1의 발송사용자의 단말기 혹은 수신사용자의 단말기는 전술한 사용자 단말에 해당할 수 있고, 웹포탈서버(1100), 전자서명서버(1200), 암호화서버(1300), 및 키관리서버(1400)는 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅 장치에 해당한다. 도 1에는 웹포탈서버(1100), 전자서명서버(1200), 암호화서버(1300) 및 키관리서버(1400)가 분리되어 도시되어 있으나, 다른 실시예에서는, 웹포탈서버(1100), 전자서명서버(1200), 암호화서버(1300) 및 키관리서버(1400)가 통합된 형태의 서버로 존재할 수도 있다.The terminal of the sending user or the terminal of the receiving user of FIG. 1 may correspond to the user terminal described above, and the
발송사용자의 단말기 및 수신사용자의 단말기는 클라우드 시스템의 웹포탈서버(1100)에 웹브라우져 프로그램을 통하여 접속하거나 혹은 전용 애플리케이션을 통하여 접속할 수 있다.The terminal of the sending user and the terminal of the receiving user may access the
각각의 발송사용자의 단말기 및 수신사용자의 단말기는 바이오정보를 통해 인증을 수행하거나, 비밀번호를 입력하는 등의 방법으로 자신의 계정에 로그인 할 수 있다. 바이오정보는 지문, 홍채, 얼굴 인식, 목소리, 정맥 등 생체로부터 추출할 수 있는 생체정보 자체 혹은 동작 등의 행동적 특성의 생체정보를 모두 포함하는 정보로 해석되어야 할 것이다.Each of the sending user's terminal and the receiving user's terminal can log in to their account by performing authentication through bio-information or entering a password. Bio-information should be interpreted as information that includes both bio-information that can be extracted from living bodies such as fingerprints, iris, face recognition, voice, and veins, or bio-information of behavioral characteristics such as motion.
상기 웹포탈서버(1100)는, 발송사용자의 단말기 및 수신사용자의 단말기와 같은 사용자의 단말기, 전자서명서버(1200) 및 암호화서버(1300)에 접속하여 통신을 수행할 수 있고, 사용자의 단말기의 요청에 의하여 전자서명의 수행을 전자서명서버(1200)를 통하여 키관리서버(1400)에 요청하거나, 암호화 혹은 복호화의 수행을 암호화서버(1300)를 통하여 키관리서버(1400)에 요청할 수 있다.The
상기 전자서명서버(1200)는, 웹포탈서버(1100)로부터 발송사용자의 단말기로부터 수신한 원문데이터 및 수신자정보를 수신하여, 키관리서버(1400)로 전자서명을 요청하고, 키관리서버(1400)가 도출한 전자서명데이터를 수신할 수 있다.The
상기 암호화서버(1300)는, 웹포탈서버(1100)로부터 원문데이터, 수신자정보 및 전자서명데이터를 수신하여, 키관리서버(1400)로 암호화를 요청하고, 키관리서버(1400)가 도출한 암호화전자서명데이터를 수신하여, 발송데이터를 생성할 수 있다.The
상기 키관리서버(1400)는, 전자서명을 수행하기 위한 인증서 및 개인키, 공개키, 암호화키, 및 복호화키 중 1 이상을 포함하는 키데이터를 저장하고 있고, 전자서명서버(1200) 및 암호화서버(1300)로부터 데이터를 수신하고, 전자서명, 암호화 및 복호화에 대한 요청을 수신하여 전자서명을 수행하거나, 저장된 키데이터에 의하여 암호화 및 복호화를 수행할 수 있다.The
이하에서는, 클라우드 시스템의 동작에 대하여 더욱 자세하게 설명하도록 한다.Hereinafter, the operation of the cloud system will be described in more detail.
도 2는 본 발명의 일 실시예에 따른 클라우드 시스템의 제1단계 및 제2단계 수행 과정을 개략적으로 도시한다.2 schematically illustrates a process of performing a first step and a second step of the cloud system according to an embodiment of the present invention.
본 발명의 클라우드 시스템은, 데이터 전자서명 및 암호화 서비스를 제공할 수 있다. 개략적으로, 클라우드의 안전한 저장소 내에 인증서와 개인키를 발급하여 저장함으로써, 사용자가 인증서 및 개인키를 직접 소지 하지 않더라도 클라우드 환경에서 데이터 전자서명을 수행하고, 데이터의 암호화 및 복호화를 수행할 수 있다.The cloud system of the present invention can provide a data digital signature and encryption service. Briefly, by issuing and storing a certificate and a private key in a secure storage of the cloud, data digital signature and data encryption and decryption can be performed in the cloud environment even if the user does not directly possess the certificate and private key.
도 2는 클라우드 시스템의 전자서명 수행 및 발송데이터를 생성하는 과정을 도시한다. 구체적으로, 웹포탈서버(1100), 전자서명서버(1200), 암호화서버(1300), 및 키관리서버(1400)를 포함하는 클라우드 시스템에 의한 데이터 전자서명 및 암호화 방법은, 발송사용자의 단말기로부터 원문데이터 및 수신자정보를 수신하는 제1단계; 상기 키관리서버(1400)에 저장된 상기 발송사용자의 인증서 및 개인키에 의하여 전자서명이 수행되고, 상기 키관리서버(1400)에 저장된 암호화키에 의하여 암호화된 상기 원문데이터에 대한 암호화전자서명데이터, 및 상기 수신자정보를 포함하는 발송데이터를 생성하여, 상기 발송사용자의 단말기로 송신하는 제2단계; 상기 발송데이터의 수신사용자의 단말기로부터 상기 발송데이터 및 상기 수신사용자의 정보를 수신하는 제3단계; 및 상기 수신사용자의 정보 및 상기 발송데이터에 포함된 수신자정보를 포함하는 검증정보를 검증하고, 상기 검증정보의 검증결과에 따라 상기 키관리서버(1400)에 저장된 복호화키에 의하여 상기 암호화전자서명데이터로부터 전자서명된 원문데이터를 복호화하고, 상기 전자서명된 원문데이터를 상기 수신사용자의 단말기로 송신하는 제4단계;를 포함한다.2 illustrates a process of performing digital signature and generating transmission data in the cloud system. Specifically, the data digital signature and encryption method by the cloud system including the
구체적으로, 단계S100에서는, 발송사용자의 단말기에서 클라우드 시스템으로 원문데이터 및 수신자정보를 송신한다. 원문데이터는 발송사용자가 수신사용자에게 보내고자 하는 정보로서, 그 형태는 다양할 수 있다. 수신자정보는 발송사용자가 발송사용자단말기를 통해 입력하는 원문데이터를 보내고자 하는 수신자의 정보이다. 상기 S100단계는 상기 발송사용자의 단말기로부터 원문데이터 및 수신자정보를 수신하는 제1단계와 상응할 수 있다.Specifically, in step S100, the original text data and recipient information are transmitted from the sending user's terminal to the cloud system. The original data is information that the sending user wants to send to the receiving user, and the form may vary. The recipient information is information of the recipient to whom the sending user wants to send the original text data input through the sending user terminal. The step S100 may correspond to the first step of receiving the original text data and recipient information from the sending user's terminal.
단계 S110에서는, 키관리서버(1400)에 저장된 발송사용자의 인증서 및 개인키에 의하여 전자서명을 수행한다. 클라우드 시스템은 전자서명을 수행함으로써 상기 발송사용자의 단말기로부터 수신한 원문데이터에 대한 전자서명데이터를 도출한다.In step S110, the digital signature is performed using the sending user's certificate and private key stored in the
단계 S120에서는, 키관리서버(1400)에 저장된 암호화키에 의하여 수신한 원문데이터 및 도출한 전자서명데이터의 암호화를 수행하여 원문데이터에 대한 암호화전자서명데이터를 도출한다.In step S120, encryption of the received original text data and the derived digital signature data is performed using the encryption key stored in the
단계 S130에서는, 클라우드 시스템은, 수신자정보 및 암호화전자서명데이터에 대한 무결성을 검증하는 메시지무결성검증코드를 도출한다.In step S130, the cloud system derives a message integrity verification code that verifies the integrity of the recipient information and the encrypted digital signature data.
단계 S140에서는, 클라우드 시스템은 수신자정보, 암호화전자서명데이터 및 메시지무결성검증코드에 기초하여 발송데이터를 생성한다.In step S140, the cloud system generates transmission data based on the recipient information, the encrypted digital signature data, and the message integrity verification code.
단계 S150에서는, 클라우드 시스템은, 생성한 발송데이터를 발송사용자의 단말기로 송신하고, 발송데이터를 수신한 발송사용자의 단말기는 발송데이터를 수신할 수신사용자의 단말기로 발송데이터를 송신하여 데이터 통신을 할 수 있다. 상기 S110 내지 S150단계는, 상기 제2단계에 상응할 수 있다.In step S150, the cloud system transmits the generated sending data to the terminal of the sending user, and the sending user's terminal receiving the sending data transmits the sending data to the terminal of the receiving user who will receive the sending data to perform data communication. can Steps S110 to S150 may correspond to the second step.
이와 같이, 발송사용자는 발송사용자의 단말기에 발송사용자의 인증서 및 개인키를 소지할 필요 없이, 개인정보가 포함되어 있는 민감한 문서를 전자서명을 수행할 수 있고, 클라우드 환경에서 전자서명 및 암호화를 수행하여 암호화 및 복호화를 수행한 데이터를 개별적인 문서로 발송할 수 있는 효과를 발휘할 수 있다.In this way, the sending user can digitally sign sensitive documents containing personal information without having to possess the sending user's certificate and private key in the sending user's terminal, and perform digital signature and encryption in a cloud environment. This can have the effect of sending the encrypted and decrypted data as an individual document.
도 3은 본 발명의 일 실시예에 따른 클라우드 시스템의 제3단계 및 제4단계 수행 과정을 개략적으로 도시한다.3 schematically illustrates a process of performing a third step and a fourth step of the cloud system according to an embodiment of the present invention.
구체적으로, 도 3은 본 발명의 클라우드 시스템의 검증정보를 검증하는 과정 및 발송데이터의 복호화를 수행하는 과정을 도시한다.Specifically, FIG. 3 shows a process of verifying the verification information of the cloud system according to the present invention and a process of performing decryption of transmission data.
S200단계에서는, 수신사용자의 단말기는 발송사용자의 단말기로부터 수신한 발송데이터 및 수신사용자의 정보를 클라우드 시스템으로 송신한다.In step S200, the receiving user's terminal transmits the sending data and the receiving user's information received from the sending user's terminal to the cloud system.
S210단계에서는, 상기 발송데이터에 포함된 수신자정보 및 메시지무결성검증코드를 포함하는 검증정보에 기초하여 사용자검증 및 메시지무결성검증을 포함하는 검증결과를 도출한다.In step S210, a verification result including user verification and message integrity verification is derived based on verification information including recipient information and message integrity verification code included in the transmission data.
S220단계에서는, S210단계에서 도출한 검증정보의 검증결과에 따라, 전자서명된 원문데이터가 암호화된 암호화전자서명데이터를 복호화 한다.In step S220, according to the verification result of the verification information derived in step S210, the digitally signed original text data is encrypted and the encrypted digital signature data is decrypted.
S230단계에서는, 클라우드 시스템은, 암호화전자서명데이터를 복호화하여 도출된 전자서명된 원문데이터를 수신사용자의 단말기로 송신한다.In step S230, the cloud system transmits the digitally signed original text data derived by decrypting the encrypted digital signature data to the terminal of the receiving user.
S240단계에서는, 수신사용자의 단말기는, 클라우드 시스템으로부터 전자서명된 원문데이터를 수신하여 열람할 수 있고, 전자서명에 대한 검증을 수행할 수 있다.In step S240, the receiving user's terminal may receive and view the digitally signed original text data from the cloud system, and may perform verification of the electronic signature.
이와 같은 방식으로, 수신사용자의 단말기는, 수신사용자의 정보를 이용한 간단한 인증만으로, 클라우드 시스템의 키관리서버(1400)에 저장된 복호화키에 의하여 수신한 발송데이터에 대한 복호화를 수행하여 개인정보가 포함되어 있는 민감한 문서를 유출위험 없이 안전하게 확인할 수 있는 효과를 발휘할 수 있다.In this way, the receiving user's terminal performs decryption on the transmitted data received by the decryption key stored in the
본 발명의 다른 실시예에서는, 수신사용자의 단말기는 암호화된 암호화전자서명데이터의 복호화를 직접 수행하기 위해, 상기 클라우드 시스템으로부터 복호화키를 수신할 수 있다. 바람직하게는, 본 발명의 클라우드 시스템 및 수신사용자의 단말기는, 발송사용자의 단말기로부터 원문데이터 및 수신자정보를 수신하는 제1단계; 상기 키관리서버에 저장된 상기 발송사용자의 인증서 및 개인키에 의하여 전자서명이 수행되고, 상기 키관리서버(1400)에 저장된 암호화키에 의하여 암호화된 상기 원문데이터에 대한 암호화전자서명데이터, 및 상기 수신자정보를 포함하는 발송데이터를 생성하여, 상기 발송사용자의 단말기로 송신하는 제2단계; 상기 발송데이터의 수신사용자의 단말기로부터 상기 발송데이터, 상기 수신사용자의 정보 및 수신사용자의 공개키를 수신하는 제3단계; 및 상기 수신사용자의 정보 및 상기 발송데이터에 포함된 수신자정보를 포함하는 검증정보를 검증하고, 상기 검증정보의 검증결과에 따라 상기 수신사용자의 공개키에 의하여 상기 키관리서버(1400)에 저장된 복호화키를 암호화한 암호화키데이터를 도출하고, 상기 암호화키데이터를 수신사용자의 단말기로 송신하는 제4단계; 및 수신사용자의 단말기에 의하여, 수신사용자의 개인키에 의하여 상기 암호화키데이터로부터 복호화키를 복호화하고, 상기 복호화키에 의하여 상기 암호화전자서명데이터로부터 전자서명된 원문데이터를 복호화하는 제5단계;를 수행할 수 있다.In another embodiment of the present invention, the receiving user's terminal may receive a decryption key from the cloud system to directly decrypt the encrypted encrypted digital signature data. Preferably, the cloud system of the present invention and the receiving user's terminal include: a first step of receiving the original text data and the recipient's information from the sending user's terminal; The digital signature is performed by the sending user's certificate and private key stored in the key management server, the encrypted digital signature data for the original data encrypted by the encryption key stored in the
본 발명의 다른 실시예에서는, 상술한 바와 같은 제1단계 내지 제2단계의 수행 후, 클라우드 시스템(1000)은, 상기 발송데이터의 수신사용자의 단말기로부터 상기 발송데이터, 상기 수신사용자의 정보 및 상기 수신사용자의 공개키를 수신하는 제 3단계를 수행한다.In another embodiment of the present invention, after performing the first to second steps as described above, the
이후, 제4단계에서는, 암호화서버(1200)는 상기 수신사용자의 정보 및 상기 발송데이터에 포함된 수신자정보를 포함하는 검증정보를 검증하고, 키관리서버(1400)는 상기 검증정보의 검증결과가 검증으로 도출되는 경우, 키관리서버(1400)에 저장된 복호화키를 수신사용자의 공개키에 의하여 암호화를 수행하여 암호화키데이터를 도출한다. 이후, 도출된 암호화키데이터는 암호화서버(1200)로 송신되고, 암호화서버(1200)는 수신한 암호화키데이터를 웹포탈서버로 송신한다. 이후, 웹포탈서버(1100)에 의하여 수신사용자의 단말기로 송신된다.Then, in the fourth step, the
제5단계에서는, 수신사용자의 단말기는 수신사용자의 개인키에 의하여 웹포탈서버(1100)로부터 수신한 암호화키데이터를 복호화하여 복호화키를 도출한다. 이후, 암호화키데이터로부터 복호화된 복호화키에 의하여 발송데이터에 포함된 암호화전자서명데이터의 복호화를 수행하여, 전자서명된 원문데이터를 도출할 수 있다. 바람직하게는, 상기 수신사용자의 공개키 및 개인키는 트랙잭션에 따라 일회성으로 생성되어 사용 후 폐기될 수 있다.이와 같이 웹포탈서버(1100)로부터 수신사용자의 공개키로 암호화된 복호화키인 암호화키데이터를 수신한 수신사용자의 단말기는, 수신한 암호화키데이터를 수신사용자의 개인키로 복호화하여 복호화키를 도출하고, 복호화키에 의하여 발송데이터에 포함된 암호화전자서명데이터의 복호화를 직접 수행할 수 있다.In step 5, the receiving user's terminal decrypts the encryption key data received from the
도 4는 본 발명의 일 실시예에 따른 클라우드 시스템의 전자서명 과정의 단계들을 개략적으로 도시한다.4 schematically shows steps of a digital signature process of a cloud system according to an embodiment of the present invention.
전자서명을 수행하기 위해서는, 전자서명을 하고자 하는 주체의 인증서 및 개인키가 필요하다. 본 발명에서, 전자서명 수행에 필요한 인증서 및 개인키는 클라우드 시스템의 키관리서버(1400)에 저장되어 키관리서버(1400)에 의하여 전자서명 수행된다. 본 발명의 클라우드 시스템은, 상기 키관리서버(1400)에 저장된 상기 발송사용자의 인증서 및 개인키에 의하여 전자서명이 수행되고, 상기 키관리서버(1400)에 저장된 암호화키에 의하여 암호화된 상기 원문데이터에 대한 암호화전자서명데이터, 및 상기 수신자정보를 포함하는 발송데이터를 생성하여, 상기 발송사용자의 단말기로 송신하는 제2단계;를 수행하고, 상기 제2단계는, 전자서명단계를 포함하고, 상기 전자서명단계는, 상기 제2단계는, 전자서명단계를 포함하고, 상기 전자서명단계는, 상기 전자서명서버(1200)에 의하여, 상기 웹포탈서버(1100)로부터 상기 원문데이터를 수신하는 단계(S111); 상기 키관리서버(1400)에 의하여, 상기 전자서명서버(1200)로부터 상기 원문데이터를 수신하는 단계(S112);상기 키관리서버(1400)에 의하여, 상기 발송사용자의 인증서 및 개인키에 의하여 전자서명을 수행하여 전자서명데이터를 도출하는 단계(S113); 상기 전자서명서버(1200)에 의하여, 상기 키관리서버(1400)로부터 상기 전자서명데이터를 수신하는 단계(S114); 및 상기 웹포탈서버(1100)에 의하여, 상기 전자서명서버(1200)로부터 상기 전자서명데이터를 수신하는 단계(S115);를 포함하고, 상기 키관리서버(1400)는 상기 전자서명서버(1200)와 접속될 수 있고, 상기 웹포탈서버(1100)와는 접속되지 않는다.In order to perform digital signature, the certificate and private key of the subject who wants to digitally sign are required. In the present invention, the certificate and private key necessary for performing the digital signature are stored in the
구체적으로 S111단계에서는, 발송사용자의 단말기로부터 원문데이터 및 수신자정보를 수신한 웹포탈서버(1100)는 전자서명서버(1200)로 원문데이터를 송신한다.Specifically, in step S111 , the
S112단계에서는, 전자서명서버(1200)는, 웹포탈서버(1100)로부터 수신한 원문데이터를 키관리서버(1400)로 송신하여 원문데이터에 전자서명을 요청한다.In step S112, the
S113단계에서는, 키관리서버(1400)는 전자서명서버(1200)로부터 수신한 원문데이터를 키관리서버(1400)에 저장된 인증서 및 개인키에 의하여 전자서명을 수행하여 전자서명데이터를 도출한다. 저장된 인증서에는 발송사용자에 대한 식별정보, 발송사용자의 공개키, 인증서의 일련번호, 및 인증기관 정보, 인증기관의 서명 등을 포함할 수 있다. 일 예로, 키관리서버(1400)는 발송사용자의 공개키가 포함된 인증서를 개인키로 암호화하여 전자서명을 수행할 수 있다. 또는, 원문데이터의 해쉬값을 도출하여 개인키로 암호화하여 전자서명을 수행할 수도 있다. 이와 같이, 키관리서버(1400)가 수행할 수 있는 전자서명은, 인증서 및 개인키를 사용하는 방법이라면 일 예에 한정되지 않고, 다양한 형태로 수행될 수 있다.In step S113 , the
S114단계에서는, 키관리서버(1400)는, 도출한 전자서명데이터를 전자서명서버(1200)로 송신한다.In step S114 , the
S115단계에서는, 전자서명서버(1200)는, 키관리서버(1400)로부터 수신한 전자서명데이터를 웹포탈서버(1100)로 송신한다. 이와 같이, 키관리서버(1400)의 전자서명 수행에 의하여 도출된 전자서명데이터는 전자서명서버(1200)를 통하여 웹포탈서버(1100)에 송신된다. 바람직하게는, 키관리서버(1400)는, 전자서명서버(1200)와 접속될 수 있고, 웹포탈서버(1100)와는 접속되지 않는다. 이를 통해, 복수의 사용자의 단말기와 통신하는 웹포탈서버(1100)가 인증서 및 개인키와 같은 개인정보를 저장하고 있는 키관리서버(1400)와 직접 통신하지 않는 형태의 시스템에서 전자서명이 수행됨으로써, 데이터 통신의 보안성을 강화시킬 수 있는 효과를 발휘할 수 있다.In step S115 , the
도 5는 본 발명의 일 실시예에 따른 클라우드 시스템의 발송데이터의 생성 및 송신 과정의 단계들을 개략적으로 도시한다.5 schematically illustrates steps of a process of generating and transmitting transmission data in a cloud system according to an embodiment of the present invention.
본 발명의 클라우드 시스템은, 상기 키관리서버(1400)에 저장된 상기 발송사용자의 인증서 및 개인키에 의하여 전자서명이 수행되고, 상기 키관리서버(1400)에 저장된 암호화키에 의하여 암호화된 상기 원문데이터에 대한 암호화전자서명데이터, 및 상기 수신자정보를 포함하는 발송데이터를 생성하여, 상기 발송사용자의 단말기로 송신하는 제2단계;를 수행하고, 상기 제2단계는, 발송데이터생성단계를 포함하고, 상기 발송데이터생성단계는, 상기 원문데이터 및 상기 전자서명의 수행에 의하여 도출된 전자서명데이터의 암호화를 수행하여 상기 암호화전자서명데이터를 도출하는 단계(S320); 상기 수신자정보 및 상기 암호화전자서명데이터의 무결성을 검증하기 위한 메시지무결성검증코드를 도출하는 단계(S340); 상기 수신자정보, 상기 암호화전자서명데이터, 및 상기 메시지무결성검증코드에 기초하여 발송데이터를 생성하여 상기 발송사용자의 단말기로 송신하는 단계(S350 및 S360);를 포함한다.In the cloud system of the present invention, the digital signature is performed by the sending user's certificate and private key stored in the
구체적으로, 단계S300에서는, 웹포탈서버(1100)는 발송사용자의 단말기로부터 수신한 원문데이터, 수신자정보 및 전자서명서버(1200)로부터 수신한 전자서명데이터를 암호화서버(1300)로 송신한다.Specifically, in step S300 , the
단계S310에서는, 암호화서버(1300)는 웹포탈서버(1100)로부터 수신한 원문데이터 및 전자서명데이터를 키관리서버(1400)로 송신한다.In step S310 , the
단계S320에서는, 키관리서버(1400)는, 암호화서버(1300)로부터 수신한 원문데이터 및 전자서명데이터에 기초하여 키관리서버(1400)에 저장된 암호화키에 의하여 암호화전자서명데이터를 도출한다. 원문데이터에 대한 암호화를 수행하는 암호화키는 바람직하게는, 대칭키이다. 그러나, 암호화키는 대칭키에 한정되지 않고 상황에 따라 발송사용자의 개인키 및 공개키를 포함하는 비대칭키에 의하여 암호화를 수행할 수도 있다.In step S320 , the
단계S330에서는, 상기 키관리서버(1400)는 S320단계에서 원문데이터 및 전자서명데이터의 암호화를 수행하여 도출한 암호화전자서명데이터를 암호화서버(1300)로 송신한다.In step S330, the
단계S340에서는, 상기 암호화서버(1300)는 웹포탈서버(1100)로부터 수신한 수신자정보 및 키관리서버(1400)로부터 수신한 암호화전자서명데이터에 대한 무결성을 검증하기 위한 메시지무결성검증코드를 도출한다. 본 발명의 일 실시예에서는, 암호화서버(1300)는 MAC(Message Authentication Code) 알고리즘을 이용하여 메시지무결성검증코드를 도출할 수 있다. 상기 암호화서버(1300)는 키관리서버(1400)에 저장된 암호화키에 의하여 상기 메시지무결성검증코드를 도출하고, 상기 암호화키는 대칭키이다. 본 발명의 다른 실시예에서는, 상기 수신자정보 및 암호화전자서명데이터의 해쉬값을 도출하여 해쉬값을 발송사용자의 개인키에 의하여 암호화를 수행하여 이를 메시지무결성검증코드로 사용할 수도 있다. 상기 메시지무결성검증코드는 암호화서버(1300)에 의하여 생성되고, 상기 암호화전자서명데이터는 키관리서버(1400)에 의하여 데이터의 암호화가 수행되어 생성된다.In step S340, the
단계S350에서는, 암호화서버(1300)는 수신자정보, 암호화전자서명데이터 및 메시지무결검증코드에 기초하여 발송데이터를 생성한다. 이와 같이 생성된 발송데이터는, 수신자정보, 암호화전자서명데이터 및 상기 수신자정보 및 암호화전자서명데이터의 무결성을 검증하기 위한 메시지무결성검증코드를 포함한다.In step S350, the
단계S360에서는, 암호화서버(1300)는 생성한 발송데이터를 웹포탈서버(1100)로 송신한다.In step S360 , the
이와 같은 방식으로, 클라우드 시스템의 키관리서버(1400)에 저장된 암호화키에 의하여 암호화를 수행하고, 발송데이터를 생성하여 발송사용자의 단말기로 송신함으로써, 발송사용자는 자신의 단말기에 개인키를 소지하지 않더라도 암호화를 할 수 있는 효과를 발휘할 수 있다.In this way, encryption is performed by the encryption key stored in the
또한, 클라우드 시스템에서 암호화를 수행함으로써, 사용자의 단말기에 Plug in과 같은 설치형 솔루션의 설치가 불필요 하게 되어, 설치형 솔루션의 도입 및 운영에 대한 투자 비용을 절감할 수 있는 효과를 발휘할 수 있다.In addition, by performing encryption in the cloud system, it is unnecessary to install an installed solution such as a plug-in in the user's terminal, thereby reducing the investment cost for the introduction and operation of the installed solution.
본 발명의 다른 실시예에서는, 발송사용자의 단말기는 클라우드 시스템으로 원문데이터를 송신함에 있어서, 암호화키의 전송을 요청할 수 있다. 클라우드 시스템은, 발송사용자의 단말기로부터 원문데이터 및 수신자정보를 수신하는 제1단계에서, 암호화키의 전송요청을 더 수신할 수 있다. 이 후, 웹포탈서버(1100)는 암호화키의 전송요청 및 원문데이터를 상기 전자서명서버(1200)로 송신하는 단계; 상기 전자서명서버(1200)는 수신한 상기 원문데이터 및 암호화키의 전송요청을 키관리서버(1400)로 송신하는 단계; 상기 키관리서버(1400)에서 상기 발송사용자의 인증서 및 개인키에 의하여 전자서명을 수행하여 전자서명데이터를 도출하는 단계; 상기 키관리서버(1400)에서 상기 전자서명서버(1200)로 상기 전자서명데이터 및 암호화키를 송신하는 단계; 및 상기 전자서명서버(1200)가 상기 웹포탈서버(1100)로 상기 전자서명데이터 및 암호화키를 송신하는 단계;를 포함하는 제2전자서명단계를 수행한다. 이 후, 웹포탈서버(1100)는 전자서명데이터 및 암호화키를 발송사용자의 단말기로 송신하고, 상기 전자서명데이터 및 암호화키를 수신한 발송사용자의 단말기는, 웹포탈서버(1100)로부터 수신한 암호화키에 의하여 원문데이터 및 전자서명데이터의 암호화를 수행하여 암호화전자서명데이터를 도출하고, 수신자정보 및 암호화전자서명데이터의 무결성을 검증하기 위한 메시지무결성검증코드를 도출하여 발송데이터를 생성할 수 있다. 이와 같이, 본 발명의 다른 실시예에서는, 발송사용자는 클라우드 시스템에서 발송사용자의 단말기를 통해 클라우드 시스템으로부터 암호화키를 제공 받아 발송사용자의 단말기에서 직접 암호화를 수행할 수 있는 효과를 발휘할 수 있다.In another embodiment of the present invention, the sending user's terminal may request the transmission of the encryption key when transmitting the original text data to the cloud system. The cloud system may further receive a request for transmission of the encryption key in the first step of receiving the original text data and recipient information from the sending user's terminal. Thereafter, the
도 6은 본 발명의 일 실시예에 따른 발송사용자의 단말기로부터 수신한 정보의 처리과정을 개략적으로 도시한다.6 schematically illustrates a process of processing information received from a sending user's terminal according to an embodiment of the present invention.
구체적으로, 도 6은 클라우드 시스템에서 전자서명 및 암호화를 수행하는 과정에서 정보의 처리과정을 도시한다.Specifically, FIG. 6 shows a process of processing information in the process of performing digital signature and encryption in the cloud system.
도 6의 (a)에 도시된 바와 같이, 발송사용자의 단말기는 원문데이터 및 수신자정보를 웹포탈서버(1100)로 송신한다. 웹포탈서버(1100)는 수신한 원문데이터를 전자서명서버(1200)로 송신하고, 전자서명서버(1200)는 수신한 원문데이터를 키관리서버(1400)로 송신한다. 키관리서버(1400)는 저장된 인증서 및 개인키에 의하여 수신한 원문데이터에 대한 전자서명을 수행하여 전자서명데이터를 도출한다. 도출된 전자서명데이터를 키관리서버(1400)는 전자서명서버(1200)로 송신하고, 전자서명서버(1200)는 전자서명데이터를 웹포탈서버(1100)로 송신한다.As shown in (a) of FIG. 6 , the sending user's terminal transmits original text data and receiver information to the
이후, 도 6의 (b)에 도시된 바와 같이, 웹포탈서버(1100)는 발송사용자의 단말기로부터 수신한 원문데이터, 수신자정보 및 키관리서버(1400)로부터 수신한 전자서명데이터를 암호화서버(1300)로 송신한다. 암호화서버(1300)는, 웹포탈서버(1100)로부터 수신한 원문데이터 및 전자서명데이터를 키관리서버(1400)로 송신하고, 키관리서버(1400)는, 저장된 암호화키에 의하여 수신한 원문데이터 및 전자서명데이터의 암호화를 수행하여 암호화전자서명데이터를 도출한다.Thereafter, as shown in (b) of FIG. 6, the
이후, 도 6의 (c)에 도시된 바와 같이, 키관리서버(1400)는 도출한 암호화전자서명데이터를 암호화서버(1300)로 송신하고, 암호화서버(1300)는, 웹포탈서버(1100)로부터 수신한 수신자정보 및 키관리서버(1400)로부터 수신한 암호화전자서명데이터의 무결성을 검증하는 메시지무결성검증코드를 도출하는 알고리즘에 기초하여 메시지무결성검증코드를 도출한다.Then, as shown in (c) of FIG. 6, the
이후, 도 6의 (d)에 도시된 바와 같이, 암호화서버(1300)는 수신자정보, 암호화전자서명데이터, 및 도출한 메시지무결성검증코드에 기초하여 발송데이터를 생성한다.Thereafter, as shown in (d) of FIG. 6, the
이와 같이, 발송사용자의 단말기 및 수신사용자의 단말기에는 인증서, 개인키, 암호화키, 복호화키와 같은 정보보안에 있어서 민감한 개인정보를 저장하고 있지 않더라도, 데이터에 대한 전자서명 및 데이터에 대한 암호화 및 복호화가 클라우드 시스템에서 이루어짐으로써, 개인정보의 유출위험을 방지할 수 있고 송수신데이터에 대한 보안성을 더욱 강화시킬 수 있는 효과를 발휘할 수 있다.As such, even if the sending user's terminal and the receiving user's terminal do not store sensitive personal information in information security such as certificates, private keys, encryption keys, and decryption keys, digital signatures for data and encryption and decryption of data As this is done in the cloud system, the risk of personal information leakage can be prevented and the security of transmitted and received data can be further strengthened.
도 7은 본 발명의 일 실시예에 따른 발송데이터의 형태를 개략적으로 도시한다.7 schematically shows the form of transmission data according to an embodiment of the present invention.
본 발명의 클라우드시스템의 암호화서버(1300)가 생성하는 발송데이터는 도 7에 도시된 바와 같이 수신자정보, 암호화전자서명데이터 및 상기 수신자정보 및 상기 암호화전자서명데이터의 무결성을 검증하기 위한 메시지무결성검증코드를 포함한다.As shown in FIG. 7, the sending data generated by the
수신자정보는, 발송사용자의 단말기를 통해 입력된 발송데이터를 수신할 수신사용자에 대한 정보를 의미한다.The recipient information refers to information about a recipient user who will receive transmission data input through the sending user's terminal.
암호화전자서명데이터는, 발송사용자의 단말기에서 송신한 원문데이터의 전자서명을 수행하여 도출된 전자서명데이터 및 원문데이터를 키관리서버(1400)에 저장된 암호화키에 의하여 암호화를 수행하여 도출한 데이터를 의미한다. 상기 암호화전자서명데이터는 암호화 된 형태로 발송데이터에 포함되어 송신되기 때문에, 개인정보가 포함되어 있는 민감한 문서도 유출의 위험성 없이 송신할 수 있는 효과를 발휘할 수 있다.The encrypted digital signature data is data derived by performing digital signature data and original text data derived by performing digital signature of the original text data transmitted from the sending user's terminal by performing encryption with the encryption key stored in the
메시지무결성검증코드는 상기 수신자정보 및 암호화전자서명데이터에 대한 무결성을 검증하기 위한 코드로서, 암호화서버(1300)는 MAC(Message Authentication Code) 알고리즘을 이용하여 메시지무결성검증코드를 도출할 수 있다. 상기 암호화서버(1300)는 키관리서버(1400)에 저장된 암호화키에 의하여 상기 메시지무결성검증코드를 도출하고, 상기 암호화키는 대칭키이다.
혹은, 상기 수신자정보 및 암호화전자서명데이터의 해쉬값을 도출하여 해쉬값을 발송사용자의 개인키에 의하여 암호화를 수행하여 이를 메시지무결성검증코드로 사용할 수도 있다. 상기 메시지무결성검증코드는 암호화서버(1300)에 의하여 생성되고, 상기 암호화전자서명데이터는 키관리서버(1400)에 의하여 데이터의 암호화가 수행되어 생성된다. 이러한 메시지무결성검증코드는 수신 측에서 메시지무결성검증코드의 복호화를 수행하고, 상기 수신자정보 및 암호화전자서명데이터의 해쉬값을 도출하여 메시지무결성검증코드를 복호화 한 값과 비교하여 동일한 경우, 메시지의 무결성을 검증할 수 있다. 이후, 발송데이터의 암호화 된 전자서명된 원문데이터인 암호화전자서명데이터를 확인하기 위해서 메시지무결성검증코드를 검증하여, 상기 수신자정보 및 암호화전자서명데이터의 무결성이 검증되면, 암호화전자서명데이터의 복호화를 진행할 수 있다. 이와 같은 발송데이터는 클라우드 시스템 내에서 수신자정보, 암호화전자서명데이터, 및 메시지무결성검증코드로 분리 혹은 결합된 형태로 통신이 수행될 수 있다.The message integrity verification code is a code for verifying the integrity of the recipient information and the encrypted digital signature data, and the
Alternatively, a hash value of the recipient information and encrypted digital signature data may be derived, the hash value may be encrypted using the sending user's private key, and this may be used as a message integrity verification code. The message integrity verification code is generated by the
도 8은 본 발명의 일 실시예에 따른 클라우드 시스템의 복호화 과정의 단계들을 개략적으로 도시한다.8 schematically illustrates steps of a decryption process of a cloud system according to an embodiment of the present invention.
본 발명의 클라우드 시스템은, 상기 수신사용자의 정보 및 상기 발송데이터에 포함된 수신자정보를 포함하는 검증정보를 검증하고, 상기 검증정보의 검증결과에 따라 상기 키관리서버(1400)에 저장된 복호화키에 의하여 상기 암호화전자서명데이터로부터 전자서명된 원문데이터를 복호화하고, 상기 전자서명된 원문데이터를 상기 수신사용자의 단말기로 송신하는 제4단계;를 수행하고, 상기 제4단계는, 상기 암호화서버(1300)에 의하여, 상기 웹포탈서버(1100)로부터 상기 수신사용자의 정보 및 상기 발송데이터를 수신하는 단계(S400); 상기 암호화서버(1300)에 의하여, 상기 검증정보의 검증결과를 도출하는 검증단계(S410 및 S420); 상기 암호화서버(1300)에 의하여, 상기 검증결과에 따라 상기 암호화서버(1300)에서 상기 암호화전자서명데이터를 상기 키관리서버(1400)로 송신하는 단계(S430); 상기 키관리서버(1400)에 의하여, 상기 키관리서버(1400)에 저장된 복호화키에 의하여 상기 암호화전자서명데이터의 복호화를 수행하는 복호화단계(S440); 상기 암호화서버(1300)에 의하여, 상기 키관리서버(1400)로부터 복호화된 상기 전자서명된 원문데이터를 수신하는 단계(S450); 상기 웹포탈서버(1100)에 의하여, 상기 암호화서버(1300)로부터 상기 전자서명된 원문데이터를 수신하는 단계(S460);를 포함하고, 상기 키관리서버(1400)는 상기 전자서명서버(1200)와 접속될 수 있고, 상기 웹포탈서버(1100)와는 접속되지 않는다.The cloud system of the present invention verifies verification information including the recipient information included in the recipient user information and the transmission data, and stores the decryption key in the
구체적으로, S400단계에서는, 웹포탈서버(1100)는, 수신사용자의 단말기로부터 수신한 수신사용자의 정보 및 발송데이터를 암호화서버(1300)로 송신한다.Specifically, in step S400 , the
S410단계에서는, 암호화서버(1300)는 웹포탈서버(1100)로부터 수신한 수신사용자의 정보 및 발송데이터에 포함된 수신자정보의 일치여부에 기초하여 사용자검증결과를 도출한다. 수신사용자의 정보 및 수신자정보가 일치하는 경우, 검증으로 사용자검증결과를 도출하고, 수신사용자의 정보 및 수신자정보가 일치하지 않는 경우, 검증불가로 사용자검증결과가 도출된다.In step S410 , the
S420단계에서는, 암호화서버(1300)는 사용자검증이 완료된 발송데이터에 포함된 수신자정보 및 암호화전자서명데이터의 무결성을 검증하기 위한 메시지무결성검증코드를 도출한다. 이후, 발송데이터가 포함하는 검증정보에 포함된 메시지무결성검증코드와 암호화서버(1300)에서 직접 도출한 메시지무결성검증코드의 일치여부를 판별하여 메시지무결성검증결과를 도출한다. 바람직하게는, 검증정보는, 상기 수신자정보, 상기 수신사용자의 정보, 및 상기 수신자정보 및 상기 암호화전자서명데이터의 무결성을 검증하기 위한 메시지무결성검증코드를 포함한다.In step S420, the
암호화서버(1300)에서 직접 도출한 메시지무결성검증코드와 상기 발송데이터에 포함된 메시지무결성검증코드가 일치하는 경우, 수신한 수신자정보 및 암호화전자서명데이터에 대한 메시지무결성검증결과를 검증으로 도출하고, 각각의 메시지무결성검증코드가 일치하지 않는 경우, 수신자정보 및 암호화전자서명데이터에 대한 메시지무결성검증결과를 검증불가로 도출한다.When the message integrity verification code directly derived from the
S430단계에서는, 암호화서버(1300)는, 사용자검증결과 및 메시지무결성검증결과가 검증으로 도출되는 경우, 웹포탈서버(1100)로부터 수신한 발송데이터에 포함된 암호화전자서명데이터를 키관리서버(1400)로 송신한다.In step S430, the
S440단계에서는, 키관리서버(1400)는 저장된 복호화키에 의하여 암호화전자서명데이터에 대한 복호화를 수행하여 복호화 된 전자서명된 원문데이터를 도출한다.In step S440, the
S450단계에서는, 키관리서버(1400)는 복호화 된 전자서명된 원문데이터를 암호화서버(1300)로 송신한다.In step S450 , the
S460단계에서는, 암호화서버(1300)는, 키관리서버(1400)로부터 수신한 복호화 된 전자서명된 원문데이터를 웹포털서버로 송신한다. 이와 같이, 키관리서버(1400)에서 복호화 된 전자서명된 원문데이터는 암호화서버(1300)를 통하여 웹포탈서버(1100)에 송신된다. 바람직하게는, 키관리서버(1400)는, 암호화서버(1300)와 접속될 수 있고, 웹포탈서버(1100)와는 접속되지 않는다.In step S460, the
이와 같이, 사용자검증 및 메시지무결성검증을 포함하는 발송데이터에 대한 검증단계을 수행하고, 검증단계의 수행을 통해 검증된 경우에만 수신한 발송데이터에 대한 복호화를 진행함으로써, 데이터 보안성을 향상시킬 수 있고, 복호화를 클라우드 시스템에서 수행함으로써, 수신사용자는 자신의 단말기에 복호화키를 소지하지 않더라도 복호화를 할 수 있는 효과를 발휘할 수 있다.In this way, data security can be improved by performing a verification step on the transmission data including user verification and message integrity verification, and decoding the received transmission data only when verified through the verification step. , by performing the decryption in the cloud system, the receiving user can exhibit the effect of performing decryption even if he/she does not have a decryption key in his/her terminal.
도 9는 본 발명의 일 실시예에 따른 암호화서버(1300)의 메시지 무결성 검증 과정을 개략적으로 도시한다.9 schematically illustrates a message integrity verification process of the
도 9에 도시된 바와 같이, 암호화서버(1300)는 웹포탈서버(1100)로부터 수신한 발송데이터에서 메시지무결성검증코드를 분리한다. 이후, 암호화서버(1300)는, 수신자정보 및 암호화전자서명데이터의 무결성을 검증하기 위한 메시지무결성검증코드를 직접 도출한다. 이후, 발송데이터에서 분리한 메시지무결성검증코드와 직접 도출한 메시지무결성검증코드를의 일치여부에 기초하여 메시지무결성검증결과를 도출한다. 비교한 2개의 메시지무결성검증코드가 일치하는 경우, 검증으로 메시지무결성검증결과를 도출하고, 2개의 메시지무결성검증코드가 일치하지 않는 경우, 수신한 수신자정보 및 암호화전자서명데이터의 위/변조가 이루어 진 것으로 판단하여 메시지무결성검증결과를 검증불가로 도출한다.As shown in FIG. 9 , the
이와 같이, 메시지무결성검증을 수행함으로써, 발송데이터에 포함된 수신자정보 및 암호화전자서명데이터의 위/변조 여부를 검증할 수 있는 효과를 발휘할 수 있다.In this way, by performing message integrity verification, it is possible to exhibit the effect of verifying whether the recipient information and encrypted digital signature data included in the sent data are forged/falsified.
도 10은 본 발명의 일 실시예에 따른 수신사용자 단말기로부터 수신한 정보의 처리과정을 개략적으로 도시한다.10 schematically illustrates a process of processing information received from a receiving user terminal according to an embodiment of the present invention.
구체적으로, 도 10은 클라우드 시스템에서 복호화를 수행하는 과정에서 정보의 처리과정을 도시한다.Specifically, FIG. 10 shows a process of processing information in a process of performing decryption in a cloud system.
도 10에 도시된 바와 같이, 수신사용자의 단말기는, 발송데이터 및 수신사용자의 정보를 웹포탈서버(1100)로 송신한다. 웹포탈서버(1100)는 수신한 발송데이터 및 수신사용자의 정보를 암호화서버(1300)로 송신하고, 암호화서버(1300)는 발송데이터에 포함된 검증정보를 검증하고, 검증한 검증결과에 따라, 발송데이터에 포함된 암호화전자서명데이터를 키관리서버(1400)로 송신한다. 이후, 키관리서버(1400)는 저장된 복호화키에 의하여 수신한 암호화전자서명데이터를 복호화하여 전자서명 된 원문데이터를 도출한다. 이와 같이 복호화를 수행하여 도출된 전자서명 된 원문데이터를 키관리서버(1400)는 암호화서버(1300)로 송신하고, 암호화서버(1300)는 전자서명 된 원문데이터를 웹포탈서버(1100)로 송신한다. 웹포탈서버(1100)는 수신한 전자서명 된 원문데이터를 수신사용자의 단말기로 송신하고, 수신사용자의 단말기는 원문데이터를 확인하고, 전자서명에 대한 검증을 수행할 수 있다. 이와 같이 클라우드 환경에 복호화를 수행하여, 수신사용자의 단말기에 복호화키를 소지하지 않고, 설치형 솔루션을 설치할 필요 없이 복호화를 수행할 수 있는 효과를 발휘할 수 있다.As shown in FIG. 10 , the receiving user's terminal transmits the sending data and the receiving user's information to the
도 11은 본 발명의 일 실시예에 따른 컴퓨팅 장치의 내부구성을 개략적으로 도시한다.11 schematically illustrates an internal configuration of a computing device according to an embodiment of the present invention.
도 1에 도시된 구성요소 전체 혹은 일부는 후술하는 컴퓨팅장치의 구성요소를 포함할 수 있다.All or some of the components illustrated in FIG. 1 may include components of a computing device to be described later.
도 11에 도시한 바와 같이, 컴퓨팅 장치(11000)은 적어도 하나의 프로세서(processor)(11100), 메모리(memory)(11200), 주변장치 인터페이스(peripheral interface)(11300), 입/출력 서브시스템(I/Osubsystem)(11400), 전력 회로(11500) 및 통신 회로(11600)를 적어도 포함할 수 있다.11, the
메모리(11200)는, 일례로 고속 랜덤 액세스 메모리(high-speed random access memory), 자기 디스크, 에스램(SRAM), 디램(DRAM), 롬(ROM), 플래시 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(11200)는 컴퓨팅 장치(11000)의 동작에 필요한 소프트웨어 모듈, 명령어 집합 또는 그밖에 다양한 데이터를 포함할 수 있다.The
이때, 프로세서(11100)나 주변장치 인터페이스(11300) 등의 다른 컴포넌트에서 메모리(11200)에 액세스하는 것은 프로세서(11100)에 의해 제어될 수 있다. 상기 프로세서(11100)은 단일 혹은 복수로 구성될 수 있고, 연산처리속도 향상을 위하여 GPU 및 TPU 형태의 프로세서를 포함할 수 있다.In this case, access to the
주변장치 인터페이스(11300)는 컴퓨팅 장치(11000)의 입력 및/또는 출력 주변장치를 프로세서(11100) 및 메모리 (11200)에 결합시킬 수 있다. 프로세서(11100)는 메모리(11200)에 저장된 소프트웨어 모듈 또는 명령어 집합을 실행하여 컴퓨팅 장치(11000)을 위한 다양한 기능을 수행하고 데이터를 처리할 수 있다.
입/출력 서브시스템(11400)은 다양한 입/출력 주변장치들을 주변장치 인터페이스(11300)에 결합시킬 수 있다. 예를 들어, 입/출력 서브시스템(11400)은 모니터나 키보드, 마우스, 프린터 또는 필요에 따라 터치스크린이나 센서등의 주변장치를 주변장치 인터페이스(11300)에 결합시키기 위한 컨트롤러를 포함할 수 있다. 다른 측면에 따르면, 입/출력 주변장치들은 입/출력 서브시스템(11400)을 거치지 않고 주변장치 인터페이스(11300)에 결합될 수도 있다.The input/output subsystem 11400 may couple various input/output peripherals to the
전력 회로(11500)는 단말기의 컴포넌트의 전부 또는 일부로 전력을 공급할 수 있다. 예를 들어 전력 회로(11500)는 전력 관리 시스템, 배터리나 교류(AC) 등과 같은 하나 이상의 전원, 충전 시스템, 전력 실패 감지 회로(power failure detection circuit), 전력 변환기나 인버터, 전력 상태 표시자 또는 전력 생성, 관리, 분배를 위한 임의의 다른 컴포넌트들을 포함할 수 있다.The
통신 회로(11600)는 적어도 하나의 외부 포트를 이용하여 다른 컴퓨팅 장치와 통신을 가능하게 할 수 있다.The
또는 상술한 바와 같이 필요에 따라 통신 회로(11600)는 RF 회로를 포함하여 전자기 신호(electromagnetic signal)라고도 알려진 RF 신호를 송수신함으로써, 다른 컴퓨팅 장치와 통신을 가능하게 할 수도 있다.Alternatively, as described above, if necessary, the
이러한 도 11의 실시예는, 컴퓨팅 장치(11000)의 일례일 뿐이고, 컴퓨팅 장치(11000)은 도 11에 도시된 일부 컴포넌트가 생략되거나, 도 11에 도시되지 않은 추가의 컴포넌트를 더 구비하거나, 2개 이상의 컴포넌트를 결합시키는 구성 또는 배치를 가질 수 있다. 예를 들어, 모바일 환경의 통신 단말을 위한 컴퓨팅 장치는 도 11에 도시된 컴포넌트들 외에도, 터치스크린이나 센서 등을 더 포함할 수도 있으며, 통신 회로(1160)에 다양한 통신방식(WiFi, 3G, LTE, Bluetooth, NFC, Zigbee 등)의 RF 통신을 위한 회로가 포함될 수도 있다. 컴퓨팅 장치(11000)에 포함 가능한 컴포넌트들은 하나 이상의 신호 처리 또는 어플리케이션에 특화된 집적 회로를 포함하는 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 양자의 조합으로 구현될 수 있다.This embodiment of FIG. 11 is only an example of the
본 발명의 실시예에 따른 방법들은 다양한 컴퓨팅 장치를 통하여 수행될 수 있는 프로그램 명령(instruction) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 특히, 본 실시예에 따른 프로그램은 PC 기반의 프로그램 또는 모바일 단말 전용의 어플리케이션으로 구성될 수 있다. 본 발명이 적용되는 애플리케이션은 파일 배포 시스템이 제공하는 파일을 통해 이용자 단말에 설치될 수 있다. 일 예로, 파일 배포 시스템은 이용자 단말이기의 요청에 따라 상기 파일을 전송하는 파일 전송부(미도시)를 포함할 수 있다.Methods according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed through various computing devices and recorded in a computer-readable medium. In particular, the program according to the present embodiment may be configured as a PC-based program or an application dedicated to a mobile terminal. The application to which the present invention is applied may be installed in the user terminal through a file provided by the file distribution system. As an example, the file distribution system may include a file transmission unit (not shown) that transmits the file according to a request of the user terminal.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA). , a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨팅 장치 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computing devices and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and carry out program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited embodiments and drawings, various modifications and variations are possible from the above description by those skilled in the art. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (9)
상기 키관리서버는, 상기 전자서명서버와 접속될 수 있고, 상기 웹포탈서버와는 접속되지 않고,
발송사용자의 단말기 및 수신사용자의 단말기는 상기 웹포탈서버와만 통신할 수 있고,
상기 키관리서버는, 상기 전자서명서버의 전자서명요청에 의해서만 전자서명을 수행하고,
상기 키관리서버는, 상기 암호화서버의 암호화요청에 의해서만 데이터의 암호화를 수행하고,
상기 키관리서버는, 전자서명을 수행하기 위한 인증서 및 개인키, 공개키, 암호화키, 및 복호화키 중 1 이상을 포함하는 키데이터를 저장하고 있고,
상기 클라우드 시스템은,
상기 웹포탈서버에 의하여, 발송사용자의 단말기로부터 원문데이터 및 수신자정보를 수신하는 제1단계;
상기 키관리서버에 의하여, 상기 키관리서버에 저장된 상기 발송사용자의 인증서 및 개인키에 의하여 전자서명이 수행되고, 상기 암호화서버에 의하여, 상기 키관리서버에 저장된 암호화키에 의하여 암호화된 상기 원문데이터에 대한 암호화전자서명데이터, 및 상기 수신자정보를 포함하는 발송데이터를 생성하고, 상기 웹포탈서버에 의하여, 상기 발송사용자의 단말기로 송신하는 제2단계;
상기 웹포탈서버에 의하여, 상기 발송데이터의 수신사용자의 단말기로부터 상기 발송데이터 및 상기 수신사용자의 정보를 수신하는 제3단계; 및
상기 암호화서버에 의하여, 상기 수신사용자의 정보 및 상기 발송데이터에 포함된 수신자정보를 포함하는 검증정보를 검증하고, 상기 키관리서버에 의하여, 상기 검증정보의 검증결과에 따라 상기 키관리서버에 저장된 복호화키에 의하여 상기 암호화전자서명데이터로부터 전자서명된 원문데이터를 복호화하고, 상기 웹포탈서버에 의하여, 상기 전자서명된 원문데이터를 상기 수신사용자의 단말기로 송신하는 제4단계;를 포함하고,
상기 제2단계는, 전자서명단계를 포함하고,
상기 전자서명단계는,
상기 전자서명서버에 의하여, 상기 웹포탈서버로부터 상기 원문데이터를 수신하는 단계;
상기 키관리서버에 의하여, 상기 전자서명서버로부터 상기 원문데이터를 수신하는 단계;
상기 키관리서버에 의하여, 상기 발송사용자의 인증서 및 개인키에 의하여 전자서명을 수행하여 전자서명데이터를 도출하는 단계; 및
상기 전자서명서버에 의하여, 상기 키관리서버로부터 상기 전자서명데이터를 수신하는 단계;를 포함하고,
상기 제2단계는, 발송데이터생성단계를 포함하고,
상기 발송데이터생성단계는,
상기 키관리서버에 의하여, 상기 원문데이터 및 상기 전자서명의 수행에 의하여 도출된 전자서명데이터의 암호화를 수행하여 상기 암호화전자서명데이터를 도출하는 단계;
상기 암호화서버에 의하여, 상기 수신자정보 및 상기 암호화전자서명데이터의 무결성을 검증하기 위한 메시지무결성검증코드를 도출하는 단계;
상기 암호화서버에 의하여, 상기 수신자정보, 상기 암호화전자서명데이터, 및 상기 메시지무결성검증코드에 기초하여 발송데이터를 생성하여 상기 발송사용자의 단말기로 송신하는 단계;를 포함하는, 데이터 전자서명 및 암호화 방법.
A data digital signature and encryption method by a cloud system including a web portal server, an electronic signature server, an encryption server, and a key management server, the method comprising:
The key management server may be connected to the digital signature server, but is not connected to the web portal server,
The sending user's terminal and the receiving user's terminal can communicate only with the web portal server,
The key management server performs the digital signature only in response to the digital signature request from the digital signature server,
The key management server performs encryption of data only in response to the encryption request of the encryption server,
The key management server stores key data including at least one of a certificate and a private key, a public key, an encryption key, and a decryption key for performing an electronic signature,
The cloud system is
a first step of receiving, by the web portal server, original text data and recipient information from a terminal of a sending user;
The digital signature is performed by the key management server by the sending user's certificate and private key stored in the key management server, and the original data encrypted by the encryption server by the encryption key stored in the key management server. a second step of generating, by the web portal server, sending data including encrypted digital signature data and the recipient information, and transmitting it to the sending user's terminal;
a third step of receiving, by the web portal server, the sending data and information of the receiving user from the terminal of the receiving user of the sending data; and
The encryption server verifies the verification information including the recipient information included in the information of the receiving user and the sent data, and the key management server stores the verification information stored in the key management server according to the verification result of the verification information. a fourth step of decrypting the digitally signed original text data from the encrypted digital signature data using a decryption key, and transmitting the digitally signed original text data to the terminal of the receiving user by the web portal server;
The second step includes a digital signature step,
The electronic signature step is
receiving, by the electronic signature server, the original text data from the web portal server;
receiving, by the key management server, the original text data from the digital signature server;
deriving digital signature data by performing, by the key management server, a digital signature based on the sending user's certificate and private key; and
Receiving, by the digital signature server, the digital signature data from the key management server;
The second step includes a sending data generation step,
The sending data generation step is,
deriving the encrypted digital signature data by encrypting, by the key management server, the original text data and the digital signature data derived by performing the digital signature;
deriving, by the encryption server, a message integrity verification code for verifying the integrity of the recipient information and the encrypted digital signature data;
Generating, by the encryption server, sending data based on the recipient information, the encrypted digital signature data, and the message integrity verification code, and transmitting it to the sending user's terminal; .
상기 발송데이터는,
상기 수신자정보;
상기 암호화전자서명데이터; 및
상기 수신자정보 및 상기 암호화전자서명데이터의 무결성을 검증하기 위한 메시지무결성검증코드를 포함하는, 데이터 전자서명 및 암호화 방법.
The method according to claim 1,
The sending data is
the recipient information;
the encrypted digital signature data; and
and a message integrity verification code for verifying the integrity of the recipient information and the encrypted digital signature data.
상기 제4단계는,
상기 암호화서버에 의하여, 상기 웹포탈서버로부터 상기 수신사용자의 정보 및 상기 발송데이터를 수신하는 단계;
상기 암호화서버에 의하여, 상기 검증정보의 검증결과를 도출하는 검증단계;
상기 암호화서버에 의하여, 상기 검증결과에 따라 상기 암호화서버에서 상기 암호화전자서명데이터를 상기 키관리서버로 송신하는 단계;
상기 키관리서버에 의하여, 상기 암호화전자서명데이터의 복호화를 수행하는 복호화단계;
상기 암호화서버에 의하여, 상기 키관리서버로부터 복호화된 상기 전자서명된 원문데이터를 수신하는 단계; 및
상기 웹포탈서버에 의하여, 상기 암호화서버로부터 상기 전자서명된 원문데이터를 수신하는 단계;를 포함하고,
상기 키관리서버는 상기 전자서명서버와 접속될 수 있고, 상기 웹포탈서버와는 접속되지 않는, 데이터 전자서명 및 암호화 방법.
The method according to claim 1,
The fourth step is
receiving, by the encryption server, the information of the receiving user and the sending data from the web portal server;
a verification step of deriving a verification result of the verification information by the encryption server;
transmitting, by the encryption server, the encrypted digital signature data from the encryption server to the key management server according to the verification result;
a decryption step of performing decryption of the encrypted digital signature data by the key management server;
receiving, by the encryption server, the digitally signed original text data decrypted from the key management server; and
Receiving, by the web portal server, the digitally signed original text data from the encryption server;
The key management server may be connected to the digital signature server, but not connected to the web portal server.
상기 제4단계는, 검증단계를 포함하고,
상기 검증단계는,
상기 암호화서버에 의하여, 상기 수신사용자의 정보 및 상기 수신자정보의 일치여부에 기초하여 사용자검증결과를 도출하는 사용자검증단계; 및
상기 암호화서버에 의하여, 상기 수신자정보 및 상기 암호화전자서명데이터의 무결성을 검증하기 위한 메시지무결성검증코드를 도출하고, 상기 검증정보에 포함된 메시지무결성검증코드의 일치여부에 기초하여 메시지무결성검증결과를 도출하는 메시지무결성검증단계;를 포함하는, 데이터 전자서명 및 암호화 방법.
The method according to claim 1,
The fourth step includes a verification step,
The verification step is
a user verification step of deriving, by the encryption server, a user verification result based on whether the recipient user information and the recipient information match; and
By the encryption server, a message integrity verification code for verifying the integrity of the recipient information and the encrypted digital signature data is derived, and a message integrity verification result is obtained based on whether the message integrity verification code included in the verification information matches. Containing, digital signature and encryption method of the message;
상기 제4단계는, 복호화단계를 포함하고,
상기 복호화단계는,
상기 암호화서버에 의하여, 상기 사용자검증결과 및 상기 메시지무결성검증결과가 검증으로 도출되는 경우, 상기 키관리서버에 의하여, 상기 키관리서버에 저장된 복호화키에 의하여 상기 암호화전자서명데이터로부터 전자서명된 원문데이터를 복호화하는, 데이터 전자서명 및 암호화 방법.
7. The method of claim 6,
The fourth step includes a decryption step,
The decryption step is
When the user verification result and the message integrity verification result are derived by verification by the encryption server, the original text digitally signed by the key management server from the encrypted digital signature data by the decryption key stored in the key management server A data digital signature and encryption method that decrypts data.
상기 키관리서버는, 상기 전자서명서버와 접속될 수 있고, 상기 웹포탈서버와는 접속되지 않고,
발송사용자의 단말기 및 수신사용자의 단말기는 상기 웹포탈서버와만 통신할 수 있고,
상기 키관리서버는, 상기 전자서명서버의 전자서명요청에 의해서만 전자서명을 수행하고,
상기 키관리서버는, 상기 암호화서버의 암호화요청에 의해서만 데이터의 암호화를 수행하고,
상기 키관리서버는, 전자서명을 수행하기 위한 인증서 및 개인키, 공개키, 암호화키, 및 복호화키 중 1 이상을 포함하는 키데이터를 저장하고 있고,
상기 웹포탈서버는 발송사용자의 단말기로부터 원문데이터 및 수신자정보를 수신하고,
상기 키관리서버는 상기 키관리서버에 저장된 상기 발송사용자의 인증서 및 개인키에 의하여 전자서명을 수행하고,
상기 전자서명을 수행함에 있어서,
상기 전자서명서버는 상기 웹포탈서버로부터 상기 원문데이터를 수신하고,
상기 키관리서버에 의하여, 상기 전자서명서버로부터 상기 원문데이터를 수신하고,
상기 키관리서버에 의하여, 상기 발송사용자의 인증서 및 개인키에 의하여 전자서명을 수행하여 전자서명데이터를 도출하고,
상기 전자서명서버에 의하여, 상기 키관리서버로부터 상기 전자서명데이터를 수신하고,
상기 암호화서버는 상기 키관리서버에 저장된 암호화키에 의하여 암호화된 상기 원문데이터에 대한 암호화전자서명데이터, 및 상기 수신자정보를 포함하는 발송데이터를 생성하고,
상기 발송데이터를 생성함에 있어서,
상기 키관리서버는, 상기 원문데이터 및 상기 전자서명의 수행에 의하여 도출된 전자서명데이터의 암호화를 수행하여 상기 암호화전자서명데이터를 도출하고,
상기 암호화서버는, 상기 수신자정보 및 상기 암호화전자서명데이터의 무결성을 검증하기 위한 메시지무결성검증코드를 도출하고,
상기 암호화서버는, 상기 수신자정보, 상기 암호화전자서명데이터, 및 상기 메시지무결성검증코드에 기초하여 발송데이터를 생성하고,
상기 웹포탈서버는 상기 발송데이터를 상기 발송사용자의 단말기로 송신하고,
상기 웹포탈서버는 상기 발송데이터의 수신사용자의 단말기로부터 상기 발송데이터 및 상기 수신사용자의 정보를 수신하고,
상기 암호화서버는 상기 수신사용자의 정보 및 상기 발송데이터에 포함된 수신자정보를 포함하는 검증정보를 검증하고,
상기 키관리서버는 상기 검증정보의 검증결과에 따라 상기 키관리서버에 저장된 복호화키에 의하여 상기 암호화전자서명데이터로부터 전자서명된 원문데이터를 복호화하고,
상기 웹포탈서버는 상기 전자서명된 원문데이터를 상기 수신사용자의 단말기로 송신하는, 데이터 전자서명 및 암호화를 수행하기 위한 클라우드 시스템.
A cloud system comprising a web portal server, an electronic signature server, an encryption server, and a key management server, and performing digital signature and encryption of data,
The key management server may be connected to the digital signature server, but is not connected to the web portal server,
The sending user's terminal and the receiving user's terminal can communicate only with the web portal server,
The key management server performs the digital signature only in response to the digital signature request from the digital signature server,
The key management server performs encryption of data only in response to the encryption request of the encryption server,
The key management server stores key data including at least one of a certificate and a private key, a public key, an encryption key, and a decryption key for performing an electronic signature,
The web portal server receives the original text data and recipient information from the sending user's terminal,
The key management server performs digital signatures using the sending user's certificate and private key stored in the key management server;
In performing the electronic signature,
The digital signature server receives the original text data from the web portal server,
receiving the original text data from the digital signature server by the key management server;
Deriving digital signature data by performing digital signature by the key management server using the sending user's certificate and private key,
receiving the digital signature data from the key management server by the digital signature server;
The encryption server generates encrypted digital signature data for the original data encrypted by the encryption key stored in the key management server, and transmission data including the recipient information,
In generating the sending data,
The key management server derives the encrypted digital signature data by performing encryption of the original text data and the digital signature data derived by performing the digital signature,
The encryption server derives a message integrity verification code for verifying the integrity of the recipient information and the encrypted digital signature data,
The encryption server generates transmission data based on the recipient information, the encrypted digital signature data, and the message integrity verification code,
The web portal server transmits the sending data to the sending user's terminal,
The web portal server receives the sending data and information of the receiving user from the terminal of the receiving user of the sending data,
The encryption server verifies verification information including information of the receiving user and recipient information included in the sending data,
The key management server decrypts the digitally signed original text data from the encrypted digital signature data using a decryption key stored in the key management server according to the verification result of the verification information;
The web portal server transmits the digitally signed original text data to the terminal of the receiving user, a cloud system for performing digital signature and encryption of data.
상기 키관리서버는, 상기 전자서명서버와 접속될 수 있고, 상기 웹포탈서버와는 접속되지 않고,
발송사용자의 단말기 및 수신사용자의 단말기는 상기 웹포탈서버와만 통신할 수 있고,
상기 키관리서버는, 상기 전자서명서버의 전자서명요청에 의해서만 전자서명을 수행하고,
상기 키관리서버는, 상기 암호화서버의 암호화요청에 의해서만 데이터의 암호화를 수행하고,
상기 키관리서버는, 전자서명을 수행하기 위한 인증서 및 개인키, 공개키, 암호화키, 및 복호화키 중 1 이상을 포함하는 키데이터를 저장하고 있고,
상기 클라우드 시스템은,
상기 웹포탈서버에 의하여, 상기 웹포탈서버에 의하여, 발송사용자의 단말기로부터 원문데이터 및 수신자정보를 수신하는 제1단계;
상기 키관리서버에 의하여, 상기 키관리서버에 저장된 상기 발송사용자의 인증서 및 개인키에 의하여 전자서명이 수행되고, 상기 암호화서버에 의하여, 상기 키관리서버에 저장된 암호화키에 의하여 암호화된 상기 원문데이터에 대한 암호화전자서명데이터, 및 상기 수신자정보를 포함하는 발송데이터를 생성하고, 상기 웹포탈서버에 의하여, 상기 발송사용자의 단말기로 송신하는 제2단계;
상기 웹포탈서버에 의하여, 상기 발송데이터의 수신사용자의 단말기로부터 상기 발송데이터, 상기 수신사용자의 정보 및 수신사용자의 공개키를 수신하는 제3단계; 및
상기 암호화서버에 의하여, 상기 수신사용자의 정보 및 상기 발송데이터에 포함된 수신자정보를 포함하는 검증정보를 검증하고, 상기 키관리서버에 의하여, 상기 검증정보의 검증결과에 따라 상기 수신사용자의 공개키에 의하여 상기 키관리서버에 저장된 복호화키를 암호화한 암호화키데이터를 도출하고, 상기 웹포탈서버에 의하여, 상기 암호화키데이터를 수신사용자의 단말기로 송신하는 제4단계; 및
수신사용자의 단말기에 의하여, 수신사용자의 개인키에 의하여 상기 암호화키데이터로부터 복호화키를 복호화하고, 상기 복호화키에 의하여 상기 암호화전자서명데이터로부터 전자서명된 원문데이터를 복호화하는 제5단계;를 포함하고,
상기 제2단계는, 전자서명단계를 포함하고,
상기 전자서명단계는,
상기 전자서명서버에 의하여, 상기 웹포탈서버로부터 상기 원문데이터를 수신하는 단계;
상기 키관리서버에 의하여, 상기 전자서명서버로부터 상기 원문데이터를 수신하는 단계;
상기 키관리서버에 의하여, 상기 발송사용자의 인증서 및 개인키에 의하여 전자서명을 수행하여 전자서명데이터를 도출하는 단계; 및
상기 전자서명서버에 의하여, 상기 키관리서버로부터 상기 전자서명데이터를 수신하는 단계;를 포함하고,
상기 제2단계는, 발송데이터생성단계를 포함하고,
상기 발송데이터생성단계는,
상기 키관리서버에 의하여, 상기 원문데이터 및 상기 전자서명의 수행에 의하여 도출된 전자서명데이터의 암호화를 수행하여 상기 암호화전자서명데이터를 도출하는 단계;
상기 암호화서버에 의하여, 상기 수신자정보 및 상기 암호화전자서명데이터의 무결성을 검증하기 위한 메시지무결성검증코드를 도출하는 단계;
상기 암호화서버에 의하여, 상기 수신자정보, 상기 암호화전자서명데이터, 및 상기 메시지무결성검증코드에 기초하여 발송데이터를 생성하여 상기 발송사용자의 단말기로 송신하는 단계;를 포함하는, 데이터 전자서명 및 암호화 방법.A data digital signature and encryption method by a cloud system including a web portal server, an electronic signature server, an encryption server, and a key management server, the method comprising:
The key management server may be connected to the digital signature server, but is not connected to the web portal server,
The sending user's terminal and the receiving user's terminal can communicate only with the web portal server,
The key management server performs the digital signature only in response to the digital signature request from the digital signature server,
The key management server performs encryption of data only in response to the encryption request of the encryption server,
The key management server stores key data including at least one of a certificate and a private key, a public key, an encryption key, and a decryption key for performing an electronic signature,
The cloud system is
a first step of receiving the original text data and recipient information from the terminal of the sending user by the web portal server and the web portal server;
The digital signature is performed by the key management server by the sending user's certificate and private key stored in the key management server, and the original data encrypted by the encryption server by the encryption key stored in the key management server. a second step of generating, by the web portal server, sending data including encrypted digital signature data and the recipient information, and transmitting it to the sending user's terminal;
a third step of receiving, by the web portal server, the sending data, the information of the receiving user, and the public key of the receiving user from the terminal of the receiving user of the sending data; and
The encryption server verifies the verification information including the recipient information included in the information of the recipient user and the outgoing data, and the key management server verifies the public key of the recipient user according to the verification result of the verification information a fourth step of deriving encryption key data obtained by encrypting the decryption key stored in the key management server, and transmitting, by the web portal server, the encryption key data to a terminal of a receiving user; and
a fifth step of decrypting, by the receiving user's terminal, the decryption key from the encryption key data using the receiving user's private key, and decrypting the digitally signed text data from the encrypted digital signature data using the decryption key; do,
The second step includes a digital signature step,
The electronic signature step is
receiving, by the electronic signature server, the original text data from the web portal server;
receiving, by the key management server, the original text data from the digital signature server;
deriving digital signature data by performing, by the key management server, a digital signature based on the sending user's certificate and private key; and
Receiving, by the electronic signature server, the digital signature data from the key management server;
The second step includes a sending data generation step,
The sending data generation step is,
deriving the encrypted digital signature data by encrypting, by the key management server, the original text data and the digital signature data derived by performing the digital signature;
deriving, by the encryption server, a message integrity verification code for verifying the integrity of the recipient information and the encrypted digital signature data;
Generating, by the encryption server, sending data based on the recipient information, the encrypted digital signature data, and the message integrity verification code, and transmitting it to the sending user's terminal; .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190128902A KR102310811B1 (en) | 2019-10-17 | 2019-10-17 | Method and System for electronic authentication and encryption of data Based On Cloud System |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190128902A KR102310811B1 (en) | 2019-10-17 | 2019-10-17 | Method and System for electronic authentication and encryption of data Based On Cloud System |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210045632A KR20210045632A (en) | 2021-04-27 |
KR102310811B1 true KR102310811B1 (en) | 2021-10-08 |
Family
ID=75725819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190128902A KR102310811B1 (en) | 2019-10-17 | 2019-10-17 | Method and System for electronic authentication and encryption of data Based On Cloud System |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102310811B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102620056B1 (en) | 2023-07-11 | 2024-01-02 | 주식회사 지크립토 | Trusted Storage Apparatus of Supporting Digital Signature-based Data Storage Authentication Technology and Driving Method Thereof, and System for Delegated Storage Authentication |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100929488B1 (en) * | 2009-02-20 | 2009-12-03 | 주식회사 한국무역정보통신 | System and method for authorizing of electronic signature based on server |
KR101326732B1 (en) | 2012-07-24 | 2013-11-20 | 한전케이디엔주식회사 | Automatic meter reading method using encryption key |
KR101974062B1 (en) | 2018-05-31 | 2019-04-30 | 이니텍(주) | Electronic Signature Method Based on Cloud HSM |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080007043A (en) * | 2006-07-14 | 2008-01-17 | (주)에스디아이앤씨 | Edi system and method of electronic document security in edi system |
KR101489447B1 (en) * | 2013-06-17 | 2015-02-03 | 김도형 | System for encoding information by encrypting message into common conversation |
KR101863953B1 (en) * | 2016-06-16 | 2018-06-29 | 주식회사 티모넷 | System and method for providing electronic signature service |
-
2019
- 2019-10-17 KR KR1020190128902A patent/KR102310811B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100929488B1 (en) * | 2009-02-20 | 2009-12-03 | 주식회사 한국무역정보통신 | System and method for authorizing of electronic signature based on server |
KR101326732B1 (en) | 2012-07-24 | 2013-11-20 | 한전케이디엔주식회사 | Automatic meter reading method using encryption key |
KR101974062B1 (en) | 2018-05-31 | 2019-04-30 | 이니텍(주) | Electronic Signature Method Based on Cloud HSM |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102620056B1 (en) | 2023-07-11 | 2024-01-02 | 주식회사 지크립토 | Trusted Storage Apparatus of Supporting Digital Signature-based Data Storage Authentication Technology and Driving Method Thereof, and System for Delegated Storage Authentication |
Also Published As
Publication number | Publication date |
---|---|
KR20210045632A (en) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10277591B2 (en) | Protection and verification of user authentication credentials against server compromise | |
EP3420677B1 (en) | System and method for service assisted mobile pairing of password-less computer login | |
US9935773B2 (en) | Trusted platform module certification and attestation utilizing an anonymous key system | |
US9807610B2 (en) | Method and apparatus for seamless out-of-band authentication | |
KR101671351B1 (en) | Privacy enhanced key management for a web service provider using a converged security engine | |
US9166777B2 (en) | Method and system for user authentication for computing devices utilizing PKI and other user credentials | |
WO2017000829A1 (en) | Method for checking security based on biological features, client and server | |
CN106104542B (en) | Content protection for data as a service (DaaS) | |
JP2019508763A (en) | Local device authentication | |
US20160125180A1 (en) | Near Field Communication Authentication Mechanism | |
KR102448333B1 (en) | Method and System for OTP authentication based on Bio-Information | |
US11050570B1 (en) | Interface authenticator | |
US9565211B2 (en) | Managing exchanges of sensitive data | |
KR101739203B1 (en) | Password-based user authentication method using one-time private key-based digital signature and homomorphic encryption | |
US8918844B1 (en) | Device presence validation | |
EP3704613B1 (en) | Provisioning trusted execution environment(s) based on chain of trust including platform | |
JP6756056B2 (en) | Cryptographic chip by identity verification | |
US20190297075A1 (en) | Repeated secondary user authentication | |
KR20160081255A (en) | A mobile terminal for providing one time password and methed thereof | |
CN110838919B (en) | Communication method, storage method, operation method and device | |
KR20220042939A (en) | Method and apparatus for evaluating security of electronic controller in vehicle | |
CN109960935B (en) | Method, device and storage medium for determining trusted state of TPM (trusted platform Module) | |
KR102310811B1 (en) | Method and System for electronic authentication and encryption of data Based On Cloud System | |
KR101836211B1 (en) | Electronic device authentication manager device | |
KR20110114990A (en) | Apparatus and method for securing a keyboard |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |