KR101346284B1 - Method for producing an encrypted file and decrypting the encrypted file, computer readable recording medium a program for implementing the methods - Google Patents
Method for producing an encrypted file and decrypting the encrypted file, computer readable recording medium a program for implementing the methods Download PDFInfo
- Publication number
- KR101346284B1 KR101346284B1 KR1020120058844A KR20120058844A KR101346284B1 KR 101346284 B1 KR101346284 B1 KR 101346284B1 KR 1020120058844 A KR1020120058844 A KR 1020120058844A KR 20120058844 A KR20120058844 A KR 20120058844A KR 101346284 B1 KR101346284 B1 KR 101346284B1
- Authority
- KR
- South Korea
- Prior art keywords
- file
- uuid
- encryption
- code
- encrypted
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
파일 또는 폴더를 암호화 하는 방법 및 암호화 파일의 해독 방법이 개시된다. 본 발명에 따른 사용자 단말에서 파일 또는 폴더에 대한 암호화 파일 생성 방법은, 암호화할 대상인 파일 또는 폴더를 선택하는 단계; 해독 제한 정보 및 열기 암호를 입력 받는 단계; 상기 파일 또는 폴더를 식별하는 식별 코드를 생성하는 단계; 상기 식별 코드 및 상기 해독 제한 정보를 서버로 전송하는 단계; 상기 식별 코드로 상기 파일 또는 폴더를 암호화하는 단계; 상기 열기 암호로 상기 식별 코드를 암호화하는 단계; 및 상기 암호화된 파일 또는 폴더와, 상기 암호화된 식별 코드와, 해독 제어 프로그램을 포함하는 암호화 파일을 생성하는 단계;를 포함한다.A method of encrypting a file or folder and a method of decrypting an encrypted file are disclosed. In the user terminal according to the present invention, a method for generating an encrypted file for a file or folder includes selecting a file or folder to be encrypted; Receiving decryption restriction information and an open password; Generating an identification code identifying the file or folder; Transmitting the identification code and the decryption restriction information to a server; Encrypting the file or folder with the identification code; Encrypting the identification code with the open password; And generating an encrypted file including the encrypted file or folder, the encrypted identification code, and a decryption control program.
Description
본 발명은 파일의 암호화에 관한 것으로, 더 구체적으로 암호화된 파일을 생성하는 방법 및 그 암호화된 파일의 해독 방법과 이 방법들을 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체에 관한 것이다.The present invention relates to encryption of files, and more particularly, to a method of generating an encrypted file, a method of decrypting the encrypted file, and a computer-readable recording medium having recorded thereon a program for executing the methods.
컴퓨터를 이용해 생성할 수 있는 파일들의 내용은 매우 다양하다. 예를 들어 텍스트 문서나 이미지, 동영상 문서, 또는 건물이나 기계의 도면 등, 생성 가능한 파일의 내용에서는 그 제한이 사실상 없다.The contents of files that can be created using a computer vary widely. For example, the content of files that can be generated, such as text documents, images, video documents, or drawings of buildings or machines, is virtually unlimited.
이들 파일들 중에서 특히 보안이 강조되어야 하는 파일들이 있다. 예컨대, 기업이나 국가의 비밀 문서 등이 있고 특히 개인의 차원에서는 금융이 금융에 사용하는 정보, 개인의 사진이나 동영상 등의 개인 비밀 정보 등이 그러하다.Among these files are those that need to be especially secure. For example, there is a secret document of a company or a state, and especially at the individual level, such information is used by finance for finance, and personal secret information such as a picture or a video of an individual.
상술한 바와 같이 보안이 필요한 파일들이 매우 많지만 이와 동시에 파일들의 유포 경로는 매우 다양하다. 즉, 파일들은 기본적으로 컴퓨터 내의 메모리 영역에 저장되는데, 이들이 유포되는 경로는 온라인 통신망을 통해 전송되거나 USB, CD 등의 저장 매체를 통한 전송 등 매우 다양하다.As described above, there are many files requiring security, but at the same time, the distribution paths of the files are very diverse. That is, files are basically stored in a memory area of a computer, and the paths through which they are spread vary widely, such as through an online communication network or through a storage medium such as USB or CD.
특히 보안이 필요한 파일들이 적대 국가나 경쟁 기업이 비밀리에 입수하거나, 개인 문서들이 인터넷 상의 악의적 사용자에게 입수되면, 기업이나 국가 또는 개인이 입게 되는 피해는 매우 막대하게 된다.In particular, if the files that require security are secretly obtained by a hostile country or a competitor, or personal documents are obtained by malicious users on the Internet, the damage to the company or the country or the individual can be enormous.
그 유포 경로의 다양성과 보안 파일들의 악용 가능성 때문에, 보안이 필요한 파일들의 보안 방법이 매우 다양하게 제시되고 있다. Due to the variety of distribution paths and the possibility of exploitation of security files, a variety of security methods for security files are proposed.
본 발명은 상기와 같이 파일의 보안 필요성을 충족시키기 위해 제안된 것으로, 파일 또는 폴더를 암호화 하는 방법 및 암호화 파일의 해독 방법을 제공하는데 그 목적이 있다.The present invention has been proposed to meet the security needs of a file as described above, and an object thereof is to provide a method for encrypting a file or folder and a method for decrypting an encrypted file.
또한 본 발명은 상기 방법들을 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체를 제공하는데 그 목적이 있다.It is also an object of the present invention to provide a computer readable recording medium having recorded thereon a program for executing the above methods.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한 본 발명의 목적 및 장점들은 특허청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. It will also be readily apparent that the objects and advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른, 사용자 단말에서 파일 또는 폴더에 대한 암호화 파일 생성 방법은, 암호화할 대상인 파일 또는 폴더를 선택하는 단계; 해독 제한 정보 및 열기 암호를 입력 받는 단계; 상기 파일 또는 폴더를 식별하는 식별 코드를 생성하는 단계; 상기 식별 코드 및 상기 해독 제한 정보를 서버로 전송하는 단계; 상기 식별 코드로 상기 파일 또는 폴더를 암호화하는 단계; 상기 열기 암호로 상기 식별 코드를 암호화하는 단계; 및 상기 암호화된 파일 또는 폴더와, 상기 암호화된 식별 코드와, 해독 제어 프로그램을 포함하는 암호화 파일을 생성하는 단계;를 포함한다.According to an aspect of the present invention for achieving the above object, a method for generating an encryption file for a file or folder in a user terminal comprises the steps of: selecting a file or folder to be encrypted; Receiving decryption restriction information and an open password; Generating an identification code identifying the file or folder; Transmitting the identification code and the decryption restriction information to a server; Encrypting the file or folder with the identification code; Encrypting the identification code with the open password; And generating an encrypted file including the encrypted file or folder, the encrypted identification code, and a decryption control program.
상기 암호화 파일 생성 방법은, 상기 서버로부터 상기 식별 코드에 대응하는 인덱스를 수신하는 단계;를 더 포함하고, 상기 식별 코드를 암호화하는 단계는, 상기 열기 암호로 상기 식별 코드 및 인덱스를 암호화하고, 상기 암호화 파일을 생성하는 단계는, 상기 암호화된 파일 또는 폴더와, 상기 암호화된 식별 코드 및 인덱스와, 해독 제어 프로그램을 포함하는 암호화 파일을 생성할 수 있다.The encryption file generating method may further include: receiving an index corresponding to the identification code from the server, and encrypting the identification code includes encrypting the identification code and the index with the opening password, Generating an encrypted file may generate an encrypted file including the encrypted file or folder, the encrypted identification code and index, and a decryption control program.
상기 해독 제어 프로그램은, 상기 암호화 파일 실행시 사용자로부터 입력된 열기 암호로 상기 암호화된 식별 코드를 해독하여 식별 코드를 추출하고, 그 추출된 식별 코드를 상기 서버로 전송하여 상기 제한 정보에 기초한 해독 가능 여부에 대한 응답을 수신하며, 그 수신된 응답에 기초하여 상기 추출된 식별 코드로 상기 암호화된 파일 또는 폴더를 해독하여 파일 또는 폴더를 추출할 수 있다.The decryption control program is capable of decrypting the encrypted identification code with an open password input from a user when executing the encryption file, extracting an identification code, and transmitting the extracted identification code to the server to decrypt based on the restriction information. A response to the message may be received, and the file or folder may be extracted by decrypting the encrypted file or folder with the extracted identification code based on the received response.
상기 해독 제어 프로그램은, 상기 암호화 파일 실행시 사용자로부터 입력된 열기 암호로 상기 암호화된 식별 코드를 해독하여 식별 코드를 추출하고, 사용자 단말이 인터넷 연결이 안되어 있는 경우, 상기 식별 코드를 시드(seed)로 한 확인 코드와, 그 확인 코드 및 상기 서버의 접속 주소를 포함하는 이미지 코드를 생성하여 표시할 수 있다.The decryption control program extracts the identification code by decrypting the encrypted identification code with an open password input from the user when executing the encryption file, and seeding the identification code when the user terminal is not connected to the Internet. And an image code including the confirmation code, the confirmation code, and a connection address of the server can be generated and displayed.
상기 이미지 코드는 QR 코드일 수 있다.The image code may be a QR code.
상기 해독 제어 프로그램은, 사용자로부터 입력 받은 인증 코드를 검증하고 그 검증 결과에 기초하여 상기 추출된 식별 코드로 상기 암호화된 파일 또는 폴더를 해독하여 파일 또는 폴더를 추출할 수 있다.The decryption control program may verify the authentication code input from the user and extract the file or folder by decrypting the encrypted file or folder with the extracted identification code based on the verification result.
상기 암호화 파일 생성 방법은, 생성 완료된 암호화 파일의 사용 중지 또는 그 중지 해제를 사용자로부터 입력 받는 단계;를 더 포함할 수 있다.The encryption file generating method may further include receiving an input of discontinuing use of the generated encryption file or releasing the suspension from a user.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른, 암호화 파일의 해독 제한 정보를 저장하는 서버와 통신할 수 있는 암호화 파일을 사용자 단말에서 해독하는 방법은, 열기 암호 입력창을 표시하여 사용자로부터 열기 암호를 입력 받는 단계; 상기 열기 암호를 이용하여 상기 암호화 파일에서 식별 코드를 추출하는 단계; 상기 사용자 단말의 인터넷 연결 여부를 확인하는 단계; 인터넷 연결이 되어 있는 경우, 추출된 식별 코드를 상기 서버로 전송하고 해당 서버로부터 해독 가능 여부에 대한 응답을 수신하는 단계; 및 상기 응답에 기초하여 상기 추출된 식별 코드를 이용하여 상기 암호화 파일에서 파일 또는 폴더를 추출하는 단계;를 포함한다.According to another aspect of the present invention for achieving the above object, a method for decrypting in a user terminal an encrypted file that can communicate with a server that stores decryption restriction information of an encrypted file, the open password input window to display from the user to open Receiving a password; Extracting an identification code from the encrypted file using the open password; Checking whether the user terminal is connected to the Internet; If there is an internet connection, transmitting the extracted identification code to the server and receiving a response from the server as to whether it can be decrypted; And extracting a file or folder from the encrypted file using the extracted identification code based on the response.
상기 해독하는 방법은, 인터넷 연결이 안 되어 있는 경우, 상기 식별 코드를 시드(seed)로 한 확인 코드와, 그 확인 코드 및 상기 서버의 접속 주소를 포함하는 이미지 코드를 생성하여 표시하는 단계; 및 사용자로부터 입력 받은 인증 코드를 검증하고 그 검증 결과에 기초하여 상기 추출된 식별 코드로 상기 암호화된 파일 또는 폴더를 해독하여 파일 또는 폴더를 추출하는 단계;를 더 포함할 수 있다.The decryption method may include: generating and displaying an identification code including the identification code as a seed, an identification code, and an access address of the server when the internet connection is not established; And verifying the authentication code input from the user and extracting the file or folder by decrypting the encrypted file or folder with the extracted identification code based on the verification result.
상기 이미지 코드는 QR 코드일 수 있다.The image code may be a QR code.
상기 인증 코드는, 모바일 단말이 상기 이미지 코드를 스캔하여 획득한 것일 수 있다.The authentication code may be obtained by a mobile terminal scanning the image code.
상기 해독하는 방법은, 암호화 파일 생성자가 사용 중지를 설정하였는지 여부에 기초한 해독 가능 여부를 서버로부터 수신하는 단계;를 더 포함할 수 있다.The decrypting method may further include receiving from the server whether or not decryption is possible based on whether the encryption file creator has set the suspension of use.
본 발명의 일 실시예에 따르면, 파일 또는 폴더를 암호화한 암호화 파일을 서버 기반으로 일정한 횟수 또는 일정한 유효 기간 내에서만 해독하도록 함으로써 중요한 파일들의 무분별한 유출을 방지할 수 있다.According to one embodiment of the present invention, by encrypting the encrypted file or the file encrypted with a folder only a certain number of times or a predetermined validity period to prevent indiscriminate leakage of important files.
또한, 본 발명은 중요 파일 또는 폴더를 이중으로 암호화함으로써 보안성을 강화할 수 있다. In addition, the present invention can enhance security by double encrypting important files or folders.
또한 본 발명의 다른 실시예에 따르면, 암호화 파일을 해독하고자 하는 사용자 단말이 인터넷에 연결되어 있지 않는 경우에도, 모바일 인증을 거쳐 언제 어디서든 자유롭게 암호화 파일을 해독할 수 있도록 한다. In addition, according to another embodiment of the present invention, even when the user terminal to decrypt the encrypted file is not connected to the Internet, it is possible to freely decrypt the encrypted file anytime and anywhere through mobile authentication.
도 1은 본 발명에 따른 암호화 파일 생성 시스템을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 암호화 파일의 생성 과정을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따라 생성된 암호화 파일을 다른 사용자 단말이 해독하는 과정을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따라 암호화 파일을 생성하는 암호화 프로그램의 구성을 나타내는 도면이다.
도 5는 본 발명의 다른 실시예에 따라 암호화 파일을 생성하는 과정을 나타내는 도면이다.
도 6은 본 발명의 다른 실시예에 따라 생성된 암호화 파일을 다른 사용자 단말(100)이 해독하는 과정을 나타내는 도면이다.
도 7은 본 발명의 다른 실시예에 따른 암호화 프로그램의 구성을 나타내는 블록도이다.
도 8은 도 2를 참조한 실시예에서 사용자 단말의 인터페이스 화면을 나타내는 도면이다.
도 9는 도 3을 참조한 실시예에서 사용자 단말의 인터페이스 화면을 나타내는 도면이다.
도 10은 도 6을 참조한 실시예에서 사용자 단말 및 모바일 단말에서의 인터페이스 화면을 나타내는 도면이다.
도 11은 본 발명의 또 다른 실시예에서 암호화 파일 생성자가 암호화 파일을 관리하는 인터페이스를 나타내는 도면이다.1 is a diagram illustrating an encryption file generation system according to the present invention.
2 is a diagram illustrating a process of generating an encrypted file according to an embodiment of the present invention.
3 is a diagram illustrating a process of decrypting, by another user terminal, an encrypted file generated according to an embodiment of the present invention.
4 is a diagram illustrating a configuration of an encryption program for generating an encryption file according to an embodiment of the present invention.
5 is a diagram illustrating a process of generating an encryption file according to another embodiment of the present invention.
6 is a diagram illustrating a process of decrypting, by another user terminal, an encrypted file generated according to another embodiment of the present invention.
7 is a block diagram showing the configuration of an encryption program according to another embodiment of the present invention.
FIG. 8 is a diagram illustrating an interface screen of a user terminal in the embodiment of FIG. 2.
FIG. 9 is a diagram illustrating an interface screen of a user terminal in the embodiment of FIG. 3.
FIG. 10 is a diagram illustrating an interface screen in a user terminal and a mobile terminal in the embodiment of FIG. 6.
11 is a view showing an interface in which an encrypted file creator manages an encrypted file in another embodiment of the present invention.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.The foregoing and other objects, features and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings, in which: There will be. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명에 따른 암호화 파일 생성 시스템을 나타내는 도면이다.1 is a diagram illustrating an encryption file generation system according to the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 암호화 파일 생성 시스템은 사용자 단말과 서버를 포함한다.Referring to FIG. 1, an encryption file generation system according to an embodiment of the present invention includes a user terminal and a server.
사용자 단말(100)은 사용자가 이용하는 전자 장치로서, 전자 회로를 이용하여 자동적으로 계산하거나 데이터를 처리하고 입력자료를 받아들이며 그 정보를 저장 및 연산하여 결과를 출력한다. 대표적으로 사용자 단말(100)은 데스크 탑 컴퓨터, 랩탑 컴퓨터, 태블릿 PC, PDA(Personal Digital Assistant), 스마트 휴대폰 등이 있다.The
본 발명에 따르면 사용자 단말(100)에서, 암호화를 하고자 하는 대상이 되는 파일 또는 폴더(이하에서는 파일만을 설명하며, 그 대상 파일을 원본 파일이라 함)을 암호화 하여 그 결과물 파일(이하 암호화 파일)이 생성된다. 원본 파일은 .doc, .hwp, .zip, .ppt, .dat 등 그 확장자에 제한이 없으나, 암호화 파일은 .exe. 확장자로 생성된다. 또는 암호화 파일은 환경 설정에 따라서 압축 파일(zip) 형태로 생성될 수도 있다.According to the present invention, the
또한 다른 사용자 단말(100)에서는 상기 사용자 단말(100)이 생성한 암호화 파일이 해독되어 다시 원본 파일이 생성될 수 있다. 또한 본 발명에 따르면 사용자 단말(100)에서 암호화 파일이 생성될 때, 어느 암호화 파일을 다른 암호화 파일과 구별하기 위해 식별정보(UUID-Universally Unique ID)가 사용된다. 구체적인 암호화 파일 생성에 대해서는 도 2를 참조하여 상세히 설명하기로 한다.In addition, in another
서버(200)는 여려 개의 컴퓨터를 네트워크로 연결한 통신망에서 하나의 컴퓨터에 공동으로 사용하는 정보를 저장해 두거나 메모리 등 컴퓨터 자원을 많이 사용하는 프로그램들을 모아놓은 컴퓨터이다. 통신망에 연결된 다른 컴퓨터들은 서버(200)로부터 필요한 정보를 검색하여 제공받거나, 서버(200)에 있는 프로그램에서 처리될 자료를 보내고 그 결과를 다시 받는데, 그 서브 컴퓨터들은 클라이언트(client) 컴퓨터가 된다. 본 발명에서는 상기 사용자 단말(100)이 서버(200)에 대해서 클라이언트 컴퓨터가 된다.The
본 발명에 따르면 사용자 단말(100)에서 암호화 파일이 생성될 때, 그 암호화 파일에 대한 식별정보(UUID) 및 제한 정보(열기 횟수, 유효기간)가 생성되는데 서버(200)는 이를 사용자 단말(100)로부터 수신하여 저장한다. 이후 서버(200)는 다른 사용자 단말(100)이 암호화 파일을 해독할 때, 해당 암호화 파일에 대한 제한 정보를 확인하여 해독 가능 여부에 대해 해당 사용자 단말(100)로 응답한다. 구체적인 해독 프로세스는 도 3를 참조하여 상세히 설명하기로 한다.According to the present invention, when an encryption file is generated in the
한편, 본 발명의 다른 실시예에 따라 암호화 파일을 생성하는 시스템은 모바일 단말(300)을 더 포함할 수 있다. 본 실시예는 사용자 단말(100)이 온라인 연결이 되어 있지 않는 경우이다.On the other hand, the system for generating an encrypted file according to another embodiment of the present invention may further include a mobile terminal (300). In this embodiment, the
모바일 단말(300)은 이동통신망을 이용하여 음성 통화 또는 패킷 통신을 제공하는 장치로서 UE(User Equipment), MS(Mobile Station), UT(User Terminal), SS(Subscriber Station) 등의 다른 용어로 불릴 수 있다. 예를 들어, 본 실시예에 따른 모바일 단말(300)은 셀룰러 폰, PCS 폰, GSM 폰, CDMA-2000폰, WCDMA폰 등과 같인 종래의 이동 전화기 및 최근 활발히 사용되는 스마트 폰과 태블릿 PC 및 4G망을 이용하는 이동 전화기 등을 모두 포함한다.The
본 발명의 다른 실시예에 따르면, 사용자 단말(100)이 온라인 연결이 되어 있지 않는 경우, 서버(200)에 접속하여 수행되는 제한 정보 확인(열기 횟수, 유효기간)은 상기 모바일 단말(300)을 통해 수행된다. 그 구체적인 설명은 도 5내지 도 7을 참조하여 후술하도록 한다.
According to another embodiment of the present invention, when the
도 2는 본 발명의 일 실시예에 따른 암호화 파일의 생성 과정을 나타내는 도면이다. 2 is a diagram illustrating a process of generating an encrypted file according to an embodiment of the present invention.
도 2를 참조하면, 사용자가 사용자 단말(100)에서 암호화 프로그램을 실행하면 암호화 프로그램은 환경 설정 인터페이스를 실행한다(S201). 환경 설정 인터페이스의 예는 도 8의 (a)에 도시되어 있다.Referring to FIG. 2, when a user executes an encryption program in the
도 8의 (a)를 참조하면, 환경 설정은 암호화 파일 생성 위치, 보호 방법 설정, 사용자 정보 설정을 포함한다.Referring to FIG. 8A, the environment setting includes an encryption file generation location, a protection method setting, and user information setting.
암호화 파일 생성 위치는, 원본 파일을 암호화하여 생성되는 암호화 파일이 저장되는 하드 디스크 경로를 설정하는 환경 설정이다.The encrypted file generation location is an environment setting for setting a hard disk path in which an encrypted file generated by encrypting an original file is stored.
보호방법 설정은 열기 횟수 제한, 유효기간 제한, 열기 암호, 압축파일(zip) 확장자로 생성하기, 온라인 체크만 허용하기를 포함한다.Protection method settings include the number of open limits, the expiration limit, the open password, the creation of a zip extension, and only the online check.
열기 횟수 제한은 생성된 암호화 파일이 해독될 수 있는 총 횟수를 설정하는 환경 설정이다. 예를 들어 5회로 설정되고 본 발명에 따라서 생성된 암호화 파일이 복수 개의 사용자 단말(100)로 전송된 경우, 모든 사용자 단말(100)이 그 암호화 파일을 해독할 수 있는 횟수가 5번이 된다. 만약 5번을 초과하여 해독이 시도되는 사용자 단말(100)에서는 상기 열기 횟수 제한으로 인해 그 암호화 파일은 해독되지 않는다.The open count limit is an environment setting that sets the total number of times a generated encrypted file can be decrypted. For example, when the encrypted file set in five times and generated according to the present invention is transmitted to the plurality of
유효 기간 제한은 생성된 암호화 파일이 해독될 수 있는 기간을 설정하는 환경 설정이다. 예를 들어 7일 이내로 설정되고 본 발명에 따라서 생성된 암호화 파일이 복수 개의 사용자 단말(100)로 전송된 경우, 모든 사용자 단말(100)이 그 암호화 파일을 해독할 수 있는 시기는 암호화 파일의 생성일로부터 7일 이내가 된다. 7일 이후에 해독이 시도되는 사용자 단말(100)에서는 상기 유효기간 제한으로 인해 그 암호화 파일은 해독되지 않는다.The validity period limit is an environment setting that sets a period during which the generated encrypted file can be decrypted. For example, if the encrypted file set within 7 days and generated according to the present invention is transmitted to the plurality of
열기 암호는 사용자 단말(100)이 암호화 파일을 해독하고자 할 때 최초로 입력해야 하는 패스워드를 설정하는 환경 설정이다. 사용자가 입력한 열기 암호가, 암호화 파일의 생성시 설정된 열기 암호와 동일하지 않으면 암호화 파일의 해독은 진행되지 않는다. 따라서 암호화 파일을 수신하는 사용자는 그 암호화 파일을 생성한 사용자로부터 열기 암호가 무엇인지에 대한 정보도 함께 습득해야 한다.Open password is an environment setting for setting a password that must be entered first when the
압축파일 확장자로 생성하기는 암호화 파일의 확장자를 설정하는 환경 설정이다. 기본적으로 압축파일 확장자로 생성하기가 선택되지 않은 경우에는 암호화 파일이 .exe 확장자로 생성되지만, 압축파일 확장자로 생성하기가 선택된 경우에는 암호화 파일이 .zip 등의 압축 파일 확장자로 생성된다. 압축 파일 확장자로 생성되는 경우에는 .exe 확장자로 생성된 경우보다 용량이 더 작을 수 있다.Creating with a compressed file extension is an environment setting for setting an extension of an encrypted file. By default, if Create with compressed file extension is not selected, the encrypted file is created with the .exe extension.If Generate with compressed file extension is selected, the encrypted file is created with a compressed file extension, such as .zip. If it is created with a compressed file extension, it may be smaller than if it was created with an .exe extension.
온라인 체크만 허용하기는 제한 정보(열기 횟수, 유효 기간)을 확인하는데 있어서, 서버(200)를 이용할지 또는 암호화 파일 자체 내에서 판단할지를 선택하는 환경 설정이다. 온라인 체크만 허용하기가 선택되는 경우, 암호화 파일의 제한 정보는 서버(200)에 저장되고, 다른 사용자 단말(100)에서 그 암호화 파일을 해독하고자 하는 경우, 서버(200)에 접속하여 해독 가능한지 여부를 판단 받는다. 온라인 체크만 허용하기가 선택되지 않는 경우, 제한 정보는 암호화 파일 내에 기록되고, 다른 사용자 단말(100)에서 그 암호화 파일을 해독하고자 하는 경우, 암호화 파일이 자체적으로 제한 정보를 확인하여 해독 가능한지 여부를 판단한다. 이하 본 명세서에서는 온라인 체크만 허용하기가 선택된 경우, 즉 서버(200)를 경유하여 제한 정보를 확인하여 해독 가능 여부를 판단 받도록 설정된 것으로 전제한다.Allowing only the online check is an environment setting for selecting whether to use the
사용자 정보 설정은 암호화 파일을 생성하는 사용자의 성명, 이메일, 연락처 등의 정보를 입력하는 환경 설정이다.The user information setting is an environment setting for inputting information such as a name, an email, and a contact of a user who generates an encryption file.
이러한 환경 설정은 디폴트로서 암호화 프로그램을 최초로 실행하는 경우 실행되지만, 차후 암호화 프로그램 실행시에는 실행되지 않는다. 다만 사용자가 다른 환경 설정을 적용하고자 하는 경우에는 설정 태그를 선택하여 환경 설정을 달리 생성할 수 있다.This environment setting is executed by default when the encryption program is first executed, but is not executed later when the encryption program is executed. However, when a user wants to apply different environment settings, the user can select a setting tag and generate an environment setting differently.
환경 설정 이후 사용자는 암호화 하고자 하는 파일 즉 원본 파일을 선택한다(S202). 원본 파일 선택의 예는 도 8의 (b)에 도시되어 있다.After setting the environment, the user selects a file to be encrypted, that is, an original file (S202). An example of original file selection is shown in Fig. 8B.
예를 들어 드래그 앤드 드롭을 이용하거나 또는 탐색기 창을 이용하여 원본 파일을 선택한다. 파일 선택을 완료하고 생성하기 버튼을 클릭하면 도 8의 (c)와 같이 암호화 파일이 생성된다.For example, use drag and drop or the Explorer window to select the original file. When the file selection is completed and the creation button is clicked, an encryption file is generated as shown in FIG.
이하에서 암호화 파일이 생성되는 구체적인 과정을 설명한다.Hereinafter, a detailed process of generating an encryption file will be described.
암호화 프로그램은 파일별 식별정보 즉 UUID(Universally Unique ID)를 생성한다(S203). 상술한 바와 같이 UUID는 어느 파일을 다른 파일과 구별하기 위한 식별정보이다. 암호화 프로그램은 UUID 및 UUID로 구별되는 파일에 설정된 제한 정보(열기 횟수 제한 및 유효기간 제한)를 서버(200)로 전송한다(S204).The encryption program generates identification information for each file, that is, a universally unique ID (UUID) (S203). As described above, the UUID is identification information for distinguishing one file from another file. The encryption program transmits, to the
서버(200)는 상기 UUID 및 UUID로 구별되는 파일에 설정된 제한 정보를 저장한다(S205). 이후 다른 사용자 단말(100)에서 암호화 파일을 해독하고자 하는 경우, 서버(200)는 UUID를 이용하여 해당 암호화 파일에 설정된 제한 정보를 확인할 수 있고 그 해독 가능 여부를 판단할 수 있다. The
암호화 프로그램은 환경 설정에서 설정된 열기 암호를 Key로 하여 UUID를 암호화하여 암호화 파일에 기록하고(S206), 또한 UUID를 Key로 하여 원본 파일을 암호화하여 암호화 파일에 기록한다(S207). 즉 암호화 파일이 생성되고 그 암호화 파일을 해독하고자 할 때, 열기 암호를 이용하여 UUID를 해독할 수 있고, 그 해독된 UUID를 이용하여 원본 파일을 해독할 수 있게 된다.The encryption program encrypts the UUID using the open password set in the environment setting as a key and records it in an encrypted file (S206), and encrypts the original file using the UUID as a key (S207). That is, when an encrypted file is generated and the encrypted file is decrypted, the UUID can be decrypted using the open password, and the original file can be decrypted using the decrypted UUID.
마지막으로 암호화 프로그램은 해독 프로그램을 암호화 파일에 기록하며(S208), 이로써 암호화 파일의 생성이 완료된다(S210). Finally, the encryption program records the decryption program in the encryption file (S208), thereby completing the generation of the encryption file (S210).
해독 프로그램은 UUID(암호화) 및 원본파일(암호화)를 역으로 복호화하는 알고리즘을 포함한다. 구체적으로 해독 프로그램은, 다른 사용자 단말(100)에서 암호화 파일을 해독하고자 하는 경우 그 사용자에게 열기 암호를 입력할 것을 요청하여 열기 암호를 입력 받는다. 또한 해독 프로그램은 상기 입력 받은 열기 암호를 key로 UUID(암호화)를 해독하여 UUID를 획득하고, 그 UUID를 서버(200)로 전송하여 제한 정보의 확인을 요청하며, 그 응답으로 해독 가능 여부를 수신한다. 그 응답이 해독 가능인 경우, 해독 프로그램은 앞서 해독한 UUID를 key로 원본파일(암호화)를 해독하여 원본 파일을 획득한다.
The decryption program includes an algorithm that reversely decrypts the UUID (encryption) and the original file (encryption). Specifically, when the decryption program wants to decrypt the encrypted file in another
생성된 암호화 파일을 도식화 하면 다음과 같이 나타낼 수 있다.Schematic of the generated encrypted file can be expressed as follows.
상술한 바와 같이 생성된 암호화 파일은 디폴트로 .exe 확장자로 생성되며, 환경 설정에서 압축파일 확장자로 선택하기로 설정된 경우에는 압축파일(zip) 확장자로 생성될 수 있다.The encrypted file generated as described above is generated with a .exe extension by default, and may be generated with a compressed file (zip) extension when it is set to select a compressed file extension in an environment setting.
한편 상기 S203 단계에서 UUID를 사용하는 것으로 설명하였으나, UUID의 요약정보 즉 UUID_Index를 사용할 수도 있다. 구체적으로 UUID_Index를 사용하는 경우 암호화 프로그램은 UUID를 생성하여 서버(200)로 전송하고(S204) 서버(200)는 UUID를 수신하여 UUID_Index를 생성할 수 있다. 이어서 서버(200)는 UUID와 UUID_Index를 저장하고 그 UUID_Index를 다시 암호화 프로그램에로 전송할 수 있다. 암호화 프로그램은 열기 암호를 Key로 UUID, UUID_Index를 암호화 하여 파일에 기록할 수 있다.
On the other hand, it has been described that the UUID is used in step S203, but summary information of the UUID, that is, UUID_Index may be used. In detail, when UUID_Index is used, the encryption program generates and transmits the UUID to the server 200 (S204). The
도 3은 본 발명의 일 실시예에 따라 생성된 암호화 파일을 다른 사용자 단말이 해독하는 과정을 나타내는 도면이다.3 is a diagram illustrating a process of decrypting, by another user terminal, an encrypted file generated according to an embodiment of the present invention.
도 3을 참조하면, 사용자 단말(100)에서 사용자는 해독하고자 하는 암호화 파일을 선택한다(S301). Referring to FIG. 3, in the
암호화 파일이 선택되면 즉, .exe 파일이 실행되면 암호화 파일은 열기 암호의 입력을 사용자에게 요청한다(S302). 만약 압축 파일 확장자의 암호화 파일이면 압축을 해제하고 열기 암호의 입력을 요청한다. 그 일 예가 도 9의 (a)에 도시되어 있다. When the encryption file is selected, that is, when the .exe file is executed, the encryption file requests the user to input an open password (S302). If it is an encrypted file with a compressed file extension, decompress it and prompt for the open password. An example is shown in FIG.
도 9의 (a)를 참조하면, 사용자는 열기 암호를 입력한다. 열기 암호는 암호화 파일을 생성한 사용자로부터 취득한 것일 수 있다.Referring to FIG. 9A, a user inputs an open password. The open password may be obtained from the user who created the encrypted file.
암호화 파일은 상기 입력 받은 열기 암호를 Key로 하여 UUID(암호화)를 해독하여 UUID를 추출한다(S303).The encryption file extracts the UUID by decrypting the UUID (encryption) using the received open password as a key (S303).
만약, 해독이 가능하지 않으면, 에러 메시지를 표시한다(S304). 에러 메시지는 예를 들어 도 9의 (b)와 같다.If the decryption is not possible, an error message is displayed (S304). The error message is the same as, for example, FIG. 9B.
반면에 해독이 가능한 경우, 암호화 파일은 상기 생성된 UUID를 서버(200)로 전송하면서 제한 정보의 확인을 요청한다(S305). 제한 정보의 확인이란 서버(200)에 저장된 암호화 파일의 열기 횟수 제한과 유효기간 제한을 확인하는 것이다.On the other hand, if decryption is possible, the encryption file requests confirmation of restriction information while transmitting the generated UUID to the server 200 (S305). Confirmation of the restriction information is to confirm the limit of the number of times of opening and the expiration date of the encrypted file stored in the
서버(200)는 사용자 단말(100)로부터 수신한 UUID를 확인하고 서버(200) 내에 저장된 해당 UUID에 대응하는 암호화 파일의 제한 정보를 확인하여(S306), 해독 가능 여부를 판단한다(S307). 구체적으로 열기 횟수 및 유효기간을 모두 만족하는 경우에는 해독이 가능한 경우이고, 열기 횟수 및 유효기간 중 어느 하나라도 만족하지 않은 경우에는 해독이 불가능한 경우이다. 열기 횟수가 만족된다는 것은 열기 횟수가 1 이상인 것을 의미하고, 유효기간이 만족한다는 것은 현재 시점이 유효기간을 초과하지 않은 것을 의미한다.The
이후 서버(200)는 해독이 가능한지 여부를 사용자 단말(100)로 응답한다(S308). 이 때 해독이 가능한 경우, 서버(200)는 열기 횟수를 1만큼 디스카운팅한다(S309).Thereafter, the
사용자 단말(100)은 서버(200)로부터 해독 가능 여부를 응답 받는데 그 해독 가능 여부가 불가능인 경우, 사용자 단말(100)은 에러 메시지를 표시한다(S310). 구체적으로 열기 횟수를 초과하여 해독이 불가능한 경우 에러 메시지는 도 9의 (c)와 같을 수 있다.If the
또한 유효기간을 초과하여 해독이 불가능한 경우에 사용자 단말(100)은 에러 메시지를 표시하고, 그 에러 메시지는 도 9의 (d)와 같을 수 있다.In addition, when the decryption is impossible beyond the valid period, the
상기 수신한 해독 가능 여부가 가능인 경우, 암호화 파일은 UUID를 Key로 하여 원본 파일(암호화)를 해독한다(S311). 그 결과 해독된 원본 파일이 사용자 단말(100)에 출력된다(S312).If the received decryption is possible or not, the encrypted file decrypts the original file (encryption) using the UUID as a key (S311). As a result, the decrypted original file is output to the user terminal 100 (S312).
한편 상기 S305 단계에서 UUID를 사용하는 것으로 설명하였으나, UUID의 요약정보 즉 UUID_Index를 사용할 수도 있다. 구체적으로 UUID_Index를 사용하는 경우 사용자 단말(100)은 열기 암호를 Key로 UUID 및 UUID_Index를 해독하고, UUID_Index를 서버(200)로 전송하여 제한 정보의 확인을 요청할 수 있다.
On the other hand, it has been described that the UUID is used in step S305, but summary information of the UUID, that is, UUID_Index may be used. Specifically, when using the UUID_Index, the
도 4는 본 발명의 일 실시예에 따라 암호화 파일을 생성하는 암호화 프로그램의 구성을 나타내는 도면이다.4 is a diagram illustrating a configuration of an encryption program for generating an encryption file according to an embodiment of the present invention.
도 4를 참조하면 본 실시예에 따른 암호화 프로그램은 환경 설정 모듈(411), UUID 생성 모듈(412), 암호화 모듈(413) 및 파일 생성 모듈(414)을 포함한다.Referring to FIG. 4, the encryption program according to the present embodiment includes an environment setting module 411, a UUID generation module 412, an encryption module 413, and a file generation module 414.
환경 설정 모듈(411)은, 사용자가 사용자 단말(100)에서 암호화 프로그램을 실행하는 경우 환경 인터페이스를 실행하여 환경 설정을 입력 받는다. 환경 설정은 암호화 파일 생성 위치, 보호 방법 설정 및 사용자 정보 설정을 포함한다. 환경 설정의 내용 즉 암호화 파일 생성 위치, 보호 방법 설정 및 사용자 정보 설정은 도 2를 참조하여 설명한 바와 동일하다.The environment setting module 411 receives an environment setting by executing an environment interface when the user executes an encryption program in the
이러한 환경 설정 모듈(411)은 암호화 프로그램이 최초로 실행되는 경우 디폴트로 환경 설정의 입력을 요청하며, 차후 암호화 프로그램이 실행되는 경우에는 환경 설정 입력을 요청하지 않는다. 다만 사용자가 다른 환경 설정을 적용하고자 하는 경우에는, 환경 설정 모듈(411)은 다시 환경 설정 인터페이스를 실행하여 다른 환경 설정을 입력 받을 수 있다.The configuration module 411 defaults to requesting the configuration setting when the encryption program is first executed, and does not request the configuration setting when the encryption program is executed later. However, when the user wants to apply different environment settings, the environment setting module 411 may receive another environment setting by executing the environment setting interface again.
또한 환경 설정 모듈(411)은 상기 생성된 환경 설정 중에서, 제한 정보 즉 열기 횟수 제한 및 유효 기간 제한을 서버(200)로 전송한다.In addition, the environment setting module 411 transmits the limited information, that is, the limit of the number of open times and the valid period limit, to the
UUID 생성 모듈(412)은 암호화 파일의 UUID를 생성하고, 그 UUID를 서버(200)로 전송한다. UUID는 어느 암호화 파일을 다른 암호화 파일과 구별하기 위한 식별정보이다. 따라서 암호화 파일별로 서로 다른 UUID가 생성된다.The UUID generation module 412 generates a UUID of the encryption file and transmits the UUID to the
한편, 서버(200)의 관점에서는 환경 설정 모듈(411)로부터 제한 정보를 수신하고, UUID 생성 모듈(412)로부터 암호화 파일의 UUID를 수신한다. 암호화 파일별로 적용되는 제한 내용이 다를 수 있으므로, 서버(200)는 암호화 파일의 UUID와 제한 정보를 대응시켜 저장한다.On the other hand, from the viewpoint of the
암호화 모듈(413)은 열기 암호를 Key로 하여 UUID를 암호화 한다. 따라서 사용자로부터 열기 암호를 수신하는 경우, 그 열기 암호를 이용하여 UUID를 해독할 수 있다. The encryption module 413 encrypts the UUID using the open password as a key. Thus, when receiving an open password from a user, the open password can be used to decrypt the UUID.
또한 암호화 모듈(413)은 UUID를 Key로 하여 원본 파일을 암호화 한다. 따라서 해독 가능한 경우(구체적으로 서버(200)의 해독 가능 여부 응답이 해독 가능인 경우), 그 UUID를 이용하여 원본 파일을 해독할 수 있다.In addition, the encryption module 413 encrypts the original file using the UUID as a key. Therefore, if it can be decrypted (specifically, if the decryption response of the
파일 생성 모듈(414)은 최종적인 암호화 파일을 생성하는데, 구체적으로 UUID(암호화), 원본 파일(암호화), 해독 프로그램을 암호화 파일에 기록한다. 즉 파일 생성 모듈(414)에 의해서 최종적으로 생성된 암호화 파일의 구조는 다음과 같다.The file generation module 414 generates a final encryption file. Specifically, the file generation module 414 records the UUID (encryption), the original file (encryption), and the decryption program in the encryption file. That is, the structure of the encryption file finally generated by the file generation module 414 is as follows.
열기 암호는 상기 환경 설정 모듈(411)에서 입력 받은 열기 암호이고, UUID(암호화)와 원본 파일(암호화)는 상기 암호화 모듈(413)이 암호화한 것이다. The open password is an open password input from the configuration module 411, and the UUID (encryption) and the original file (encryption) are encrypted by the encryption module 413.
해독 프로그램은 UUID(암호화) 및 원본파일(암호화)를 역으로 복호화하는 알고리즘을 포함한다. 구체적으로 해독 프로그램은, 다른 사용자 단말(100)에서 암호화 파일을 해독하고자 하는 경우 그 사용자에게 열기 암호를 입력할 것을 요청하여 열기 암호를 입력 받는다. 또한 해독 프로그램은 상기 입력 받은 열기 암호를 key로 UUID(암호화)를 해독하여 UUID를 획득하고, 그 UUID를 서버(200)로 전송하여 제한 정보의 확인을 요청하며, 그 응답으로 해독 가능 여부를 수신한다. 그 응답이 해독 가능인 경우, 해독 프로그램은 앞서 해독한 UUID를 key로 원본파일(암호화)를 해독하여 원본 파일을 획득한다.The decryption program includes an algorithm that reversely decrypts the UUID (encryption) and the original file (encryption). Specifically, when the decryption program wants to decrypt the encrypted file in another
한편 본 실시예에서 파일 식별 정보로 UUID를 예로 들었으나, UUID의 요약정보 즉 UUID_Index가 사용될 수도 있다. 구체적으로 UUID_Index가 사용되는 경우, UUID 생성 모듈(412)은 UUID를 생성하고 서버(200)로 UUID를 전송하며, 서버(200)는 그 UUID를 수신하여 UUID_Index를 생성하여 다시 암호화 프로그램으로 UUID_Index를 전송할 수 있다. 또한 암호화 모듈(413)은 열기 암호를 Key로 UUID 및 UUID_Index를 암호화할 수 있고, 파일 생성 모듈(414)은 UUID(암호화) 및 UUID_Index(암호화)를 파일에 기록할 수 있다.
Meanwhile, although the UUID is taken as an example of file identification information in the present embodiment, summary information of the UUID, that is, UUID_Index, may be used. Specifically, when UUID_Index is used, the UUID generation module 412 generates a UUID and transmits the UUID to the
도 5는 본 발명의 다른 실시예에 따라 암호화 파일을 생성하는 과정을 나타내는 도면이다. 본 실시예는 사용자 단말(100)이 온라인 연결이 되어 있지 않은 경우에 대비하기 위한 암호화 파일을 생성하는 과정이다.5 is a diagram illustrating a process of generating an encryption file according to another embodiment of the present invention. This embodiment is a process of generating an encryption file for the case where the
도 5에서, S201 내지 S208 과정은 도 2에서 동일한 참조부호를 사용하여 설명한 과정과 동일하다.In FIG. 5, steps S201 to S208 are the same as those described using the same reference numerals in FIG. 2.
즉, 사용자가 사용자 단말(100)에서 암호화 프로그램을 실행하면(S201), 암호화 프로그램은 환경 설정 인터페이스를 실행하여 환경 설정을 사용자로부터 입력 받는다. 환경 설정은 암호화 파일 생성 위치, 보호 방법 설정(열기 횟수 제한, 유효 기간 제한, 열기 암호 인증하기, 압축파일 확장자로 생성하기, 온라인 체크만 허용하기) 및 사용자 정보 설정을 입력 받는다.That is, when the user executes the encryption program in the user terminal 100 (S201), the encryption program executes the environment setting interface to receive the environment setting from the user. The environment settings include the encryption file generation location, protection method setting (limit of open times, validity limit, authenticate open password, create compressed file extension, allow online check only) and user information setting.
이러한 환경 설정은 디폴트로서 암호화 프로그램을 최초로 실행하는 경우 실행되지만, 차후 암호화 프로그램 실행시에는 실행되지 않는다. 다만 사용자가 다른 환경 설정을 적용하고자 하는 경우에는 설정 태그를 선택하여 환경 설정을 달리 생성할 수 있다.This environment setting is executed by default when the encryption program is first executed, but is not executed later when the encryption program is executed. However, when a user wants to apply different environment settings, the user can select a setting tag and generate an environment setting differently.
환경 설정 이후, 암호화 프로그램은 암호화 하고자 하는 파일 즉 원본 파일을 사용자로부터 입력 받는다(S202). 예를 들어 드래그 앤드 드롭 또는 탐색기 창을 이용하여 원본 파일이 선택될 수 있다.After setting the environment, the encryption program receives a file to be encrypted, that is, an original file from the user (S202). For example, the original file can be selected using drag and drop or an Explorer window.
암호화 프로그램은 파일별 식별정보 즉 UUID를 생성한다(S203). UUID는 파일별로 구별되는 것으로, 파일에 고유한 식별정보이다.The encryption program generates file identification information, that is, UUID (S203). UUIDs are distinguished by file and are identification information unique to a file.
암호화 프로그램은 상기 UUID 및 UUID로 구별되는 파일에 설정된 제한 정보(열기 횟수 제한과 유효기간 제한)을 서버(200)로 전송한다(S204). 서버(200)는 상기 UUID 및 UUID로 구별되는 파일에 설정된 제한 정보를 저장한다(S205).The encryption program transmits the limited information (limit of the number of open times and the expiration period) set in the file distinguished by the UUID and the UUID to the server 200 (S204). The
암호화 프로그램은 환경 설정에서 설정된 열기 암호를 Key로 하여 UUID를 암호화하여 암호화 파일에 기록하고(S206), 또한 UUID를 Key로 하여 원본 파일을 암호화하여 암호화 파일에 기록한다(S207). 즉 암호화 파일이 생성되고 그 암호화 파일을 해독하고자 할 때, 열기 암호를 이용하여 UUID를 해독할 수 있고, 그 해독된 UUID를 이용하여 원본 파일을 해독할 수 있게 된다.The encryption program encrypts the UUID using the open password set in the environment setting as a key and records it in an encrypted file (S206), and encrypts the original file using the UUID as a key (S207). That is, when an encrypted file is generated and the encrypted file is decrypted, the UUID can be decrypted using the open password, and the original file can be decrypted using the decrypted UUID.
마지막으로 암호화 프로그램은 해독 프로그램을 암호화 파일에 기록하며(S208), 이로써 암호화 파일의 생성이 완료된다(S503). Finally, the encryption program records the decryption program in the encryption file (S208), thereby completing the generation of the encryption file (S503).
해독 프로그램은 UUID(암호화) 및 원본파일(암호화)를 역으로 복호화하는 알고리즘을 포함한다. 구체적으로 해독 프로그램은, 다른 사용자 단말(100)에서 암호화 파일을 해독하고자 하는 경우 그 사용자에게 열기 암호를 입력할 것을 요청하여 열기 암호를 입력 받는다. The decryption program includes an algorithm that reversely decrypts the UUID (encryption) and the original file (encryption). Specifically, when the decryption program wants to decrypt the encrypted file in another
또한 해독 프로그램은 상기 입력 받은 열기 암호를 key로 UUID(암호화)를 해독하여 UUID를 획득하는데, 해독하고자 하는 사용자 단말(100)이 온라인에 연결되어 있는 경우, 그 UUID를 서버(200)로 전송하여 제한 정보의 확인을 요청하며, 그 응답으로 해독 가능 여부를 수신한다. 그 응답이 해독 가능인 경우, 해독 프로그램은 앞서 해독한 UUID를 key로 원본파일(암호화)를 해독하여 원본 파일을 획득한다.In addition, the decryption program decrypts the UUID (encryption) by using the received open password as a key to obtain a UUID. When the
반면에 해독 프로그램은 해독하고자 하는 사용자 단말(100)이 온라인에 연결되어 있지 않은 경우에는 확인 코드 및 QR 코드를 생성하여 사용자 단말(100)의 화면에 표시한다(도 10의 (a) 참조). QR 코드에는 서버 URL 정보와 상기 확인 코드가 포함되어 있는데, 그 확인 코드는 암호화 파일의 UUID를 씨드(seed)로 암호화된 것이다. 다시 말해, 확인 코드를 해독하면 암호화 파일의 UUID를 획득할 수 있다. 상술한 QR 코드는, 사용자가 모바일 단말(300)을 이용해 모바일 인증을 하는 과정에서 사용될 것이다. 그 구체적인 프로세스 즉, 온라인에 연결되지 않은 사용자 단말(100)에서 암호화 파일을 해독하는 프로세스는 도 6을 참조하여 설명하기로 한다.On the other hand, the decryption program generates a confirmation code and a QR code when the
생성된 암호화 파일을 도식화 하면 다음과 같이 나타낼 수 있다.Schematic of the generated encrypted file can be expressed as follows.
상술한 바와 같이 생성된 암호화 파일은 디폴트로 .exe 확장자로 생성되며, 환경 설정에서 압축파일 확장자로 선택하기로 설정된 경우에는 압축파일(zip) 확장자로 생성될 수 있다.The encrypted file generated as described above is generated with a .exe extension by default, and may be generated with a compressed file (zip) extension when it is set to select a compressed file extension in an environment setting.
한편 상기 S203 단계에서 UUID를 사용하는 것으로 설명하였으나, UUID의 요약정보 즉 UUID_Index를 사용할 수도 있다. 구체적으로 UUID_Index를 사용하는 경우 암호화 프로그램은 UUID를 생성하여 서버(200)로 전송하고(S204) 서버(200)는 UUID를 수신하여 UUID_Index를 생성할 수 있다. 이어서 서버(200)는 UUID와 UUID_Index를 저장하고 그 UUID_Index를 다시 암호화 프로그램에 전송할 수 있다. 암호화 프로그램은 열기 암호를 Key로 UUID, UUID_Index를 암호화 하여 파일에 기록할 수 있다. 또한 해독 프로그램은 사용자 단말(100)이 온라인에 연결되어 있는지 여부를 판단하여 온라인에 연결되어 있는 경우에는, 해독한 UUID_Index를 서버(200)로 전송하여 제한 정보의 확인을 요청하고, 그 응답으로 해독 가능 여부를 수신한다. 반면에 온라인에 연결되어 있지 않은 경우에는 QR 코드 및 확인 코드를 생성하여 사용자 단말(100)의 화면에 표시한다. QR 코드에는 서버 URL 정보와 상기 확인 코드가 포함되어 있는데, 그 확인 코드는 암호화 파일의 UUID를 씨드(seed)로 암호화된 것이다.On the other hand, it has been described that the UUID is used in step S203, but summary information of the UUID, that is, UUID_Index may be used. In detail, when UUID_Index is used, the encryption program generates and transmits the UUID to the server 200 (S204). The
한편, 본 명세서에서 QR 코드는 모바일 단말로 스캔 가능한 이미지 코드의 일 예로 설명한 것이며, 모바일 단말로 스캔 가능한 다른 형태의 이미지 코드로 대체할 수 있다. 예를 들면 이미지 코드는 바코드, data matrix, maxi code, PDF-417 등이 있다.
Meanwhile, in the present specification, the QR code has been described as an example of an image code that can be scanned by the mobile terminal, and can be replaced by another type of image code that can be scanned by the mobile terminal. For example, image codes include bar codes, data matrices, maxi codes, and PDF-417.
도 6은 본 발명의 다른 실시예에 따라 생성된 암호화 파일을 다른 사용자 단말(100)이 해독하는 과정을 나타내는 도면이다. 구체적으로 본 실시예는 사용자 단말(100)이 온라인 연결이 되어 있지 않는 경우의 해독 과정이다.6 is a diagram illustrating a process of decrypting, by another user terminal, an encrypted file generated according to another embodiment of the present invention. Specifically, this embodiment is a decryption process when the
도 6을 참조하면, 사용자 단말(100)에서 사용자는 해독하고자 하는 암호화 파일을 선택한다(S601). Referring to FIG. 6, in the
암호화 파일이 선택되면 즉, .exe 파일이 실행되면 암호화 파일은 열기 암호의 입력을 사용자에게 요청한다(S602). 만약 압축 파일 확장자의 암호화 파일이면 압축을 해제하고 열기 암호의 입력을 요청한다. (도 9의 (a) 참조)When the encryption file is selected, that is, when the .exe file is executed, the encryption file requests the user to input an open password (S602). If it is an encrypted file with a compressed file extension, decompress it and prompt for the open password. (See FIG. 9A)
사용자는 열기 암호를 입력한다(S602). 열기 암호는 암호화 파일을 생성한 사용자로부터 취득한 것일 수 있다.The user enters an open password (S602). The open password may be obtained from the user who created the encrypted file.
암호화 파일은 상기 입력 받은 열기 암호를 Key로 하여 UUID(암호화)를 해독하여 UUID를 추출한다(S603).The encryption file extracts the UUID by decrypting the UUID (encryption) using the received open password as a key (S603).
만약, 해독이 가능하지 않으면, 에러 메시지를 표시한다(S604). 에러 메시지는 예를 들어 도 9의 (b)와 같다.If the decryption is not possible, an error message is displayed (S604). The error message is the same as, for example, FIG. 9B.
반면에 해독이 가능한 경우, 암호화 파일은 상기 생성된 UUID를 서버(200)로 전송하면서 제한 정보의 확인을 요청하는데, 사용자 단말은 온라인에 연결되어 있지 않으므로 제한 정보 확인 요청이 불가능하다(S605).On the other hand, if decryption is possible, the encryption file transmits the generated UUID to the
즉, 도 2 내지 도 4를 참조하여 설명한 실시예에서는, 암호화 파일은 상기 생성된 UUID를 서버(200)로 전송하면서 제한 정보의 확인을 요청하지만, 본 실시예에서는 사용자 단말(100)이 온라인 연결이 되어 있지 않기 때문에, 직접 서버(200)에 대해 제한 정보의 확인을 요청할 수 없다.That is, in the embodiment described with reference to FIGS. 2 to 4, the encryption file requests confirmation of restriction information while transmitting the generated UUID to the
암호화 파일은 확인 코드와 QR 코드를 출력하여 인증 코드의 입력을 요청한다(S606). QR 코드는 예를 들어 도 10의 (a)와 같을 수 있다.The encryption file outputs a confirmation code and a QR code and requests input of an authentication code (S606). The QR code may be as shown in FIG. 10A, for example.
구체적으로 상기 QR 코드에는 서버 URL 정보와 상기 확인 코드가 포함되어 있는데, 그 확인 코드는 암호화 파일의 UUID를 씨드(seed)로 암호화된 것이다. 다시 말해, 확인 코드를 해독하면 암호화 파일의 UUID를 획득할 수 있다. 예를 들어 도 10의 (a)에서 확인 코드는 1343-9801-2336-0369인데, 앞 네 자리 1343은 UUID를 암호화한 key이고 뒤 12 자리는 UUID를 암호화한 결과이다. 따라서 후술하는 바와 같이 사용자가 모바일 단말로 서버에 접속하고 상기 확인 코드가 서버에 입력되면, 서버는 1343을 이용해 9801-2336-0369를 해독하며 그 결과 암호화 파일의 UUID를 추출할 수 있다.Specifically, the QR code includes the server URL information and the confirmation code, and the confirmation code is encrypted by seeding the UUID of the encryption file. In other words, decrypting the verification code can obtain the UUID of the encryption file. For example, in (a) of FIG. 10, the confirmation code is 1343-9801-2336-0369, where the first four digits 1343 are a key that encrypts the UUID and the last twelve digits are the result of encrypting the UUID. Therefore, as described below, when the user accesses the server through a mobile terminal and the confirmation code is input to the server, the server decrypts 9801-2336-0369 using 1343, and as a result, may extract the UUID of the encryption file.
사용자는 모바일 단말(300)을 이용하여 사용자 단말(100) 화면에 나타난 QR 코드를 스캔한다(S607). 모바일 단말(300)은 QR 코드로부터 서버 URL 및 확인 코드를 추출할 수 있다(S608). 스캔 결과, 모바일 단말(300)은 서버 URL로 서버(200)에 접속하며(S609), 확인 코드가 자동으로 입력된다(S610). 모바일 단말(300)의 화면에는 도 10의 (b)와 같이 표시될 수 있다.The user scans the QR code displayed on the screen of the
서버(200)는 상기 확인 코드로부터 UUID를 추출할 수 있다(S611). 서버(200)는 해당 UUID를 이용하여 제한 정보를 확인한다(S612). 구체적으로 서버(200) 내에 저장된 해당 UUID에 대응하는 암호화 파일의 제한 정보를 확인하여, 해독 가능 여부를 판단한다. 구체적으로 열기 횟수 및 유효기간을 모두 만족하는 경우에는 해독이 가능한 경우이고, 열기 횟수 및 유효기간 중 어느 하나라도 만족하지 않은 경우에는 해독이 불가능한 경우이다. 열기 횟수가 만족된다는 것은 열기 횟수가 1 이상인 것을 의미하고, 유효기간이 만족한다는 것은 현재 시점이 유효기간을 초과하지 않은 것을 의미한다.The
해독이 불가능한 경우, 서버(200)는 해독 불가를 모바일 단말(300)로 통보하고(S613) 모바일 단말(300)은 에러 메시지를 표시한다(S614). 예를 들어 열기 횟수 초과로 인해 해독이 불가능한 경우에 표시되는 에러 메시지는 예를 들면 도 10의 (c)와 같을 수 있다.If it is impossible to decrypt, the
해독이 가능한 경우, 서버(200)는 열기 횟수를 1 만큼 디스카운팅하고(S615) 인증 코드를 모바일 단말(300)로 전송한다(S616). 그 인증 코드는 모바일 단말(300)의 화면에 출력된다(S617). 사용자는 모바일 단말(300)의 화면을 확인하여 인증 코드를 사용자 단말(100)에서 입력한다(S618). 그 구체적인 예는 도 10의 (d) 및 (e)와 같을 수 있다.If the decryption is possible, the
구체적으로, 인증 코드는 확인코드를 key로 열기횟수/유효기간/체크코드를 암호화한 것이다. 도 10의 (d) 및 (e)에 나타난 인증 코드는 H3J$QSUQZ-$6+6UJE9SXVE인데, 이는 도 10의 (a)에서의 확인 코드 1343-9801-2336-0369f를 key로 열기횟수/유효기간/체크코드를 암호화한 것이다.Specifically, the authentication code is to encrypt the verification code as the number of openings / expiration date / check code. The authentication code shown in (d) and (e) of FIG. 10 is H3J $ QSUQZ- $ 6 + 6UJE9SXVE, which is the confirmation code 1343-9801-2336-0369f in FIG. / Checkcode is encrypted.
암호화 파일은 확인 코드를 이용해 상기 인증 코드를 해독하여 열기횟수/유효기간/체크코드를 추출할 수 있고 그 체크코드를 확인하여 그 입력된 인증 코드가, 서버(200)에서 생성한 인증 코드와 일치하는지 여부를 확인할 수 있다. 인증 코드가 잘못 입력된 경우에는 인증 코드가 일치하지 않는다는 에러 메시지를 표시한다. 반면에 입력된 인증 코드가 일치하는 경우에는 UUID를 Key로 하고 파일 내에 기록된 해독 프로그램을 이용하여 원본 파일(암호화)를 해독한다(S619). 그 결과 원본 파일이 사용자 단말(100)에 출력된다(S620).The encryption file can be used to decrypt the authentication code using a verification code to extract the number of openings / expiration date / check code, and check the check code so that the input authentication code matches the authentication code generated by the
한편 상기 S611 단계 등에서 UUID를 사용하는 것으로 설명하였으나, UUID의 요약정보 즉 UUID_Index를 사용할 수도 있다. 구체적으로 UUID_Index를 사용하는 경우 사용자 단말(100)은 열기 암호를 Key로 UUID 및 UUID_Index를 해독할 수 있다. 또한 암호화 파일은 QR 코드를 출력할 때 해당 QR 코드에는 서버 URL 및 확인 코드가 포함되고, 상기 확인 코드는 UUID_Index를 씨드로 생성될 수 있다. 서버(200)는 확인 코드에서 UUID_Index를 확인하여 제한 정보를 확인할 수 있다.
On the other hand, it has been described that the UUID is used in step S611, but the summary information of the UUID, that is, UUID_Index may be used. Specifically, when using the UUID_Index, the
도 7은 본 발명의 다른 실시예에 따른 암호화 프로그램의 구성을 나타내는 블록도이다. 7 is a block diagram showing the configuration of an encryption program according to another embodiment of the present invention.
도 7을 참조하면 본 실시예에 따른 암호화 프로그램은 환경 설정 모듈(711), UUID 생성 모듈(712), 암호화 모듈(713) 및 파일 생성 모듈(714)을 포함한다.Referring to FIG. 7, the encryption program according to the present embodiment includes an environment setting module 711, a UUID generation module 712, an encryption module 713, and a file generation module 714.
환경 설정 모듈(711)은, 사용자가 사용자 단말(100)에서 암호화 프로그램을 실행하는 경우 환경 인터페이스를 실행하여 환경 설정을 입력 받는다. 환경 설정은 암호화 파일 생성 위치, 보호 방법 설정 및 사용자 정보 설정을 포함한다. 환경 설정의 내용 즉 암호화 파일 생성 위치, 보호 방법 설정 및 사용자 정보 설정은 도 2를 참조하여 설명한 바와 동일하다.The environment setting module 711 receives an environment setting by executing an environment interface when a user executes an encryption program in the
이러한 환경 설정 모듈(711)은 암호화 프로그램이 최초로 실행되는 경우 디폴트로 환경 설정의 입력을 요청하며, 차후 암호화 프로그램이 실행되는 경우에는 환경 설정 입력을 요청하지 않는다. 다만 사용자가 다른 환경 설정을 적용하고자 하는 경우에는, 환경 설정 모듈(711)은 다시 환경 설정 인터페이스를 실행하여 다른 환경 설정을 입력 받을 수 있다.The configuration module 711 defaults to requesting the configuration setting when the encryption program is first executed, and does not request the configuration setting when the encryption program is executed later. However, when the user wants to apply other environment settings, the environment setting module 711 may execute another environment setting interface and receive another environment setting.
또한 환경 설정 모듈(711)은 상기 생성된 환경 설정 중에서, 제한 정보 즉 열기 횟수 제한 및 유효 기간 제한을 서버(200)로 전송한다.In addition, the environment setting module 711 transmits the limited information, that is, the limit of the number of open times and the valid period limit, to the
UUID 생성 모듈(712)은 암호화 파일의 UUID를 생성하고, 그 UUID를 서버(200)로 전송한다. UUID는 어느 암호화 파일을 다른 암호화 파일과 구별하기 위한 식별정보이다. 따라서 암호화 파일별로 서로 다른 UUID가 생성된다.The UUID generation module 712 generates a UUID of the encryption file and transmits the UUID to the
한편, 서버(200)의 관점에서는 환경 설정 모듈(711)로부터 제한 정보를 수신하고, UUID 생성 모듈(712)로부터 암호화 파일의 UUID를 수신한다. 암호화 파일별로 적용되는 제한 내용이 다를 수 있으므로, 서버(200)는 암호화 파일의 UUID와 제한 정보를 대응시켜 저장한다.On the other hand, from the viewpoint of the
암호화 모듈(713)은 열기 암호를 Key로 하여 UUID를 암호화 한다. 따라서 사용자로부터 열기 암호를 수신하는 경우, 그 열기 암호를 이용하여 UUID를 해독할 수 있다. The encryption module 713 encrypts the UUID using the open password as a key. Thus, when receiving an open password from a user, the open password can be used to decrypt the UUID.
또한 암호화 모듈(713)은 UUID를 Key로 하여 원본 파일을 암호화 한다. 따라서 해독 가능한 경우(구체적으로 서버(200)의 해독 가능 여부 응답이 해독 가능인 경우), 그 UUID를 이용하여 원본 파일을 해독할 수 있다.In addition, the encryption module 713 encrypts the original file using the UUID as a key. Therefore, if it can be decrypted (specifically, if the decryption response of the
파일 생성 모듈(714)은 최종적인 암호화 파일을 생성하는데, 구체적으로 UUID(암호화), 원본 파일(암호화), 해독 프로그램을 암호화 파일에 기록한다. 즉 파일 생성 모듈(714)에 의해서 최종적으로 생성되는 암호화 파일의 구조는 다음과 같다.The file generation module 714 generates a final encryption file. Specifically, the file generation module 714 records the UUID (encryption), the original file (encryption), and the decryption program in the encryption file. That is, the structure of the encryption file finally generated by the file generation module 714 is as follows.
열기 암호는 상기 환경 설정 모듈(711)에서 입력 받은 열기 암호이고, UUID(암호화)와 원본 파일(암호화)는 상기 암호화 모듈(713)이 암호화한 것이다.The open password is an open password received from the configuration module 711, and the UUID (encryption) and the original file (encryption) are encrypted by the encryption module 713.
해독 프로그램은 UUID(암호화) 및 원본파일(암호화)를 역으로 복호화하는 알고리즘을 포함한다. 구체적으로 해독 프로그램은, 다른 사용자 단말(100)에서 암호화 파일을 해독하고자 하는 경우 그 사용자에게 열기 암호를 입력할 것을 요청하여 열기 암호를 입력 받는다. The decryption program includes an algorithm that reversely decrypts the UUID (encryption) and the original file (encryption). Specifically, when the decryption program wants to decrypt the encrypted file in another
또한 해독 프로그램은 상기 입력 받은 열기 암호를 key로 UUID(암호화)를 해독하여 UUID를 획득하는데, 해독하고자 하는 사용자 단말(100)이 온라인에 연결되어 있는 경우, 그 UUID를 서버(200)로 전송하여 제한 정보의 확인을 요청하며, 그 응답으로 해독 가능 여부를 수신한다. 그 응답이 해독 가능인 경우, 해독 프로그램은 앞서 해독한 UUID를 key로 원본파일(암호화)를 해독하여 원본 파일을 획득한다.In addition, the decryption program decrypts the UUID (encryption) by using the received open password as a key to obtain a UUID. When the
반면에 해독 프로그램은 해독하고자 하는 사용자 단말(100)이 온라인에 연결되어 있지 않은 경우에는 확인 코드 및 QR 코드를 생성하여 사용자 단말(100)의 화면에 표시한다(도 10의 (a) 참조). QR 코드에는 서버 URL 정보와 상기 확인 코드가 포함되어 있는데, 그 확인 코드는 암호화 파일의 UUID를 씨드(seed)로 암호화된 것이다. 다시 말해, 확인 코드를 해독하면 암호화 파일의 UUID를 획득할 수 있다. 상술한 QR 코드는, 사용자가 모바일 단말(300)을 이용해 모바일 인증을 하는 과정에서 사용된다. On the other hand, the decryption program generates a confirmation code and a QR code when the
또한 해독 프로그램은 사용자가 인증 코드를 입력한 경우, 확인 코드를 key로 상기 인증 코드를 해독하여 체크 코드를 추출하고, 그 체크 코드를 확인하여 상기 입력된 인증 코드가, 서버(200)에서 생성된 인증 코드와 일치하는지 여부를 판단한다.In addition, when the user inputs the authentication code, the decryption program decrypts the authentication code with a verification code as a key, extracts a check code, and checks the check code to generate the input authentication code in the
한편 본 실시예에서 파일 식별 정보로 UUID를 예로 들었으나, UUID의 요약정보 즉 UUID_Index가 사용될 수도 있다. 구체적으로 UUID_Index가 사용되는 경우, UUID 생성 모듈(712)은 UUID를 생성하고 서버(200)로 UUID를 전송하며, 서버(200)는 그 UUID를 수신하여 UUID_Index를 생성하여 다시 암호화 프로그램으로 UUID_Index를 전송할 수 있다. 또한 암호화 모듈(713)은 열기 암호를 Key로 UUID 및 UUID_Index를 암호화할 수 있고, 파일 생성 모듈(714)은 UUID(암호화) 및 UUID_Index(암호화)를 파일에 기록할 수 있다. 또한 파일 생성 모듈(714)이 암호화 파일에 기록하는 해독 프로그램은 사용자 단말(100)이 온라인에 연결되어 있는지 여부를 판단하여 온라인에 연결되어 있는 경우에는, 해독한 UUID_Index를 서버(200)로 전송하여 제한 정보의 확인을 요청하고, 그 응답으로 해독 가능 여부를 수신할 수 있다. 반면에 온라인에 연결되어 있지 않은 경우에는 QR 코드 및 확인 코드를 생성하여 사용자 단말(100)의 화면에 표시한다. QR 코드에는 서버 URL 정보와 상기 확인 코드가 포함되어 있는데, 그 확인 코드는 암호화 파일의 UUID를 씨드(seed)로 암호화된 것이다.
Meanwhile, although the UUID is taken as an example of file identification information in the present embodiment, summary information of the UUID, that is, UUID_Index, may be used. Specifically, when UUID_Index is used, the UUID generation module 712 generates a UUID and transmits the UUID to the
한편, 본 발명에 따른 또 다른 실시예로서, 생성된 암호화 파일의 관리 방법을 이하에서 설명하기로 한다.On the other hand, as another embodiment according to the present invention, a management method of the generated encrypted file will be described below.
도 11의 (a)를 참조하면 사용자 단말(100), 구체적으로 암호화 파일을 생성한 사용자 단말(100)은 암호화 프로그램을 실행시키고, 생성 파일 관리하기를 선택한다. 이로 인해 사용자 단말(100)은 서버(200)에 접속하게 되고 도 11의 (b)에 도시된 바와 같은 인터페이스를 호출할 수 있다. Referring to FIG. 11A, the
상기 인터페이스에는 생성된 암호화 파일의 목록이 표시된다. 구체적으로 생성된 암호화 파일별로 파일명, 타입, 열기 횟수 제한 정보(사용/제한 횟수), 생성일자, 유효기간 제한 정보(제한 일자) 및 최근 사용 일자가 표시된다.The interface displays a list of generated encryption files. Specifically, the file name, type, opening number limit information (use / limit number), creation date, validity limit information (limit date), and recent use date are displayed for each generated encrypted file.
사용자(암호화 파일 생성자)는 암호화 파일의 체크 박스를 선택하여 암호화 파일별로 사용 중지, 중지 해제 또는 삭제를 실행할 수 있다.The user (encryption file creator) can select a check box of an encryption file to disable, suspend or delete each encrypted file.
사용 중지가 선택되면, 해당 암호화 파일은 열기 횟수 제한이나 유효기간 제한 등의 제한 정보에 관계 없이 해독되지 않는다. 즉 다른 사용자 단말(100)에서 그 암호화 파일의 해독을 시도하는 경우, 도 3의 S307 단계에서, 서버는 해독 불가능으로 판단한다.If Disable is selected, the encrypted file is not decrypted regardless of the limit information such as the number of open times or the expiration date. That is, when another
중지 해제는 앞서 설명한 사용 중지를 해제하는 것이다.Unsuspension means to cancel the deprecation described above.
삭제는 리스트에 표시된 암호화 파일을 삭제하는 것이다.Deletion deletes the encrypted files displayed in the list.
한편, 상술한 실시예들에서 암호화 대상 파일을 식별하는 식별 정보로서 UUID 또는 UUID_Index를 예로 들어 설명하였으나, 여기에 제한되는 것은 아니며 개발자가 정의한 포맷의 식별 코드가 식별 정보로서 활용될 수도 있고, 또는 기타 유일하게 식별될 수 있는 공용의 코드가 파일의 식별 정보로서 사용될 수 있다.Meanwhile, in the above-described embodiments, the UUID or UUID_Index is described as an example of identifying the file to be encrypted, but the present invention is not limited thereto, and an identification code of a developer-defined format may be used as the identification information, or other. A unique code that can be uniquely identified can be used as identification information of the file.
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 아니 된다. 또한, 본 명세서의 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서의 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나 적절한 부결합(Subcombination)에서 구현될 수 있다.While the specification contains many features, such features should not be construed as limiting the scope of the invention or the scope of the claims. In addition, the features described in the individual embodiments herein can be implemented in combination in a single embodiment. Conversely, various features described in a single embodiment of the present specification can be implemented individually in various embodiments or at appropriate subcombinations.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 아니 된다. 어떤 환경에서는, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다.Although the operations are described in a particular order in the drawings, they should not be understood to be performed in a particular order as shown, or in a sequential order, or as all of the described actions are performed to achieve a desired result. . In some circumstances, multitasking and parallel processing may be advantageous. It should also be understood that the division of various system components in the above embodiments does not require such distinction in all embodiments.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부한 도면에 의해 한정되는 것은 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawing.
411 : 환경 설정 모듈 412 : UUID 생성 모듈
413 : 암호화 모듈 414 : 파일 생성 모듈411 configuration module 412 UUID generation module
413 encryption module 414 file generation module
Claims (13)
상기 사용자 단말에서, 열기 암호 입력창을 표시하여 사용자로부터 열기 암호를 입력받는 단계;
상기 사용자 단말에서, 상기 열기 암호를 이용하여 상기 암호화 파일에서 식별 코드를 추출하는 단계;
상기 사용자 단말에서, 암호화 키로 상기 식별 코드를 암호화하여 그 암호화된 식별 코드 및 상기 암호화 키를 포함하는 확인 코드를 생성하는 단계;
상기 사용자 단말에서, 상기 생성한 확인 코드와 상기 서버의 접속 주소를 포함하는 이미지 코드를 생성하여 표시하는 단계;
상기 모바일 단말에서, 상기 이미지 코드를 스캔하여 추출한 상기 접속 주소를 이용하여 상기 서버로 상기 확인 코드를 전송하는 단계;
상기 모바일 단말에서, 상기 암호화 파일의 해독 가능 여부에 관한 정보를 상기 확인 코드로 암호화한 인증 코드를 상기 서버로부터 수신하여 표시하는 단계; 및
상기 사용자 단말에서, 상기 인증 코드를 입력받아 상기 확인 코드로 해당 인증 코드를 해독하여 상기 암호화 파일의 해독 가능 여부를 확인하고, 해독 가능한 경우 상기 식별 코드를 이용하여 상기 암호화 파일을 해독하는 단계;를 포함하는 암호화 파일 해독 방법.A method of decrypting an encrypted file at a user terminal using a mobile terminal capable of communicating with a server storing decryption restriction information of the encrypted file,
Displaying, at the user terminal, an open password input window and receiving an open password from a user;
Extracting, at the user terminal, an identification code from the encrypted file using the open password;
Encrypting, at the user terminal, the identification code with an encryption key to generate an identification code comprising the encrypted identification code and the encryption key;
Generating and displaying, at the user terminal, an image code including the generated confirmation code and an access address of the server;
Transmitting, at the mobile terminal, the verification code to the server by using the access address extracted by scanning the image code;
Receiving and displaying, at the mobile terminal, an authentication code obtained by encrypting information about whether the encryption file can be decrypted with the verification code from the server; And
Receiving, at the user terminal, the authentication code and decrypting the corresponding authentication code with the verification code to confirm whether the encryption file can be decrypted, and if decryptable, decrypting the encryption file using the identification code; Encrypting file containing method.
상기 이미지 코드는 QR 코드인 것을 특징으로 하는 암호화 파일 해독 방법.The method of claim 8,
And the image code is a QR code.
상기 해독 가능 여부에 관한 정보는,
열기 횟수, 유효 기간 또는 암호화 파일의 생성자에 의한 사용 중지 여부에 관한 정보를 포함하는 것을 특징으로 하는 암호화 파일 해독 방법.The method of claim 8,
The information about the decipherable,
A method for decrypting an encrypted file, comprising information on the number of open times, the validity period, or whether to stop using the creator of the encrypted file.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120058844A KR101346284B1 (en) | 2012-05-31 | 2012-05-31 | Method for producing an encrypted file and decrypting the encrypted file, computer readable recording medium a program for implementing the methods |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120058844A KR101346284B1 (en) | 2012-05-31 | 2012-05-31 | Method for producing an encrypted file and decrypting the encrypted file, computer readable recording medium a program for implementing the methods |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130134932A KR20130134932A (en) | 2013-12-10 |
KR101346284B1 true KR101346284B1 (en) | 2013-12-31 |
Family
ID=49982476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120058844A KR101346284B1 (en) | 2012-05-31 | 2012-05-31 | Method for producing an encrypted file and decrypting the encrypted file, computer readable recording medium a program for implementing the methods |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101346284B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190078962A (en) * | 2017-12-27 | 2019-07-05 | 삼성전자주식회사 | Storage device and storage system configured to perform encryption based on encryption key in file unit and method of operating using the same |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102248756B1 (en) * | 2019-07-18 | 2021-05-07 | 국방과학연구소 | Encryption system, apparatus and method for providing searchable having forward stability |
CN112016089A (en) * | 2020-08-14 | 2020-12-01 | 杭州银核存储区块链有限公司 | Computer terminal security check method and device |
CN116896444B (en) * | 2023-09-11 | 2023-12-15 | 武汉吧哒科技股份有限公司 | File packet management method and device |
CN117633829A (en) * | 2023-11-21 | 2024-03-01 | 北京智城联合科技发展有限公司 | Urban safety data password encryption method and system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3803088B2 (en) * | 2001-04-18 | 2006-08-02 | 株式会社パンプキンハウス | Cryptographic system and control method thereof |
JP2008136117A (en) * | 2006-11-29 | 2008-06-12 | Systemneeds Inc | Encryption method and decryption method |
US20120096277A1 (en) * | 2009-04-20 | 2012-04-19 | Alter Core, S.L. | System and method for personal authentication using a mobile device |
-
2012
- 2012-05-31 KR KR1020120058844A patent/KR101346284B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3803088B2 (en) * | 2001-04-18 | 2006-08-02 | 株式会社パンプキンハウス | Cryptographic system and control method thereof |
JP2008136117A (en) * | 2006-11-29 | 2008-06-12 | Systemneeds Inc | Encryption method and decryption method |
US20120096277A1 (en) * | 2009-04-20 | 2012-04-19 | Alter Core, S.L. | System and method for personal authentication using a mobile device |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190078962A (en) * | 2017-12-27 | 2019-07-05 | 삼성전자주식회사 | Storage device and storage system configured to perform encryption based on encryption key in file unit and method of operating using the same |
KR102420158B1 (en) * | 2017-12-27 | 2022-07-13 | 삼성전자주식회사 | Storage device and storage system configured to perform encryption based on encryption key in file unit and method of operating using the same |
Also Published As
Publication number | Publication date |
---|---|
KR20130134932A (en) | 2013-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11706033B2 (en) | Secure distributed information system | |
US8918633B2 (en) | Information processing device, information processing system, and program | |
US8205083B2 (en) | System and method for providing program information, and recording medium used therefor | |
CN107113286B (en) | Cross-device roaming content erase operation | |
CN1889419B (en) | Method and apparatus for realizing encrypting | |
JP4597784B2 (en) | Data processing device | |
CN111897786B (en) | Log reading method, device, computer equipment and storage medium | |
US20140351583A1 (en) | Method of implementing a right over a content | |
TW200821953A (en) | Access method | |
KR102328057B1 (en) | Document security service server that supports encryption of document files based on terminal information and operating method thereof | |
KR101346284B1 (en) | Method for producing an encrypted file and decrypting the encrypted file, computer readable recording medium a program for implementing the methods | |
CN115277143B (en) | Data security transmission method, device, equipment and storage medium | |
US10019913B2 (en) | Information encryption system and information encryption method using optical character recognition | |
JP5389401B2 (en) | Encryption device, decryption device, and encryption system | |
CN113553572A (en) | Resource information acquisition method and device, computer equipment and storage medium | |
CN116662941A (en) | Information encryption method, device, computer equipment and storage medium | |
CN105704096A (en) | Document decryption method and document decryption device | |
CN107967432B (en) | Safe storage device, system and method | |
CN114448722B (en) | Cross-browser login method and device, computer equipment and storage medium | |
CN106453273B (en) | A kind of information insurance management system and method based on cloud | |
US9537842B2 (en) | Secondary communications channel facilitating document security | |
CN113360859B (en) | Python interpreter-based encrypted file security control method and device | |
KR102500764B1 (en) | Electronic document sharing server that supports sharing settings for electronic documents based on member identification information and operating method thereof | |
KR101810201B1 (en) | File security system and file security method | |
JP2016163198A (en) | File management device, file management system, file management method, and file management program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20161013 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20171020 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20181210 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20200106 Year of fee payment: 7 |