KR101319751B1 - 아이디 기반 암호화 및 서명 장치 및 방법 - Google Patents

아이디 기반 암호화 및 서명 장치 및 방법 Download PDF

Info

Publication number
KR101319751B1
KR101319751B1 KR1020110112459A KR20110112459A KR101319751B1 KR 101319751 B1 KR101319751 B1 KR 101319751B1 KR 1020110112459 A KR1020110112459 A KR 1020110112459A KR 20110112459 A KR20110112459 A KR 20110112459A KR 101319751 B1 KR101319751 B1 KR 101319751B1
Authority
KR
South Korea
Prior art keywords
file
signature
encrypted
extension
encryption
Prior art date
Application number
KR1020110112459A
Other languages
English (en)
Other versions
KR20130047435A (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 KR1020110112459A priority Critical patent/KR101319751B1/ko
Priority to PCT/KR2012/004328 priority patent/WO2012165889A2/ko
Priority to CN201280027000.XA priority patent/CN103650410A/zh
Priority to US14/122,935 priority patent/US9219714B2/en
Publication of KR20130047435A publication Critical patent/KR20130047435A/ko
Application granted granted Critical
Publication of KR101319751B1 publication Critical patent/KR101319751B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

아이디 기반 암호화 및 서명 장치 및 방법이 제공된다. 아이디 기반 암호화 및 서명 장치의 암호화부는 제1파일을 수신할 수신자의 ID(identification)가 입력되면, 수신자의 ID를 공개키로서 이용하여 상기 제1파일을 암호화하고, 파일 생성부는 수신자의 ID를 암호화된 제1파일의 파일명 중 일부로 설정하고, 제1파일이 암호화되었음을 나타내는 암호화용 확장자를 제1파일의 확장자로 하여 암호화 파일을 생성한다.

Description

아이디 기반 암호화 및 서명 장치 및 방법{IBE and Digital Signature Apparatus and Method}
본 발명은 아이디 기반 암호화 및 서명 장치 및 방법에 관한 것으로, 보다 상세하게는 암호화된 파일과 서명이 첨부된 파일을 구분할 수 있는 아이디 기반 암호화 및 서명 장치 및 방법에 관한 것이다.
비밀키 기반 암호체계는 파일을 암호화하여 전송하는 경우, 송신자와 수신자가 동일한 대칭키를 가지고 있다는 전제 하에 파일을 암호화한다. 다수의 상대방에게 암호화된 파일을 전송하는 경우, 송신자는 각각의 상대방에 해당하는 대칭키를 모두 가지고 있어야 한다. 그러나, 대부분의 데이터가 온라인을 통해 공유되고 그 수가 천문학적인 크기에 달하는 환경에서, 파일을 암호화하여 공유하기 위해 모든 사람들 혹은 모든 디바이스가 각각 서로 동일한 대칭키를 생성, 공유, 저장, 관리하기는 현실적으로 불가능하다. 이로써, 기존의 비밀키 암호체계는 기하급수적으로 늘어나는 사용자 및 키 관리에 있어서 원천적인 어려움이 존재한다.
한편, 공개키 기반구조(PKI: Public Key Infrastructure) 암호체계는 비대칭 키를 사용하며, 공개키와 비밀키의 쌍을 이용하는 구조이다. PKI 암호체계는 비밀키를 설정하고 비밀키로부터 공개키를 계산하는 방식으로 동작하므로, 암호화된 파일을 수신한 수신측은 공개키만으로는 파일이 암호화된 파일인지 또는 서명이 첨부된 파일인지를 명확히 알 수가 없다. 따라서, 공인인증서와 같은 사용자 정보와 공개키 사이의 연관성을 공인된 인증 기관에서 확인해 줘야 하며, 이를 위해 인증서를 발급하여 공개키와 실제 사용자와의 연관성을 보장하고 있다. 즉, PKI 암호체계는 온라인으로 공인인증서를 발급하고 검증하는 인증기관, 공개키에 관한 정보를 포함하고 있는 공인인증서, 공개키를 가진 공인인증서가 보관되는 하나 이상의 디렉토리 및 공인인증서 관리 시스템 등을 필요로 한다.
본 발명적 개념의 예시적 실시예에 따르면, 송신자의 ID 또는 수신자의 ID를 이용하여 파일을 암호화하거나 서명하는 경우, 수신자가 암호화된 파일과 서명이 첨부된 파일을 구분할 수 있도록 전용 확장자를 사용하는 아이디 기반 암호화 및 서명 장치 및 방법을 제공함을 목적으로 한다.
또한, 본 발명적 개념의 예시적 실시예에 따르면, 파일의 암호화 또는 서명 첨부에 사용된 ID와 원본파일의 이름을 구분할 수 있는 구분자를 사용할 수 있는 아이디 기반 암호화 및 서명 장치 및 방법을 제공함을 목적으로 한다.
본 발명적 개념의 다른 예시적 실시 예에 따르면, 제1파일을 수신할 수신자의 ID(identification)가 입력되면, 상기 수신자의 ID를 공개키로서 이용하여 상기 제1파일을 암호화하는 암호화부; 및 상기 수신자의 ID를 상기 암호화된 제1파일의 파일명 중 일부로 설정하고, 상기 제1파일이 암호화되었음을 나타내는 암호화용 확장자를 상기 제1파일의 확장자로 하여 암호화 파일을 생성하는 파일 생성부;를 포함하는 아이디 기반 암호화 및 서명 장치가 제공될 수 있다.
상기 파일 생성부는, 상기 제1파일의 원본파일명, 상기 제1파일의 원본확장자, 구분자 및 상기 수신자의 ID를 상기 암호화 파일의 파일명으로 설정하며, 상기 구분자는 상기 제1파일의 원본파일명과 상기 암호화에 사용된 수신자의 ID를 구분하기 위해 사용될 수 있다.
상기 암호화 파일을 수신한 수신측 단말기는, 상기 암호화 파일의 암호화용 확장자와 상기 수신자의 ID를 확인하고, 상기 확인된 암호화용 확장자로부터 상기 암호화 파일이 암호화되었음을 판단하고, 상기 확인된 수신자의 ID와 쌍을 이루는 비밀키를 이용하여 상기 암호화 파일을 복호화할 수 있다.
상기 수신측 단말기의 운영체제는, 파일 시스템의 디렉토리 엔트리로부터 상기 암호화 파일의 암호화용 확장자를 확인하고, 상기 확인된 암호화용 확장자에 대해 지정된 연결 프로그램을 실행하여 상기 암호화 파일을 복호화할 수 있다.
상기 암호화 파일을 웹 환경을 통해 상기 수신자에게 전송하는 경우, 상기 암호화 파일이 암호화되었음을 식별하기 위한 정보를 포함하는 MIME(Multipurpose Internet Message Extensions) 헤더를 생성하는 MIME 헤더 생성부;를 더 포함하며, 상기 암호화 파일과 상기 MIME 헤더는 상기 웹 환경을 통해 상기 수신자에게 전송될 수 있다.
상기 MIME 헤더 생성부는, 상기 암호화용 확장자를 상기 암호화 파일이 암호화되었음을 식별하기 위한 정보로서 사용할 수 있다.
상기 암호화 파일을 수신한 수신측 단말기는, 상기 MIME 헤더를 파싱하여 상기 MIME 헤더에 포함된 정보를 확인하고, 상기 확인된 정보에 대해 지정된 연결 프로그램을 실행하는 헤더 확인부;를 포함하며, 상기 헤더 확인부에 의해 실행되는 연결 프로그램은 상기 수신된 암호화 파일을 복호화할 수 있다.
제2파일을 송신할 송신자의 비밀키를 사용하여 전자서명을 생성하여 상기 제2파일에 첨부하는 전자서명부;를 더 포함하며, 상기 파일 생성부는, 상기 송신자의 ID를 상기 전자서명이 첨부된 제2파일의 파일명 중 일부로 설정하고, 상기 제2파일이 서명되었음을 나타내는 서명용 확장자를 상기 제2파일의 확장자로 하여 서명 파일을 생성하며, 상기 송신자의 ID는 상기 전자서명의 생성에 사용된 상기 송신자의 비밀키와 쌍을 이룰 수 있다.
상기 파일 생성부는, 상기 제2파일의 원본파일명, 상기 제2파일의 원본확장자, 상기 구분자 및 상기 송신자의 ID를 상기 서명 파일의 파일명으로 설정하며, 상기 구분자는 상기 제2파일의 원본파일명과 상기 전자서명에 사용된 송신자의 ID를 구분하기 위해 사용될 수 있다.
상기 서명 파일을 수신한 수신측 단말기는, 상기 서명 파일의 확장자로 사용된 상기 서명용 확장자와 상기 송신자의 ID를 확인하고, 상기 확인된 서명용 확장자로부터 상기 서명 파일에 서명이 첨부되었음을 판단하고, 상기 확인된 송신자의 ID를 이용하여 상기 전자서명의 유효성을 검증할 수 있다.
상기 수신측 단말기는, 상기 확인된 서명용 확장자에 대해 지정된 연결 프로그램을 실행하여 상기 서명 파일의 서명을 검증할 수 있다.
상기 서명 파일을 웹 환경을 통해 상기 수신자에게 전송하는 경우, 상기 서명 파일이 서명되었음을 식별하기 위한 정보를 포함하는 MIME(Multipurpose Internet Message Extensions) 헤더를 생성하는 MIME 헤더 생성부;를 더 포함하며, 상기 서명 파일과 상기 MIME 헤더는 상기 웹 환경을 통해 상기 수신자에게 전송될 수 있다.
상기 MIME 헤더 생성부는, 상기 서명용 확장자를 상기 서명 파일이 서명되었음을 식별하기 위한 정보로서 사용할 수 있다.
상기 서명 파일을 수신한 수신측 단말기는, 상기 MIME 헤더를 파싱하여 상기 MIME 헤더에 포함된 정보를 확인하고, 상기 확인된 정보에 대해 지정된 연결 프로그램을 실행하는 헤더 확인부;를 포함하며, 상기 헤더 확인부에 의해 실행되는 연결 프로그램은 상기 서명 파일의 서명을 검증할 수 있다.
상기 ID가 순차적으로 복수 개 입력되면, 상기 암호화부는 상기 복수 개의 ID를 순차적으로 이용하여 상기 제1파일을 계층적으로 암호화하고, 상기 파일 생성부는 상기 복수 개의 ID를 상기 암호화된 제1파일의 파일명 중 일부로 설정할 수 있다.
상기 순차적으로 입력되는 복수 개의 ID는 상기 수신자가 속한 그룹들 중 그룹의 ID와 상기 수신자의 개인 ID를 포함하며, 상기 암호화부는 상기 수신자의 개인 ID를 먼저 이용하여 상기 제1파일을 1차 암호화한 후 상기 그룹의 ID를 이용하여 상기 제1파일을 2차 암호화할 수 있다.
한편, 본 발명적 개념의 다른 예시적 실시 예에 따르면, 제1파일을 수신할 수신자의 ID(identification)가 입력되면, 상기 수신자의 ID를 공개키로서 이용하여 상기 제1파일을 암호화하는 단계; 및 상기 수신자의 ID를 상기 암호화된 제1파일의 파일명 중 일부로 설정하고, 상기 제1파일이 암호화되었음을 나타내는 암호화용 확장자를 상기 제1파일의 확장자로 하여 암호화 파일을 생성하는 단계;를 포함하는 아이디 기반 암호화 및 서명 방법이 제공될 수 있다.
상기 암호화 파일을 생성하는 단계는, 상기 제1파일의 원본파일명, 상기 제1파일의 원본확장자, 구분자 및 상기 수신자의 ID를 상기 암호화 파일의 파일명으로 설정하며, 상기 구분자는 상기 제1파일의 원본파일명과 상기 암호화에 사용된 수신자의 ID를 구분하기 위해 사용될 수 있다.
상기 암호화 파일을 웹 환경을 통해 상기 수신자에게 전송하는 경우, 상기 암호화 파일이 암호화되었음을 식별하기 위한 정보를 포함하는 MIME(Multipurpose Internet Message Extensions) 헤더를 생성하는 단계; 및 상기 암호화 파일과 상기 MIME 헤더는 상기 웹 환경을 통해 상기 수신자에게 전송하는 단계;를 더 포함할 수 있다.
상기 MIME 헤더를 생성하는 단계는, 상기 암호화용 확장자를 상기 암호화 파일이 암호화되었음을 식별하기 위한 정보로서 사용할 수 있다.
상기 암호화 파일을 수신한 수신측 단말기는, 상기 MIME 헤더를 파싱하여 상기 MIME 헤더에 포함된 정보에 지정된 연결 프로그램을 실행하고, 상기 실행되는 연결 프로그램을 이용하여 상기 수신된 암호화 파일을 복호화할 수 있다.
제2파일을 송신할 송신자의 비밀키를 사용하여 전자서명을 생성하여 상기 제2파일에 첨부하는 단계; 및 상기 송신자의 ID를 상기 전자서명이 첨부된 제2파일의 파일명 중 일부로 설정하고, 상기 제2파일이 서명되었음을 나타내는 서명용 확장자를 상기 제2파일의 확장자로 하여 서명 파일을 생성하는 단계;를 더 포함하며, 상기 송신자의 ID는 상기 전자서명의 생성에 사용된 상기 송신자의 비밀키와 쌍을 이룰 수 있다.
상기 서명 파일을 생성하는 단계는, 상기 제2파일의 원본파일명, 상기 제2파일의 원본확장자, 상기 구분자 및 상기 송신자의 ID를 상기 서명 파일의 파일명으로 설정하며, 상기 구분자는 상기 제2파일의 원본파일명과 상기 전자서명에 사용된 송신자의 ID를 구분하기 위해 사용될 수 있다.
상기 서명 파일을 웹 환경을 통해 상기 수신자에게 전송하는 경우, 상기 서명 파일이 서명되었음을 식별하기 위한 정보를 포함하는 MIME(Multipurpose Internet Message Extensions) 헤더를 생성하는 단계;를 더 포함하며, 상기 서명 파일과 상기 MIME 헤더는 상기 웹 환경을 통해 상기 수신자에게 전송될 수 있다.
본 발명적 개념의 하나 이상의 예시적 실시 예에 따르면, ID 기반 암호화에 사용되는 ID를 파일명으로 사용하고, 암호화 또는 서명을 나타내는 전용 확장자를 사용함으로써, 사용자로 하여금 육안으로도 보안이 적용된 파일임을 인식할 수 있게 하고, 확장자에 대해 연결 프로그램의 지정이 가능하므로 사용자가 파일을 복호화하거나 검증할 때 지정된 연결 프로그램을 통해 손쉽게 이용할 수 있다.
또한, 본 발명적 개념의 하나 이상의 예시적 실시 예에 따르면, 파일명으로 사용된 ID와 전용 확장자를 구분하는 구분자를 사용함으로써, 파일명으로 사용된 ID를 정확하게 구분할 수 있다.
또한, 본 발명적 개념의 하나 이상의 예시적 실시 예에 따르면, 기존의 PKI에서 키 관리를 목적으로 사용하는 공인인증서, 공인인증서를 인증하는 인증기관 등을 사용하지 않고, 최초 비밀키를 발급받을 때를 제외하고는 비밀키를 발급받은 이후에는 오프라인에서도 파일을 암호화/복호화하거나 전자서명 첨부/검증할 수 있다.
도 1은 본 발명적 개념의 예시적 실시 예에 따른 아이디(ID) 기반 암호화 및 서명 시스템을 도시한 도면,
도 2는 본 발명적 개념의 예시적 실시예에 따른 ID 기반 암호화 및 서명 장치를 포함하는 제1단말기와 제2단말기를 도시한 블록도,
도 3a는 제1ID 기반 처리 모듈이 한 개의 ID를 이용하여 생성한 암호화 파일의 포맷과 서명 파일의 포맷을 보여주는 도면,
도 3b는 제1ID 기반 처리 모듈이 복수 개의 ID들을 이용하여 생성한 계층적 암호화 파일의 포맷과 계층적 서명 파일의 포맷을 보여주는 도면,
도 4는 제1사용자와 제2사용자가 속한 그룹들과 각 그룹의 ID를 이용하여 생성된 암호화 파일과 서명 파일이 전송되는 일련의 과정을 보여주는 모식도,
도 5는 파일 시스템 별 파일 이름의 길이 제한수를 보여주는 도면,
도 6은 도 2에 도시된 제1ID 기반 처리 모듈과 제2ID 기반 처리 모듈의 블록도,
도 7은 제1암호화부가 제2사용자의 3개의 ID를 이용하여 제1파일을 암호화하여 암호화 파일을 생성하고, 제2복호화부가 암호화 파일을 복호화하는 일 예를 설명하기 위한 도면,
도 8은 제1전자서명부가 제1사용자의 3개의 ID를 이용하여 제2파일에 전자서명을 첨부하고, 제2검증부가 제2파일에 첨부된 전자서명의 유효성을 검증하는 일 예를 설명하기 위한 도면,
도 9는 본 발명적 개념의 다른 예시적 실시예에 따른 ID 기반 암호화 및 서명 장치를 포함하는 제3단말기와 제4단말기를 도시한 블록도,
도 10은 본 발명적 개념의 예시적 실시예에 따른 암호화된 메시지 전송 시 생성되는 MIME 헤더의 일 예를 보여주는 도면,
도 11은 전자서명이 첨부된 서명 파일과 함께 제4단말기로 전송되는 메시지의 일부와, 암호화와 전자서명이 모두 적용된 파일과 함께 제4단말기로 전송되는 메시지의 일부의 일 예를 보여주는 도면,
도 12는 단말기의 운영체제가 로컬 파일 시스템을 이용하여 ID 기반 처리 모듈을 실행시키는 응용의 예를 보여주는 도면,
도 13은 이메일에 첨부된 파일을 수신한 경우 MIME을 이용하여 ID 기반 처리 모듈을 실행시키는 응용의 예를 보여주는 도면,
도 14는 웹페이지의 파일을 열기 위하여, MIME을 이용하여 ID 기반 처리 모듈을 실행시키는 응용의 예를 보여주는 도면,
도 15는 메신저를 통해 파일을 수신한 경우 MIME을 이용하여 ID 기반 처리 모듈을 실행시키는 응용의 제1예를 보여주는 도면,
도 16은 메신저를 통해 파일을 수신한 경우 MIME을 이용하여 ID 기반 처리 모듈을 실행시키는 응용의 제2예를 보여주는 도면,
도 17은 메신저를 통해 파일을 수신한 경우 MIME을 이용하여 ID 기반 처리 모듈을 실행시키는 응용의 제3예를 보여주는 도면
도 18은 파일 등의 데이터를 DB에 저장하고 이들 데이터를 활용함에 있어 ID 기반 처리 모듈을 이용하는 방법을 설명하기 위한 도면,
도 19는 계층적 키 사용을 응용하여 ID 기반 처리 모듈로 서명된 파일을 브로드캐스트 (공고)하는 방법을 설명하기 위한 도면,
도 20은 본 발명적 개념의 예시적 실시예에 따른 비밀키 발급 방법을 설명하기 위한 흐름도,
도 21은 본 발명적 개념의 예시적 실시예에 따른 ID 기반 암호화 및 복호화 방법을 설명하기 위한 흐름도,
도 22는 본 발명적 개념의 예시적 실시예에 따른 ID 기반 전자서명 및 검증 방법을 설명하기 위한 흐름도,
도 23은 본 발명적 개념의 예시적 다른 실시예에 따른 ID 기반 암호화 및 복호화 방법을 설명하기 위한 흐름도, 그리고,
도 24는 본 발명적 개념의 예시적 다른 실시예에 따른 ID 기반 전자서명 및 검증 방법을 설명하기 위한 흐름도이다.
이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.
본 명세서에서, 어떤 구성요소가 다른 구성요소 상에 있다고 언급되는 경우에 그것은 다른 구성요소 상에 직접 형성될 수 있거나 또는 그들 사이에 제 3의 구성요소가 개재될 수도 있다는 것을 의미한다.
본 명세서에서 제1, 제2 등의 용어가 구성요소들을 기술하기 위해서 사용된 경우, 이들 구성요소들이 이 같은 용어들에 의해서 한정되어서는 안 된다. 이들 용어들은 단지 어느 구성요소를 다른 구성요소와 구별시키기 위해서 사용되었을 뿐이다. 여기에 설명되고 예시되는 실시예들은 그것의 상보적인 실시예들도 포함한다.
또한, 제1 엘리먼트 (또는 구성요소)가 제2 엘리먼트(또는 구성요소) 상(ON)에서 동작 또는 실행된다고 언급될 때, 제1 엘리먼트(또는 구성요소)는 제2 엘리먼트(또는 구성요소)가 동작 또는 실행되는 환경에서 동작 또는 실행되거나 또는 제2 엘리먼트(또는 구성요소)와 직접 또는 간접적으로 상호 작용을 통해서 동작 또는 실행되는 것으로 이해되어야 할 것이다.
어떤 엘리먼트, 구성요소, 장치, 또는 시스템이 프로그램 또는 소프트웨어로 이루어진 구성요소를 포함한다고 언급되는 경우, 명시적인 언급이 없더라도, 그 엘리먼트, 구성요소, 장치, 또는 시스템은 그 프로그램 또는 소프트웨어가 실행 또는 동작하는데 필요한 하드웨어(예를 들면, 메모리, CPU 등)나 다른 프로그램 또는 소프트웨어(예를 들면 운영체제나 하드웨어를 구동하는데 필요한 드라이버 등)를 포함하는 것으로 이해되어야 할 것이다.
또한 어떤 엘리먼트(또는 구성요소)가 구현됨에 있어서 특별한 언급이 없다면, 그 엘리먼트(또는 구성요소)는 소프트웨어, 하드웨어, 또는 소프트웨어 및 하드웨어 어떤 형태로도 구현될 수 있는 것으로 이해되어야 할 것이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprises)' 및/또는 '포함하는(comprising)'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하, 도면을 참조하여 본 발명적 개념을 상세히 설명하도록 한다. 아래의 특정 실시예들을 기술하는데 있어서, 여러 가지의 특정적인 내용들은 발명적 개념을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명적 개념을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용들이 없어도 사용될 수 있다는 것을 인지할 수 있다. 어떤 경우에는, 발명적 개념을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명적 개념을 설명하는 데 있어 별 이유 없이 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다.
도 1은 본 발명적 개념의 예시적 실시 예에 따른 아이디(ID) 기반 암호화 및 서명 시스템을 도시한 도면이다.
도 1을 참조하면, ID 기반 암호화 및 서명 시스템은 비밀키 발급 서버(10), 제1단말기(100) 및 제2단말기(200)를 포함한다.
제1단말기(100) 및 제2단말기(200)에는 본 실시예에서 제공하는 ID 기반 처리 모듈이 설치되어 있다. ID 기반 처리 모듈은 비밀키 발급 서버(10)에게 비밀키의 발급을 요청하고, 파일을 암호화하거나 복호화하고, 파일에 전자서명을 첨부하거나 전자서명의 검증을 수행하는 전용 프로그램으로 구현될 수 있다.
비밀키 발급의 경우, 제1단말기(100)의 사용자는 ID 기반 처리 모듈에서 제공하는 화면을 통해 비밀키 발급 서버(10)에 접속하여 사용자의 ID(예를 들어, 'alice')와 쌍을 이루는 비밀키를 비밀키 발급 서버(10)로부터 수신할 수 있다. 또한, 제2단말기(200)의 사용자도 사용자의 ID(예를 들어, 'bob') 와 쌍을 이루는 비밀키를 비밀키 발급 서버(10)로부터 수신할 수 있다.
사용자의 ID는 사용자의 의사에 따라 만들어지거나 관리자가 직접 지정할 수 있다. 예를 들어, 비밀키 발급 서버(10), 제1단말기(100)가 사내에 설치되어 있고, 제1단말기(100)의 사용자가 회사원인 경우, 관리자는 사용자의 사번, 이메일 또는 전화번호 등을 이용한 개인 ID, 사용자가 속한 부서, 직책 등을 이용한 그룹 ID 등 사용자가 속해 있는 환경에 따라 1개 이상의 ID를 사용자에게 지정할 수도 있다. 따라서, 본 발명의 예시적 일 실시예에 따르면, 암호기술에 필요한 사용자의 ID를 결정할 때 공인 인증기관을 사용하는 기존과 달리, 이미 ID 자체에서 유일성이 보증된 사용자의 ID를 사용할 수 있다. 이러한 사용자의 ID는 사용자가 속한 그룹들에 할당된 그룹 ID들 및 사용자에게만 할당되는 개인 ID 중 적어도 하나를 포함할 수 있다.
ID 기반 처리 모듈에 의한 상기 동작들은 제1단말기(100)와 제2단말기(200)에서 동일하게 동작되므로, 이하에서는 제1단말기(100)를 예로 들어 설명한다.
본 발명적 개념의 예시적 실시예에 따른 비밀키 발급 서버(10)는 사용자의 ID와 쌍을 이루는 비밀키를 발급할 수 있다. 사용자의 ID는 제1단말기(100) 또는 제2단말기(200)로부터 사용자에 의해 입력되거나, 비밀키 발급 서버(10)를 관리하는 관리자(administrator)가 사용자 입력부(12)를 통해 입력할 수 있다.
이러한 비밀키 발급 서버(10)는 서버 통신부(11), 사용자 입력부(12), 비밀키 발생부(13), 서버 저장부(14) 및 서버 제어부(15)를 포함한다.
서버 통신부(11)는 제1단말기(100)와 유선 또는 무선 통신방식을 통해 통신한다. 서버 통신부(11)는 제1단말기(100)로부터 사용자에 의해 입력되는 사용자의 ID를 수신하고, 사용자의 ID와 쌍을 이루는 비밀키를 제1단말기(100)로 전송한다.
사용자 입력부(12)는 관리자로부터 사용자의 ID와 제1단말기(100)의 주소를 입력받고, 입력된 ID에 해당하는 비밀키 발급 요청을 입력받을 수 있다. 사용자 입력부(12)는 선택적으로 구비될 수 있다. 제1단말기(100)의 주소는 IP(Internet Protocol) 어드레스 또는 MAC(Media Access Control) 어드레스일 수 있다.
비밀키 발생부(13)는 서버 통신부(11)를 통해 제1단말기(100)로부터 사용자의 ID가 입력되거나, 사용자 입력부(12)를 통해 관리자로부터 사용자의 ID가 입력되면, 입력된 ID와 쌍을 이루는 비밀키를 발생한다. 비밀키 발생부(13)는 하나의 사용자에 대해 복수 개의 ID가 입력되면, 복수 개의 ID 별로 각각의 비밀키를 발생할 수 있다.
비밀키 발생부(13)는 ID 기반 암호화(IBE: Identity Based Encryption) 기법에서 사용하는 알고리즘을 이용하여 사용자의 ID와 쌍을 이루는 비밀키를 발생할 수 있다. IBE 기법은 사용자의 ID를 공개키 기반 구조(PKI: Public Key Infrastructure)의 공개키처럼 사용하여 파일을 암호화하거나 파일에 전자서명을 첨부하며, ID와 쌍을 이루는 비밀키를 사용하여 파일을 복호화하거나 파일에 첨부된 전자서명을 검증하는데 사용될 수 있다. IBE 기법에 사용되는 ID는 사용자가 쉽게 직관적으로 식별할 수 있으므로 사용자에 의한 직접적인 관리가 가능하고, 공개키 기반의 암호화 방식에서 사용하는 PKI 인프라(예를 들어, 공인인증서, 인증기관)를 필요로 하지 않는다.
서버 저장부(14)는 비밀키 발생부(13)에서 발생한 비밀키를 비밀키와 쌍을 이루는 사용자의 ID와 매핑하여 저장할 수 있다. 서버 저장부(14)는 비밀키와 사용자의 ID를 제1단말기(100)의 주소와 더 매핑하여 저장할 수 있다.
서버 제어부(15)는 서버 통신부(11) 또는 사용자 입력부(12)를 통해 입력되는 사용자의 적어도 하나의 ID에 대해 비밀키를 발생하도록 비밀키 발생부(13)를 제어할 수 있다. 서버 제어부(15)는 비밀키 발생부(13)에서 발생된 비밀키를 제1단말기(100)에게 전송하도록 서버 통신부(11)를 제어한다. 사용자의 ID가 관리자에 의해 입력된 경우, 서버 제어부(15)는 관리자가 입력한 단말기의 주소를 이용하여 비밀키를 제1단말기(100)에게 전송하도록 서버 통신부(11)를 제어한다.
또한, 서버 제어부(15)는 비밀키가 발생된 사용자들의 ID를 로컬 서버(1)에게 전송할 수 있다.
한편, 본 발명적 개념의 예시적 실시예가 사내 시스템에 적용되는 경우, 사내 시스템을 관리하는 시스템 관리 서버(예를 들어, 도 2의 로컬 서버(1))는 사내 임직원들의 ID와 ID와 쌍을 이루는 비밀키를 저장할 수 있다. 시스템 관리 서버(미도시)는 사용자로부터 어느 직원의 ID 제공 요청이 있으면 사용자에게 해당 직원의 ID(즉, 공개키)를 제공하거나, 사용자가 속한 그룹의 구성원들이 공통으로 사용하는 ID 또는 각각의 유니크한 ID를 제공할 수 있디. 그룹이 회사 전체를 의미하면, 구성원들은 회사 내 전직원일 수 있다. 이를 위해, 시스템 관리 서버(미도시)는 임직원들이 사용하는 단말기의 IP 주소와 같은 정보를 미리 알고 있어야 한다.
도 2는 본 발명적 개념의 예시적 실시예에 따른 ID 기반 암호화 및 서명 장치를 포함하는 제1단말기(100)와 제2단말기(200)를 도시한 블록도이다.
제1단말기(100)와 제2단말기(200)는 로컬 네트워크를 통해 통신가능하다. 로컬 서버(1)는 제1단말기(100)와 제2단말기(200)가 공유하는 서버로서, 예를 들어, 제1단말기(100)에서 생성된 암호화 파일 또는 서명 파일이 로컬 서버(1)에 저장되면, 제2단말기(200)의 사용자는 로컬 서버(1)에 접속하여 암호화 파일 또는 서명 파일을 수신할 수 있다. 이하에서는 제1단말기(100)가 로컬 서버(1)에 암호화 파일 또는 서명 파일을 저장하고, 제2단말기(200)가 로컬 서버(1)를 통해 암호화 파일 또는 서버 파일을 수신하는 일련의 과정을 포함할 수 있으나, 이에 대한 반복적인 설명은 편의를 위해 생략한다.
도 2를 참조하면, 제1단말기(100)는 제1사용자 입력부(110), 제1표시부(120), 제1통신부(130), 제1저장부(140), 제1ID 기반 처리 모듈(150) 및 제1제어부(160)를 포함할 수 있다. 제1단말기(100)의 사용자는 '제1사용자', 제2단말기(200)의 사용자는 '제2사용자', 제1단말기(100)에서 제2단말기(200)로 암호화하여 전송할 파일은 '제1파일', 전자서명을 첨부하여 전송할 파일은 '제2파일'이라 한다. 또한, 제2단말기(200)로부터 제1단말기(100)로 암호화하여 전송할 파일은 '제3파일', 전자서명을 첨부하여 전송할 파일은 '제4파일'이라 한다.
제1사용자 입력부(110)는 제1단말기(100)와 제1사용자 간의 인터페이싱을 제공하며, 키보드, 터치패널, 또는, 마우스를 예로 들 수 있다.
제1표시부(120)는 제1단말기(100)에서 일어나는 동작 또는 상태와 관련된 화면, 제1ID 기반 처리 모듈(150)에서 생성되는 다양한 화면을 사용자에게 표시한다.
제1통신부(130)는 유선 통신망 또는 무선 통신망을 통해 비밀키 발급 서버(10) 또는 제2단말기(200)와 통신한다. 제1통신부(130)는 비밀키 발급 서버(10)에게 제1사용자의 ID를 전송하면서 비밀키 발급을 요청하고, 비밀키 발급 서버(10)로부터 제1사용자의 ID와 쌍을 이루는 비밀키를 발급받을 수 있다. 또한, 제1통신부(130)는 시스템 관리 서버로부터 사용자가 속한 그룹에 속한 구성원들 또는 외부 사용자들의 ID를 수신할 수 있다. 외부 사용자들은 소셜 네트워크와 같이 사용자와 연관이 있는 사용자일 수도 있다.
제1저장부(140)는 제1사용자의 개인 ID를 개인 ID와 쌍을 이루는 비밀키에 매핑저장하고, 제1사용자가 속한 그룹의 ID를 그룹의 ID와 쌍을 이루는 비밀키에 매핑저장할 수 있다. 또한, 제1저장부(140)는 제1사용자와 파일 또는 메일을 송수신할 외부 사용자들의 ID를 저장할 수 있다.
ID 기반 암호화 및 서명 장치로 적용된 제1ID 기반 처리 모듈(150)이 제1단말기(100)에 설치되면, 제1사용자는 제1ID 기반 처리 모듈(150)에서 제공하는 화면을 통해 비밀키 발급 서버(10)에게 비밀키의 발급을 요청할 수 있다.
제1ID 기반 처리 모듈(150)은 후술할 암호화용 확장자(ibe)와 서명용 확장자(ibs)를 가지는 파일에 대한 연결 프로그램인 전용 프로그램을 포함하거나 전용 프로그램과 연동될 수 있다. 이러한 연결 프로그램 설정은 제1단말기(100)에서 지원하는 운영체제(OS: Operation System)가 Windows 계열인 경우에 가능할 수 있으나, 이에 한정되지는 않는다.
제1ID 기반 처리 모듈(150)은 제1사용자의 ID, 제1사용자의 ID와 쌍을 이루는 비밀키, 제2사용자의 ID 및 제2사용자의 ID와 쌍을 이루는 비밀키 중 적어도 하나를 이용하여 암호화 파일 또는 서명 파일을 생성하고, 암호화 파일을 복호화하거나 서명 파일의 전자서명을 검증할 수 있다.
자세히 설명하면, 제1ID 기반 처리 모듈(150)은 제1파일을 암호화할 때는 제1파일을 수신할 수신자(즉, 제2사용자)의 ID를 공개키로서 이용하여 제1파일을 암호화하고, 제2파일에 전자서명을 첨부할 때는 제2파일을 전송하는 송신자(즉, 제1사용자)의 ID에 대응하는 비밀키로 전자서명을 생성하여 제2파일에 첨부할 수 있다. 후술할 제2ID 기반 처리 모듈(250)은 암호화 파일의 파일명에 설정된 제2사용자의 ID에 대응되는 비밀키를 이용하여 암호화 파일을 복호화하여 제1파일을 출력하고, 서명 파일의 파일명에 설정된 제1사용자의 ID를 이용하여 전자서명을 검증하여 제2파일을 출력할 수 있다.
이하에서는 도 3a 및 도 3b를 참조하여, 제1ID 기반 처리 모듈(150)이 암호화 파일과 서명 파일을 생성하는데 사용하는 포맷에 대해 설명한다.
도 3a는 제1ID 기반 처리 모듈(150)이 한 개의 ID를 이용하여 생성한 암호화 파일의 포맷과 서명 파일의 포맷을 보여준다.
도 3a를 참조하면, 제1ID 기반 처리 모듈(150)에 의해 생성되는 암호화 파일은 원본파일명, 파일확장자, 구분자, 수신자 ID 및 암호화용 확장자로 이루어진 포맷을 가질 수 있다. 암호화 파일은 제2사용자에게 전송할 제1파일이 제1ID 기반 처리 모듈(150)에 의해 최종적으로 암호화되어 생성된 파일이다. 수신자 ID는 제1파일을 수신할 제2사용자의 ID로서, 제1ID 기반 처리 모듈(150)이 수신자 ID를 이용하여 제1파일을 암호화하였음을 의미한다. 제1파일은 원본파일명과 파일확장자로 이루어져 있다. 구분자는 제1파일의 원본파일명과 암호화에 사용된 수신자의 ID를 구분하기 위해 사용될 수 있다. 암호화용 확장자는 암호화 파일이 암호화된 파일임을 제2단말기(200) 또는 수신자인 제2사용자가 쉽게 식별할 수 있도록 사용되는 전용 확장자이다.
도 3a에 도시된 암호화 파일의 예를 참조하면, 제1파일은 'notice'라는 원본파일명과 'txt'라는 파일확장자로 이루어진 텍스트 파일(notice.txt)이며, 수신자의 ID는 'bob'이다. 또한, 제1ID 기반 처리 모듈(150)은 구분자로서 'id'를 사용하고, 암호화용 확장자로서 'ibe'를 예로 들어 사용하고 있으나, 이러한 예에 한정되지는 않는다.
또한, 제1ID 기반 처리 모듈(150)에 의해 생성되는 서명 파일은 원본파일명, 파일확장자, 구분자, 송신자 ID 및 서명용 확장자로 이루어진 포맷을 가질 수 있다. 서명 파일은 제2사용자에게 전송할 제1파일이 제1ID 기반 처리 모듈(150)에 의해 최종적으로 전자서명이 첨부된 파일이다. 송신자 ID는 제1파일을 송신하는 제1사용자의 ID로서, 제1ID 기반 처리 모듈(150)이 송신자의 ID와 쌍을 이루는 비밀키를 이용하여 전자서명을 생성 및 첨부하였음을 의미한다. 제1파일은 원본파일명과 파일확장자로 이루어져 있다. 구분자는 제1파일의 원본파일명과 전자서명에 사용된 송신자의 ID를 구분하기 위해 사용될 수 있다. 서명용 확장자는 서명 파일이 전자서명이 첨부된 파일임을 제2단말기(200) 또는 제2사용자가 쉽게 식별할 수 있도록 사용되는 전용 확장자이다.
도 3a에 도시된 서명 파일의 예를 참조하면, 제2파일은 'news'라는 원본파일명과 'txt'라는 파일확장자로 이루어진 텍스트 파일(news.txt)이며, 송신자의 ID는 'alice'이다. 또한, 제1ID 기반 처리 모듈(150)은 구분자로서 'id'를 사용하고, 서명용 확장자로서 'ibs'로 예로 들어 사용하고 있다.
도 3b는 제1ID 기반 처리 모듈(150)이 복수 개의 ID들을 이용하여 생성한 계층적 암호화 파일의 포맷과 계층적 서명 파일의 포맷을 보여준다.
도 3b를 참조하면, 제1ID 기반 처리 모듈(150)에 의해 생성되는 계층적 암호화 파일은 원본파일명, 파일확장자, 구분자, 복수 개의 수신자 ID 및 암호화용 확장자로 이루어진 포맷을 가질 수 있다. 즉, 제1ID 기반 처리 모듈(150)은 복수 개의 수신자 ID들을 이용하여 제1파일을 암호화하여 암호화 파일을 만들 수 있다. 복수 개의 수신자 ID들은 수신자의 유니크한 개인 ID와 수신자가 속한 계층적 그룹들의 ID들일 수 있다. 도 3b의 경우, 암호화에 사용된 수신자의 ID들은 'bob, marketing, samsung'이다. bob은 수신자의 개인 ID이고, marketing은 수신자가 속한 마케팅부서의 ID이며, samsung은 수신자가 속한 회사의 ID이다.
또한, 제1ID 기반 처리 모듈(150)에 의해 생성되는 계층적 서명 파일은 원본파일명, 파일확장자, 구분자, 복수 개의 송신자 ID 및 서명용 확장자로 이루어진 포맷을 가질 수 있다. 즉, 제1ID 기반 처리 모듈(150)은 복수 개의 송신자 ID들을 이용하여 전자서명을 생성한 후 제2파일에 첨부하여 서명 파일을 만들 수 있다. 복수 개의 송신자 ID들은 송신자의 개인 ID와 송신자가 속한 계층적 그룹들의 ID들일 수 있다.
도 3b에 도시된 계층적 서명 파일의 예를 참조하면, 전자서명의 생성에 사용된 송신자의 ID들은 'alice, computer, sejong'이다. alice는 송신자의 개인 ID이고, computer는 송신자가 속한 컴퓨터 그룹의 ID이며, sejong은 송신자가 속한 학교의 ID이다.
도 4는 제1사용자와 제2사용자가 속한 그룹들과 각 그룹의 ID를 이용하여 생성된 암호화 파일과 서명 파일이 전송되는 일련의 과정을 보여주는 모식도이다.
도 4를 참조하면, 제1사용자의 ID는 alice이고, 제1사용자가 속한 최상위 그룹은 세종대학교(Sejong Univ.)로서 ID는 sejong이다. 세종대학교는 컴퓨터 그룹과 비즈니스 그룹으로 구분된다. 컴퓨터 그룹의 ID는 computer이고, 비즈니스 그룹의 ID는 business이며, 도 4의 경우, 제1사용자는 컴퓨터 그룹의 구성원이다.
제2사용자의 ID는 bob이고, 제2사용자가 속한 최상위 그룹은 삼성전자(samsung)로서 ID는 samsung이다. 삼성전자는 마케팅 부서와 플래닝 부서로 그룹되며 각 그룹의 ID는 각각 marketing과 planning이다.
제1ID 기반 처리 모듈(150)은 제2사용자의 개인 ID(bob), 제2사용자가 속한 그룹들의 ID(marketing, Samsung)를 이용하여 제1파일을 암호화하고, 암호화 파일(notice.txt.id.bob.marketing.samsung.ibe)을 생성하여 제2사용자가 암호화 파일을 수신할 수 있도록 할 수 있다. 또한, 제1ID 기반 처리 모듈(150)은 제1사용자의 개인 ID(alice)에 대응하는 비밀키, 제1사용자가 속한 그룹들의 ID들(computer, sejong)에 대응하는 비밀키들을 이용하여 전자서명을 생성 및 생성된 전자서명을 제2파일에 첨부하여 서명 파일(news.txt.id.alice.computer.sejongj.ibs)을 생성함으로써, 서명 파일을 제2사용자가 수신할 수 있도록 할 수 있다.
도 5는 파일 시스템 별 파일 이름의 길이 제한수를 보여준다.
도 5를 참조하면, 파일 시스템이 NTFS인 경우, 파일 이름의 최대 길이는 255charracters이다. 따라서, 제1ID 기반 처리 모듈(150)은 이러한 경우, 암호화 파일의 포맷 중 암호화용 확장자를 제외한 파일 이름은 최대 255characters를 사용할 수 있다.
다시 도 2를 참조하면, 제1제어부(160)는 상술한 제1단말기(100)의 전반적인 동작을 제어한다. 예를 들어, 제1사용자가 제1사용자의 ID에 해당하는 비밀키의 발급을 요청하면, 제1제어부(160)는 제1사용자의 ID를 비밀키 발급 서버(10)에게 전송하면서 비밀키의 발급을 요청하도록 제1통신부(130)를 제어한다.
비밀키 발급 서버(10)로부터 제1사용자의 ID와 쌍을 이루는 비밀키가 발급되거나, 시스템 관리 서버로부터 제1사용자가 속한 그룹의 구성원들의 ID가 수신되면, 제1제어부(160)는 비밀키 발급 서버(10)로부터 수신된 비밀키 또는 시스템 관리 서버로부터 수신된 구성원들의 ID를 저장하도록 제1저장부(140)를 제어한다.
제1ID 기반 처리 모듈(150)에서 IBE 기법에 의해 암호화 파일이 생성되면, 제1제어부(160)는 암호화 파일을 제1저장부(140)에 저장하거나, 제1사용자가 지정한 목적지로 전송하도록 제1통신부(130)를 제어한다. 목적지는 제1단말기(100)와 제2단말기(200)가 공유할 수 있는 로컬 서버(1)이거나, 제1단말기(100)와 로컬 통신이 가능한 제2단말기(200)일 수 있다.
제2단말기(200)로부터 파일이 수신되면, 제1제어부(160)는 수신된 파일의 확장자(ibe 또는 ibs)를 확인하여 연결 프로그램이 설정되어 있는지 판단한다. 연결 프로그램으로 설정되어 있으면, 제1제어부(160)는 전용 프로그램을 실행시켜, 제1ID 기반 처리 모듈(150)이 해당 동작(예를 들어, 파일의 복호화 또는 전자서명의 검증)을 수행하도록 한다. 이에 대해서는 도 6 내지 도 8을 참조하여 자세히 설명한다.
한편, 도 2에 도시된 제2단말기(200)는 제2사용자 입력부(210), 제2표시부(220), 제2통신부(230), 제2저장부(240), 제2ID 기반 처리 모듈(250) 및 제2제어부(260)를 포함한다. 제2단말기(200)의 동작은 제1단말기(100)의 동작과 거의 동일하므로 상세한 설명은 생략한다.
다만, 제2저장부(240)에는 비밀키 발급 서버(10)로부터 발급받은 제2사용자의 ID와 쌍을 이루는 비밀키가 저장되고, 제2사용자가 속한 그룹의 구성원들의 ID, 비밀키 발급을 신청한 모든 외부 사용자들(제1사용자 포함)의 ID가 저장될 수 있다. 제2사용자의 ID는 제2사용자를 식별할 수 있는 개인 ID와 제2사용자가 속한 그룹의 ID를 적어도 하나 포함할 수 있다.
제2제어부(260) 또는 OS는 암호화용 확장자를 가지는 암호화 파일 또는 서명용 확장자를 가지는 서명 파일이 수신되면, 암호화용 확장자 또는 서명용 확장자의 연결 프로그램으로 지정된 전용 프로그램, 즉, 제2ID 기반 처리 모듈(250)을 자동으로 실행시킬 수 있다. 그리고, 제2제어부(260)는 수신된 파일이 암호화 파일이면 암호화 파일을 제2복호화부(255)로 전달하고, 수신된 파일이 서명 파일이면 서명 파일을 제2전자서명부(254)로 출력할 수 있다.
전용 프로그램이 실행되면, 제2ID 기반 처리 모듈(250)은 암호화 파일을 복호화하거나 서명 파일의 전자서명을 검증할 수 있다. 자세히 설명하면, 제1ID 기반 처리 모듈(150)은 제3파일을 암호화할 때는 제3파일을 수신할 수신자(즉, 제1사용자)의 ID를 이용하여 제3파일을 암호화하고, 제3파일에 전자서명을 첨부할 때는 제4파일을 전송하는 송신자(즉, 제2사용자)의 ID에 대응하는 비밀키로 전자서명을 생성하여 제4파일에 첨부할 수 있다. 제1ID 기반 처리 모듈(150)은 암호화 파일의 파일명에 설정된 제1사용자의 ID에 대응되는 비밀키를 이용하여 암호화 파일을 복호화하여 제3파일을 출력하고, 서명 파일의 파일명에 설정된 제2사용자의 ID를 이용하여 전자서명을 검증하여 제4파일을 출력할 수 있다.
도 6은 도 2에 도시된 제1ID 기반 처리 모듈(150)과 제2ID 기반 처리 모듈(250)의 블록도이다.
도 6을 참조하면, 제1ID 기반 처리 모듈(150)은 제1화면 생성부(151), 제1암호화부(152), 제1파일생성부(153), 제1전자서명부(154), 제1복호화부(155) 및 제1검증부(156)를 포함한다.
제1화면 생성부(151)는 제1사용자가 제1ID 기반 처리 모듈(150)을 구동하는 전용 프로그램의 실행을 요청하면, ID 기반 암호화 및 서명을 위한 다양한 화면들을 생성할 수 있다. 제1화면 생성부(151)가 생성하는 다양한 화면들을 통해, 제1사용자는 비밀키 발급 서버(10)에게 제1사용자의 ID에 대응하는 비밀키의 발급을 요청하거나, 제2사용자의 ID 제공을 요청할 수 있다. 또한, 제1사용자는 제1파일을 선택하고, 제1파일을 수신할 수 있는 외부 사용자들의 ID 리스트로부터 제2사용자의 ID를 선택하거나 삭제하며, 제1파일의 암호화나 전자서명을 요청하고, 계층적 암호화 또는 계층적 전자서명을 요청할 수 있다. ID 리스트에 표시된 ID들은 외부 사용자들의 ID 또는 그룹의 ID로서, 제1사용자가 암호화한 제1파일을 수신할 수 있도록 허가된 사용자 또는 그룹의 ID일 수 있다.
제1암호화부(152)는 ID 리스트에 표시된 ID들 중 제1사용자에 의해 선택된 적어도 하나의 ID를 이용하여 제1파일을 암호화하고, 암호화된 제1파일의 헤더에 제1파일이 암호화되었음을 나타내는 정보를 표기할 수 있다. 제1암호화부(152)는 주지된 IBE 기법을 이용하여 제1파일을 암호화할 수 있다.
도 3a를 참조하여 설명한 바와 같이, 제1암호화부(152)는 1개의 수신자 ID를 이용하여 제1파일을 암호화할 수 있다. 제1사용자가 수신자로서 제2사용자의 ID를 선택하면, 제1암호화부(152)는 제2사용자의 ID를 공개키로서 이용하여 제1파일을 암호화할 수 있다.
또한, 도 3b를 참조하여 설명한 바와 같이, 제1암호화부(152)는 복수 개의 제2사용자 ID들을 이용하여 제1파일을 계층적 암호화할 수 있다. 계층적 암호화는 제1파일을 복수 개의 제2사용자 ID들을 순차적으로 이용하여 계층적으로 암호화하는 방식이다. 복수 개의 제2사용자 ID들은 제1파일을 수신할 제2사용자가 속한 상위 그룹의 ID, 상위 그룹의 자식 노드인 하위 그룹의 ID 및 제2사용자의 개인 ID 중 적어도 하나를 포함할 수 있다.
제1파일생성부(153)는 제1암호화부(152)가 제1파일을 암호화할 때 사용한 제2사용자의 ID들을 암호화된 제1파일의 파일명 중 일부로 설정하고, 제1파일이 암호화되었음을 나타내는 암호화용 확장자를 제1파일의 확장자로 하여 암호화 파일을 생성할 수 있다. 자세히 설명하면, 제1파일생성부(153)는 제1파일의 원본파일명(notice), 제1파일의 원본확장자(txt), 구분자(id) 및 제2사용자의 적어도 하나의 ID(bob 또는, bob, marketing, samsung)를 암호화 파일의 파일명으로 설정할 수 있다. 구분자는 제1파일의 원본파일명과 암호화에 사용된 제2사용자의 ID를 구분하는 역할을 한다.
제1전자서명부(154)는 제2단말기(200)의 제2사용자에게 전송할 제2파일의 전자서명이 요청되면, 제1사용자의 ID와 쌍을 이루는 비밀키를 이용하여 제1사용자의 전자서명을 생성하고, 생성된 전자서명을 제2파일에 첨부할 수 있다. 그리고, 제1전자서명부(154)는 제2파일의 헤더에 제2파일이 전자서명되었음을 나타내는 정보를 표기할 수도 있다.
제1전자서명부(154)는 도 3a를 참조하여 설명한 바와 같이, 1개의 제1사용자 ID와 쌍을 이루는 비밀키를 이용하여 제2파일에 첨부할 전자서명을 생성할 수 있다.
또한, 제1전자서명부(154)는 도 3b를 참조하여 설명한 바와 같이, 복수 개의 제1사용자 ID들을 이용하여 계층적 전자서명을 생성할 수 있다. 계층적 전자서명은 제2파일을 복수 개의 제1사용자 ID들을 이용하여 계층적으로 전자서명을 생성하는 방식이다. 복수 개의 제1사용자 ID들은 제1파일을 전송할 제1사용자가 속한 상위 그룹의 ID와 상위 그룹의 자식 노드인 하위 그룹의 ID와 제1사용자의 개인 ID 중 적어도 하나를 포함할 수 있다.
제1파일생성부(153)는 제1사용자의 ID를 전자서명이 첨부된 제2파일의 파일명 중 일부로 설정하고, 제2파일이 서명되었음을 나타내는 서명용 확장자를 제2파일의 확장자로 하여 서명 파일을 생성할 수 있다. 제1파일생성부(153)는 제2파일의 원본파일명(news), 제2파일의 원본확장자(txt), 구분자(id) 및 제1송신자의 적어도 하나의 ID(alice, computer, sejong)를 서명 파일의 파일명으로 설정할 수 있다. 서명 파일의 구분자는 제2파일의 원본파일명과 전자서명에 사용된 제1사용자의 ID를 구분할 수 있다. 서명 파일의 파일명 중 일부로 설정된 제1사용자의 적어도 하나의 ID는 전자서명의 생성에 사용된 제1사용자의 적어도 하나의 비밀키와 쌍을 이루는 ID이다.
또한, 제1전자서명부(154)는 제1암호화부(152)에서 암호화된 제1파일에 전자서명을 첨부할 수 있다. 이러한 경우, 제1파일생성부(153)는 암호화에 사용된 제2사용자의 ID와 전자서명에 사용된 제1사용자의 ID, 그리고, 암호화용 확장자와 서명용 확장자를 이용하여 암호화/서명 파일을 생성할 수도 있다.
제1복호화부(155)는 제2단말기(200)로부터 수신된 암호화 파일을 복호화할 수 있다. 자세히 설명하면, 제2단말기(200)에서 생성된 파일이 제1단말기(100)로 수신되면, 제1단말기(100)의 OS 또는 제1제어부(160)는 수신된 파일의 확장자가 암호화용 확장자, 즉, ibe인 경우, 수신된 파일이 암호화 파일인 것으로 판단하고 'ibe'에 연결된 전용 프로그램을 실행시킨다. 이로써, 제1ID 기반 처리 모듈(150)의 제1복호화부(155)는 수신된 암호화 파일 중 제1사용자의 ID를 확인하고, 확인된 ID와 쌍을 이루는 제1사용자의 비밀키를 이용하여 암호화 파일을 복호화할 수 있다. 확인된 제1사용자의 ID가 복수 개인 경우, 제1복호화부(155)는 복수 개의 제1사용자의 ID들과 쌍을 이루는 비밀키를 이용한다. 제1사용자는 육안으로 확인된 확장자로부터 수신된 파일이 암호화된 암호화 파일임을 알 수도 있다.
제1검증부(156)는 제2단말기(200)로부터 서명 파일이 수신되면, 수신된 서명 파일의 전자서명을 검증할 수 있다. 자세히 설명하면, 제2단말기(200)에서 생성된 서명 파일이 제1단말기(100)로 수신되면, 제1단말기(100)의 OS는 서명 파일의 확장자가 서명용 확장자, 즉, ibs인 경우, 'ibs'에 연결된 전용 프로그램을 자동으로 실행시킨다. 이로써, 제1검증부(156)는 수신된 서명 파일 중 제2사용자의 ID를 확인하고, 확인된 ID와 검증 알고리즘을 이용하여 전자서명의 검증을 수행할 수 있다.
한편, 제2ID 기반 처리 모듈(250)은 제2화면 생성부(251), 제2암호화부(252), 제2파일 생성부(253), 제2전자서명부(254), 제2복호화부(255) 및 제2검증부(256)를 포함한다. 제2ID 기반 처리 모듈(250)의 각 구성요소의 동작은 제1ID 기반 처리 모듈(150)과 유사하므로 상세한 설명은 생략한다.
제2암호화부(252)는, 제2사용자가 제1사용자에게 전송할 제3파일과 수신자인 제1사용자의 ID를 적어도 한 개 선택하면, 제1사용자의 적어도 한 개의 ID를 공개키로 사용하여 제3파일을 암호화할 수 있다. 제2파일 생성부(253)는 도 3a 또는 도 3b에 도시된 포맷대로 암호화 파일을 생성할 수 있다.
제2복호화부(255)는 제1단말기(100)로부터 수신된 암호화 파일(notice.txt.id.bob.marketing.samsung.ibe)의 파일명 중 구분자(id)와 암호화용 확장자(ibe) 사이에 기재된 제2사용자(즉, 수신자)의 ID들(samsung, marketing, bob)을 확인한다. 제2복호화부(255)는 확인된 제2사용자의 ID들과 쌍을 이루는 비밀키들을 이용하여 암호화 파일을 복호화하여 제1파일(notice.txt)을 출력할 수 있다. 출력되는 제1파일은 메모장과 같은 연결 프로그램을 통해 표시될 수 있다.
제2전자서명부(254)는 제2사용자(즉, 송신자)의 ID와 쌍을 이루는 비밀키를 이용하여 제2사용자의 전자서명을 생성하고, 전자서명을 제4파일에 첨부할 수 있다.
제2검증부(256)는 제1단말기(100)로부터 수신된 서명 파일의 서명용 확장자(ibs)와 구분자(id) 사이에 기재된 제1사용자(즉, 송신자)의 ID들(sejong, computer, alice)을 확인하다. 제2검증부(256)는 확인된 제1사용자의 ID들과 검증 알고리즘을 이용하여 전자서명을 검증하고, 검증이 성공하면 제2파일(news.txt)을 출력할 수 있다. 출력되는 제2파일은 메모장과 같은 연결 프로그램을 통해 표시될 수 있다.
이하에서는 도 7 및 도 8을 참조하여 제1파일의 암호화 및 복호화와, 전자서명의 첨부 및 검증에 대해 설명하다.
도 7은 제1암호화부(152)가 제2사용자의 3개의 ID를 이용하여 제1파일을 암호화하여 암호화 파일을 생성하고, 제2복호화부(255)가 암호화 파일을 복호화하는 일 예를 설명하기 위한 도면이다.
도 7을 참조하면, 제1사용자가 암호화할 제1파일로서 notice.txt를 선택하고 암호화를 요청하면, 제1화면 생성부(151)는 제1파일을 수신할 제2사용자의 ID를 입력하거나 선택할 수 있는 화면(미도시)을 생성한다. 제1사용자가 생성된 화면에 제2사용자의 ID로서 'bob, marketing, samsung'을 순차적으로 선택하면, 제1암호화부(152)는 제2사용자의 ID들 중 개인 ID인 'bob'을 공개키로서 이용하여 제1파일을 1차 암호화하고, 상위 그룹의 ID인 'marketing'을 이용하여 제1파일을 2차 암호화하고, 최상위 그룹의 ID인 'samsung'을 이용하여 제1파일을 3차 암호화할 수 있다.
제1파일생성부(153)는 제1파일의 원본파일명, 파일확장자, 구분자, 제2사용자의 ID들을 파일명으로 정하고, 암호화용 확장자를 이용하여 'notice.txt.id.bob.marketing.samsung.ibe'라는 암호화 파일을 생성할 수 있다.
암호화 파일을 수신한 제2단말기(200)는 'notice.txt.id.bob.marketing.samsung.ibe' 중 'ibe'를 확장자로 인식하며, 'ibe'의 연결 프로그램으로 지정된 전용 프로그램을 실행시킬 수 있다. 그리고, 제2ID 기반 처리 모듈(250) 또는 제2복호화부(255)는 암호화 파일의 암호화용 확장자인 ibe로부터 수신된 파일이 암호화 파일임을 판단할 수 있다. 제2복호화부(255)는 'notice.txt.id.bob.marketing.samsung.ibe' 중 암호화용 확장자 이후부터 구분자인 'id'를 만날 때까지 ID들(즉, samsung, marketing, bob)을 순차적으로 확인할 수 있다. 그리고, 제2복호화부(255)는 확인된 ID들 중 'samsung'이 제2사용자가 속한 최상위 그룹의 ID와 동일하면, 'samsung'과 쌍을 이루는 비밀키(01101)를 이용하여 암호화 파일을 1차 복호화하고, 'marketing'과 쌍을 이루는 비밀키(1111101)를 이용하여 1차 복호화된 암호화 파일을 2차 복호화하며, 'bob'과 쌍을 이루는 비밀키(11001)를 이용하여 2차 복호화된 암호화 파일을 3차 복호화할 수 있다. 1차 내지 3차 복호화가 모두 성공하면, 제2복호화부(255)는 'notice.txt'라는 제1파일을 출력한다. 제2사용자의 ID인 'bob, marketing 및 staff'와 쌍을 이루는 비밀키들이 제2단말기(200)에 없는 경우, 복호화는 실패한다.
도 8은 제1전자서명부(154)가 제1사용자의 3개의 ID를 이용하여 제2파일에 전자서명을 첨부하고, 제2검증부(256)가 제2파일에 첨부된 전자서명의 유효성을 검증하는 일 예를 설명하기 위한 도면이다.
도 8을 참조하면, 제1사용자가 'newx.txt'을 선택하고 전자서명을 요청하면, 제1전자서명부(154)는 전자서명에 사용할 제1사용자의 ID를 입력하거나 선택할 수 있는 화면(미도시)을 생성한다. 제1사용자가 생성된 화면에서 제1사용자의 ID로서 'alice, computer, sejong'을 순차적으로 선택하면, 제1전자서명부(154)는 개인 ID인 'alice'에 대응되는 비밀키(100011)를 이용하여 1차 전자서명을 생성하고, 상위 그룹의 ID인 'computer'에 대응되는 비밀키(111000)를 이용하여 2차 전자서명을 생성하며, 최상위 그룹의 ID인 'sejong'에 대응되는 비밀키(010100)를 이용하여 3차 전자서명을 생성한 후, 3개의 전자서명을 제2파일에 첨부할 수 있다.
제1파일생성부(153)는 제2파일의 원본파일명, 파일확장자, 구분자, 제1사용자의 ID들을 파일명으로 정하고, 서명용 확장자를 이용하여 'newx.txt.id.alice.computer.sejong.ibs'라는 서명 파일을 생성할 수 있다.
서명 파일을 수신한 제2단말기(200)는 'newx.txt.id.alice.computer.sejong.ibs' 중 'ibs'를 확장자로 인식하며, 'ibs'의 연결 프로그램으로 지정된 전용 프로그램을 실행시킬 수 있다. 그리고, 제2ID 기반 처리 모듈(250) 또는 제2검증부(256)는 서명 파일의 서명용 확장자인 ibs로부터 수신된 파일이 서명 파일임을 판단할 수 있다. 제2검증부(256)는 'newx.txt.id.alice.computer.sejong.ibs' 중 서명용 확장자 이후부터 구분자인 'id'를 만날 때까지 ID들(즉, sejong, computer, alice)을 순차적으로 확인할 수 있다. 그리고, 제2검증부(256)는 확인된 ID들이 제2저장부(240)에 저장된 제1사용자의 ID들과 동일한 경우, 저장된 제1사용자의 ID들과 서명 파일에 설정된 ID들 및 검증 알고리즘을 이용하여 전자서명의 유효성을 계층적으로 검증할 수 있다. 1차 내지 3차 검증이 모두 성공하면, 제2검증부(256)는 'newx.txt'라는 파일을 출력한다.
도 9는 본 발명적 개념의 다른 예시적 실시예에 따른 ID 기반 암호화 및 서명 장치를 포함하는 제3단말기(300)와 제4단말기(400)를 도시한 블록도이다.
도 9를 참조하면, 제3단말기(300)는 제3사용자 입력부(310), 제3표시부(320), 제3통신부(330), 제3저장부(340), 제3ID 기반 처리 모듈(350), 제1MIME(Multipurpose Internet Message Extensions) 헤더 생성부(360), 제1헤더 확인부(370) 및 제3제어부(380)를 포함한다. 제4단말기(400)는 제4사용자 입력부(410), 제4표시부(420), 제4통신부(430), 제4저장부(440), 제4ID 기반 처리 모듈(450), 제2MIME 헤더 생성부(460), 제2헤더 확인부(470) 및 제4제어부(480)를 포함한다. 제3단말기(300) 및 제4단말기(400)의 동작은 제1단말기(100) 및 제2단말기(200)와 유사하므로 상세한 설명은 생략한다.
또한, 이하에서는, 제3단말기(300)의 사용자는 '제3사용자', 제4단말기(400)의 사용자는 '제4사용자', 제3단말기(300)에서 제4단말기(400)로 암호화하여 전송할 파일은 '제1파일', 전자서명을 첨부하여 전송할 파일은 '제2파일', 제4단말기(400)로부터 제3단말기(300)로 암호화하여 전송할 파일은 '제3파일', 전자서명을 첨부하여 전송할 파일은 '제4파일'이라 한다.
제3ID 기반 처리 모듈(350)은 제1파일을 수신할 제4사용자의 ID를 공개키로서 이용하여 제1파일을 암호화하여 암호화 파일을 생성할 수 있다. 또한, 제3ID 기반 처리 모듈(350)은 제2파일에 전자서명을 첨부할 때는 제2파일을 전송하는 제3사용자의 ID에 대응하는 비밀키로 전자서명을 생성하여 제2파일에 첨부함으로써 서명 파일을 생성할 수 있다. 제3ID 기반 처리 모듈(350)은 도 3a 또는 도 3b와 같은 포맷의 암호화 파일 또는 서명 파일을 생성할 수 있다.
제1MIME 헤더 생성부(360)는 암호화 파일을 웹 환경을 통해 제4단말기(400)의 제4사용자(즉, 수신자)에게 전송하는 경우, 암호화 파일이 암호화되었음을 식별하기 위한 정보를 포함하는 MIME 헤더를 생성할 수 있다. 제1MIME 헤더 생성부(360)는 암호화 파일의 확장자로 사용되는 암호화용 확장자(ibe)를 암호화되었음을 식별하기 위한 정보로서 사용할 수 있다. 예를 들어, SMTP(Simple Mail Transfer Protocol)는 ASCII 문자로 된 RFC 822 형식의 메시지만 전송가능하다. MIME은 한국어와 같이 2바이트로 구성되는 다중 언어, 실행 파일, 그림 파일과 같은 이진 파일도 SMTP로 전송될 수 있도록 ASCII 코드로 변환하는 코드변환 방식을 지원한다.
도 10은 본 발명적 개념의 예시적 실시예에 따른 암호화된 메시지 전송 시 생성되는 MIME 헤더의 일 예를 보여주는 도면이다.
제1MIME 헤더 생성부(360)는 제3ID 기반 처리 모듈(350)에서 암호화 파일이 생성되면, 도 10과 같은 MIME 헤더(Header)를 포함하는 MIME 메시지를 생성할 수 있다.
제1MIME 헤더 생성부(360)는 Envelope 영역에 메시지를 보내는 사용자의 이메일 주소와 메시지를 수신하는 수신자의 이메일 주소를 기재한다.
또한, 제1MIME 헤더 생성부(360)는 MIME 헤더 영역에는 MIME 버전, Content-Type, Content-Transfer-Encoding, Content-Disposition, Content-ID 및 Content-Description 정보를 기재할 수 있다. 자세히 설명하면, 제1MIME 헤더 생성부(360)는 제3ID 기반 처리 모듈(350)에서 생성된 파일의 확장자가 암호화용 확장자인 경우, Content-Type에 'application/ibe'를 기재하고, 제3ID 기반 처리 모듈(350)에서 생성된 파일의 확장자가 서명용 확장자인 경우, Content-Type에 'application/ibs'를 기재할 수 있다.
따라서, 제3ID 기반 처리 모듈(350)에서 생성된 파일이 암호화 파일이면, 제1MIME 헤더 생성부(360)는 Content-Type으로서 'application/ibe/를 기재하고, Content-Disposition의 filename에는 제3ID 기반 처리 모듈(350)에서 생성된 암호화 파일인 'notice.txt.id.Bob.marketing.samsung.ibe'를 기재할 수 있다.
'Content-ID 및 Content-Description는 선택적으로 기재될 수 있으며, 도 10에는 생략되어 있다.
또한, 제1MIME 헤더 생성부(360)는 Message Body 영역에 제3ID 기반 처리 모듈(350)에서 생성된 파일의 파일네임을 기재할 수 있다.
제3통신부(330)는 생성된 암호화 파일 또는 서명 파일과, MIME 헤더를 웹 환경을 통해 제4단말기(400)에게 전송할 수 있다.
제4단말기(400)의 제2헤더 확인부(470)는 제3단말기(300)로부터 수신된 MIME 헤더를 파싱하여 MIME 헤더에 포함된 정보(즉, ibe 또는 ibs)를 확인하고, 확인된 정보에 대해 지정된 연결 프로그램을 실행시킬 수 있다. 제2헤더 확인부(470)에 의해 연결 프로그램이 실행되면, 연결 프로그램과 연동하는 제4ID 기반 처리 모듈(450)은 수신된 파일이 암호화 파일인 경우 암호화 파일을 복호화하고, 서명 파일인 경우 전자서명을 검증할 수 있다.
암호화 파일 또는 서명 파일과, MIME 헤더가 제3단말기(300) 및 제4단말기(400)에 설치된 메신저를 통해 수신된 경우, 제2헤더 확인부(470)는 메신저 어플리케이션일 수 있다. 또한, 암호화 파일 또는 서명 파일과, MIME 헤더가 이메일을 통해 수신된 경우, 제2헤더 확인부(470)는 웹 브라우저일 수 있다.
도 11은 전자서명이 첨부된 서명 파일과 함께 제4단말기(400)로 전송되는 메시지의 일부와, 암호화와 전자서명이 모두 적용된 파일과 함께 제4단말기(400)로 전송되는 메시지의 일부의 일 예를 보여주는 도면이다.
도 11을 참조하면, 서명 파일과 함께 전송되는 MIME 헤더에는 Content-Type으로서 'application/ibs'가 기재되어 있으며, filename으로서 'notice.txt.id.Alice.computer.sejong.ibs'가 기재되어 있다.
또한, 암호화와 전자서명이 모두 적용된 파일과 함께 전송되는 MIME 헤더에는 Content-Type으로서 'application/ibe' 및 'application/ibs'가 각각 기재되어 있으며, filename으로서 'notice.txt.id.Bob.marketing.samsung.ibe' 및 'notice.txt.id.Alice.computer.sejong.ibs'가 각각 기재되어 있다.
이하에서는 도 12 내지 도 19를 참조하여 본 발명적 개념의 예시적 실시예의 다양한 응용예에 대해 설명한다.
도 12는 단말기의 운영체제가 로컬 파일 시스템을 이용하여 ID 기반 처리 모듈을 실행시키는 응용의 예를 보여주는 도면이다.
도 12를 참조하면, 단말기에 암호화 파일 또는 서명 파일이 수신되면 단말기의 운영체제(OS: Operation System)는 로컬 파일 시스템의 디렉토리 엔트리로부터 파일의 확장자를 확인할 수 있다. 디렉토리 엔트리는 파일명(Filename), 확장자(Extension), 속성(Attribute), 시각(Create Time), 날짜(Date), 첫번째 블록의 번호(First Cluster) 및 파일 크기(File Size) 등 파일과 관련된 다양한 정보를 포함한다. 디렉토리 엔트리 중 확장자에 'ibe'가 기재되어 있으면, OS는 수신된 파일이 암호화 파일인 것으로 판단하고, 확장자에 'ibs'가 기재되어 있으면 수신된 파일이 서명 파일인 것으로 판단할 수 있다. 그리고, OS는 ibe 또는 ibs의 연결 프로그램으로 지정된 전용 프로그램, 즉, ID 기반 처리 모듈을 실행시키며, 이로써, 암호화 파일의 복호화 또는 서명 파일의 서명 검증이 실행될 수 있다. 도 12의 단말기는 제1단말기(100) 또는 제2단말기(200)일 수 있으며, ID 기반 처리 모듈은 제1ID 기반 처리 모듈(150) 또는 제1ID 기반 처리 모듈(150)일 수 있다.
도 13은 이메일에 첨부된 파일을 수신한 경우 MIME을 이용하여 ID 기반 처리 모듈을 실행시키는 응용의 예를 보여주는 도면이다.
도 13에는 웹환경을 통해 수신된 파일이 첨부된 이메일의 내용이 보여주는 화면(1300)이 표시된다. 이메일의 내용은 '공지사항입니다.'이며, 두 개의 첨부파일이 속해 있다. 두 개의 첨부파일은 보기 또는 다운로드가 가능하다.
단말기의 사용자가 보기(1310, 1320)를 선택하면, 이메일 클라이언트는 이메일의 MIME 헤더로부터 첨부파일의 타입, 즉, 확장자를 확인할 수 있다. MIME 헤더에 기재된 확장자가 'ibe' 또는 'ibs'이면, 이메일 클라이언트는 ID 기반 처리 모듈을 실행시킬 수 있다. 이로써, ID 기반 처리 모듈은 수신된 파일이 암호화 파일인 경우 암호화 파일을 복호화하고, 서명 파일인 경우 전자서명을 검증할 수 있다. 복호화된 파일 또는 서명이 검증된 파일은 단말기에 웹 브라우저에서 제공하는 화면(1350)을 통해 표시될 수 있다.
또한, 사용자가 다운로드(1330, 1340)를 선택하면, 이메일 클라이언트 또는 웹 브라우저는 첨부파일을 다운로드하기 위한 화면(1360, 1370)을 생성한다.
도 13의 단말기는 제3단말기(300) 또는 제4단말기(400)일 수 있으며, ID 기반 처리 모듈은 제3ID 기반 처리 모듈(350) 또는 제4ID 기반 처리 모듈(450)일 수 있으며, 이메일 클라이언트는 제1헤더 확인부(370) 또는 제2헤더 확인부(470)의 동작을 포함할 수 있다.
도 14는 웹페이지의 파일을 열기 위하여, MIME을 이용하여 ID 기반 처리 모듈을 실행시키는 응용의 예를 보여주는 도면이다.
도 14를 참조하면, 사용자는 웹 브라우저를 통해 웹페이지를 열 수 있으며, 웹페이지는 파일이 저장된 URL에 대응할 수 있다. 즉, 사용자가 열고자 하는 웹페이지(1410, 1420)가 파일 문서이고 사용자가 열기(1411, 1421)를 선택하면, 웹 브라우저는 파일 문서의 파일명 중 확장자를 확인할 수 있다. 웹 브라우저는 파일의 MIME 헤더로부터 확인된 확장자가 'ibe' 또는 'ibs'이면, ID 기반 처리 모듈을 실행시킬 수 있다. ID 기반 처리 모듈은 암호화 파일을 복호화하고, 서명 파일의 경우 전자서명을 검증할 수 있다.
도 14의 단말기는 제3단말기(300) 또는 제4단말기(400)일 수 있으며, ID 기반 처리 모듈은 제3ID 기반 처리 모듈(350) 또는 제4ID 기반 처리 모듈(450)일 수 있으며, 웹 브라우저는 제1헤더 확인부(370) 또는 제2헤더 확인부(470)의 동작을 포함할 수 있다.
도 15는 메신저를 통해 파일을 수신한 경우 MIME을 이용하여 ID 기반 처리 모듈을 실행시키는 응용의 제1예를 보여주는 도면이다.
도 15를 참조하면, 송신자 단말기는 암호화 파일(notice.txt.id.Bob.marketing.samsung.ibe)과 서명 파일(notice.txt.id.Alice.computer.sejong.ibs)을 메신저를 통해 수신자 단말기에게 전송하고 있다. 두 파일의 전송이 완료된 후, 수신자 단말기의 사용자가 열기(1510, 1520) 또는 악성코드 검사 후 열기(1530, 1540)를 선택하면, 메신저는 암호화 파일과 서명 파일과 함께 수신된 MIME 헤더들을 확인하여 각 파일의 확장자를 확인할 수 있다. MIME 헤더에 기재된 확장자가 'ibe' 또는 'ibs'이면, 메신저는 ID 기반 처리 모듈을 실행시킬 수 있다. 이로써, ID 기반 처리 모듈은 수신된 파일이 암호화 파일인 경우 암호화 파일을 복호화하고, 서명 파일인 경우 전자서명을 검증할 수 있다.
도 15의 송신자 단말기는 제3단말기(300)이고 수신자 단말기는 제4단말기(400)인 경우, ID 기반 처리 모듈은 제4ID 기반 처리 모듈(450)일 수 있으며, 메신저는 제2헤더 확인부(470)의 동작을 포함할 수 있다.
도 16은 메신저를 통해 파일을 수신한 경우 MIME을 이용하여 ID 기반 처리 모듈을 실행시키는 응용의 제2예를 보여주는 도면이다.
도 16을 참조하면, 송신자 단말기의 메신저는 일반 파일(notice.txt)을 수신자 단말기로 전송하려는 경우, 일반 파일을 암호화하거나 전자서명을 첨부하여 메신저를 통해 전송하는 기능을 제공할 수 있다. 즉, 메신저는 IBE 암호 및 IBS 서명 전송 기능을 제공할 수 있다.
자세히 설명하면, 송신자 단말기의 사용자가 메신저에서 제공하는 파일 전송 메뉴(미도시)를 통해 전송할 일반 파일을 선택하고, IBE 암호 및 IBS 서명 전송 메뉴(1610)를 선택하면, 메신저와 연동하도록 설정된 ID 기반 처리 모듈은 일반 파일을 암호화하여 암호화 파일(notice.txt.id.Bob.marketing.samsung.ibe)을 생성하거나 일반 파일에 전자서명을 첨부하여 서명 파일(notice.txt.id.Alice.computer.sejong.ibs)을 생성하고, 암호화 파일 또는 서명 파일을 수신자 단말기에게 전송할 수 있다. 암호화 파일 또는 서명 파일의 전송이 완료된 후, 수신자 단말기의 사용자가 IBE 복호화(1620) 또는 IBS 서명 검증(1630)을 선택하면, 또는 자동으로 수신자 단말기의 메신저는 ID 기반 처리 모듈을 실행시킬 수 있다. 이로써, 수신자 단말기의 ID 기반 처리 모듈은 암호화 파일을 복호화하거나 서명 파일의 전자서명을 검증할 수 있다. 도 16의 송신자 단말기와 수신자 단말기는 제1 내지 제4단말기들(100~400) 중 하나일 수 있다.
도 17은 메신저를 통해 파일을 수신한 경우 MIME을 이용하여 ID 기반 처리 모듈을 실행시키는 응용의 제3예를 보여주는 도면이다.
도 17을 참조하면, 송신자 단말기와 수신자 단말기에 설치된 메신저는 자체적으로 ID 기반 처리 모듈을 포함할 수 있다. 따라서, 메신저는 전송할 파일을 암호화하거나 전자서명을 첨부하고, 수신된 파일을 복호화하거나 전자서명을 검증할 수 있다.
예를 들어, Kwon이 Yoon에게 메신저를 통해 notice.txt라는 일반 파일을 전송하려는 경우, 송신자 단말기의 메신저는 자동으로 메신저에 포함된 ID 기반 처리 모듈을 실행시켜 일반 파일로부터 암호화 파일 또는 서명 파일을 생성할 수 있다. 이때 메신저는 송신자인 Kwon의 메신저 ID(Kwon@msg.com) 또는 수신자인 Yoon의 메신저 ID(yoon1234@msg.com)를 이용하여 암호화 파일(notice.txt.id.yoon1234.msg.ibe) 또는 서명 파일(notice.txt.id.kwon1234.msg.ibs)을 생성할 수 있다. 암호화 파일과 서명 파일을 선택적으로 생성하기 위한 옵션은 메신저에서 제공하는 메뉴화면(미도시)를 통해 사용자가 설정할 수 있다.
암호화 파일 또는 서명 파일을 수신한 수신자 단말기의 메신저는 메신저에 포함된 ID기반 처리 모듈을 실행시켜 암호화 파일을 복호화하거나 서명 파일의 전저서명을 검증할 수 있다. 수신자 단말기의 메신저는 수신자의 ID(yoon1234@msg.com)에 대응하는 비밀키를 이용하여 복호화하거나 송신자의 ID(Kwon@msg.com)를 이용하여 전자서명을 검증할 수 있다.
도 18은 파일 등의 데이터를 DB에 저장하고 이들 데이터를 활용함에 있어 ID 기반 처리 모듈을 이용하는 방법을 설명하기 위한 도면이다.
ID 기반 암호 모듈을 이용하여 암호화된 데이터를 저장하기 위해 도 18에서의 표와 같이 해당 파일이 속한 department를 표현한 Depart..(해당 파일에 확장자에 이미 표시된 정보일 경우 생략 가능함), ID 기반 처리 모듈을 사용하였다는 사실을 명시하는 Data Type, 해당 데이터의 파일명의 확장자에 본 개념적 실시예를 적용한 Data Name 등의 column을 DB table 생성 시 추가하여 관리한다. 또한 웹 브라우저 등을 통해 해당 암호화된 데이터 DB에 접근할 경우, 즉, 도 18에서와 같이 http://www.sejong.ac.kr/school.jpg.id.sejong.ibe 등의 주소로 해당 DB 데이터에 접근하여 원하는 파일을 복호화해서 사용할 수 있다.
도 19는 계층적 키 사용을 응용하여 ID 기반 처리 모듈로 서명된 파일을 브로드캐스트(공고)하는 방법을 설명하기 위한 도면이다.
도 19의 그림에서와 같이 세종대학교 하부에 computer와 business 학과가 있고, 각 computer 학과에 Kwon, Shin, Pak 교수가, business 학과에 Choi, Lee 교수가 속해 있는 경우, “notice.txt.id.sejong.ibs”와 같이 sejong 명의로 서명된 파일은 sejong에 속해있는 모든 교수들에서 해당되는 공고 (broadcast)이며, “mt.jpg.id.computer.sejong.ibs”의 경우 computer 학과라는 특정 학과에 소속된 교수들에만 해당되는 공고임을 파일명만으로 쉽게 확인할 수 있다.
도 20은 본 발명적 개념의 예시적 실시예에 따른 비밀키 발급 방법을 설명하기 위한 흐름도이다.
도 20에서 제1단말기는 제1단말기(100) 또는 제3단말기(300)이고, 제2단말기는 제2단말기(200) 또는 제4단말기(400)일 수 있다.
도 20을 참조하면, 제1단말기는 제1사용자에 의해 입력된 제1사용자의 ID를 비밀키 발급 서버에게 전송하면서 비밀키의 발급을 요청한다(S2010). 제1사용자의 ID는 제1사용자에게만 할당되는 개인 ID 및 제1사용자가 속한 그룹에 할당된 그룹 ID 중 적어도 하나를 포함할 수 있다.
비밀키 발급 서버는 비밀키 발급 알고리즘을 이용하여 제1사용자의 ID와 쌍을 이루는 비밀키를 발급한다(S2020).
비밀키 발급 서버는 발급된 비밀키를 제1단말기에게 전송하고(S2030), 제1단말기는 제1사용자의 ID와 쌍을 이루는 비밀키를 저장한다(S2040).
또한, 제2단말기는 제2사용자에 의해 입력된 제2사용자의 ID를 비밀키 발급 서버에게 전송하면서 비밀키의 발급을 요청한다(S2050).
비밀키 발급 서버는 비밀키 발급 알고리즘을 이용하여 제2사용자의 ID와 쌍을 이루는 비밀키를 발급한다(S2060).
비밀키 발급 서버는 S2060단계에서 발급된 비밀키를 제2단말기에게 전송한다(S2070).
제2단말기는 S2070단계에서 수신된 제2사용자의 ID와 쌍을 이루는 비밀키를 제2사용자의 ID와 매핑하여 저장한다(S2080).
도 21은 본 발명적 개념의 예시적 실시예에 따른 ID 기반 암호화 및 복호화 방법을 설명하기 위한 흐름도이다.
도 21의 ID 기반 암호화 및 복호화 방법은 도 2를 참조하여 설명한 제1단말기(100) 및 제2단말기(200)에 의해 수행될 수 있다.
도 21을 참조하면, 제1단말기는 ID 기반 처리 모듈에서 제공하는 ID 입력 화면(미도시)을 통해 제2사용자의 ID를 사용자로부터 적어도 하나 입력받는다(S2110). S2110단계에서, 제1단말기의 사용자인 제1사용자는 제1파일을 암호화하려는 경우 ID 입력 화면을 통해 제1파일을 수신할 제2사용자의 ID를 입력하거나 선택할 수 있다. 또한, 제1사용자는 제1파일을 계층적 암호화하려는 경우, 복수 개의 제2사용자의 ID를 입력할 수 있다.
제1단말기는 S2110단계에서 입력되는 적어도 하나의 ID를 이용하여 제1파일을 암호화한다(S2120). 예를 들어, S2110단계에서 복수 개의 ID가 입력된 경우, 제1단말기는 상위 그룹의 ID를 이용하여 제1파일을 1차 암호화하고, 하위 그룹의 ID를 이용하여 제1파일을 2차 암호화할 수 있다.
제1단말기는 S2120단계에서 제1파일의 암호화에 사용된 제2사용자의 적어도 1 개의 ID, 제1파일의 원본파일명, 제1파일의 원본확장자 및 구분자를 암호화 파일의 파일명으로 설정하고, 암호화용 확장자를 암호화 파일의 확장자로 설정하여 암호화 파일을 생성할 수 있다(S2130). 구분자는 제1파일의 원본파일명과 암호화에 사용된 제2사용자의 ID를 구분하는 역할을 한다.
제1단말기는 제1사용자로부터 제1파일의 전송이 요청되면, 제2사용자의 ID가 파일명으로 사용되고, 암호화용 확장자가 확장자로 설정된 암호화 파일을 제2단말기 또는 제1단말기와 제2단말기가 공유하는 로컬 서버로 전송할 수 있다(S2140).
제2단말기는 암호화 파일을 수신하면, 암호화 파일의 확장자를 확인할 수 있다(S2150).
확인된 확장자가 암호화용 확장자인 경우(S2160-Y), 제2단말기는 암호화용 확장자에 대해 설정된 전용 프로그램(즉, ID 기반 처리 모듈의 실행을 위한 프로그램)을 자동으로 실행시킬 수 있다(S2170).
제2단말기는 전용 프로그램에 의해, 수신된 암호화 파일 중 암호화용 확장자와 구분자 사이에 기재된 제2사용자의 적어도 하나의 ID를 확인하고(S2180), 확인된 적어도 하나의 ID와 쌍을 이루는 비밀키를 이용하여 암호화 파일을 복호화할 수 있다(S2190). 제2사용자는 육안으로 확인된 암호화용 확장자로부터 수신된 파일이 암호화 파일임을 알 수도 있다.
도 22는 본 발명적 개념의 예시적 실시예에 따른 ID 기반 전자서명 및 검증 방법을 설명하기 위한 흐름도이다.
도 22를 참조하면, 제1단말기는 ID 기반 처리 모듈을 실행시킨 후 제2파일의 전자서명을 제1사용자로부터 요청받는다(S2210).
제1단말기는 제1사용자의 요청에 의해, 제1사용자의 적어도 하나의 ID에 대응하는 비밀키를 이용하여 전자서명을 생성하고, 전자서명을 제2파일에 첨부할 수 있다(S2220).
제1단말기는 S2220단계에서 사용된 제1사용자의 적어도 하나의 ID, 제2파일의 원본파일명, 제2파일의 원본확장자 및 구분자를 서명 파일의 파일명으로 설정하고, 서명용 확장자를 서명 파일의 확장자로 설정하여 서명 파일을 생성할 수 있다(S2230). 서명 파일의 구분자는 제2파일의 원본파일명과 전자서명에 사용된 제1사용자의 ID를 구분할 수 있다. 제2파일(또는 서명 파일)의 파일명 중 일부로 설정된 제1사용자의 적어도 하나의 ID는 전자서명의 생성에 사용된 제1사용자의 적어도 하나의 비밀키와 쌍을 이루는 ID이다.
제1단말기는 제1사용자로부터 제2파일의 전송이 요청되면, 서명 파일을 제2단말기로 전송한다(S2240).
제2단말기는 제1파일을 수신하면, 서명 파일의 확장자를 확인한다(S2250).
확인된 확장자가 서명용 확장자이면(S2260-Y), 제2단말기는 서명용 확장자에 연결된 전용 프로그램(즉, ID 기반 처리 모듈)을 자동으로 실행시킬 수 있다(S2270).
제2단말기는 전용 프로그램에 의해, 수신된 서명 파일 중 서명용 확장자와 구분자 사이에 기재된 제1사용자의 적어도 하나의 ID를 확인하고(S2280), 확인된 적어도 하나의 ID와 검증 알고리즘을 이용하여 서명 파일의 전자서명을 검증할 수 있다(S2290).
도 23은 본 발명적 개념의 예시적 다른 실시예에 따른 ID 기반 암호화 및 복호화 방법을 설명하기 위한 흐름도이다.
도 23의 ID 기반 암호화 및 복호화 방법은 도 9를 참조하여 설명한 제3단말기(300) 및 제4단말기(400)에 의해 수행될 수 있다.
도 23을 참조하면, 제3단말기는 ID 기반 처리 모듈에서 제공하는 ID 입력 화면(미도시)을 통해 제4사용자의 ID를 사용자로부터 적어도 하나 입력받는다(S2310).
제3단말기는 S2310단계에서 입력되는 적어도 하나의 ID를 이용하여 제1파일을 암호화한다(S2320).
제3단말기는 S2320단계에서 제1파일의 암호화에 사용된 제4사용자의 적어도 1 개의 ID, 제1파일의 원본파일명, 제1파일의 원본확장자 및 구분자를 암호화 파일의 파일명으로 설정하고, 암호화용 확장자를 암호화 파일의 확장자로 설정하여 암호화 파일을 생성할 수 있다(S2330).
웹환경을 통한 암호화 파일의 전송이 요청되면, 제4단말기는 암호화 파일이 암호화되었음을 식별하기 위한 정보를 포함하는 MIME 헤더를 생성할 수 있다(S2340). MIME 헤더는 암호화 파일의 확장자로 사용되는 암호화용 확장자를 암호화되었음을 식별하기 위한 정보로서 사용할 수 있으며, 도 10을 참조하여 설명한 포맷을 가질 수 있다.
제3단말기는 제3사용자로부터 암호화 파일의 전송이 요청되면, 암호화 파일과 MIME 헤더를 제4단말기에게 전송할 수 있다(S2350).
제4단말기는 암호화 파일과 MIME 헤더를 수신하면, MIME 헤더를 파싱하여 수신된 파일의 확장자를 확인할 수 있다(S2360).
확인된 확장자가 암호화용 확장자인 경우(S2370-Y), 제4단말기(예를 들어, 제4단말기의 웹 브라우저)는 암호화용 확장자에 대해 설정된 전용 프로그램(즉, ID 기반 처리 모듈의 실행을 위한 프로그램)을 자동으로 실행시킬 수 있다(S2380).
제4단말기는 전용 프로그램에 의해, 수신된 암호화 파일 중 암호화용 확장자와 구분자 사이에 기재된 제4사용자의 적어도 하나의 ID를 확인하고(S2390), 확인된 적어도 하나의 ID와 쌍을 이루는 비밀키를 이용하여 암호화 파일을 복호화할 수 있다(S2395).
도 24는 본 발명적 개념의 예시적 다른 실시예에 따른 ID 기반 전자서명 및 검증 방법을 설명하기 위한 흐름도이다.
도 24를 참조하면, 제3단말기는 ID 기반 처리 모듈을 실행시킨 후 제2파일의 전자서명을 제3사용자로부터 요청받는다(S2410).
제3단말기는 제3사용자의 요청에 의해, 제3사용자의 적어도 하나의 ID에 대응하는 비밀키를 이용하여 전자서명을 생성하고, 전자서명을 제2파일에 첨부할 수 있다(S2420).
제3단말기는 S2420단계에서 사용된 제3사용자의 적어도 하나의 ID, 제2파일의 원본파일명, 제2파일의 원본확장자 및 구분자를 서명 파일의 파일명으로 설정하고, 서명용 확장자를 서명 파일의 확장자로 설정하여 서명 파일을 생성할 수 있다(S2430).
웹환경을 통한 서명 파일의 전송이 요청되면, 제4단말기는 서명 파일에 전자서명이 첨부되었음을 식별하기 위한 정보를 포함하는 MIME 헤더를 생성할 수 있다(S2440). MIME 헤더는 서명 파일의 확장자로 사용되는 서명용 확장자를 상기 정보로서 사용할 수 있다.
제3단말기는 제3사용자로부터 제2파일의 전송이 요청되면, 서명 파일과 MIME 헤더를 제4단말기로 전송한다(S2450).
제4단말기는 서명 파일과 MIME 헤더를 수신하면, MIME 헤더를 파싱하여 수신된 파일의 확장자를 확인한다(S2460).
확인된 확장자가 서명용 확장자이면(S2470-Y), 제4단말기는 서명용 확장자에 연결된 전용 프로그램(즉, ID 기반 처리 모듈)을 자동으로 실행시킬 수 있다(S2480).
제4단말기는 전용 프로그램에 의해, 수신된 서명 파일 중 서명용 확장자와 구분자 사이에 기재된 제3사용자의 적어도 하나의 ID를 확인하고(S2490), 확인된 적어도 하나의 ID와 검증 알고리즘을 이용하여 서명 파일의 전자서명을 검증할 수 있다(S2495).
상기와 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 제1단말기 110: 제1사용자 입력부
120: 제1표시부 130: 제1통신부
140: 제1저장부 150: 제1ID 기반 처리 모듈
160: 제1제어부 151: 제1화면 생성부
152: 제1암호화부 153: 제1파일생성부
154: 제1전자서명부 155: 제1복호화부
156: 제1검증부

Claims (28)

  1. 제1파일을 수신할 수신자의 ID(identification)가 입력되면, 상기 수신자의 ID를 공개키로서 이용하여 상기 제1파일을 암호화하는 암호화부; 및
    상기 수신자의 ID를 상기 암호화된 제1파일의 파일명 중 일부로 설정하고, 상기 제1파일이 암호화되었음을 나타내는 암호화용 확장자를 상기 제1파일의 확장자로 하여 암호화 파일을 생성하는 파일 생성부;를 포함하며,
    상기 ID는 상기 수신자가 속한 그룹DP에 유일하게 할당된 그룹 ID 이거나 또는 상기 수신자에게만 유일하게 할당된 개인 ID 인 것을 특징으로 하는 아이디 기반 암호화 및 서명 장치.
  2. 제1항에 있어서,
    상기 파일 생성부는,
    상기 제1파일의 원본파일명, 상기 제1파일의 원본확장자, 구분자 및 상기 수신자의 ID를 상기 암호화 파일의 파일명으로 설정하며, 상기 구분자는 상기 제1파일의 원본파일명과 상기 암호화에 사용된 수신자의 ID를 구분하기 위해 사용되는 것을 특징으로 하는 아이디 기반 암호화 및 서명 장치.
  3. 제1항 또는 제2항에 있어서,
    상기 암호화 파일을 수신한 수신측 단말기는, 상기 암호화 파일의 암호화용 확장자와 상기 수신자의 ID를 확인하고, 상기 확인된 암호화용 확장자로부터 상기 암호화 파일이 암호화되었음을 판단하고, 상기 확인된 수신자의 ID와 쌍을 이루는 비밀키를 이용하여 상기 암호화 파일을 복호화하는 것을 특징으로 하는 아이디 기반 암호화 및 서명 장치.
  4. 제3항에 있어서,
    상기 수신측 단말기의 운영체제는, 파일 시스템의 디렉토리 엔트리로부터 상기 암호화 파일의 암호화용 확장자를 확인하고, 상기 확인된 암호화용 확장자에 대해 지정된 연결 프로그램을 실행하여 상기 암호화 파일을 복호화하는 것을 특징으로 하는 아이디 기반 암호화 및 서명 장치.
  5. 제1항에 있어서,
    상기 암호화 파일을 웹 환경을 통해 상기 수신자에게 전송하는 경우, 상기 암호화 파일이 암호화되었음을 식별하기 위한 정보를 포함하는 MIME(Multipurpose Internet Message Extensions) 헤더를 생성하는 MIME 헤더 생성부;를 더 포함하며,
    상기 암호화 파일과 상기 MIME 헤더는 상기 웹 환경을 통해 상기 수신자에게 전송되는 것을 특징으로 하는 아이디 기반 암호화 및 서명 장치.
  6. 제5항에 있어서,
    상기 MIME 헤더 생성부는, 상기 암호화용 확장자를 상기 암호화 파일이 암호화되었음을 식별하기 위한 정보로서 사용하는 것을 특징으로 하는 아이디 기반 암호화 및 서명 장치.
  7. 제5항에 있어서,
    상기 암호화 파일을 수신한 수신측 단말기는,
    상기 MIME 헤더를 파싱하여 상기 MIME 헤더에 포함된 정보를 확인하고, 상기 확인된 정보에 대해 지정된 연결 프로그램을 실행하는 헤더 확인부;를 포함하며,
    상기 헤더 확인부에 의해 실행되는 연결 프로그램은 상기 수신된 암호화 파일을 복호화하는 것을 특징으로 하는 아이디 기반 암호화 및 서명 장치.
  8. 제1항에 있어서,
    제2파일을 송신할 송신자의 비밀키를 사용하여 전자서명을 생성하여 상기 제2파일에 첨부하는 전자서명부;를 더 포함하며,
    상기 파일 생성부는, 상기 송신자의 ID를 상기 전자서명이 첨부된 제2파일의 파일명 중 일부로 설정하고, 상기 제2파일이 서명되었음을 나타내는 서명용 확장자를 상기 제2파일의 확장자로 하여 서명 파일을 생성하며,
    상기 송신자의 ID는 상기 전자서명의 생성에 사용된 상기 송신자의 비밀키와 쌍을 이루는 것을 특징으로 하는 아이디 기반 암호화 및 서명 장치.
  9. 제8항에 있어서,
    상기 파일 생성부는,
    상기 제2파일의 원본파일명, 상기 제2파일의 원본확장자, 구분자 및 상기 송신자의 ID를 상기 서명 파일의 파일명으로 설정하며, 상기 구분자는 상기 제2파일의 원본파일명과 상기 전자서명에 사용된 송신자의 ID를 구분하기 위해 사용되는 것을 특징으로 하는 아이디 기반 암호화 및 서명 장치.
  10. 제8항에 있어서,
    상기 서명 파일을 수신한 수신측 단말기는, 상기 서명 파일의 확장자로 사용된 상기 서명용 확장자와 상기 송신자의 ID를 확인하고, 상기 확인된 서명용 확장자로부터 상기 서명 파일에 서명이 첨부되었음을 판단하고, 상기 확인된 송신자의 ID를 이용하여 상기 전자서명의 유효성을 검증하는 것을 특징으로 하는 아이디 기반 암호화 및 서명 장치.
  11. 제10항에 있어서,
    상기 수신측 단말기는, 상기 확인된 서명용 확장자에 대해 지정된 연결 프로그램을 실행하여 상기 서명 파일의 서명을 검증하는 것을 특징으로 하는 아이디 기반 암호화 및 서명 장치.
  12. 제8항에 있어서,
    상기 서명 파일을 웹 환경을 통해 상기 수신자에게 전송하는 경우, 상기 서명 파일이 서명되었음을 식별하기 위한 정보를 포함하는 MIME(Multipurpose Internet Message Extensions) 헤더를 생성하는 MIME 헤더 생성부;를 더 포함하며,
    상기 서명 파일과 상기 MIME 헤더는 상기 웹 환경을 통해 상기 수신자에게 전송되는 것을 특징으로 하는 아이디 기반 암호화 및 서명 장치.
  13. 제12항에 있어서,
    상기 MIME 헤더 생성부는, 상기 서명용 확장자를 상기 서명 파일이 서명되었음을 식별하기 위한 정보로서 사용하는 것을 특징으로 하는 아이디 기반 암호화 및 서명 장치.
  14. 제12항에 있어서,
    상기 서명 파일을 수신한 수신측 단말기는,
    상기 MIME 헤더를 파싱하여 상기 MIME 헤더에 포함된 정보를 확인하고, 상기 확인된 정보에 대해 지정된 연결 프로그램을 실행하는 헤더 확인부;를 포함하며,
    상기 헤더 확인부에 의해 실행되는 연결 프로그램은 상기 서명 파일의 서명을 검증하는 것을 특징으로 하는 아이디 기반 암호화 및 서명 장치.
  15. 제1항에 있어서,
    상기 ID가 순차적으로 복수 개 입력되면, 상기 암호화부는 상기 복수 개의 ID를 순차적으로 이용하여 상기 제1파일을 계층적으로 암호화하고, 상기 파일 생성부는 상기 복수 개의 ID를 상기 암호화된 제1파일의 파일명 중 일부로 설정하는 것을 특징으로 하는 아이디 기반 암호화 및 서명 장치.
  16. 제15항에 있어서,
    상기 순차적으로 입력되는 복수 개의 ID는 상기 수신자가 속한 그룹들 중 그룹의 ID와 상기 수신자의 개인 ID를 포함하며,
    상기 암호화부는 상기 수신자의 개인 ID를 먼저 이용하여 상기 제1파일을 1차 암호화한 후 상기 그룹의 ID를 이용하여 상기 제1파일을 2차 암호화하는 것을 특징으로 하는 아이디 기반 암호화 및 서명 장치.
  17. 제1파일을 수신할 수신자의 ID(identification)가 입력되면, 상기 수신자의 ID를 공개키로서 이용하여 상기 제1파일을 암호화하는 단계; 및
    상기 수신자의 ID를 상기 암호화된 제1파일의 파일명 중 일부로 설정하고, 상기 제1파일이 암호화되었음을 나타내는 암호화용 확장자를 상기 제1파일의 확장자로 하여 암호화 파일을 생성하는 단계;를 포함하며,
    상기 ID는 상기 수신자가 속한 그룹에 유일하게 할당된 그룹 ID 이거나 또는 상기 수신자에게만 유일하게 할당된 개인 ID 인 것을 특징으로 하는 아이디 기반 암호화 및 서명 방법.
  18. 제17항에 있어서,
    상기 암호화 파일을 생성하는 단계는,
    상기 제1파일의 원본파일명, 상기 제1파일의 원본확장자, 구분자 및 상기 수신자의 ID를 상기 암호화 파일의 파일명으로 설정하며, 상기 구분자는 상기 제1파일의 원본파일명과 상기 암호화에 사용된 수신자의 ID를 구분하기 위해 사용되는 것을 특징으로 하는 아이디 기반 암호화 및 서명 방법.
  19. 제17항 또는 제18항에 있어서,
    상기 암호화 파일을 수신한 수신측 단말기는, 상기 암호화 파일의 암호화용 확장자와 상기 수신자의 ID를 확인하고, 상기 확인된 암호화용 확장자로부터 상기 암호화 파일이 암호화되었음을 판단하고, 상기 확인된 수신자의 ID와 쌍을 이루는 비밀키를 이용하여 상기 암호화 파일을 복호화하는 것을 특징으로 하는 아이디 기반 암호화 및 서명 방법.
  20. 제19항에 있어서,
    상기 수신측 단말기의 운영체제는, 파일 시스템의 디렉토리 엔트리로부터 상기 암호화 파일의 암호화용 확장자를 확인하고, 상기 확인된 암호화용 확장자에 대해 지정된 연결 프로그램을 실행하여 상기 암호화 파일을 복호화하는 것을 특징으로 하는 아이디 기반 암호화 및 서명 방법.
  21. 제17항에 있어서,
    상기 암호화 파일을 웹 환경을 통해 상기 수신자에게 전송하는 경우, 상기 암호화 파일이 암호화되었음을 식별하기 위한 정보를 포함하는 MIME(Multipurpose Internet Message Extensions) 헤더를 생성하는 단계; 및
    상기 암호화 파일과 상기 MIME 헤더는 상기 웹 환경을 통해 상기 수신자에게 전송하는 단계;를 더 포함하는 것을 특징으로 하는 아이디 기반 암호화 및 서명 방법.
  22. 제21항에 있어서,
    상기 MIME 헤더를 생성하는 단계는, 상기 암호화용 확장자를 상기 암호화 파일이 암호화되었음을 식별하기 위한 정보로서 사용하는 것을 특징으로 하는 아이디 기반 암호화 및 서명 방법.
  23. 제21항에 있어서,
    상기 암호화 파일을 수신한 수신측 단말기는,
    상기 MIME 헤더를 파싱하여 상기 MIME 헤더에 포함된 정보에 지정된 연결 프로그램을 실행하고, 상기 실행되는 연결 프로그램을 이용하여 상기 수신된 암호화 파일을 복호화하는 것을 특징으로 하는 아이디 기반 암호화 및 서명 방법.
  24. 제17항에 있어서,
    제2파일을 송신할 송신자의 비밀키를 사용하여 전자서명을 생성하여 상기 제2파일에 첨부하는 단계; 및
    상기 송신자의 ID를 상기 전자서명이 첨부된 제2파일의 파일명 중 일부로 설정하고, 상기 제2파일이 서명되었음을 나타내는 서명용 확장자를 상기 제2파일의 확장자로 하여 서명 파일을 생성하는 단계;를 더 포함하며,
    상기 송신자의 ID는 상기 전자서명의 생성에 사용된 상기 송신자의 비밀키와 쌍을 이루는 것을 특징으로 하는 아이디 기반 암호화 및 서명 방법.
  25. 제24항에 있어서,
    상기 서명 파일을 생성하는 단계는,
    상기 제2파일의 원본파일명, 상기 제2파일의 원본확장자, 구분자 및 상기 송신자의 ID를 상기 서명 파일의 파일명으로 설정하며, 상기 구분자는 상기 제2파일의 원본파일명과 상기 전자서명에 사용된 송신자의 ID를 구분하기 위해 사용되는 것을 특징으로 하는 아이디 기반 암호화 및 서명 방법.
  26. 제24항에 있어서,
    상기 서명 파일을 수신한 수신측 단말기는, 상기 서명 파일의 확장자로 사용된 상기 서명용 확장자와 상기 송신자의 ID를 확인하고, 상기 확인된 서명용 확장자로부터 상기 서명 파일에 서명이 첨부되었음을 판단하고, 상기 확인된 송신자의 ID를 이용하여 상기 전자서명의 유효성을 검증하는 것을 특징으로 하는 아이디 기반 암호화 및 서명 방법.
  27. 제26항에 있어서,
    상기 서명 파일을 웹 환경을 통해 상기 수신자에게 전송하는 경우, 상기 서명 파일이 서명되었음을 식별하기 위한 정보를 포함하는 MIME(Multipurpose Internet Message Extensions) 헤더를 생성하는 단계;를 더 포함하며,
    상기 서명 파일과 상기 MIME 헤더는 상기 웹 환경을 통해 상기 수신자에게 전송되는 것을 특징으로 하는 아이디 기반 암호화 및 서명 방법.
  28. 제27항에 있어서,
    상기 MIME 헤더를 생성하는 단계는, 상기 서명용 확장자를 상기 서명 파일이 서명되었음을 식별하기 위한 정보로서 사용하는 것을 특징으로 하는 아이디 기반 암호화 및 서명 방법.
KR1020110112459A 2011-05-31 2011-10-31 아이디 기반 암호화 및 서명 장치 및 방법 KR101319751B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020110112459A KR101319751B1 (ko) 2011-10-31 2011-10-31 아이디 기반 암호화 및 서명 장치 및 방법
PCT/KR2012/004328 WO2012165889A2 (ko) 2011-05-31 2012-05-31 아이디 기반 암호화 및 서명 방법 및 단말기
CN201280027000.XA CN103650410A (zh) 2011-05-31 2012-05-31 基于id的加密及签名方法以及终端
US14/122,935 US9219714B2 (en) 2011-05-31 2012-05-31 ID-based encryption and signature method and terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110112459A KR101319751B1 (ko) 2011-10-31 2011-10-31 아이디 기반 암호화 및 서명 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20130047435A KR20130047435A (ko) 2013-05-08
KR101319751B1 true KR101319751B1 (ko) 2013-11-21

Family

ID=48658927

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110112459A KR101319751B1 (ko) 2011-05-31 2011-10-31 아이디 기반 암호화 및 서명 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101319751B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102131871B1 (ko) * 2016-07-26 2020-07-08 주식회사 케이티 영상 수집 장치, 그리고 서버를 포함하는 인증 시스템 및 이를 이용한 인증 방법
KR102439775B1 (ko) * 2018-01-15 2022-09-05 삼성에스디에스 주식회사 메시지 처리 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003288247A (ja) * 2002-03-28 2003-10-10 Ntt Comware Corp コンテンツのセキュリティ機能付き管理方法およびセキュリティ機能付きコンテンツ管理装置
KR20050025201A (ko) * 2003-09-05 2005-03-14 (주)아이즈멘아이엔씨 플레쉬 파일에 콘텐츠 저작권 보호 방법을 적용한 플레쉬플레이어 장치 및 서비스 방법
KR20070065365A (ko) * 2007-04-09 2007-06-22 노키아 코포레이션 독점적 데이터 포맷 콘텐츠를 다루기 위한 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003288247A (ja) * 2002-03-28 2003-10-10 Ntt Comware Corp コンテンツのセキュリティ機能付き管理方法およびセキュリティ機能付きコンテンツ管理装置
KR20050025201A (ko) * 2003-09-05 2005-03-14 (주)아이즈멘아이엔씨 플레쉬 파일에 콘텐츠 저작권 보호 방법을 적용한 플레쉬플레이어 장치 및 서비스 방법
KR20070065365A (ko) * 2007-04-09 2007-06-22 노키아 코포레이션 독점적 데이터 포맷 콘텐츠를 다루기 위한 방법 및 장치

Also Published As

Publication number Publication date
KR20130047435A (ko) 2013-05-08

Similar Documents

Publication Publication Date Title
US9219714B2 (en) ID-based encryption and signature method and terminal
KR101224745B1 (ko) 전자 명함 교환 시스템 및 방법
JP4991035B2 (ja) 遠隔解読サービスを備えたセキュアメッセージシステム
JP5028425B2 (ja) 電子データ通信システム
US20070022162A1 (en) Generating PKI email accounts on a web-based email system
US20020023213A1 (en) Encryption system that dynamically locates keys
US20060053278A1 (en) Encryption device
JP6575547B2 (ja) ドキュメント管理システム
US20070022291A1 (en) Sending digitally signed emails via a web-based email system
US20080235175A1 (en) Secure Document Management System
US8352742B2 (en) Receiving encrypted emails via a web-based email system
US20080235236A1 (en) Secure Document Management System
JP2018157383A (ja) 管理装置及びドキュメント管理システム
KR101319751B1 (ko) 아이디 기반 암호화 및 서명 장치 및 방법
US20080235394A1 (en) Secure Document Management System
JP2017010096A (ja) 情報処理システム
KR101233925B1 (ko) 아이디 기반 암호화 및 서명 장치 및 방법, 비밀키 발급 서버 및 방법
JP4835266B2 (ja) 暗号化転送装置及びプログラム
JP2004295807A (ja) 配信用文書ファイル作成システム
JP6849018B2 (ja) ドキュメント管理システム
US20070266235A1 (en) Electronic mail creation device, electronic mail creation method, electronic mail creation program storage medium, electronic mail sending device, electronic mail sending method, and electronic mail sending program storage medium
WO2021001989A1 (ja) チャットボットシステム、情報処理装置、情報処理方法及びプログラム
JP2015219822A (ja) ワンストップ申請システム、ワンストップ申請方法およびプログラム
US20050138367A1 (en) System and method for storing user credentials on a server copyright notice
JP4248489B2 (ja) ファイル転送システム及びファイル転送方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160920

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170928

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180927

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 7