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

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

Info

Publication number
KR100451007B1
KR100451007B1 KR10-2001-0056831A KR20010056831A KR100451007B1 KR 100451007 B1 KR100451007 B1 KR 100451007B1 KR 20010056831 A KR20010056831 A KR 20010056831A KR 100451007 B1 KR100451007 B1 KR 100451007B1
Authority
KR
South Korea
Prior art keywords
electronic document
document
encryption
encrypted
xml
Prior art date
Application number
KR10-2001-0056831A
Other languages
English (en)
Other versions
KR20030027181A (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 전자 문서에 암호 기술을 적용하고 있으나, 기존의 암호 기술을 적용할 경우, 암호화 결과가 바이너리(2진) 객체로 저장되어 개방적이고, 텍스트 기반인 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 암호화 템플릿
상기와 같은 목적을 달성하기 위한 본 발명은, 전자 문서의 암호화 장치에 적용되는 암호화 방법에 있어서, 선택된 문서를 부분 암호화 및 전체 암호화 부분 영역에 따라 생성된 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)은 키 생성 모듈(110)로부터 전달받은 비밀키를 이용하여 문서 압축 모듈(130)로부터 전달받은 바이트 스트림 형태의 전자문서를 암호화하여 제2 문서 인코딩 모듈(150)로 전달한다.
상기 제2 문서 인코딩 모듈(150)은 대칭키 문서 암호화 모듈(140)에서 암호화된 전자문서를 인코딩하여 XML 암호화 템플릿(190)에 저장한다.
한편, 상기 공개키 암호화 모듈(160)은 키 생성 모듈(110)로부터 전달받은 비밀키(XML 전자 문서의 암호화에 사용)를 수신자의 공개키를 이용하여 공개키 방식으로 암호화하여 비밀키 인코딩 모듈(170)로 전달한다. 그러면, 상기 비밀키 인코딩 모듈(170)은 공개키 암호화 모듈(160)로부터 제공되는 암호화된 비밀키 정보를 인코딩하여 XML 암호화 템플릿(190)에 저장한다.
또한, 상기 보조 정보 인코딩 모듈(180)은 암호화에 사용된 알고리즘을 포함한 보조 정보를 인코딩하여 XML 암호화 템플릿(190)에 저장한다.
여기서, 상기 보조 정보 인코딩 모듈(180)에서 인코딩된 보조 정보는 암호화된 문서내에 있는 XML 템플릿을 복호화 할 때 사용된다. 즉, 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)에 저장한다. 이후, 인증 절차를 통해 획득한 사용자(수신자)의 개인키를 공개키 복호화 모듈(240)로 전달한다.
상기 비밀키 디코딩 모듈(230)은 XML 복호화 템플릿(210)으로부터 전달받은 비밀키 정보를 디코딩하여 공개키 복호화 모듈(240)로 전달한다.
상기 공개키 복호화 모듈(240)은 수신자의 개인키를 이용하여 비밀키 디코딩 모듈(230)로부터 전달받은 디코딩된 비밀키 정보를 복호화하여 비밀키를 얻고, 상기 복호화된 비밀키 정보를 대칭키 문서 복호화 모듈(260)로 전달한다. 상기 제1 문서 디코딩 모듈(250)은 XML 암호화 템플릿(210)으로부터 전달받은 암호화된 XML 문서 정보를 디코딩하여 텍스트 인코딩 형태로 대칭키 문서 복호화 모듈(260)로 전달한다.
그러면, 대칭키 문서 복호화 모듈(260)은 공개키 복호화 모듈(240)로부터 전달받은 복호화된 비밀키 정보를 이용하여 제1 문서 디코딩 모듈(250)로부터 전달받은 문서 정보를 복호화하여 압축 해제 모듈(270)로 전달한다.
여기서, 상기 대칭키 문서 복호화 모듈(260)에서 복호화된 문서 정보는 바이트 스트림 형태이며, 압축 해제 모듈(270)은 이 바이트 스트림 형태의 전자 문서를 압축 해제하여 제2 문서 디코딩 모듈(280)로 전달한다.
상기 제2 문서 디코딩 모듈(280)은 압축 해제된 전자 문서를 디코딩하여 최종적으로 전자 문서를 출력한다.
도 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 단계;
    상기 제 4 단계의 확인결과, 개인키가 공개키와 동일하면 복호화 대상에서 억세스 유닛 엘리먼트를 추출하는 제 5 단계;
    상기 추출된 억세스 유닛 엘리먼트에서 암호화된 특정키를 추출하는 제 6 단계; 및
    상기 추출된 특정키를 사용자의 개인키로 복호화하는 제 7 단계
    를 포함하는 전자 문서의 복호화 방법.
  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 KR20030027181A (ko) 2003-04-07
KR100451007B1 true 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)

Families Citing this family (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 정보통신산업진흥원 전자문서를 관리하기 위한 시스템과 그 방법, 상기 방법을 구현하는 프로그램이 저장된 기록매체
KR101311287B1 (ko) 2012-02-21 2013-09-25 주식회사 파수닷컴 전자책 생성 장치 및 방법, 그리고 전자책 무결성 검증 장치 및 방법

Citations (5)

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

Patent Citations (5)

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

Also Published As

Publication number Publication date
KR20030027181A (ko) 2003-04-07

Similar Documents

Publication Publication Date Title
CA2286707C (en) Method and system for accessing electronic resources via machine-readable data on intelligent documents
JP4755189B2 (ja) コンテンツ暗号化方法、これを利用したネットワークによるコンテンツ提供システム及びその方法
JP5331920B2 (ja) コンピュータ可読記憶媒体
US20080301431A1 (en) Text security method
JP2002077137A (ja) 電子著作物の保護方法及び保護システム
JP2002077136A (ja) 電子著作物の保護方法及び保護システム
WO2007071140A1 (fr) Procede de transmission de donnees de maniere securisee
CN106911663A (zh) 一种直销银行混合模式全报文加密系统及方法
CN107306254B (zh) 基于双层加密的数字版权保护方法及系统
US20040172543A1 (en) Apparatus and method for generating data for detecting false alteration of encrypted data during processing
CN112822228A (zh) 一种基于国密算法的浏览器文件加密上传方法及系统
KR100451007B1 (ko) 전자 문서의 암호화 및 복호화 방법
JP2004072151A (ja) ファイル暗号化機能を有する端末装置
JP2005284915A (ja) 情報検索装置および方法、ならびに情報検索システムおよびその制御方法
CN113065146A (zh) 一种用于区块链数据保护的同态加密方法
KR20020096617A (ko) 안전한 xml 전자문서 교환을 위한 xml 보안플랫폼의 시스템 구조 및 상기 보안 플랫폼에서이루어지는 보안 처리 방법
Santos et al. Secure Javascript Object Notation (SecJSON) Enabling granular confidentiality and integrity of JSON documents
CN111212068A (zh) 一种输入法对文字加解密的方法
JP3676120B2 (ja) テキスト電子認証装置、方法、及び、テキスト電子認証プログラムを記録した記録媒体
JP2004139170A (ja) 電子メールシステム
Chaudhary et al. A security solution for the transmission of confidential data and efficient file authentication based on DES, AES, DSS and RSA
JP5060746B2 (ja) 通信方式
KR20030093532A (ko) 디지털 문서의 보안을 위한 방법 및 이를 이용한 장치
Dempsey et al. eLib standards guidelines
CN113553616A (zh) 一种可信数据安全服务方法、装置、设备及系统

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