KR20130134932A - 암호화 파일의 생성 방법 및 해독 방법과 이 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체 - Google Patents

암호화 파일의 생성 방법 및 해독 방법과 이 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR20130134932A
KR20130134932A KR1020120058844A KR20120058844A KR20130134932A KR 20130134932 A KR20130134932 A KR 20130134932A KR 1020120058844 A KR1020120058844 A KR 1020120058844A KR 20120058844 A KR20120058844 A KR 20120058844A KR 20130134932 A KR20130134932 A KR 20130134932A
Authority
KR
South Korea
Prior art keywords
file
identification code
uuid
code
encrypted
Prior art date
Application number
KR1020120058844A
Other languages
English (en)
Other versions
KR101346284B1 (ko
Inventor
김성완
이형택
Original Assignee
주식회사 이노티움
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 이노티움 filed Critical 주식회사 이노티움
Priority to KR1020120058844A priority Critical patent/KR101346284B1/ko
Publication of KR20130134932A publication Critical patent/KR20130134932A/ko
Application granted granted Critical
Publication of KR101346284B1 publication Critical patent/KR101346284B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes

Abstract

파일 또는 폴더를 암호화 하는 방법 및 암호화 파일의 해독 방법이 개시된다. 본 발명에 따른 사용자 단말에서 파일 또는 폴더에 대한 암호화 파일 생성 방법은, 암호화할 대상인 파일 또는 폴더를 선택하는 단계; 해독 제한 정보 및 열기 암호를 입력 받는 단계; 상기 파일 또는 폴더를 식별하는 식별 코드를 생성하는 단계; 상기 식별 코드 및 상기 해독 제한 정보를 서버로 전송하는 단계; 상기 식별 코드로 상기 파일 또는 폴더를 암호화하는 단계; 상기 열기 암호로 상기 식별 코드를 암호화하는 단계; 및 상기 암호화된 파일 또는 폴더와, 상기 암호화된 식별 코드와, 해독 제어 프로그램을 포함하는 암호화 파일을 생성하는 단계;를 포함한다.

Description

암호화 파일의 생성 방법 및 해독 방법과 이 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체{Method for producing an encrypted file and decrypting the encrypted file, computer readable recording medium a program for implementing the methods}
본 발명은 파일의 암호화에 관한 것으로, 더 구체적으로 암호화된 파일을 생성하는 방법 및 그 암호화된 파일의 해독 방법과 이 방법들을 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체에 관한 것이다.
컴퓨터를 이용해 생성할 수 있는 파일들의 내용은 매우 다양하다. 예를 들어 텍스트 문서나 이미지, 동영상 문서, 또는 건물이나 기계의 도면 등, 생성 가능한 파일의 내용에서는 그 제한이 사실상 없다.
이들 파일들 중에서 특히 보안이 강조되어야 하는 파일들이 있다. 예컨대, 기업이나 국가의 비밀 문서 등이 있고 특히 개인의 차원에서는 금융이 금융에 사용하는 정보, 개인의 사진이나 동영상 등의 개인 비밀 정보 등이 그러하다.
상술한 바와 같이 보안이 필요한 파일들이 매우 많지만 이와 동시에 파일들의 유포 경로는 매우 다양하다. 즉, 파일들은 기본적으로 컴퓨터 내의 메모리 영역에 저장되는데, 이들이 유포되는 경로는 온라인 통신망을 통해 전송되거나 USB, CD 등의 저장 매체를 통한 전송 등 매우 다양하다.
특히 보안이 필요한 파일들이 적대 국가나 경쟁 기업이 비밀리에 입수하거나, 개인 문서들이 인터넷 상의 악의적 사용자에게 입수되면, 기업이나 국가 또는 개인이 입게 되는 피해는 매우 막대하게 된다.
그 유포 경로의 다양성과 보안 파일들의 악용 가능성 때문에, 보안이 필요한 파일들의 보안 방법이 매우 다양하게 제시되고 있다.
본 발명은 상기와 같이 파일의 보안 필요성을 충족시키기 위해 제안된 것으로, 파일 또는 폴더를 암호화 하는 방법 및 암호화 파일의 해독 방법을 제공하는데 그 목적이 있다.
또한 본 발명은 상기 방법들을 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체를 제공하는데 그 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한 본 발명의 목적 및 장점들은 특허청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른, 사용자 단말에서 파일 또는 폴더에 대한 암호화 파일 생성 방법은, 암호화할 대상인 파일 또는 폴더를 선택하는 단계; 해독 제한 정보 및 열기 암호를 입력 받는 단계; 상기 파일 또는 폴더를 식별하는 식별 코드를 생성하는 단계; 상기 식별 코드 및 상기 해독 제한 정보를 서버로 전송하는 단계; 상기 식별 코드로 상기 파일 또는 폴더를 암호화하는 단계; 상기 열기 암호로 상기 식별 코드를 암호화하는 단계; 및 상기 암호화된 파일 또는 폴더와, 상기 암호화된 식별 코드와, 해독 제어 프로그램을 포함하는 암호화 파일을 생성하는 단계;를 포함한다.
상기 암호화 파일 생성 방법은, 상기 서버로부터 상기 식별 코드에 대응하는 인덱스를 수신하는 단계;를 더 포함하고, 상기 식별 코드를 암호화하는 단계는, 상기 열기 암호로 상기 식별 코드 및 인덱스를 암호화하고, 상기 암호화 파일을 생성하는 단계는, 상기 암호화된 파일 또는 폴더와, 상기 암호화된 식별 코드 및 인덱스와, 해독 제어 프로그램을 포함하는 암호화 파일을 생성할 수 있다.
상기 해독 제어 프로그램은, 상기 암호화 파일 실행시 사용자로부터 입력된 열기 암호로 상기 암호화된 식별 코드를 해독하여 식별 코드를 추출하고, 그 추출된 식별 코드를 상기 서버로 전송하여 상기 제한 정보에 기초한 해독 가능 여부에 대한 응답을 수신하며, 그 수신된 응답에 기초하여 상기 추출된 식별 코드로 상기 암호화된 파일 또는 폴더를 해독하여 파일 또는 폴더를 추출할 수 있다.
상기 해독 제어 프로그램은, 상기 암호화 파일 실행시 사용자로부터 입력된 열기 암호로 상기 암호화된 식별 코드를 해독하여 식별 코드를 추출하고, 사용자 단말이 인터넷 연결이 안되어 있는 경우, 상기 식별 코드를 시드(seed)로 한 확인 코드와, 그 확인 코드 및 상기 서버의 접속 주소를 포함하는 이미지 코드를 생성하여 표시할 수 있다.
상기 이미지 코드는 QR 코드일 수 있다.
상기 해독 제어 프로그램은, 사용자로부터 입력 받은 인증 코드를 검증하고 그 검증 결과에 기초하여 상기 추출된 식별 코드로 상기 암호화된 파일 또는 폴더를 해독하여 파일 또는 폴더를 추출할 수 있다.
상기 암호화 파일 생성 방법은, 생성 완료된 암호화 파일의 사용 중지 또는 그 중지 해제를 사용자로부터 입력 받는 단계;를 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른, 암호화 파일의 해독 제한 정보를 저장하는 서버와 통신할 수 있는 암호화 파일을 사용자 단말에서 해독하는 방법은, 열기 암호 입력창을 표시하여 사용자로부터 열기 암호를 입력 받는 단계; 상기 열기 암호를 이용하여 상기 암호화 파일에서 식별 코드를 추출하는 단계; 상기 사용자 단말의 인터넷 연결 여부를 확인하는 단계; 인터넷 연결이 되어 있는 경우, 추출된 식별 코드를 상기 서버로 전송하고 해당 서버로부터 해독 가능 여부에 대한 응답을 수신하는 단계; 및 상기 응답에 기초하여 상기 추출된 식별 코드를 이용하여 상기 암호화 파일에서 파일 또는 폴더를 추출하는 단계;를 포함한다.
상기 해독하는 방법은, 인터넷 연결이 안 되어 있는 경우, 상기 식별 코드를 시드(seed)로 한 확인 코드와, 그 확인 코드 및 상기 서버의 접속 주소를 포함하는 이미지 코드를 생성하여 표시하는 단계; 및 사용자로부터 입력 받은 인증 코드를 검증하고 그 검증 결과에 기초하여 상기 추출된 식별 코드로 상기 암호화된 파일 또는 폴더를 해독하여 파일 또는 폴더를 추출하는 단계;를 더 포함할 수 있다.
상기 이미지 코드는 QR 코드일 수 있다.
상기 인증 코드는, 모바일 단말이 상기 이미지 코드를 스캔하여 획득한 것일 수 있다.
상기 해독하는 방법은, 암호화 파일 생성자가 사용 중지를 설정하였는지 여부에 기초한 해독 가능 여부를 서버로부터 수신하는 단계;를 더 포함할 수 있다.
본 발명의 일 실시예에 따르면, 파일 또는 폴더를 암호화한 암호화 파일을 서버 기반으로 일정한 횟수 또는 일정한 유효 기간 내에서만 해독하도록 함으로써 중요한 파일들의 무분별한 유출을 방지할 수 있다.
또한, 본 발명은 중요 파일 또는 폴더를 이중으로 암호화함으로써 보안성을 강화할 수 있다.
또한 본 발명의 다른 실시예에 따르면, 암호화 파일을 해독하고자 하는 사용자 단말이 인터넷에 연결되어 있지 않는 경우에도, 모바일 인증을 거쳐 언제 어디서든 자유롭게 암호화 파일을 해독할 수 있도록 한다.
도 1은 본 발명에 따른 암호화 파일 생성 시스템을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 암호화 파일의 생성 과정을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따라 생성된 암호화 파일을 다른 사용자 단말이 해독하는 과정을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따라 암호화 파일을 생성하는 암호화 프로그램의 구성을 나타내는 도면이다.
도 5는 본 발명의 다른 실시예에 따라 암호화 파일을 생성하는 과정을 나타내는 도면이다.
도 6은 본 발명의 다른 실시예에 따라 생성된 암호화 파일을 다른 사용자 단말(100)이 해독하는 과정을 나타내는 도면이다.
도 7은 본 발명의 다른 실시예에 따른 암호화 프로그램의 구성을 나타내는 블록도이다.
도 8은 도 2를 참조한 실시예에서 사용자 단말의 인터페이스 화면을 나타내는 도면이다.
도 9는 도 3을 참조한 실시예에서 사용자 단말의 인터페이스 화면을 나타내는 도면이다.
도 10은 도 6을 참조한 실시예에서 사용자 단말 및 모바일 단말에서의 인터페이스 화면을 나타내는 도면이다.
도 11은 본 발명의 또 다른 실시예에서 암호화 파일 생성자가 암호화 파일을 관리하는 인터페이스를 나타내는 도면이다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명에 따른 암호화 파일 생성 시스템을 나타내는 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 암호화 파일 생성 시스템은 사용자 단말과 서버를 포함한다.
사용자 단말(100)은 사용자가 이용하는 전자 장치로서, 전자 회로를 이용하여 자동적으로 계산하거나 데이터를 처리하고 입력자료를 받아들이며 그 정보를 저장 및 연산하여 결과를 출력한다. 대표적으로 사용자 단말(100)은 데스크 탑 컴퓨터, 랩탑 컴퓨터, 태블릿 PC, PDA(Personal Digital Assistant), 스마트 휴대폰 등이 있다.
본 발명에 따르면 사용자 단말(100)에서, 암호화를 하고자 하는 대상이 되는 파일 또는 폴더(이하에서는 파일만을 설명하며, 그 대상 파일을 원본 파일이라 함)을 암호화 하여 그 결과물 파일(이하 암호화 파일)이 생성된다. 원본 파일은 .doc, .hwp, .zip, .ppt, .dat 등 그 확장자에 제한이 없으나, 암호화 파일은 .exe. 확장자로 생성된다. 또는 암호화 파일은 환경 설정에 따라서 압축 파일(zip) 형태로 생성될 수도 있다.
또한 다른 사용자 단말(100)에서는 상기 사용자 단말(100)이 생성한 암호화 파일이 해독되어 다시 원본 파일이 생성될 수 있다. 또한 본 발명에 따르면 사용자 단말(100)에서 암호화 파일이 생성될 때, 어느 암호화 파일을 다른 암호화 파일과 구별하기 위해 식별정보(UUID-Universally Unique ID)가 사용된다. 구체적인 암호화 파일 생성에 대해서는 도 2를 참조하여 상세히 설명하기로 한다.
서버(200)는 여려 개의 컴퓨터를 네트워크로 연결한 통신망에서 하나의 컴퓨터에 공동으로 사용하는 정보를 저장해 두거나 메모리 등 컴퓨터 자원을 많이 사용하는 프로그램들을 모아놓은 컴퓨터이다. 통신망에 연결된 다른 컴퓨터들은 서버(200)로부터 필요한 정보를 검색하여 제공받거나, 서버(200)에 있는 프로그램에서 처리될 자료를 보내고 그 결과를 다시 받는데, 그 서브 컴퓨터들은 클라이언트(client) 컴퓨터가 된다. 본 발명에서는 상기 사용자 단말(100)이 서버(200)에 대해서 클라이언트 컴퓨터가 된다.
본 발명에 따르면 사용자 단말(100)에서 암호화 파일이 생성될 때, 그 암호화 파일에 대한 식별정보(UUID) 및 제한 정보(열기 횟수, 유효기간)가 생성되는데 서버(200)는 이를 사용자 단말(100)로부터 수신하여 저장한다. 이후 서버(200)는 다른 사용자 단말(100)이 암호화 파일을 해독할 때, 해당 암호화 파일에 대한 제한 정보를 확인하여 해독 가능 여부에 대해 해당 사용자 단말(100)로 응답한다. 구체적인 해독 프로세스는 도 3를 참조하여 상세히 설명하기로 한다.
한편, 본 발명의 다른 실시예에 따라 암호화 파일을 생성하는 시스템은 모바일 단말(300)을 더 포함할 수 있다. 본 실시예는 사용자 단말(100)이 온라인 연결이 되어 있지 않는 경우이다.
모바일 단말(300)은 이동통신망을 이용하여 음성 통화 또는 패킷 통신을 제공하는 장치로서 UE(User Equipment), MS(Mobile Station), UT(User Terminal), SS(Subscriber Station) 등의 다른 용어로 불릴 수 있다. 예를 들어, 본 실시예에 따른 모바일 단말(300)은 셀룰러 폰, PCS 폰, GSM 폰, CDMA-2000폰, WCDMA폰 등과 같인 종래의 이동 전화기 및 최근 활발히 사용되는 스마트 폰과 태블릿 PC 및 4G망을 이용하는 이동 전화기 등을 모두 포함한다.
본 발명의 다른 실시예에 따르면, 사용자 단말(100)이 온라인 연결이 되어 있지 않는 경우, 서버(200)에 접속하여 수행되는 제한 정보 확인(열기 횟수, 유효기간)은 상기 모바일 단말(300)을 통해 수행된다. 그 구체적인 설명은 도 5내지 도 7을 참조하여 후술하도록 한다.
도 2는 본 발명의 일 실시예에 따른 암호화 파일의 생성 과정을 나타내는 도면이다.
도 2를 참조하면, 사용자가 사용자 단말(100)에서 암호화 프로그램을 실행하면 암호화 프로그램은 환경 설정 인터페이스를 실행한다(S201). 환경 설정 인터페이스의 예는 도 8의 (a)에 도시되어 있다.
도 8의 (a)를 참조하면, 환경 설정은 암호화 파일 생성 위치, 보호 방법 설정, 사용자 정보 설정을 포함한다.
암호화 파일 생성 위치는, 원본 파일을 암호화하여 생성되는 암호화 파일이 저장되는 하드 디스크 경로를 설정하는 환경 설정이다.
보호방법 설정은 열기 횟수 제한, 유효기간 제한, 열기 암호, 압축파일(zip) 확장자로 생성하기, 온라인 체크만 허용하기를 포함한다.
열기 횟수 제한은 생성된 암호화 파일이 해독될 수 있는 총 횟수를 설정하는 환경 설정이다. 예를 들어 5회로 설정되고 본 발명에 따라서 생성된 암호화 파일이 복수 개의 사용자 단말(100)로 전송된 경우, 모든 사용자 단말(100)이 그 암호화 파일을 해독할 수 있는 횟수가 5번이 된다. 만약 5번을 초과하여 해독이 시도되는 사용자 단말(100)에서는 상기 열기 횟수 제한으로 인해 그 암호화 파일은 해독되지 않는다.
유효 기간 제한은 생성된 암호화 파일이 해독될 수 있는 기간을 설정하는 환경 설정이다. 예를 들어 7일 이내로 설정되고 본 발명에 따라서 생성된 암호화 파일이 복수 개의 사용자 단말(100)로 전송된 경우, 모든 사용자 단말(100)이 그 암호화 파일을 해독할 수 있는 시기는 암호화 파일의 생성일로부터 7일 이내가 된다. 7일 이후에 해독이 시도되는 사용자 단말(100)에서는 상기 유효기간 제한으로 인해 그 암호화 파일은 해독되지 않는다.
열기 암호는 사용자 단말(100)이 암호화 파일을 해독하고자 할 때 최초로 입력해야 하는 패스워드를 설정하는 환경 설정이다. 사용자가 입력한 열기 암호가, 암호화 파일의 생성시 설정된 열기 암호와 동일하지 않으면 암호화 파일의 해독은 진행되지 않는다. 따라서 암호화 파일을 수신하는 사용자는 그 암호화 파일을 생성한 사용자로부터 열기 암호가 무엇인지에 대한 정보도 함께 습득해야 한다.
압축파일 확장자로 생성하기는 암호화 파일의 확장자를 설정하는 환경 설정이다. 기본적으로 압축파일 확장자로 생성하기가 선택되지 않은 경우에는 암호화 파일이 .exe 확장자로 생성되지만, 압축파일 확장자로 생성하기가 선택된 경우에는 암호화 파일이 .zip 등의 압축 파일 확장자로 생성된다. 압축 파일 확장자로 생성되는 경우에는 .exe 확장자로 생성된 경우보다 용량이 더 작을 수 있다.
온라인 체크만 허용하기는 제한 정보(열기 횟수, 유효 기간)을 확인하는데 있어서, 서버(200)를 이용할지 또는 암호화 파일 자체 내에서 판단할지를 선택하는 환경 설정이다. 온라인 체크만 허용하기가 선택되는 경우, 암호화 파일의 제한 정보는 서버(200)에 저장되고, 다른 사용자 단말(100)에서 그 암호화 파일을 해독하고자 하는 경우, 서버(200)에 접속하여 해독 가능한지 여부를 판단 받는다. 온라인 체크만 허용하기가 선택되지 않는 경우, 제한 정보는 암호화 파일 내에 기록되고, 다른 사용자 단말(100)에서 그 암호화 파일을 해독하고자 하는 경우, 암호화 파일이 자체적으로 제한 정보를 확인하여 해독 가능한지 여부를 판단한다. 이하 본 명세서에서는 온라인 체크만 허용하기가 선택된 경우, 즉 서버(200)를 경유하여 제한 정보를 확인하여 해독 가능 여부를 판단 받도록 설정된 것으로 전제한다.
사용자 정보 설정은 암호화 파일을 생성하는 사용자의 성명, 이메일, 연락처 등의 정보를 입력하는 환경 설정이다.
이러한 환경 설정은 디폴트로서 암호화 프로그램을 최초로 실행하는 경우 실행되지만, 차후 암호화 프로그램 실행시에는 실행되지 않는다. 다만 사용자가 다른 환경 설정을 적용하고자 하는 경우에는 설정 태그를 선택하여 환경 설정을 달리 생성할 수 있다.
환경 설정 이후 사용자는 암호화 하고자 하는 파일 즉 원본 파일을 선택한다(S202). 원본 파일 선택의 예는 도 8의 (b)에 도시되어 있다.
예를 들어 드래그 앤드 드롭을 이용하거나 또는 탐색기 창을 이용하여 원본 파일을 선택한다. 파일 선택을 완료하고 생성하기 버튼을 클릭하면 도 8의 (c)와 같이 암호화 파일이 생성된다.
이하에서 암호화 파일이 생성되는 구체적인 과정을 설명한다.
암호화 프로그램은 파일별 식별정보 즉 UUID(Universally Unique ID)를 생성한다(S203). 상술한 바와 같이 UUID는 어느 파일을 다른 파일과 구별하기 위한 식별정보이다. 암호화 프로그램은 UUID 및 UUID로 구별되는 파일에 설정된 제한 정보(열기 횟수 제한 및 유효기간 제한)를 서버(200)로 전송한다(S204).
서버(200)는 상기 UUID 및 UUID로 구별되는 파일에 설정된 제한 정보를 저장한다(S205). 이후 다른 사용자 단말(100)에서 암호화 파일을 해독하고자 하는 경우, 서버(200)는 UUID를 이용하여 해당 암호화 파일에 설정된 제한 정보를 확인할 수 있고 그 해독 가능 여부를 판단할 수 있다.
암호화 프로그램은 환경 설정에서 설정된 열기 암호를 Key로 하여 UUID를 암호화하여 암호화 파일에 기록하고(S206), 또한 UUID를 Key로 하여 원본 파일을 암호화하여 암호화 파일에 기록한다(S207). 즉 암호화 파일이 생성되고 그 암호화 파일을 해독하고자 할 때, 열기 암호를 이용하여 UUID를 해독할 수 있고, 그 해독된 UUID를 이용하여 원본 파일을 해독할 수 있게 된다.
마지막으로 암호화 프로그램은 해독 프로그램을 암호화 파일에 기록하며(S208), 이로써 암호화 파일의 생성이 완료된다(S210).
해독 프로그램은 UUID(암호화) 및 원본파일(암호화)를 역으로 복호화하는 알고리즘을 포함한다. 구체적으로 해독 프로그램은, 다른 사용자 단말(100)에서 암호화 파일을 해독하고자 하는 경우 그 사용자에게 열기 암호를 입력할 것을 요청하여 열기 암호를 입력 받는다. 또한 해독 프로그램은 상기 입력 받은 열기 암호를 key로 UUID(암호화)를 해독하여 UUID를 획득하고, 그 UUID를 서버(200)로 전송하여 제한 정보의 확인을 요청하며, 그 응답으로 해독 가능 여부를 수신한다. 그 응답이 해독 가능인 경우, 해독 프로그램은 앞서 해독한 UUID를 key로 원본파일(암호화)를 해독하여 원본 파일을 획득한다.
생성된 암호화 파일을 도식화 하면 다음과 같이 나타낼 수 있다.
Figure pat00001

상술한 바와 같이 생성된 암호화 파일은 디폴트로 .exe 확장자로 생성되며, 환경 설정에서 압축파일 확장자로 선택하기로 설정된 경우에는 압축파일(zip) 확장자로 생성될 수 있다.
한편 상기 S203 단계에서 UUID를 사용하는 것으로 설명하였으나, UUID의 요약정보 즉 UUID_Index를 사용할 수도 있다. 구체적으로 UUID_Index를 사용하는 경우 암호화 프로그램은 UUID를 생성하여 서버(200)로 전송하고(S204) 서버(200)는 UUID를 수신하여 UUID_Index를 생성할 수 있다. 이어서 서버(200)는 UUID와 UUID_Index를 저장하고 그 UUID_Index를 다시 암호화 프로그램에로 전송할 수 있다. 암호화 프로그램은 열기 암호를 Key로 UUID, UUID_Index를 암호화 하여 파일에 기록할 수 있다.
도 3은 본 발명의 일 실시예에 따라 생성된 암호화 파일을 다른 사용자 단말이 해독하는 과정을 나타내는 도면이다.
도 3을 참조하면, 사용자 단말(100)에서 사용자는 해독하고자 하는 암호화 파일을 선택한다(S301).
암호화 파일이 선택되면 즉, .exe 파일이 실행되면 암호화 파일은 열기 암호의 입력을 사용자에게 요청한다(S302). 만약 압축 파일 확장자의 암호화 파일이면 압축을 해제하고 열기 암호의 입력을 요청한다. 그 일 예가 도 9의 (a)에 도시되어 있다.
도 9의 (a)를 참조하면, 사용자는 열기 암호를 입력한다. 열기 암호는 암호화 파일을 생성한 사용자로부터 취득한 것일 수 있다.
암호화 파일은 상기 입력 받은 열기 암호를 Key로 하여 UUID(암호화)를 해독하여 UUID를 추출한다(S303).
만약, 해독이 가능하지 않으면, 에러 메시지를 표시한다(S304). 에러 메시지는 예를 들어 도 9의 (b)와 같다.
반면에 해독이 가능한 경우, 암호화 파일은 상기 생성된 UUID를 서버(200)로 전송하면서 제한 정보의 확인을 요청한다(S305). 제한 정보의 확인이란 서버(200)에 저장된 암호화 파일의 열기 횟수 제한과 유효기간 제한을 확인하는 것이다.
서버(200)는 사용자 단말(100)로부터 수신한 UUID를 확인하고 서버(200) 내에 저장된 해당 UUID에 대응하는 암호화 파일의 제한 정보를 확인하여(S306), 해독 가능 여부를 판단한다(S307). 구체적으로 열기 횟수 및 유효기간을 모두 만족하는 경우에는 해독이 가능한 경우이고, 열기 횟수 및 유효기간 중 어느 하나라도 만족하지 않은 경우에는 해독이 불가능한 경우이다. 열기 횟수가 만족된다는 것은 열기 횟수가 1 이상인 것을 의미하고, 유효기간이 만족한다는 것은 현재 시점이 유효기간을 초과하지 않은 것을 의미한다.
이후 서버(200)는 해독이 가능한지 여부를 사용자 단말(100)로 응답한다(S308). 이 때 해독이 가능한 경우, 서버(200)는 열기 횟수를 1만큼 디스카운팅한다(S309).
사용자 단말(100)은 서버(200)로부터 해독 가능 여부를 응답 받는데 그 해독 가능 여부가 불가능인 경우, 사용자 단말(100)은 에러 메시지를 표시한다(S310). 구체적으로 열기 횟수를 초과하여 해독이 불가능한 경우 에러 메시지는 도 9의 (c)와 같을 수 있다.
또한 유효기간을 초과하여 해독이 불가능한 경우에 사용자 단말(100)은 에러 메시지를 표시하고, 그 에러 메시지는 도 9의 (d)와 같을 수 있다.
상기 수신한 해독 가능 여부가 가능인 경우, 암호화 파일은 UUID를 Key로 하여 원본 파일(암호화)를 해독한다(S311). 그 결과 해독된 원본 파일이 사용자 단말(100)에 출력된다(S312).
한편 상기 S305 단계에서 UUID를 사용하는 것으로 설명하였으나, UUID의 요약정보 즉 UUID_Index를 사용할 수도 있다. 구체적으로 UUID_Index를 사용하는 경우 사용자 단말(100)은 열기 암호를 Key로 UUID 및 UUID_Index를 해독하고, UUID_Index를 서버(200)로 전송하여 제한 정보의 확인을 요청할 수 있다.
도 4는 본 발명의 일 실시예에 따라 암호화 파일을 생성하는 암호화 프로그램의 구성을 나타내는 도면이다.
도 4를 참조하면 본 실시예에 따른 암호화 프로그램은 환경 설정 모듈(411), UUID 생성 모듈(412), 암호화 모듈(413) 및 파일 생성 모듈(414)을 포함한다.
환경 설정 모듈(411)은, 사용자가 사용자 단말(100)에서 암호화 프로그램을 실행하는 경우 환경 인터페이스를 실행하여 환경 설정을 입력 받는다. 환경 설정은 암호화 파일 생성 위치, 보호 방법 설정 및 사용자 정보 설정을 포함한다. 환경 설정의 내용 즉 암호화 파일 생성 위치, 보호 방법 설정 및 사용자 정보 설정은 도 2를 참조하여 설명한 바와 동일하다.
이러한 환경 설정 모듈(411)은 암호화 프로그램이 최초로 실행되는 경우 디폴트로 환경 설정의 입력을 요청하며, 차후 암호화 프로그램이 실행되는 경우에는 환경 설정 입력을 요청하지 않는다. 다만 사용자가 다른 환경 설정을 적용하고자 하는 경우에는, 환경 설정 모듈(411)은 다시 환경 설정 인터페이스를 실행하여 다른 환경 설정을 입력 받을 수 있다.
또한 환경 설정 모듈(411)은 상기 생성된 환경 설정 중에서, 제한 정보 즉 열기 횟수 제한 및 유효 기간 제한을 서버(200)로 전송한다.
UUID 생성 모듈(412)은 암호화 파일의 UUID를 생성하고, 그 UUID를 서버(200)로 전송한다. UUID는 어느 암호화 파일을 다른 암호화 파일과 구별하기 위한 식별정보이다. 따라서 암호화 파일별로 서로 다른 UUID가 생성된다.
한편, 서버(200)의 관점에서는 환경 설정 모듈(411)로부터 제한 정보를 수신하고, UUID 생성 모듈(412)로부터 암호화 파일의 UUID를 수신한다. 암호화 파일별로 적용되는 제한 내용이 다를 수 있으므로, 서버(200)는 암호화 파일의 UUID와 제한 정보를 대응시켜 저장한다.
암호화 모듈(413)은 열기 암호를 Key로 하여 UUID를 암호화 한다. 따라서 사용자로부터 열기 암호를 수신하는 경우, 그 열기 암호를 이용하여 UUID를 해독할 수 있다.
또한 암호화 모듈(413)은 UUID를 Key로 하여 원본 파일을 암호화 한다. 따라서 해독 가능한 경우(구체적으로 서버(200)의 해독 가능 여부 응답이 해독 가능인 경우), 그 UUID를 이용하여 원본 파일을 해독할 수 있다.
파일 생성 모듈(414)은 최종적인 암호화 파일을 생성하는데, 구체적으로 UUID(암호화), 원본 파일(암호화), 해독 프로그램을 암호화 파일에 기록한다. 즉 파일 생성 모듈(414)에 의해서 최종적으로 생성된 암호화 파일의 구조는 다음과 같다.
Figure pat00002

열기 암호는 상기 환경 설정 모듈(411)에서 입력 받은 열기 암호이고, UUID(암호화)와 원본 파일(암호화)는 상기 암호화 모듈(413)이 암호화한 것이다.
해독 프로그램은 UUID(암호화) 및 원본파일(암호화)를 역으로 복호화하는 알고리즘을 포함한다. 구체적으로 해독 프로그램은, 다른 사용자 단말(100)에서 암호화 파일을 해독하고자 하는 경우 그 사용자에게 열기 암호를 입력할 것을 요청하여 열기 암호를 입력 받는다. 또한 해독 프로그램은 상기 입력 받은 열기 암호를 key로 UUID(암호화)를 해독하여 UUID를 획득하고, 그 UUID를 서버(200)로 전송하여 제한 정보의 확인을 요청하며, 그 응답으로 해독 가능 여부를 수신한다. 그 응답이 해독 가능인 경우, 해독 프로그램은 앞서 해독한 UUID를 key로 원본파일(암호화)를 해독하여 원본 파일을 획득한다.
한편 본 실시예에서 파일 식별 정보로 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(암호화)를 파일에 기록할 수 있다.
도 5는 본 발명의 다른 실시예에 따라 암호화 파일을 생성하는 과정을 나타내는 도면이다. 본 실시예는 사용자 단말(100)이 온라인 연결이 되어 있지 않은 경우에 대비하기 위한 암호화 파일을 생성하는 과정이다.
도 5에서, S201 내지 S208 과정은 도 2에서 동일한 참조부호를 사용하여 설명한 과정과 동일하다.
즉, 사용자가 사용자 단말(100)에서 암호화 프로그램을 실행하면(S201), 암호화 프로그램은 환경 설정 인터페이스를 실행하여 환경 설정을 사용자로부터 입력 받는다. 환경 설정은 암호화 파일 생성 위치, 보호 방법 설정(열기 횟수 제한, 유효 기간 제한, 열기 암호 인증하기, 압축파일 확장자로 생성하기, 온라인 체크만 허용하기) 및 사용자 정보 설정을 입력 받는다.
이러한 환경 설정은 디폴트로서 암호화 프로그램을 최초로 실행하는 경우 실행되지만, 차후 암호화 프로그램 실행시에는 실행되지 않는다. 다만 사용자가 다른 환경 설정을 적용하고자 하는 경우에는 설정 태그를 선택하여 환경 설정을 달리 생성할 수 있다.
환경 설정 이후, 암호화 프로그램은 암호화 하고자 하는 파일 즉 원본 파일을 사용자로부터 입력 받는다(S202). 예를 들어 드래그 앤드 드롭 또는 탐색기 창을 이용하여 원본 파일이 선택될 수 있다.
암호화 프로그램은 파일별 식별정보 즉 UUID를 생성한다(S203). UUID는 파일별로 구별되는 것으로, 파일에 고유한 식별정보이다.
암호화 프로그램은 상기 UUID 및 UUID로 구별되는 파일에 설정된 제한 정보(열기 횟수 제한과 유효기간 제한)을 서버(200)로 전송한다(S204). 서버(200)는 상기 UUID 및 UUID로 구별되는 파일에 설정된 제한 정보를 저장한다(S205).
암호화 프로그램은 환경 설정에서 설정된 열기 암호를 Key로 하여 UUID를 암호화하여 암호화 파일에 기록하고(S206), 또한 UUID를 Key로 하여 원본 파일을 암호화하여 암호화 파일에 기록한다(S207). 즉 암호화 파일이 생성되고 그 암호화 파일을 해독하고자 할 때, 열기 암호를 이용하여 UUID를 해독할 수 있고, 그 해독된 UUID를 이용하여 원본 파일을 해독할 수 있게 된다.
마지막으로 암호화 프로그램은 해독 프로그램을 암호화 파일에 기록하며(S208), 이로써 암호화 파일의 생성이 완료된다(S503).
해독 프로그램은 UUID(암호화) 및 원본파일(암호화)를 역으로 복호화하는 알고리즘을 포함한다. 구체적으로 해독 프로그램은, 다른 사용자 단말(100)에서 암호화 파일을 해독하고자 하는 경우 그 사용자에게 열기 암호를 입력할 것을 요청하여 열기 암호를 입력 받는다.
또한 해독 프로그램은 상기 입력 받은 열기 암호를 key로 UUID(암호화)를 해독하여 UUID를 획득하는데, 해독하고자 하는 사용자 단말(100)이 온라인에 연결되어 있는 경우, 그 UUID를 서버(200)로 전송하여 제한 정보의 확인을 요청하며, 그 응답으로 해독 가능 여부를 수신한다. 그 응답이 해독 가능인 경우, 해독 프로그램은 앞서 해독한 UUID를 key로 원본파일(암호화)를 해독하여 원본 파일을 획득한다.
반면에 해독 프로그램은 해독하고자 하는 사용자 단말(100)이 온라인에 연결되어 있지 않은 경우에는 확인 코드 및 QR 코드를 생성하여 사용자 단말(100)의 화면에 표시한다(도 10의 (a) 참조). QR 코드에는 서버 URL 정보와 상기 확인 코드가 포함되어 있는데, 그 확인 코드는 암호화 파일의 UUID를 씨드(seed)로 암호화된 것이다. 다시 말해, 확인 코드를 해독하면 암호화 파일의 UUID를 획득할 수 있다. 상술한 QR 코드는, 사용자가 모바일 단말(300)을 이용해 모바일 인증을 하는 과정에서 사용될 것이다. 그 구체적인 프로세스 즉, 온라인에 연결되지 않은 사용자 단말(100)에서 암호화 파일을 해독하는 프로세스는 도 6을 참조하여 설명하기로 한다.
생성된 암호화 파일을 도식화 하면 다음과 같이 나타낼 수 있다.
Figure pat00003

상술한 바와 같이 생성된 암호화 파일은 디폴트로 .exe 확장자로 생성되며, 환경 설정에서 압축파일 확장자로 선택하기로 설정된 경우에는 압축파일(zip) 확장자로 생성될 수 있다.
한편 상기 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)로 암호화된 것이다.
한편, 본 명세서에서 QR 코드는 모바일 단말로 스캔 가능한 이미지 코드의 일 예로 설명한 것이며, 모바일 단말로 스캔 가능한 다른 형태의 이미지 코드로 대체할 수 있다. 예를 들면 이미지 코드는 바코드, data matrix, maxi code, PDF-417 등이 있다.
도 6은 본 발명의 다른 실시예에 따라 생성된 암호화 파일을 다른 사용자 단말(100)이 해독하는 과정을 나타내는 도면이다. 구체적으로 본 실시예는 사용자 단말(100)이 온라인 연결이 되어 있지 않는 경우의 해독 과정이다.
도 6을 참조하면, 사용자 단말(100)에서 사용자는 해독하고자 하는 암호화 파일을 선택한다(S601).
암호화 파일이 선택되면 즉, .exe 파일이 실행되면 암호화 파일은 열기 암호의 입력을 사용자에게 요청한다(S602). 만약 압축 파일 확장자의 암호화 파일이면 압축을 해제하고 열기 암호의 입력을 요청한다. (도 9의 (a) 참조)
사용자는 열기 암호를 입력한다(S602). 열기 암호는 암호화 파일을 생성한 사용자로부터 취득한 것일 수 있다.
암호화 파일은 상기 입력 받은 열기 암호를 Key로 하여 UUID(암호화)를 해독하여 UUID를 추출한다(S603).
만약, 해독이 가능하지 않으면, 에러 메시지를 표시한다(S604). 에러 메시지는 예를 들어 도 9의 (b)와 같다.
반면에 해독이 가능한 경우, 암호화 파일은 상기 생성된 UUID를 서버(200)로 전송하면서 제한 정보의 확인을 요청하는데, 사용자 단말은 온라인에 연결되어 있지 않으므로 제한 정보 확인 요청이 불가능하다(S605).
즉, 도 2 내지 도 4를 참조하여 설명한 실시예에서는, 암호화 파일은 상기 생성된 UUID를 서버(200)로 전송하면서 제한 정보의 확인을 요청하지만, 본 실시예에서는 사용자 단말(100)이 온라인 연결이 되어 있지 않기 때문에, 직접 서버(200)에 대해 제한 정보의 확인을 요청할 수 없다.
암호화 파일은 확인 코드와 QR 코드를 출력하여 인증 코드의 입력을 요청한다(S606). QR 코드는 예를 들어 도 10의 (a)와 같을 수 있다.
구체적으로 상기 QR 코드에는 서버 URL 정보와 상기 확인 코드가 포함되어 있는데, 그 확인 코드는 암호화 파일의 UUID를 씨드(seed)로 암호화된 것이다. 다시 말해, 확인 코드를 해독하면 암호화 파일의 UUID를 획득할 수 있다. 예를 들어 도 10의 (a)에서 확인 코드는 1343-9801-2336-0369인데, 앞 네 자리 1343은 UUID를 암호화한 key이고 뒤 12 자리는 UUID를 암호화한 결과이다. 따라서 후술하는 바와 같이 사용자가 모바일 단말로 서버에 접속하고 상기 확인 코드가 서버에 입력되면, 서버는 1343을 이용해 9801-2336-0369를 해독하며 그 결과 암호화 파일의 UUID를 추출할 수 있다.
사용자는 모바일 단말(300)을 이용하여 사용자 단말(100) 화면에 나타난 QR 코드를 스캔한다(S607). 모바일 단말(300)은 QR 코드로부터 서버 URL 및 확인 코드를 추출할 수 있다(S608). 스캔 결과, 모바일 단말(300)은 서버 URL로 서버(200)에 접속하며(S609), 확인 코드가 자동으로 입력된다(S610). 모바일 단말(300)의 화면에는 도 10의 (b)와 같이 표시될 수 있다.
서버(200)는 상기 확인 코드로부터 UUID를 추출할 수 있다(S611). 서버(200)는 해당 UUID를 이용하여 제한 정보를 확인한다(S612). 구체적으로 서버(200) 내에 저장된 해당 UUID에 대응하는 암호화 파일의 제한 정보를 확인하여, 해독 가능 여부를 판단한다. 구체적으로 열기 횟수 및 유효기간을 모두 만족하는 경우에는 해독이 가능한 경우이고, 열기 횟수 및 유효기간 중 어느 하나라도 만족하지 않은 경우에는 해독이 불가능한 경우이다. 열기 횟수가 만족된다는 것은 열기 횟수가 1 이상인 것을 의미하고, 유효기간이 만족한다는 것은 현재 시점이 유효기간을 초과하지 않은 것을 의미한다.
해독이 불가능한 경우, 서버(200)는 해독 불가를 모바일 단말(300)로 통보하고(S613) 모바일 단말(300)은 에러 메시지를 표시한다(S614). 예를 들어 열기 횟수 초과로 인해 해독이 불가능한 경우에 표시되는 에러 메시지는 예를 들면 도 10의 (c)와 같을 수 있다.
해독이 가능한 경우, 서버(200)는 열기 횟수를 1 만큼 디스카운팅하고(S615) 인증 코드를 모바일 단말(300)로 전송한다(S616). 그 인증 코드는 모바일 단말(300)의 화면에 출력된다(S617). 사용자는 모바일 단말(300)의 화면을 확인하여 인증 코드를 사용자 단말(100)에서 입력한다(S618). 그 구체적인 예는 도 10의 (d) 및 (e)와 같을 수 있다.
구체적으로, 인증 코드는 확인코드를 key로 열기횟수/유효기간/체크코드를 암호화한 것이다. 도 10의 (d) 및 (e)에 나타난 인증 코드는 H3J$QSUQZ-$6+6UJE9SXVE인데, 이는 도 10의 (a)에서의 확인 코드 1343-9801-2336-0369f를 key로 열기횟수/유효기간/체크코드를 암호화한 것이다.
암호화 파일은 확인 코드를 이용해 상기 인증 코드를 해독하여 열기횟수/유효기간/체크코드를 추출할 수 있고 그 체크코드를 확인하여 그 입력된 인증 코드가, 서버(200)에서 생성한 인증 코드와 일치하는지 여부를 확인할 수 있다. 인증 코드가 잘못 입력된 경우에는 인증 코드가 일치하지 않는다는 에러 메시지를 표시한다. 반면에 입력된 인증 코드가 일치하는 경우에는 UUID를 Key로 하고 파일 내에 기록된 해독 프로그램을 이용하여 원본 파일(암호화)를 해독한다(S619). 그 결과 원본 파일이 사용자 단말(100)에 출력된다(S620).
한편 상기 S611 단계 등에서 UUID를 사용하는 것으로 설명하였으나, UUID의 요약정보 즉 UUID_Index를 사용할 수도 있다. 구체적으로 UUID_Index를 사용하는 경우 사용자 단말(100)은 열기 암호를 Key로 UUID 및 UUID_Index를 해독할 수 있다. 또한 암호화 파일은 QR 코드를 출력할 때 해당 QR 코드에는 서버 URL 및 확인 코드가 포함되고, 상기 확인 코드는 UUID_Index를 씨드로 생성될 수 있다. 서버(200)는 확인 코드에서 UUID_Index를 확인하여 제한 정보를 확인할 수 있다.
도 7은 본 발명의 다른 실시예에 따른 암호화 프로그램의 구성을 나타내는 블록도이다.
도 7을 참조하면 본 실시예에 따른 암호화 프로그램은 환경 설정 모듈(711), UUID 생성 모듈(712), 암호화 모듈(713) 및 파일 생성 모듈(714)을 포함한다.
환경 설정 모듈(711)은, 사용자가 사용자 단말(100)에서 암호화 프로그램을 실행하는 경우 환경 인터페이스를 실행하여 환경 설정을 입력 받는다. 환경 설정은 암호화 파일 생성 위치, 보호 방법 설정 및 사용자 정보 설정을 포함한다. 환경 설정의 내용 즉 암호화 파일 생성 위치, 보호 방법 설정 및 사용자 정보 설정은 도 2를 참조하여 설명한 바와 동일하다.
이러한 환경 설정 모듈(711)은 암호화 프로그램이 최초로 실행되는 경우 디폴트로 환경 설정의 입력을 요청하며, 차후 암호화 프로그램이 실행되는 경우에는 환경 설정 입력을 요청하지 않는다. 다만 사용자가 다른 환경 설정을 적용하고자 하는 경우에는, 환경 설정 모듈(711)은 다시 환경 설정 인터페이스를 실행하여 다른 환경 설정을 입력 받을 수 있다.
또한 환경 설정 모듈(711)은 상기 생성된 환경 설정 중에서, 제한 정보 즉 열기 횟수 제한 및 유효 기간 제한을 서버(200)로 전송한다.
UUID 생성 모듈(712)은 암호화 파일의 UUID를 생성하고, 그 UUID를 서버(200)로 전송한다. UUID는 어느 암호화 파일을 다른 암호화 파일과 구별하기 위한 식별정보이다. 따라서 암호화 파일별로 서로 다른 UUID가 생성된다.
한편, 서버(200)의 관점에서는 환경 설정 모듈(711)로부터 제한 정보를 수신하고, UUID 생성 모듈(712)로부터 암호화 파일의 UUID를 수신한다. 암호화 파일별로 적용되는 제한 내용이 다를 수 있으므로, 서버(200)는 암호화 파일의 UUID와 제한 정보를 대응시켜 저장한다.
암호화 모듈(713)은 열기 암호를 Key로 하여 UUID를 암호화 한다. 따라서 사용자로부터 열기 암호를 수신하는 경우, 그 열기 암호를 이용하여 UUID를 해독할 수 있다.
또한 암호화 모듈(713)은 UUID를 Key로 하여 원본 파일을 암호화 한다. 따라서 해독 가능한 경우(구체적으로 서버(200)의 해독 가능 여부 응답이 해독 가능인 경우), 그 UUID를 이용하여 원본 파일을 해독할 수 있다.
파일 생성 모듈(714)은 최종적인 암호화 파일을 생성하는데, 구체적으로 UUID(암호화), 원본 파일(암호화), 해독 프로그램을 암호화 파일에 기록한다. 즉 파일 생성 모듈(714)에 의해서 최종적으로 생성되는 암호화 파일의 구조는 다음과 같다.
Figure pat00004

열기 암호는 상기 환경 설정 모듈(711)에서 입력 받은 열기 암호이고, UUID(암호화)와 원본 파일(암호화)는 상기 암호화 모듈(713)이 암호화한 것이다.
해독 프로그램은 UUID(암호화) 및 원본파일(암호화)를 역으로 복호화하는 알고리즘을 포함한다. 구체적으로 해독 프로그램은, 다른 사용자 단말(100)에서 암호화 파일을 해독하고자 하는 경우 그 사용자에게 열기 암호를 입력할 것을 요청하여 열기 암호를 입력 받는다.
또한 해독 프로그램은 상기 입력 받은 열기 암호를 key로 UUID(암호화)를 해독하여 UUID를 획득하는데, 해독하고자 하는 사용자 단말(100)이 온라인에 연결되어 있는 경우, 그 UUID를 서버(200)로 전송하여 제한 정보의 확인을 요청하며, 그 응답으로 해독 가능 여부를 수신한다. 그 응답이 해독 가능인 경우, 해독 프로그램은 앞서 해독한 UUID를 key로 원본파일(암호화)를 해독하여 원본 파일을 획득한다.
반면에 해독 프로그램은 해독하고자 하는 사용자 단말(100)이 온라인에 연결되어 있지 않은 경우에는 확인 코드 및 QR 코드를 생성하여 사용자 단말(100)의 화면에 표시한다(도 10의 (a) 참조). QR 코드에는 서버 URL 정보와 상기 확인 코드가 포함되어 있는데, 그 확인 코드는 암호화 파일의 UUID를 씨드(seed)로 암호화된 것이다. 다시 말해, 확인 코드를 해독하면 암호화 파일의 UUID를 획득할 수 있다. 상술한 QR 코드는, 사용자가 모바일 단말(300)을 이용해 모바일 인증을 하는 과정에서 사용된다.
또한 해독 프로그램은 사용자가 인증 코드를 입력한 경우, 확인 코드를 key로 상기 인증 코드를 해독하여 체크 코드를 추출하고, 그 체크 코드를 확인하여 상기 입력된 인증 코드가, 서버(200)에서 생성된 인증 코드와 일치하는지 여부를 판단한다.
한편 본 실시예에서 파일 식별 정보로 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)로 암호화된 것이다.
한편, 본 발명에 따른 또 다른 실시예로서, 생성된 암호화 파일의 관리 방법을 이하에서 설명하기로 한다.
도 11의 (a)를 참조하면 사용자 단말(100), 구체적으로 암호화 파일을 생성한 사용자 단말(100)은 암호화 프로그램을 실행시키고, 생성 파일 관리하기를 선택한다. 이로 인해 사용자 단말(100)은 서버(200)에 접속하게 되고 도 11의 (b)에 도시된 바와 같은 인터페이스를 호출할 수 있다.
상기 인터페이스에는 생성된 암호화 파일의 목록이 표시된다. 구체적으로 생성된 암호화 파일별로 파일명, 타입, 열기 횟수 제한 정보(사용/제한 횟수), 생성일자, 유효기간 제한 정보(제한 일자) 및 최근 사용 일자가 표시된다.
사용자(암호화 파일 생성자)는 암호화 파일의 체크 박스를 선택하여 암호화 파일별로 사용 중지, 중지 해제 또는 삭제를 실행할 수 있다.
사용 중지가 선택되면, 해당 암호화 파일은 열기 횟수 제한이나 유효기간 제한 등의 제한 정보에 관계 없이 해독되지 않는다. 즉 다른 사용자 단말(100)에서 그 암호화 파일의 해독을 시도하는 경우, 도 3의 S307 단계에서, 서버는 해독 불가능으로 판단한다.
중지 해제는 앞서 설명한 사용 중지를 해제하는 것이다.
삭제는 리스트에 표시된 암호화 파일을 삭제하는 것이다.
한편, 상술한 실시예들에서 암호화 대상 파일을 식별하는 식별 정보로서 UUID 또는 UUID_Index를 예로 들어 설명하였으나, 여기에 제한되는 것은 아니며 개발자가 정의한 포맷의 식별 코드가 식별 정보로서 활용될 수도 있고, 또는 기타 유일하게 식별될 수 있는 공용의 코드가 파일의 식별 정보로서 사용될 수 있다.
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 아니 된다. 또한, 본 명세서의 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서의 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나 적절한 부결합(Subcombination)에서 구현될 수 있다.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 아니 된다. 어떤 환경에서는, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부한 도면에 의해 한정되는 것은 아니다.
411 : 환경 설정 모듈 412 : UUID 생성 모듈
413 : 암호화 모듈 414 : 파일 생성 모듈

Claims (13)

  1. 사용자 단말에서 파일 또는 폴더에 대한 암호화 파일 생성 방법에 있어서,
    암호화할 대상인 파일 또는 폴더를 선택하는 단계;
    해독 제한 정보 및 열기 암호를 입력 받는 단계;
    상기 파일 또는 폴더를 식별하는 식별 코드를 생성하는 단계;
    상기 식별 코드 및 상기 해독 제한 정보를 서버로 전송하는 단계;
    상기 식별 코드로 상기 파일 또는 폴더를 암호화하는 단계;
    상기 열기 암호로 상기 식별 코드를 암호화하는 단계; 및
    상기 암호화된 파일 또는 폴더와, 상기 암호화된 식별 코드와, 해독 제어 프로그램을 포함하는 암호화 파일을 생성하는 단계;를 포함하는 암호화 파일 생성 방법.
  2. 제 1 항에 있어서,
    상기 서버로부터 상기 식별 코드에 대응하는 인덱스를 수신하는 단계;를 더 포함하고,
    상기 식별 코드를 암호화하는 단계는, 상기 열기 암호로 상기 식별 코드 및 인덱스를 암호화하고,
    상기 암호화 파일을 생성하는 단계는, 상기 암호화된 파일 또는 폴더와, 상기 암호화된 식별 코드 및 인덱스와, 해독 제어 프로그램을 포함하는 암호화 파일을 생성하는 것을 특징으로 하는 암호화 파일 생성 방법.
  3. 제 1 항에 있어서,
    상기 해독 제어 프로그램은,
    상기 암호화 파일 실행시 사용자로부터 입력된 열기 암호로 상기 암호화된 식별 코드를 해독하여 식별 코드를 추출하고, 그 추출된 식별 코드를 상기 서버로 전송하여 상기 제한 정보에 기초한 해독 가능 여부에 대한 응답을 수신하며, 그 수신된 응답에 기초하여 상기 추출된 식별 코드로 상기 암호화된 파일 또는 폴더를 해독하여 파일 또는 폴더를 추출하는 것을 특징으로 하는 암호화 파일 생성 방법.
  4. 제 1 항에 있어서,
    상기 해독 제어 프로그램은,
    상기 암호화 파일 실행시 사용자로부터 입력된 열기 암호로 상기 암호화된 식별 코드를 해독하여 식별 코드를 추출하고,
    사용자 단말이 인터넷 연결이 안되어 있는 경우,
    상기 식별 코드를 시드(seed)로 한 확인 코드와, 그 확인 코드 및 상기 서버의 접속 주소를 포함하는 이미지 코드를 생성하여 표시하는 것을 특징으로 하는 암호화 파일 생성 방법.
  5. 제 4 항에 있어서
    상기 이미지 코드는 QR 코드인 것을 특징으로 하는 암호화 파일 생성 방법.
  6. 제 4 항에 있어서,
    상기 해독 제어 프로그램은,
    사용자로부터 입력 받은 인증 코드를 상기 확인 코드로 검증하고 그 검증 결과에 기초하여 상기 추출된 식별 코드로 상기 암호화된 파일 또는 폴더를 해독하여 파일 또는 폴더를 추출하는 것을 특징으로 하는 암호화 파일 생성 방법.
  7. 제 1 항에 있어서,
    상기 서버에 접속하여 상기 생성 완료된 암호화 파일의 사용 중지를 설정하는 단계;를 더 포함하는 것을 특징으로 하는 암호화 파일 생성 방법.
  8. 암호화 파일의 해독 제한 정보를 저장하는 서버와 통신할 수 있는 암호화 파일을 사용자 단말에서 해독하는 방법에 있어서,
    열기 암호 입력창을 표시하여 사용자로부터 열기 암호를 입력 받는 단계;
    상기 열기 암호를 이용하여 상기 암호화 파일에서 식별 코드를 추출하는 단계;
    상기 사용자 단말의 인터넷 연결 여부를 확인하는 단계;
    인터넷 연결이 되어 있는 경우, 추출된 식별 코드를 상기 서버로 전송하고 해당 서버로부터 해독 가능 여부에 대한 응답을 수신하는 단계; 및
    상기 응답에 기초하여 상기 추출된 식별 코드를 이용하여 상기 암호화 파일에서 파일 또는 폴더를 추출하는 단계;를 포함하는 암호화 파일 해독 방법.
  9. 제 8 항에 있어서,
    인터넷 연결이 안 되어 있는 경우,
    상기 식별 코드를 시드(seed)로 한 확인 코드와, 그 확인 코드 및 상기 서버의 접속 주소를 포함하는 이미지 코드를 생성하여 표시하는 단계; 및
    사용자로부터 입력 받은 인증 코드를 검증하고 그 검증 결과에 기초하여 상기 추출된 식별 코드로 상기 암호화된 파일 또는 폴더를 해독하여 파일 또는 폴더를 추출하는 단계;를 더 포함하는 것을 특징으로 하는 암호화 파일 해독 방법.
  10. 제 9 항에 있어
    상기 이미지 코드는 QR 코드인 것을 특징으로 하는 암호화 파일 해독 방법.
  11. 제 9 항에 있어서,
    상기 인증 코드는,
    모바일 단말이 상기 이미지 코드를 스캔하여 획득한 것인, 암호화 파일 해독 방법.
  12. 제 8 항에 있어서,
    상기 해독 가능 여부에 대한 응답은,
    열기 횟수, 유효 기간 또는 암호화 파일의 생성자에 의한 사용 중지 여부에 관한 정보를 포함하는 것을 특징으로 하는 암호화 파일 해독 방법.
  13. 제 1 내지 제 12 항 중 어느 하나의 항에 따른 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체.
KR1020120058844A 2012-05-31 2012-05-31 암호화 파일의 생성 방법 및 해독 방법과 이 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체 KR101346284B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120058844A KR101346284B1 (ko) 2012-05-31 2012-05-31 암호화 파일의 생성 방법 및 해독 방법과 이 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120058844A KR101346284B1 (ko) 2012-05-31 2012-05-31 암호화 파일의 생성 방법 및 해독 방법과 이 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체

Publications (2)

Publication Number Publication Date
KR20130134932A true KR20130134932A (ko) 2013-12-10
KR101346284B1 KR101346284B1 (ko) 2013-12-31

Family

ID=49982476

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120058844A KR101346284B1 (ko) 2012-05-31 2012-05-31 암호화 파일의 생성 방법 및 해독 방법과 이 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체

Country Status (1)

Country Link
KR (1) KR101346284B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112016089A (zh) * 2020-08-14 2020-12-01 杭州银核存储区块链有限公司 一种计算机终端保密检查方法和装置
KR20210009782A (ko) * 2019-07-18 2021-01-27 국방과학연구소 순방향 안정성을 갖는 탐색 가능한 암호화 시스템과 그 장치 및 방법
CN116896444A (zh) * 2023-09-11 2023-10-17 武汉吧哒科技股份有限公司 文件包管理方法和装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102420158B1 (ko) * 2017-12-27 2022-07-13 삼성전자주식회사 파일 단위의 암호화 키에 기반하여 암호화를 수행하도록 구성되는 스토리지 장치, 스토리지 시스템, 및 그 동작 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002087146A1 (fr) * 2001-04-18 2002-10-31 Pumpkin House Incorporated Systeme de chiffrement et procede de commande dudit systeme
JP5059388B2 (ja) * 2006-11-29 2012-10-24 システムニーズ株式会社 暗号方法及び復号方法
ES2381293B1 (es) * 2009-04-20 2012-11-07 Alter Core, S.L. Sistema y método de acreditación personal mediante dispositivo móvil.

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210009782A (ko) * 2019-07-18 2021-01-27 국방과학연구소 순방향 안정성을 갖는 탐색 가능한 암호화 시스템과 그 장치 및 방법
CN112016089A (zh) * 2020-08-14 2020-12-01 杭州银核存储区块链有限公司 一种计算机终端保密检查方法和装置
CN116896444A (zh) * 2023-09-11 2023-10-17 武汉吧哒科技股份有限公司 文件包管理方法和装置
CN116896444B (zh) * 2023-09-11 2023-12-15 武汉吧哒科技股份有限公司 文件包管理方法和装置

Also Published As

Publication number Publication date
KR101346284B1 (ko) 2013-12-31

Similar Documents

Publication Publication Date Title
US8918633B2 (en) Information processing device, information processing system, and program
US11706033B2 (en) Secure distributed information system
CN109150499B (zh) 动态加密数据的方法、装置、计算机设备和存储介质
JP4597784B2 (ja) データ処理装置
US20080270796A1 (en) System and method for providing program information, and recording medium used therefor
CN1889419B (zh) 一种实现加密的方法及装置
US9769654B2 (en) Method of implementing a right over a content
CN111897786B (zh) 日志读取方法、装置、计算机设备和存储介质
EP2798777A1 (en) Method and system for distributed off-line logon using one-time passwords
CN106997439A (zh) 基于TrustZone的数据加解密方法、装置及终端设备
US10019913B2 (en) Information encryption system and information encryption method using optical character recognition
US20140359746A1 (en) Authentication system, authentication server, authentication method, and authentication program
JP4998518B2 (ja) 情報処理装置、情報処理システム及びプログラム
CN1910531B (zh) 数据资源的密钥控制使用的方法和系统以及相关网络
CN105101183A (zh) 对移动终端上隐私内容进行保护的方法和系统
CN115277143B (zh) 一种数据安全传输方法、装置、设备及存储介质
CN106992851A (zh) 基于TrustZone的数据库文件口令加解密方法、装置及终端设备
CN108463970A (zh) 保护和检索秘密信息的方法和系统
KR101346284B1 (ko) 암호화 파일의 생성 방법 및 해독 방법과 이 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
JP2009135890A (ja) 暗号化装置、復号装置及び暗号システム
CN111475832A (zh) 一种数据管理的方法以及相关装置
CN116662941A (zh) 信息加密方法、装置、计算机设备和存储介质
KR101379711B1 (ko) 전화번호를 이용한 파일 암호화 및 복호화 방법
KR102328057B1 (ko) 단말 정보에 기반하여 문서 파일의 암호화가 수행되도록 지원하는 문서 보안 서비스 서버 및 그 동작 방법
KR101485968B1 (ko) 암호화된 파일 접근 방법

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