KR20030027181A - 전자 문서의 암호화 및 복호화 방법 - Google Patents

전자 문서의 암호화 및 복호화 방법 Download PDF

Info

Publication number
KR20030027181A
KR20030027181A KR1020010056831A KR20010056831A KR20030027181A KR 20030027181 A KR20030027181 A KR 20030027181A KR 1020010056831 A KR1020010056831 A KR 1020010056831A KR 20010056831 A KR20010056831 A KR 20010056831A KR 20030027181 A KR20030027181 A KR 20030027181A
Authority
KR
South Korea
Prior art keywords
electronic document
encryption
document
encrypted
xml
Prior art date
Application number
KR1020010056831A
Other languages
English (en)
Other versions
KR100451007B1 (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 KR10-2001-0056831A priority Critical patent/KR100451007B1/ko
Publication of KR20030027181A publication Critical patent/KR20030027181A/ko
Application granted granted Critical
Publication of KR100451007B1 publication Critical patent/KR100451007B1/ko

Links

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
    • G06F21/602Providing cryptographic facilities or services
    • 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
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Storage Device Security (AREA)

Abstract

1. 청구범위에 기재된 발명이 속하는 기술분야
본 발명은 전자 문서의 암호화 및 복호화 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것임.
2. 발명이 해결하고자 하는 기술적 과제
본 발명은 인터넷 전자문서 및 전자 책 등의 표준으로 자리잡고 있는 XML 및 여러 전자 문서에 보안을 더한 XML 형태의 암호 기술에서 전체 암호화/복호화, 부분 암호화/복호화 및 전체 암호화되어 있는 문서 혹은 XML 문서상의 부분 암호화되어 있는 한 엘리먼트 또는 엘리먼트의 내용, 엘리먼트 안에 있는 속성 및 속성 값에 대한 다중 억세스할 수 있도록 한 XML 문서를 포함한 전자 문서의 암호화 및 복호화 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공함을 그 목적으로 함.
3. 발명의 해결방법의 요지
본 발명은, 전자 문서의 암호화 장치에 적용되는 암호화 방법에 있어서, 선택된 문서를 부분 암호화 및 전체 암호화 부분 영역에 따라 생성된 XML(Extensible Markup Language: 확장성 생성 언어) 암호화 템플릿을 통해 인코딩 및 압축을 수행하고 다중 억세스가 지원되는지를 판단하는 제 1 단계; 상기 제 1 단계의 판단 결과, 다중 억세스가 지원될 경우에는 부호화할 사용자 혹은 그룹을 선택하여 특정키를 생성하고, 압축된 문서를 상기 생성된 특정키를 통해 암호화 및 재차 인코딩을수행하고 그 결과를 XML 암호화 템플릿에 삽입하는 제 2 단계; 상기 제 2 단계에서 생성된 특정키를 각각의 공개키로 암호화 및 인코딩을 수행하여 다중 억세스를 위한 엘리먼트를 생성하고, 상기 XML 암호화 템플릿에 삽입하여 다중 억세스로 암호화된 전자 문서 정보를 생성하는 제 3 단계; 상기 제 1 단계의 판단 결과, 다중 억세스가 지원되지 않을 경우 비밀키를 생성하고, 압축된 문서를 상기 생성된 비밀키를 통해 암호화 및 재차 인코딩을 수행하고 그 결과를 XML 암호화 템플릿에 삽입하는 제 4 단계; 및 상기 4 단계에서 생성된 비밀키를 공개키로 암호화 및 인코딩을 수행하고, 암호화되고 인코딩된 비밀키를 XML 암호화 문서에 삽입하고, 제 1 단계 내지 제 4 단계에서 사용된 알고리즘 및 기타 정보들을 XML 암호화 문서에 삽입하여 최종 XML 암호화 문서를 생성하는 제 5 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 전자 상거래 등에 응용됨.

Description

전자 문서의 암호화 및 복호화 방법{Method for encrypting and decrypting of XML document}
본 발명은 전자 문서의 암호화 및 복호화 방법에 관한 것으로, 보다 상세하게는 XML 및 여러 전자 문서에 보안을 더한 XML 형태의 전체 암호화/복호화, 부분 암호화/복호화 및 전체 암호화되어 있는 문서 또는 부분 암호화되어 있는 한 엘리먼트 또는 엘리먼트의 내용, 엘리먼트 안에 있는 속성 및 속성 값에 대한 다중 억세스를 하기 위한 전자 문서의 암호화 및 복호화 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
최근에 전자상거래는 B2B(Business To Business), B2C (Business To Customer) 등으로 많은 영역으로 확장되어 왔고, 또한 전자상거래를 사용하는 사용자들의 수는 급속하게 증가하였다. 그러나, 전자상거래의 발전을 여러 가지 요소로 인하여 사용자들이 사용하기를 꺼려하게 되었다. 가장 큰 문제는 우선 전자상거래에서 사용되는 문서들(예를 들어 주문서, 견적서 등등)에 대한 보안 문제가 가장 크다. 그리고 다른 큰 문제는 서로 다른 형식의 데이터를 가지고 있으므로 서로 사용하기 용이하지 않다는 점에 문제가 있었다.
따라서, 전자 상거래를 위한 전자 문서에 기밀성을 제공하기 위해 XML 전자 문서에 대한 암호 기술이 적용되고 있으나, 기존의 암호 기술을 적용할 경우, 암호화 결과가 바이너리 객체로 저장되어 개방적이고 텍스트 기반인 XML 기술과 잘 접목이 되지 않고, 알고리즘 식별자가 사람이 알아보기 힘든 OID(객체 식별자)로 되어 있으며 복호화시 알고리즘, 인증서 등의 정보 처리를 특정 어플리케이션에 종속적으로 처리해야 하는 등의 단점이 발생하게 된다.
그러므로, 최근에는 암호 기술과 XML 기술이 잘 접목되도록 하는 방법으로는 XML 암호 기술을 구현한 IBM의 AlphaWorks (http://www.alphaworks.ibm.com/tech/xmlsecuritysuite), Baltimore의 X/Secure (http://www.baltimoreinc.com/library/whitepapers/xsecure.html) 등이 있으나 아직 국제 표준을 제대로 만족하지 않고 있고 XML 암호 기능을 다른 전자상거래 보안 기능 구성 요소들과 어떻게 통합해야 하는지의 방법을 제시해 주지 않고 있으며 국내 표준 암호 알고리즘인 SEED 등을 지원하지 않아 국내 전자상거래에 사용하기에는 무리가 있다. 현재 IETF/W3C에서 XML 암호 기술에 관한 표준화 작업이 2000.1에 시작되어 진행 중이므로 주요 결과물이 아직 생성되지 않았다. 그나마 몇 개의 제안이 나왔으나 전자 문서 암호화 구조(XML Encryption Syntax)위주로 되어 있어 이를 만족하는 XML 암호 기술을 생성하고 검증하기 위한 세부 처리 절차는 명확히 제시하고 있지 않다. 또한 전체 암호화된 문서나 부분 암호화 된 XML 문서의 부분(엘리먼트, 엘리먼트 안에 있는 속성, 속성 값, 및 엘리먼트 내용)에 대한 다중 억세스 방법 등은 제안도 되어 있지 않다.
이에 본 발명은, 상기와 같은 종래의 문제점을 해결하기 위해 제안된 것으로, 인터넷 전자문서 및 전자 책 등의 표준으로 자리잡고 있는 XML 및 여러 전자 문서에 보안을 더한 XML 형태의 암호 기술에서 전체 암호화/복호화, 부분 암호화/복호화 및 전체 암호화되어 있는 문서 혹은 XML 문서상의 부분 암호화되어 있는 한엘리먼트 또는 엘리먼트의 내용, 엘리먼트 안에 있는 속성 및 속성 값에 대한 다중 억세스할 수 있도록 한 전자 문서의 암호화 및 복호화 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공함을 그 목적으로 한다.
도 1은 본 발명이 적용되는 전자 문서의 암호화 장치의 상세 구성도.
도 2는 본 발명이 적용되는 전자 문서의 복호화 장치의 상세 구성도.
도 3은 본 발명에 따른 전자 문서의 암호화 방법에 대한 일실시예 흐름도.
도 4는 본 발명에 따른 전자 문서의 복호화 방법에 대한 일실시예 흐름도.
<도면의 주요부분에 대한 부호의 설명>
110 : 키 생성 모듈 120 : 제1 문서 인코딩 모듈
130 : 문서 압축 모듈 140 : 대칭키 문서 암호화 모듈
150 : 제2 문서 인코딩 모듈 160 : 공개키 암호화 모듈
170 : 비밀키 인코딩 모듈 180 : 보조정보 인코딩 모듈
190 : 암호화 정보 전송 모듈
상기와 같은 목적을 달성하기 위한 본 발명은, 전자 문서의 암호화 장치에 적용되는 암호화 방법에 있어서, 선택된 문서를 부분 암호화 및 전체 암호화 부분 영역에 따라 생성된 XML(Extensible Markup Language: 확장성 생성 언어) 암호화 템플릿을 통해 인코딩 및 압축을 수행하고 다중 억세스가 지원되는지를 판단하는 제 1 단계; 상기 제 1 단계의 판단 결과, 다중 억세스가 지원될 경우에는 부호화할 사용자 혹은 그룹을 선택하여 특정키를 생성하고, 압축된 문서를 상기 생성된 특정키를 통해 암호화 및 재차 인코딩을 수행하고 그 결과를 XML 암호화 템플릿에 삽입하는 제 2 단계; 상기 제 2 단계에서 생성된 특정키를 각각의 공개키로 암호화 및 인코딩을 수행하여 다중 억세스를 위한 엘리먼트를 생성하고, 상기 XML 암호화 템플릿에 삽입하여 다중 억세스로 암호화된 전자 문서 정보를 생성하는 제 3 단계; 상기 제 1 단계의 판단 결과, 다중 억세스가 지원되지 않을 경우 비밀키를 생성하고, 압축된 문서를 상기 생성된 비밀키를 통해 암호화 및 재차 인코딩을 수행하고 그 결과를 XML 암호화 템플릿에 삽입하는 제 4 단계; 및 상기 4 단계에서 생성된 비밀키를 공개키로 암호화 및 인코딩을 수행하고, 암호화되고 인코딩된 비밀키를XML 암호화 문서에 삽입하고, 제 1 단계 내지 제 4 단계에서 사용된 알고리즘 및 기타 정보들을 XML 암호화 문서에 삽입하여 최종 XML 암호화 문서를 생성하는 제 5 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은, 전자 문서의 복호화 장치에 적용되는 복호화 방법에 있어서, 암호화된 전자 문서를 부분 복호화 및 전체 복호화 부분 영역에 따라 디코딩을 수행하고 다중 억세스가 지원되는지를 판단하는 제 1 단계; 상기 제 1 단계의 판단 결과, 다중 억세스가 지원될 경우에는 디코딩 및 복호화 된 특정키를 이용하여 암호화된 상기 디코딩 된 전자 문서를 복호화 및 디코딩을 수행하는 제 2 단계; 및 상기 제 1 단계의 판단 결과, 다중 억세스를 지원되지 않을 경우에는 디코딩 및 복호화 된 비밀키를 이용하여 상기 디코딩 된 전자 문서를 복호화 및 디코딩을 수행하는 제 3 단계를 포함하는 것을 특징으로 한다.
한편, 본 발명은, 전자 문서의 암호화를 위해, 프로세서를 구비한 암호화 장치에, 선택된 문서를 부분 암호화 및 전체 암호화 부분 영역에 따라 생성된 XML(Extensible Markup Language: 확장성 생성 언어) 암호화 템플릿을 통해 인코딩 및 압축을 수행하고 다중 억세스가 지원되는지를 판단하는 제 1 기능; 상기 제 1 기능의 판단 결과, 다중 억세스가 지원될 경우에는 부호화할 사용자 혹은 그룹을 선택하여 특정키를 생성하고, 압축된 문서를 상기 생성된 특정키를 통해 암호화 및 재차 인코딩을 수행하고 그 결과를 XML 암호화 템플릿에 삽입하는 제 2 기능; 상기 제 2 기능에서 생성된 특정키를 각각의 공개키로 암호화 및 인코딩을 수행하여 다중 억세스를 위한 엘리먼트를 생성하고, 상기 XML 암호화 템플릿에 삽입하여 다중억세스로 암호화된 전자 문서 정보를 생성하는 제 3 기능; 상기 제 1 기능의 판단 결과, 다중 억세스가 지원되지 않을 경우 비밀키를 생성하고, 압축된 문서를 상기 생성된 비밀키를 통해 암호화 및 재차 인코딩을 수행하고 그 결과를 XML 암호화 템플릿에 삽입하는 제 4 기능; 및 상기 4 기능에서 생성된 비밀키를 공개키로 암호화 및 인코딩을 수행하고, 암호화되고 인코딩된 비밀키를 XML 암호화 문서에 삽입하고, 제 1 기능 내지 제 4 기능에서 사용된 알고리즘 및 기타 정보들을 XML 암호화 문서에 삽입하여 최종 XML 암호화 문서를 생성하는 제 5 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
또한, 본 발명은, 전자 문서의 복호화를 위해, 프로세서를 구비한 복호화 장치에, 암호화된 전자 문서를 부분 복호화 및 전체 복호화 부분 영역에 따라 디코딩을 수행하고 다중 억세스가 지원되는지를 판단하는 제 1 기능; 상기 제 1 기능의 판단 결과, 다중 억세스가 지원될 경우에는 디코딩 및 복호화 된 특정키를 이용하여 암호화된 상기 디코딩된 전자 문서를 복호화 및 디코딩을 수행하는 제 2 기능; 및 상기 제 1 기능의 판단 결과, 다중 억세스를 지원되지 않을 경우에는 디코딩 및 복호화된 비밀키를 이용하여 상기 디코딩된 전자 문서를 복호화 및 디코딩을 수행하는 제 3 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
여기서 상술된 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1은 본 발명이 적용되는 전자 문서의 암호화 장치의 일실시예 구성도이다.
도 1에 도시된 바와 같이, 암호화 장치는 키 생성 모듈(110), 제1 문서 인코딩 모듈(120), 문서 압축 모듈(130), 대칭키 문서 암호화 모듈(140), 제2 문서 인코딩 모듈(150), 공개키 암호화 모듈(160), 비밀키 인코딩 모듈(170), 보조정보 인코딩 모듈(180) 및 XML 암호화 템플릿(190)을 포함한다.
상기 키 생성 모듈(110)은 XML 전자 문서를 암호화하기 위해 사용되는 대칭키 방식의 비밀키를 생성하여 대칭키 문서 암호화 모듈(140) 및 공개키 암호화 모듈(160)로 각각 제공한다.
상기 제1 문서 인코딩 모듈(120)은 암호를 위해 XML 문서를 포함한 전자 문서를 인코딩하여 바이트 스트림(Byte Stream) 형태로 변환하여 대칭키 문서 암호화 모듈(140)로 제공한다. 여기서, 암호문의 크기를 줄이기 위해 압축을 하기 위해 바이트 스트림 형태의 전자 문서는 문서 압축모듈(130)을 통해 압축되어 대칭키 문서 암호화 모듈(140)로 제공됨이 바람직하다.
본 발명에서는 편의상, 문서 압축 모듈(130)을 통해 압축된 바이트 스트림 형태의 전자 문서 정보를 토대로 동작을 설명한다.
따라서, 상기 대칭키 문서 암호화 모듈(140)은 문서 압축 모듈(130)로부터 제공된 바이트 스트림 형태의 전자문서를 키 생성 모듈(110)에서 제공된 비밀키에 의해 암호화하여 제2 문서 인코딩 모듈(150)로 제공한다.
상기 제2 문서 인코딩 모듈(150)은 대칭키 문서 암호화 모듈(140)에서 암호화된 전자문서를 인코딩하여 XML 암호화 템플릿(190)에 저장한다.
한편, 상기 공개키 암호화 모듈(160)은 키 생성 모듈(110)에서 제공되는 비밀키(XML 전자 문서의 암호화에 사용)를 수신자의 공개키를 이용하여 공개키 방식으로 암호화하여 비밀키 인코딩 모듈(170)로 제공한다. 상기 비밀키 인코딩 모듈(170)은 공개키 암호화 모듈(160)로부터 제공되는 암호화된 비밀키 정보를 XML 암호화 템플릿(190)에 저장한다.
또한, 상기 보조 정보 인코딩 모듈(180)은 암호화에 사용된 알고리즘을 포함한 보조 정보를 인코딩하여 XML 암호화 템플릿(190)에 저장한다.
여기서, 상기 보조 정보 인코딩 모듈(180)에서 인코딩된 보조 정보는 수신자가 암호화된 문서내에 있는 XML 템플릿을 복호화 할때 템플릿안의 상기 보조 정보를 보고 비밀키 및 암호화된 문서를 복호화할 때 사용된다.
상기 XML 암호화 템플릿(190)은 제2 문서 인코딩 모듈(150)로부터 제공되는 암호화된 문서 정보, 비밀키 인코딩 모듈(170)로부터 제공되는 암호화된 비밑키 정보 및 보조 정보 인코딩 모듈(180)로부터 제공되는 인코딩된 보조 정보를 단위 패킷 형태로 통신망을 통해 복호화 장치로 전송한다.
도 2는 본 발명이 적용되는 전자 문서의 복호화 장치의 상세 구성도이다.
도 2에 도시된 바와 같이, 복호화 장치는 XML 복호화 템플릿(210), 보조정보 디코딩 모듈(220), 비밀키 디코딩 모듈(230), 공개키 복호화 모듈(240), 제1 문서 디코딩 모듈(250), 대칭키 문서 복호화 모듈(260), 압축 해제 모듈(270) 및 제2 문서 디코딩 모듈(280)을 포함한다.
상기 XML 복호화 템플릿(210)은 템플릿 상의 암호화 정보 중 보조 정보를 보조 정보 디코딩 모듈(220)로, 비밀키 정보를 비밀키 디코딩 모듈(230)로, 그리고 XML 문서 정보를 제1 문서 디코딩 모듈(250)로 각각 제공한다.
여기서, 수신자는 암호화된 XML 문서를 확인하기 위해서는 보조 정보 및 비밀키 정보를 선행적으로 인지해야 한다. 따라서, 복호화의 순서는 보조 정보, 비밀키 정보 복호 및 XML 문서 복호 순으로 이루어진다.
즉, 상기 보조 정보 디코딩 모듈(220)은 XML 복호화 템플릿(210)의 인코딩된 보조 정보를 디코딩하여 최초 XML 전자 문서 암호화에 사용된 알고리즘을 추출하고, 인증 DB(225)를 통해 수신자의 개인키를 제공한다.
상기 비밀키 디코딩 모듈(230)은 XML 복호화 템플릿(210)로부터 제공되는 비밀키 정보를 디코딩하여 공개키 복호화 모듈(240)로 제공한다.
상기 공개키 복호화 모듈(240)은 비밀키 디코딩 모듈(230)로부터 제공되는 디코딩된 비밀키 정보를 자신의 개인키를 이용하여 암호화된 비밀키를 복호화 하여 비밀키를 얻고, 상기 복호화된 비밀키 정보를 대칭키 문서 복호화 모듈(260)로 제공한다. 상기 제1 문서 디코딩 모듈(250)은 XML 암호화 템플릿(210)으로부터 제공되는 암호화된 XML 문서 정보를 디코딩하여 텍스트 인코딩 형태로 대칭키 문서 복호화 모듈(260)로 제공한다.
그러면, 대칭키 문서 복호화 모듈(260)는 제1 문서 디코딩 모듈(250)로부터 제공되는 문서 정보를 공개키 복호화 모듈(240)에서 제공되는 복호화된 비밀키 정보를 이용하여 복호화하여 압축 해제 모듈(270)로 제공한다.
여기서, 상기 대칭키 문서 복호화 모듈(260)에서 복호화된 문서 정보는 바이트 스트림 형태이며, 압축 해제 모듈(270)은 이 바이트 스트림 형태의 전자 문서를 압축 해제하여 제2 문서 디코딩 모듈(280)로 제공한다.
상기 제2 문서 디코딩 모듈(280)은 압축 해제된 전자 문서를 디코딩하여 최종적으로 전자 문서를 출력한다.
도 3은 본 발명에 따른 전자 문서의 암호화 방법에 대한 일실시예 흐름도이다.
도 3에 도시된 바와 같이, 먼저, 암호화하려는 전자 문서를 선택하고(301), 상기 선택된 전자 문서가 부분 암호화인지를 판단한다(302).
상기 과정(302)에서 판단 결과, 부분 암호화일 경우에는 부분 암호화를 위한 전자 문서의 대상을 선택하여 이를 인코딩하고(304), 상기 인코딩된 전자 문서의 대상 부분을 압축한다(305).
상기 과정(302)에서 판단 결과, 부분 암호화가 아닐 경우 즉, 전체 전자 문서의 암호화일 경우에는 선택된 전자 문서를 인코딩하고(304), 상기 인코딩된 전자 문서를 압축한다(305).
한편, 상기 선택된 문서를 부분 암호화 및 전체 암호화 부분 영역에 따라 인코딩 및 압축을 수행 후에 다중 억세스가 지원되는지를 판단한다(306).
상기 과정(306)에서 판단 결과, 부분 암호화 및 전체 암호화된 전자 문서에 대한 다중 억세스가 지원될 경우에는 복호화할 사용자 또는 그룹을 선택하고(307), 특정키를 생성한다(308).
그리고, 상기 과정(306)에서 판단 결과, 부분 암호화 및 전체 암호화된 전자 문서에 대한 다중 억세스가 지원되지 않을 경우에는 비밀키를 생성한다(309).
한편, 상기 과정(305)에서 전자 문서를 인코딩하고 나온 결과를 압축한 후에 상기 과정(308)에서 생성된 특정키 또는 상기 과정(309)에서 생성된 비밀키와 함께 인코딩된 결과를 암호화하고(310), 상기 암호화한 결과를 인코딩한다(311).
한편, 상기 과정(308)에서 생성된 특정키는 각각의 공개키로 암호화되고(312), 상기 암호화된 특정키는 인코딩되어(313), 억세스 유닛(AccessUnit)을 생성한다(314).
또한, 상기 과정(309)에서 생성된 비밀키는 공개키로 암호화되고(315), 이 암호화된 비밀키는 인코딩된다(316).
따라서, 과정(311)에서 암호화 및 인코딩된 전자 문서에 다중 억세스의 결과에 따라 선택적으로 입력되는 정보에 의해 XML 암호화 템플릿을 최종적으로 생성한다(317).
즉, 다중 억세스의 경우에는 인코딩된 전자 문서의 결과와 억세스 유닛 엘리먼트를 XML 암호화 구조에 삽입하고, 다중 억세스가 아닌 경우에는 비밀키를 암호화화고 인코딩된 전자 문서의 결과만을 XML 암호화 템플릿에 삽입하여 결국 암호화된 XML 문서를 생성한다.
도 4는 본 발명에 따른 전자 문서의 복호화 방법에 대한 일실시예 흐름도이다.
도 4에 도시된 바와 같이, 복호화하려는 전자 문서가 선택되면, 선택된 전자문서가 부분 복호화 되었는지를 판단한다(402).
여기서, 상기 부분 복호화는, XML 전자 문서의 부분 엘리먼트, 엘리먼트 안에 있는 속성, 엘리먼트의 속성 값 및 엘리먼트의 내용으로, 상기 부분 엘리먼트 및 엘리먼트의 내용은 원 전자 문서의 대상을 대체하는 부분 암호화이고, 상기 엘리먼트 안에 있는 속성, 엘리먼트의 속성 값은 원 전자 문서에서 암호화 대상(엘리먼트 내용, 속성 혹은 속성값을 포함하고 있던 속성)이 되었던 것을 빼버리고 암호화된 결과를 해당 엘리먼트의 하위 엘리먼트의 위치에 갖다 놓아 부분 암호화하는 것이다.
상기 과정(402)에서 판단 결과, 선택된 문서가 부분 암호화되었을 경우에는 부분 암호화된 전자 문서를 복호화 대상으로 선택하고(403), 선택된 문서에 포함된 보조 정보를 디코딩 한다(404).
여기서, 상기 보조 정보란, 사용된 암호화 알고리즘, 수신자 정보등을 포함한다.
그리고, 상기 디코딩된 보조 정보를 통해 읽어온 암호화된 전자 문서는 디코딩된다.
또한, 상기 디코딩된 보조 정보를 통해 다중 억세스인지를 판단하는데(406), 상기 과정(406)에서 판단 결과, 다중 억세스가 아닌 경우에는 암호화된 비밀키를 디코딩하고(407), 상기 디코딩된 비밀키를 공개키로 복호화를 한다(408).
한편, 상기 과정(406)에서 판단 결과, 다중 억세스인 경우에는 억세스의 권한이 인지를 판단한다(409).
상기 과정(409)에서 판단 결과, 억세스의 권한이 없을 경우에는 본 루프를 종료하고, 억세스의 권한이 있을 경우에는 복호화할 대상인 전자 문서에서 억세스 유닛 엘리먼트를 읽어오고(410), 읽어온 억세스 유닛 엘리먼트에서 암호화된 특정키를 읽어온다(411). 그리고, 상기 읽어온 특정키를 자신의 공개키로 복호화를 한다(412).
한편, 상기 과정(405)에서 디코딩된 암호 전자 문서는 다중 억세스의 여부에 따라 선택적으로 입력되는 비밀키 또는 특정키에 의해 복호화되고(413), 이 복호화된 전자문서의 메시지는 압축 해제가 된다(414). 따라서, 상기 압축이 해제된 전자 문서는 디코딩되어 결국 최종적으로 복호화된 전자 문서 메시지는 출력된다(415,416).
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.
이상에서 설명한 본 발명은 진술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 있어 명백할 것이다.
상기와 같은 본 발명은, XML 전자문서를 포함한 다양한 전자 문서에 대한XML 형태의 암호화 및 복호화 처리 절차를 통해 전자상거래 시 교환되는 XML 전자문서 및 기존의 일반 전자문서에 대한 기밀성 등을 제공해 주어 전자상거래의 안전성을 보장해 줄 수 있는 효과가 있다.
또한, 본 발명은 전체 암호 기술, 부분 암호 기술, 다중 억세스 등을 지원하여 최근 XML이 국내 표준으로 채택된 국내 전자책 분야 및 전자 문서(영화, 보이스, mp3 등등)에도 널리 사용될 수 있으며, 전자책의 다운로드 시 전체 암호 기능으로 기밀성을 높이거나, 부분 암호 기능으로 중요하거나 접근이 통제될 부분에 대해 암호화를 할 수도 있고 또한 다중 억세스 기능으로 원하는 사용자나 혹은 그룹에게만 문서를 공개할 수 있게 하는 등의 많은 활용이 가능한 효과가 있다.

Claims (11)

  1. 전자 문서의 암호화 장치에 적용되는 암호화 방법에 있어서,
    선택된 문서를 부분 암호화 및 전체 암호화 부분 영역에 따라 생성된 XML(Extensible Markup Language: 확장성 생성 언어) 암호화 템플릿을 통해 인코딩 및 압축을 수행하고 다중 억세스가 지원되는지를 판단하는 제 1 단계;
    상기 제 1 단계의 판단 결과, 다중 억세스가 지원될 경우에는 부호화할 사용자 혹은 그룹을 선택하여 특정키를 생성하고, 압축된 문서를 상기 생성된 특정키를 통해 암호화 및 재차 인코딩을 수행하고 그 결과를 XML 암호화 템플릿에 삽입하는 제 2 단계;
    상기 제 2 단계에서 생성된 특정키를 각각의 공개키로 암호화 및 인코딩을 수행하여 다중 억세스를 위한 엘리먼트를 생성하고, 상기 XML 암호화 템플릿에 삽입하여 다중 억세스로 암호화된 전자 문서 정보를 생성하는 제 3 단계;
    상기 제 1 단계의 판단 결과, 다중 억세스가 지원되지 않을 경우 비밀키를 생성하고, 압축된 문서를 상기 생성된 비밀키를 통해 암호화 및 재차 인코딩을 수행하고 그 결과를 XML 암호화 템플릿에 삽입하는 제 4 단계; 및
    상기 4 단계에서 생성된 비밀키를 공개키로 암호화 및 인코딩을 수행하고, 암호화되고 인코딩된 비밀키를 XML 암호화 문서에 삽입하고, 제 1 단계 내지 제 4 단계에서 사용된 알고리즘 및 기타 정보들을 XML 암호화 문서에 삽입하여 최종 XML 암호화 문서를 생성하는 제 5 단계
    를 포함하는 전자 문서의 암호화 방법.
  2. 제 1 항에 있어서,
    상기 제 1 단계는,
    암호화를 위해 선택된 전자 문서를 부분 암호화 할 것인지 전체 암호화 할 것인지를 판단하는 제 6 단계;
    상기 제 6 단계의 판단 결과, 선택한 전자 문서를 부분 암호화로 할 경우 선택된 문서내에 XML 암호화 템플릿을 엘리먼트 형태로 생성하며 암호화 대상을 인코딩 및 압축을 수행하는 제 7 단계;
    상기 제 6 단계의 판단 결과, 선택한 전자 문서를 전체 암호화로 경우에는 XML 암호화 템플릿을 따로 생성하여 해당 전체 전자 문서를 인코딩 및 압축하는 제 8 단계; 및
    상기 압축된 전자 문서의 다중 억세스가 지원되는지를 판단하는 제 9 단계
    를 포함하는 전자 문서의 암호화 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 전자 문서의 부분 암호화는,
    엘리먼트, 엘리먼트의 내용, 엘리먼트 안에 있는 속성 및 엘리먼트 안에 있는 속성값을 대상으로 하고,
    상기 엘리먼트는 암호화된 엘리먼트 및 엘리먼트의 내용을 원 전자 문서의 대상과 대체하고, 엘리먼트 안에 있는 속성 및 엘리먼트 안에 있는 속성값은 암호화된 엘리먼트를 원 전자문서의 엘리먼트와 대치하지 않고 해당 암호화 대상을 빼버리고 해당 엘리먼트의 마지막 위치에 갖다 놓는 것을 특징으로 하는 전자 문서의 암호화 방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 전자 문서의 전체 암호화는,
    암호화된 결과 문서를 원래의 전자 문서와는 별도로 생성하는 것을 특징으로 하는 전자 문서의 암호화 방법.
  5. 전자 문서의 복호화 장치에 적용되는 복호화 방법에 있어서,
    암호화된 전자 문서를 부분 복호화 및 전체 복호화 부분 영역에 따라 디코딩을 수행하고 다중 억세스가 지원되는지를 판단하는 제 1 단계;
    상기 제 1 단계의 판단 결과, 다중 억세스가 지원될 경우에는 디코딩 및 복호화된 특정키를 이용하여 암호화된 상기 디코딩된 전자 문서를 복호화 및 디코딩을 수행하는 제 2 단계; 및
    상기 제 1 단계의 판단 결과, 다중 억세스가 지원되지 않을 경우에는 디코딩 및 복호화된 비밀키를 이용하여 상기 디코딩된 전자 문서를 복호화 및 디코딩을 수행하는 제 3 단계
    를 포함하는 전자 문서의 복호화 방법.
  6. 제 5 항에 있어서,
    상기 제 1 단계는,
    복호화하려는 전자 문서를 선택하고, 선택한 전자 문서가 부분 복호화 되었는지를 판단하는 제 4 단계;
    상기 제 4 단계의 판단 결과, 전자 문서가 부분 복호화인 경우에는 부분 복호화된 전자 문서에서 보조 정보를 디코딩하여 다중 억세스 되었는지를 판단하는 제 5 단계; 및
    상기 제 4 단계의 판단 결과, 전자 문서가 부분 복호화가 아닌 경우에는 전체 전자 문서에서 보조 정보를 디코딩하여 다중 억세스 되었는지를 판단하는 제 6 단계
    를 포함하는 전자 문서의 복호화 방법.
  7. 제 5 항에 있어서,
    상기 제 2 단계는,
    억세스 권한 여부를 확인하여 복호화 대상에서 억세스 유닛 엘리먼트를 추출하는 제 4 단계;
    상기 추출된 억세스 유닛 엘리먼트에서 암호화된 특정키를 추출하는 제 5 단계; 및
    상기 추출된 특정키를 자신의 비밀키로 복호화하는 제 6 단계
    를 포함하는 전자 문서의 복호화 방법.
  8. 제 5 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 억세스 유닛 엘리먼트는,
    복호화할 권한을 가진 사용자들의 정보를 포함하는 것을 특징으로 하는 전자 문서의 복호화 방법.
  9. 제 5 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 전자 문서의 부분 복호화는,
    엘리먼트, 엘리먼트의 내용, 엘리먼트 안에 있는 속성 및 엘리먼트 안에 있는 속성값을 대상으로 하고,
    상기 엘리먼트 및 엘리먼트의 내용은 암호화된 엘리먼트와 엘리먼트의 내용를 원 전자 문서의 대상 엘리먼트와 대체하고, 엘리먼트 안에 있는 속성 및 엘리먼트 안에 있는 속성값은 암호화된 엘리먼트를 원 전자문서의 엘리먼트와 대치하지 않고 해당 암호화 대상을 빼버리고 해당 엘리먼트의 하위 엘리먼트의 처음 위치에 갖다 놓는 것을 특징으로 하는 전자 문서의 복호화 방법.
  10. 전자 문서의 암호화를 위해, 프로세서를 구비한 암호화 장치에,
    선택된 문서를 부분 암호화 및 전체 암호화 부분 영역에 따라 생성된 XML(Extensible Markup Language: 확장성 생성 언어) 암호화 템플릿을 통해 인코딩 및 압축을 수행하고 다중 억세스가 지원되는지를 판단하는 제 1 기능;
    상기 제 1 기능의 판단 결과, 다중 억세스가 지원될 경우에는 부호화할 사용자 혹은 그룹을 선택하여 특정키를 생성하고, 압축된 문서를 상기 생성된 특정키를 통해 암호화 및 재차 인코딩을 수행하고 그 결과를 XML 암호화 템플릿에 삽입하는 제 2 기능;
    상기 제 2 기능에서 생성된 특정키를 각각의 공개키로 암호화 및 인코딩을 수행하여 다중 억세스를 위한 엘리먼트를 생성하고, 상기 XML 암호화 템플릿에 삽입하여 다중 억세스로 암호화된 전자 문서 정보를 생성하는 제 3 기능;
    상기 제 1 기능의 판단 결과, 다중 억세스가 지원되지 않을 경우 비밀키를 생성하고, 압축된 문서를 상기 생성된 비밀키를 통해 암호화 및 재차 인코딩을 수행하고 그 결과를 XML 암호화 템플릿에 삽입하는 제 4 기능; 및
    상기 4 기능에서 생성된 비밀키를 공개키로 암호화 및 인코딩을 수행하고, 암호화되고 인코딩된 비밀키를 XML 암호화 문서에 삽입하고, 제 1 기능 내지 제 4 기능에서 사용된 알고리즘 및 기타 정보들을 XML 암호화 문서에 삽입하여 최종 XML 암호화 문서를 생성하는 제 5 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  11. 전자 문서의 복호화를 위해, 프로세서를 구비한 복호화 장치에,
    암호화된 전자 문서를 부분 복호화 및 전체 복호화 부분 영역에 따라 디코딩을 수행하고 다중 억세스가 지원되는지를 판단하는 제 1 기능;
    상기 제 1 기능의 판단 결과, 다중 억세스가 지원될 경우에는 디코딩 및 복화된 특정키를 이용하여 암호화된 상기 디코딩된 전자 문서를 복호화 및 디코딩을 수행하는 제 2 기능; 및
    상기 제 1 기능의 판단 결과, 다중 억세스를 지원되지 않을 경우에는 디코딩 및 복호화된 비밀키를 이용하여 상기 디코딩된 전자 문서를 복호화 및 디코딩을 수행하는 제 3 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR10-2001-0056831A 2001-09-14 2001-09-14 전자 문서의 암호화 및 복호화 방법 KR100451007B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0056831A KR100451007B1 (ko) 2001-09-14 2001-09-14 전자 문서의 암호화 및 복호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0056831A KR100451007B1 (ko) 2001-09-14 2001-09-14 전자 문서의 암호화 및 복호화 방법

Publications (2)

Publication Number Publication Date
KR20030027181A true KR20030027181A (ko) 2003-04-07
KR100451007B1 KR100451007B1 (ko) 2004-10-06

Family

ID=29561961

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0056831A KR100451007B1 (ko) 2001-09-14 2001-09-14 전자 문서의 암호화 및 복호화 방법

Country Status (1)

Country Link
KR (1) KR100451007B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100434727B1 (ko) * 2002-02-08 2004-06-07 (주)드림투리얼리티 이미지 파일의 패스워드 부여방법
KR20040077628A (ko) * 2004-08-17 2004-09-04 이인섭 문서 블록 암호화 프로그램, 방법 및 이를 프로그램화하여수록한 컴퓨터로 읽을 수 있는 기록매체
KR100966323B1 (ko) * 2007-09-12 2010-06-28 정보통신산업진흥원 전자문서를 관리하기 위한 시스템과 그 방법, 상기 방법을 구현하는 프로그램이 저장된 기록매체
WO2013125783A1 (ko) 2012-02-21 2013-08-29 주식회사 파수닷컴 전자책 생성 장치 및 방법, 그리고 전자책 무결성 검증 장치 및 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100337637B1 (ko) * 1998-12-03 2002-07-18 오길록 암호화된전자문서복구방법
JP4541473B2 (ja) * 1999-11-05 2010-09-08 キヤノン株式会社 データ処理方法及び装置、及び記憶媒体
KR100362168B1 (ko) * 2000-01-21 2002-11-23 한국전자통신연구원 확장가능 마크업 언어를 이용한 분산 전자상거래 시스템의통합 방법
KR20020096616A (ko) * 2001-06-21 2002-12-31 한국전자통신연구원 전자문서에 대한 xml 형태의 전자서명 생성/검증 장치및 방법
KR20020096617A (ko) * 2001-06-21 2002-12-31 한국전자통신연구원 안전한 xml 전자문서 교환을 위한 xml 보안플랫폼의 시스템 구조 및 상기 보안 플랫폼에서이루어지는 보안 처리 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100434727B1 (ko) * 2002-02-08 2004-06-07 (주)드림투리얼리티 이미지 파일의 패스워드 부여방법
KR20040077628A (ko) * 2004-08-17 2004-09-04 이인섭 문서 블록 암호화 프로그램, 방법 및 이를 프로그램화하여수록한 컴퓨터로 읽을 수 있는 기록매체
KR100966323B1 (ko) * 2007-09-12 2010-06-28 정보통신산업진흥원 전자문서를 관리하기 위한 시스템과 그 방법, 상기 방법을 구현하는 프로그램이 저장된 기록매체
WO2013125783A1 (ko) 2012-02-21 2013-08-29 주식회사 파수닷컴 전자책 생성 장치 및 방법, 그리고 전자책 무결성 검증 장치 및 방법

Also Published As

Publication number Publication date
KR100451007B1 (ko) 2004-10-06

Similar Documents

Publication Publication Date Title
CA2286707C (en) Method and system for accessing electronic resources via machine-readable data on intelligent documents
US6205549B1 (en) Encapsulation of public key cryptography standard number 7 into a secured document
US9461817B2 (en) Method and system for encrypting JavaScript object notation (JSON) messages
JP5331920B2 (ja) コンピュータ可読記憶媒体
JP2002077137A (ja) 電子著作物の保護方法及び保護システム
EP1805638A1 (en) Contents encryption method, system and method for providing contents through network using the encryption method
KR20050034841A (ko) 서명 암호화를 이용한 웹서비스 보안에서의 soap메시지 생성 및 검증 방법
JP2002077136A (ja) 電子著作物の保護方法及び保護システム
CN107306254B (zh) 基于双层加密的数字版权保护方法及系统
WO2007071140A1 (fr) Procede de transmission de donnees de maniere securisee
CN112822228A (zh) 一种基于国密算法的浏览器文件加密上传方法及系统
KR100451007B1 (ko) 전자 문서의 암호화 및 복호화 방법
Shahgholi et al. A new security framework against Web services' XML attacks in SOA
CN113065146A (zh) 一种用于区块链数据保护的同态加密方法
Santos et al. Secure Javascript Object Notation (SecJSON) Enabling granular confidentiality and integrity of JSON documents
KR20020096617A (ko) 안전한 xml 전자문서 교환을 위한 xml 보안플랫폼의 시스템 구조 및 상기 보안 플랫폼에서이루어지는 보안 처리 방법
CN111212068A (zh) 一种输入法对文字加解密的方法
Pamungkas et al. Implementation Of The Base64 Algorithm For Text Encryption And Decryption Using The Python Programming Language
Chaudhary et al. A security solution for the transmission of confidential data and efficient file authentication based on DES, AES, DSS and RSA
JP3676120B2 (ja) テキスト電子認証装置、方法、及び、テキスト電子認証プログラムを記録した記録媒体
KR20030093532A (ko) 디지털 문서의 보안을 위한 방법 및 이를 이용한 장치
Yamamoto An integration of PGP and MIME
Bangun et al. Super Encryption Feal Algorithm and Base64 Algorithm Image File Security
Ravi et al. Provision of XML security in E-Commerce applications with XML digital signatures using virtual smart card
Oberoi et al. A Survey on Cryptography, Encryption and Compression Techniques.

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: 20090901

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee