KR20080113264A - 보안 서명을 위한 컴퓨팅 장치, 컴퓨터 판독가능 데이터 저장 매체, 및 컴퓨터 구현 방법 - Google Patents

보안 서명을 위한 컴퓨팅 장치, 컴퓨터 판독가능 데이터 저장 매체, 및 컴퓨터 구현 방법 Download PDF

Info

Publication number
KR20080113264A
KR20080113264A KR1020087026274A KR20087026274A KR20080113264A KR 20080113264 A KR20080113264 A KR 20080113264A KR 1020087026274 A KR1020087026274 A KR 1020087026274A KR 20087026274 A KR20087026274 A KR 20087026274A KR 20080113264 A KR20080113264 A KR 20080113264A
Authority
KR
South Korea
Prior art keywords
signature
electronic signature
document
content
electronic
Prior art date
Application number
KR1020087026274A
Other languages
English (en)
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
Priority claimed from US11/611,624 external-priority patent/US20080148054A1/en
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20080113264A publication Critical patent/KR20080113264A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Abstract

보안 서명을 위한 시스템 및 방법이 개시된다. 일 양태에서는, 보안 서명이 생성된다. 보안 서명은 컨텐츠에 전자 서명의 이미지("전자 서명")를 전자 또는 인쇄 형태 중 한쪽으로 강하게 바인딩한다. 사용자로부터 요청을 수신하는 것에응답하여, 본 시스템 및 방법은 인쇄 페이지와 연관된 전자 서명이 보안 서명을 나타내는지의 여부를 판정한다. 그렇다고 판정되면, 본 시스템 및 방법은 전자 서명의 사명자에 의해 보안 서명이 서명되어 있는 컨텐츠에 암호화적으로 바운딩되었는지의 여부를 판정하여 사용자에게 통지한다.
전자 서명의 이미지, 보안 서명, 강력한 바인딩, 암호화적 바운딩, 충돌 내성 해시 값, 비밀 키/공개 키 쌍

Description

보안 서명을 위한 컴퓨팅 장치, 컴퓨터 판독가능 데이터 저장 매체, 및 컴퓨터 구현 방법{SECURE SIGNATURES}
개인의 필기 서명(hand-written signature)을 취득하는 것은 문서(예를 들어, 기록, 계약, 메모랜덤 등)를 실행하기 위해 개인(서명인; signatory)의 신원(identity) 및 의사(will)를 확립하기 위한 전통적이고 유용한 기술이며, 개인의 의사(willingness)는 문서의 컨텐츠에 의해 바운드(bounded)된다. 작금의 디지털 시대에서 조차도, 필기 서명은 법적 합의서(legal agreements), 은행 및 신용 카드 거래, 및 모든 종류의 계약에서 필수적인 부분이다. 개인이 문서에 전자적으로 수기서명(hand-signs)한 경우(예를 들어, 그래픽 패드, 타블렛 PC 등과 같은 펜 패드 장치에 부착된 펜을 이용함)에는, 서명의 디지털 이미지(예를 들어, JPEG, TIFF, 또는 기타 이미지 타입)가 그 문서에 첨부되거나 논리적으로 연관된다. 필기 서명의 디지털 이미지는 개인의 필기 서명에 준하는 합법적 바인딩(binding)인 전자 서명이다. 이미지 처리 소프트웨어를 이용하면, 개인의 전자 서명이 문서로부터 통상적으로 잘라내지거나/복사되어 권한없는 사용을 위해 다른 문서에 붙여넣어지거나/복사될 수 있다. 이러한 권한없는 사용은, 예를 들어, 위조, 동의의 스푸핑(spoofing consent) 등을 포함한다. 신원 도용 문제의 급증은 전자 서명의 권한없는 사용이 용이하다는 것을 의미한다.
보안 서명을 위한 시스템 및 방법이 설명된다. 일 양태에서는, 보안 서명이 생성된다. 보안 서명은 전자 서명의 이미지("전자 서명")를 컨텐츠에 전자 형태나 인쇄 형태 중 하나로 강력하게 바인드한다. 사용자로부터 요청을 수신하는 것에 응답하여, 본 시스템 및 방법은 인쇄 페이지와 연관되어 있는 전자 서명이 보안 서명을 나타내는 지의 여부를 판정한다. 그 전자 서명이 보안 서명을 나타낸다면, 본 시스템 및 방법은 전자 서명의 서명자에 의해 보안 서명이 서명되어 있는 컨텐츠에 암호화적으로 바운드되었는지의 여부를 판정하여 사용자에게 통지한다.
본 설명은 이하의 실시예에서 더 설명되는 단순화된 형태로 개념의 택일을 소개하기 위해 제공된다. 이 설명은 청구된 요지의 핵심 특징들 또는 주요 특징들을 식별하기 위하거나, 청구된 요지의 범위를 한정하기 위한 목적으로 사용되기 위한 것은 아니다.
도 1은 일 실시예에 따라, 보안 서명을 위한 예시적인 시스템을 도시하는 도면.
도 2는 일 실시예에 따라, 보안 서명을 위한 예시적인 절차를 도시하는 도면.
도 3은 일 실시예에 따라, 보안 서명을 위한 도 2의 예시적인 절차의 추가 동작을 도시하는 도면.
개요
보안 서명을 위한 시스템 및 방법이 도 1 내지 도 3을 참조하여 이하에 도시된다. 본 시스템 및 방법은, 서명되어 있는 특정 디지털 문서의 특정한 컨텐츠에 전자 서명을 바인딩하거나 타이핑함으로써, 개인의 필기 서명의 디지털 이미지(즉, "전자 서명")에 보안(security)을 추가한다. 이하에 설명되는 바와 같이, 이는 또한 전자 서명 이미지의 인쇄 버전(여기서는 잉크/토너)을 전자 문서의 인쇄 버전에 바인딩한다. 그것을 위하여, 본 시스템 및 방법은 개인의 전자 서명과 전자적 서명된 문서의 컨텐츠의 조합으로부터 제1 충돌 내성 해시를 생성한다. 개인/서명자의 비밀 키를 사용하여, 본 시스템 및 방법은 다수의 가능한 공개 키 암호화 기술 중 한 가지 기술을 이용하여 충돌 내성 해시에 디지털 서명한다. 이는 공개 키 디지털 서명을 생성한다. 리버시블(reversible) 기술(예를 들어, 최하위 비트 매핑(least significant bit mapping) 등)을 이용하여, 본 시스템 및 방법은 전자 서명과 연관된 비트에 공개 키 디지털 서명을 삽입(insert)/내포(embed)하여 "보안 서명"을 생성한다. 보안 서명은, 비밀/공개 키 쌍의 개인의 공개 키를 이용해야만 복호화될 수 있는 원본 문서 컨텐츠와 함께 전자 서명의 디지털 서명 지문을 포함한다. 이 보안 서명은 개인의 서명을 컨텐츠에 바인드한다. 이 시점에서, 문서는 보기 및 인쇄하기를 위해 최종 사용자(end-users)에게 배포될 수 있다.
개인의 서명이 전자 문서 또는 인쇄(비-전자) 문서의 컨텐츠에 인증적으로(authentically) 바운딩되어(bound)/결합되어(tied) 있는지의 여부를 확인하기 위해, 본 시스템 및 방법은 우선 그 서명이 "보안 서명"인지를 판정한다. 상술한 바와 같이, 보안 서명은 개인에 의해 실제로 서명된 문서의 컨텐츠 및 개인의 전자 서명으로부터 생성된 해시 값의 공개 키 디지털 서명을 포함한다. (서명을 포함하는 문서가 종이/인쇄 문서인 경우에는, 그 문서는 인쇄 문서를 나타내는 전자 문서를 생성하기 위해 스캔된다.) 본 시스템 및 방법이 이러한 내포된 공개 키 디지털 서명을 디지털 서명 이미지에서 검출하지 못한 경우에는(즉, 서명이 보안 서명이 아닌 경우에는), 본 시스템 및 방법은 그 전자 서명이 서명자를 문서의 컨텐츠에 인증적으로 바인드하는 것으로 확인하지 않을 것이다. 예시적인 설명을 위해, 보안 서명의 디지털 이미지를 포함하는 문서를 인쇄하고, 디지털 이미지의 인쇄 버전을 베껴서(tracing over) "클린(clean)"한 서명을 생성함으로써 개인의 서명이 위조(forged)될 수 있다. 이 시나리오에서는, "깨끗한" 서명은, 문서의 특정 컨텐츠에 서명자의 서명을 결합하는, 프로그램적으로 검출가능(detectable)한, 내포된 서명자의 공개 키 디지털 서명을 포함하지 않을 것이다.
본 시스템 및 방법들이 서명으로부터 공개 키 디지털 서명을 추출할 수 있는 경우에는, 그 서명은 보안 서명을 나타낸다. 그런 다음 추출된 공개 키 디지털 서명은 개인/서명자의 (비밀/공개 키 쌍의) 공개 키를 이용하여 복호화된다. 본 시스템 및 방법들은 문서 컨텐츠(본 예시에서, 문서 컨텐츠는 개인의 필기 서명의 디지털 이미지(즉, 전자 서명)에서, 추출된 공개 키 디지털 서명을 뺀 것을 포함함)의 제2 충돌 내성 해시를 계산한다. 제1 해시와 제2 해시가 일치하는 경우에는, 본 시스템 및 방법은 개인의 서명이 개인이 문서를 실행하라는 의도를 나타내는지 확인하고, 일치하지 않는 경우에는, 이러한 관계성은 확인되지 않는다.
보안 서명을 위한 이들 및 기타 양태들은 이제 이하에서 보다 상세히 설명된다.
예시적인 시스템
필수적이지는 않지만, 보안 서명을 위한 시스템 및 방법들은 퍼스널 컴퓨터와 같은 컴퓨팅 장치에 의해 실행되는 컴퓨터-실행가능 명령어들의 일반적인 문맥으로 설명된다. 프로그램 모듈은 일반적으로 특정 작업을 수행하거나 특정한 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 본 시스템 및 방법들이 상술한 문맥으로 설명되지만, 이하에 설명되는 액트들 및 동작들은 하드웨어에서 구현될 수도 있다.
도 1은 일 실시예에 따른, 보안 서명을 위한 예시적인 시스템(100)을 도시한다. 이 구현예에서는, 시스템(100)이 범용 컴퓨팅 장치, 서버, 랩톱, 이동 컴퓨팅 장치, 타블렛 PC, 및/또는 기타 등등과 같은 컴퓨팅 장치(102)를 포함한다. 타블렛 PC는 통상적으로 사용자가 키보드나 마우스 대신에 스타일러스 또는 디지털 펜으로 컴퓨터를 조작하게끔 허용하는 디지털화한 타블렛 기술이나 터치 스크린을 포함한다. 일 실시예에서는, 컴퓨팅 장치(102)는 사용자가 스타일러스(펜 모양의 그리기 도구)를 이용하여 필기 서명을 제공/그리도록 허용하는 그래픽 타블렛과 같은 I/O 장치(104)에 결합되는데, 이 방식은 연필과 종이로 이미지를 그리는 것과 유사하다.
컴퓨팅 장치(102)는 시스템 메모리(108)와 같은 각각의 유형(tangible)의 컴퓨터-판독가능 저장 매체에 결합된 하나 이상의 프로세서(106)를 포함한다. 프로 세서(106)는 마이크로프로세서, 마이크로컴퓨터, 마이크로제어기, 디지털 신호 프로세서 등일 수 있다. 시스템 메모리(108)는 예를 들어, 프로세서(106)에 의해 실행가능한 컴퓨터-프로그램 명령어 및 컴퓨터 프로그램 명령어에 의해 생성 및/또는 사용되는 프로그램 데이터를 위한 휘발성 랜덤 액세스 메모리(예를 들면, RAM) 및 비휘발성 판독전용 메모리(예를 들면, ROM, 플래시 메모리 등)를 포함한다. 이러한 컴퓨터 프로그램 명령어는 프로그램 모듈(110)로 도시되고 프로그램 데이터는 프로그램 데이터(112)로 도시된다. 이 구현예에서, 예를 들면, 프로그램 모듈(110)은 런타임 환경, 공개 키 암호화 애플리케이션(들), 장치 드라이버 등을 제공하기 위해 보안 필기 서명 모듈(114) 및 운영 체제(OS; Operating System)와 같은 기타 프로그램 모듈(116)을 포함한다.
보안 필기 서명 모듈(114)(이하에서는 주로 "보안 서명 모듈(114)"이라고 지칭됨)은 개인의 전자 서명을 문서(120)의 컨텐츠(예를 들어, 기록, 계약, 메모랜덤, 공증(official stationery) 등을 나타내는 컨텐츠의 하나 이상의 페이지)에 암호화하여(cryptographically) 바인딩하는 보안 서명(118)을 생성한다. 전자 서명은 개인("서명자"로도 지칭됨)의 필기 서명의 디지털 이미지 버전을 나타낸다. 이러한 전자 서명은 "기타 프로그램 데이터"(124)의 각각의 일부로서 도시된다. 일 구현예에서, 보안 서명 모듈(114)은 카드 리더기, 그래픽 패드 등과 같은 I/O 장치로부터 전자 서명을 수신한다. 예를 들면, 일 실시예에서, 개인은 디지털 펜 패드 장치(예를 들면, 그래픽 패드, 타블렛 PC 등)에 부착된 펜/스타일러스를 이용하여 전자 서명을 생성한다. 이 시나리오에서, 전자 서명은 문서(120)에 첨부되어 있거 나 그렇지 않으면 문서(120)와 논리적으로 연관되어 있다. 이 시점에서, 전자 서명은 문서(120)의 컨텐츠를 실행하려는 사용자의 의사(즉, 문서(120)의 컨텐츠에 의해 바운드되는 사용자의 의사)를 나타낸다. 이 전자 서명의 관점에서, 보안 서명 모듈(114)은 다음과 같이, 사용자의 전자 서명을 문서(120)의 컨텐츠에 암호화하여 결합하거나/바인딩하는 보안 서명(118)을 생성한다.
사용자에 의해 전자적으로 서명된 원본 문서(120)의 비트맵을 D라고 하자. 다수의 가능한 공지된 충돌 내성 암호화 해시 함수(예를 들어, SHA 1 등) 중 하나를 이용하여, 보안 서명 모듈(114)이 h(D)를 생성하는데, 이는 D의 충돌 내성 암호화 해시("해시(126)")이다. 보안 서명 모듈(114)은 서명자의 전자 서명 및 문서(120)의 컨텐츠로부터 h(D)를 생성한다. 공개 키 암호화 애플리케이션/인프라(infrastructure)(예를 들어, RSA, DSA, ECDSA, BLS 등) 및 사용자/서명자의 비밀 키를 이용하여, 보안 서명 모듈(114)은 h(D)로부터 공개 키 디지털 서명(122)(R)을 계산한다(이 경우에 청구되는 서명자의 신원은 공개 키 인프라를 이용하는 시스템에 의해 확인된다는 점을 유념해야 한다). 즉, 보안 서명 모듈(114)은 R을 생성하기 위해 h(D)를 암호화하여 서명한다. 그러면 보안 서명 모듈(114)은 전자 서명의 비트들에 R(122)을 삽입/포함하거나 연관시킴으로써 보안 서명(118)을 생성한다. 이 방식에서, 보안 서명(118)은 문서(120)의 컨텐츠에 전자 서명을 암호화하여 결합하거나/바인딩한다. 일 실시예에서, 보안 서명 모듈(114)은 보안 서명(118)의 판독용이성(readability) 및 읽기쉬움(legibility)을 보존하기 위한 최하위 비트(LSB; Least Significant Bit) 맵 기술을 이용하여 전자 서 명(118)의 이미지에 R(122)을 삽입/내포한다(또는 논리적으로 연관시킨다). 일 실시예에서, 이러한 LSB 매핑 기술은 R의 값을 인코딩하는 옅은 회색조(faint grayscale) 이미지(해시 패턴)를 생성한다. 이 2차원 패턴은 숙련되지 않은 눈에는 거의 보이지 않을 것이다. 그러나 이 2차원 패턴은 재구성되어 문서 컨텐츠에 대해 확인될 수 있는 방식으로 화면 캡쳐 또는 인쇄 이미지로부터 프로그램적으로 식별되어 추출될 수 있다.
이 실시예에서, 보안 서명 모듈(114)은 전자 서명에 R(122)을 내포시킴으로써 보안 서명(118)을 생성하여서 보는 사람(viewer)에게 R이 시각적으로 두드러지지 않게(예를 들면, 숨기거나 안보이게) 한다. 이 구현예에서, 사용자가 문서(120)로부터 인쇄 문서(128)를 생성하는 경우에는, 문서(120)와 연관된 보안 서명(118)에 내포된 R은 인쇄 문서(128)의 페이지 상에 보안 서명의 잉크/토너 버전으로 여전히 내포되어 나타난다. 이하의 섹션에서 보다 상세히 설명되는 바와 같이, 서명 확인 모듈(130)은 인쇄 문서(128)의 비트맵으로 스캔된 문서(문서 D')로부터 검출 및 추출될 수 있다. 따라서, 보안 서명(118)을 생성하는 보안 서명 모듈(114)의 동작은 서명자의 전자 서명을 인쇄 페이지에 바인딩하는 것이다.
사용자는 시스템(100)의 보안 서명 유효성 검사 모듈(130)과 인터페이싱함으로써, 서명자의 (보안 서명(118)에 의해 캡슐화된(encapsulated)) 전자 서명이 문서의 컨텐츠에 서명자를 인증적으로 바인딩하는지(즉, 전자 서명이 위조되었거나, 문서에 잘라내어 붙여지기 등을 하지 않았음)의 여부를 확인한다. 사용자는 컴퓨팅 장치(102) 또는 네트워크(132)를 통해 컴퓨팅 장치(102)에 연결된 원격 컴퓨팅 장치(136)와 인터페이싱할 수 있다. (네트워크(132)는 LAN(local area network) 및 일반적인 WAN(wide area network) 통신 환경의 임의의 조합을 포함할 수 있는데, 이것들은 사무실, 전사적 컴퓨터 네트워크, 인트라넷, 및 인터넷에서 흔히 볼 수 있다.) 일 구현예에서, 보안 서명 유효성 검사 모듈(130)은 사용자에게 사용자 인터페이스(UI) 및/또는 웹페이지를 전달한다. 사용자가 문서 D'를 특정하게 하는 UI 및 웹페이지는 전자 서명을 포함하는 보안 서명(118)의 의도된 서명자의 전자 서명 및 공개 키를 포함한다. (서명을 포함하는 문서가 종이/인쇄 문서(128)인 경우에는, 사용자는 인쇄 문서(128)를 스캔하여 전자 문서 D'을 생성한다.) 예시적인 도시를 위해, 이러한 공개 키 및 D'이 원격 컴퓨팅 장치(136)로부터의 요청(140)을 통해 나타나거나 특정된다.
서명 확인(130)은 D'의 필기 서명 부분을 나타내는 비트맵을 찾아낸다(locate). 일 실시예에서, 사용자/조작자는 서명과 연관된 비트들을 수동으로 식별한다(예를 들어, 비트맵의 치수(dimensions)를 정의하기 위해 포인팅 장치를 이용하여 사각형을 그림). 여기에서, 식별된 서명 비트들이 보안 서명(118) 또는 평범한, 통상의 개인의 필기 서명의 디지털 이미지를 포함하는지 여부는 알려져 있지 않다. (예를 들면, 보안 서명(118)의 인쇄 버전을 버전을 베끼는(tracing over) 위조자(forger)는 기껏해야 전자 서명을 생성할 수 있을 뿐이다.) 이러한 위조된 서명은 보안 서명(118)의 인쇄 버전인 프로그램적으로 검출가능한, 내포되어 있는(embedded) 실제의(actual)/사실상의(real) 서명자의 공개 키 디지털 서명을 포함하지 않을 것이다. 보안 서명 확인(130)은 전자 서명과 연관된 비트들로부 터 공개 키 디지털 서명 R(122)을 추출하려고 시도한다. 일 구현예에서, 이는 식별된 부분과 연관된 픽셀 강도 값(pixel intensity value)의 최하위 비트들을 읽어냄(reading off)으로써 달성된다. 공개 키 디지털 서명 R이 존재하지 않는 경우에는, 식별된 부분의 전자 서명은 보안 서명(118)이 아니고(즉, D'의 컨텐츠에 전자 서명의 암호화 결합(tie)이 존재하지 않음), 모듈(130)은 문서 D'의 컨텐츠에 관련한 서명의 인증(authenticity)을 확인할 수 없다고 사용자에게 통지한다.
디지털 서명 R이 식별된 부분 내의 전자 서명으로부터 추출된 경우에는, 전자 서명은 보안 서명(118)이다. 추출 동작은 식별된 보안 서명(118) 내의 픽셀 강도 값을 지우거나(clear)/삭감(zero out)하는데, 그러면 평범한 전자 서명이 된다. 전자 서명이 일단 추출되면, 이 스킴을 위해 선택된 디지털 서명 프로토콜 다음에 서명 확인이 이어진다. 보다 상세하게는, 서명 확인(130)은 제1 충돌 내성 암호화 해시 값 h(D)(126)를 식별하기 위해 수신된 공개 키를 이용하여 추출된 디지털 서명 R을 복호화한다. 일 구현예에서, RSA 디지털 서명 R의 경우에, 이는 그 결과가 서명자의 게시된(published) 인증서/키에 일치하는지를 알아 내는 체크/평가 및 서명자의 공개 키를 이용한 R의 지수화를 수반(involve)할 것이다. 그러면 서명 확인(130)은 D'의 제2 충돌 내성 해시 h(D')를 계산하는데, 이는 컨텐츠 및 전자 서명을 포함한다. (h(D')가 계산되는 시점에서도, D'은 여전히 전자 서명(118)을 포함하지만, 그 전자 서명은 내포된 전자 서명 R을 더이상 포함하지 않는다는 면에서 더이상 보안 서명(118)은 아니다.)
서명 유효성 검사 논리(130; signature validation logic)는 제1 해시 값과 제2 해시 값(126)을 비교한다. 제1과 제2 해시 값(126)이 동일한 경우에는, 서명 유효성 검사(130)는 보안 서명(118)에 캡슐화된 전자 서명이 D'의 컨텐츠에 바운딩될 저자(author)/서명자의 의사(willingness)를 나타낸다고 사용자에게 통지한다. 동일하지 않은 경우에는, 서명 확인(130)은 전자 서명이 D'의 컨텐츠에 바운딩될 저자/서명자의 의사를 나타내지 않는다고 사용자에게 통지한다.
예시적인 절차
도 2는 일 실시예에 따른, 보안 서명을 위한 예시적인 절차(200)를 도시한다. 예시적인 설명을 위해, 절차(200)의 동작이 도 1의 특정 컴포넌트와 관련하여 설명된다. 이 설명에서는, 참조부호의 가장 왼쪽의 숫자는 그 컴포넌트가 처음으로 소개된 특정 도면을 가리킨다. 일 구현예에서, 보안 서명 모듈(114) 및 보안 확인 모듈(130) 중 각각의 모듈들은 절차(200)의 동작을 구현한다. 블록(202)의 동작은 문서(120)의 실행을 가리키는 서명인(signatory)/서명자(signer)로부터의 전자 서명을 수신한다. 블록(204)의 동작은 문서(120)의 컨텐츠에 전자 서명을 암호화적으로 결합하는 보안 서명(118)을 생성하기 위해 전자 서명을 오그멘트(augment)시킨다. 일 구현예에서, 이는 문서(120)의 컨텐츠 및 전자 서명으로부터 충돌 내성 해시를 생성시킴으로써 달성된다. 그러면 이 충돌 내성 해시는 공개 키 디지털 서명(122)을 생성하기 위해 공개 키 암호화 인프라를 이용하여 암호화적으로 서명된다. 이 구현예에서, 블록(204)의 동작은 전자 서명(118)에 공개 키 디지털 서명(122)을 삽입하여 보안 서명(118)을 생성한다. 이 방식으로, 보안 서명(118)은 문서(120)의 특정 컨텐츠에 서명자의 전자 서명을 암호화적으로 결합하 거나/바인딩한다. 예를 들면, 원본 문서에서 잘라내어져 다른 문서에 붙여넣기한 보안 서명(118)은 그 다른 문서의 컨텐츠에 암호화적으로 결합되지 않을 것이다.
블록(208)의 동작은 서명자의 전자 서명이 문서 D'의 컨텐츠에 안전하게 결합되거나/바운딩되는 지의 여부에 관한 검증 요청을 수신한다. 요청은 확인될 문서 D' 뿐만 아니라 의도된 문서 서명자의 비밀/공개 암호화 키 쌍의 공개 키도 포함(그렇지 않으면 식별)한다. 블록(210)의 동작은 수신된 문서에 내포되거나 논리적으로 연관된 전자 서명으로부터 공개 키 디지털 서명 R(122)을 추출하려고 시도한다. 이러한 공개 키 디지털 서명 R이 전자 서명에 존재한다면, 그 전자 서명은 보안 서명(118)이다. 추출 동작은 그 전자 서명으로부터 임의의 표시 R을 제거(remove)/떼어낸다(strip-out)(예를 들어, 삭감(zero-out)). 블록(212)의 동작은 공개 키 디지털 서명 R이 전자 서명에서 발견되었는지를 판정한다. 전자 서명이 디지털 서명되지 않았다면, 절차(200)의 동작들은 도 3의 페이지 상의 참조부호 "A"로 계속되는데, 여기에서는 D'과 연관된 전자 서명이 문서 D'의 컨텐츠를 실행하라는 서명자의 의사를 나타낸다고 확인될 수 없다고 사용자에게 통지된다. 그렇지 않고 디지털 서명된 경우에는, 블록(214)의 동작은 서명자의 공개 키(이 공개 키는 블록(202)의 동작과 연관된 요청으로 수신된 것임)를 이용하여, 추출된 공개 키 디지털 서명 R(122)을 복호화한다. 이들 복호화 동작에 의해 제1 해시 값 h(D)(126)이 나온다. 블록(216)의 동작은 문서 D'의 컨텐츠 및 전자 서명으로부터 제2 해시 값(126)(즉, 충돌 내성 해시 값)을 계산하는데, 이 전자 서명은 추출된 공개 키 디지털 서명이 떼어진 것이다(블록(210)의 동작 참조). 이 시점에, 절 차(200)의 동작은 도 3의 페이지의 참조부호 "B"로 계속된다.
도 3은 일 실시예에 따른, 보안 서명을 위한 도 2의 예시적인 절차(200)의 다른 동작을 도시한다. 블록(302)의 동작은 제1 해시 값과 제2 해시 값(126)을 비교한다(앞서 설명한 도 2의 블록(216)의 동작을 참조). 상술한 바와 같이, 제1 해시 값(126)은 문서 D'(120)에 내포되거나 이와 논리적으로 연관되어 있는 보안 서명(118)과 연관된 공개 키 디지털 서명(122)을 복호화한 결과였다. 제2 해시 값(126)은 문서 D'의 컨텐츠 및 대응하는 전자 서명(디지털 서명을 떼어낸 보안 서명(118))으로부터 충돌 내성 해시 함수를 이용하여 계산된 것이었다. 제1 해시 값(126)이 제2 해시 값(126)과 동일한 경우에는, 블록(304)의 동작은 블록(306)에서 계속된다. 블록(306)의 동작은 문서 D'과 연관된 전자 서명이 문서 D'의 컨텐츠를 실행하라는 서명인의 의사를 나타낸다고 사용자(즉, 도 2의 블록(202)의 요청자)에게 통지한다. 제1 해시 값(126)이 제2 해시 값(126)과 동일하지 않은 경우에는, 블록(304)의 동작은 블록(308)에서 계속된다. 블록(308)의 동작은 문서 D'과 연관된 전자 서명이 그 문서의 컨텐츠를 실행(예를 들면, 바운딩)하라는 서명인의 의사를 나타내는 것으로 확인될 수 없다고 사용자에게 통지한다. 여기서, 절차(200)의 동작이 종료된다.
결론
보안 서명이 비록 구조적 특징 및/또는 방법론적 동작이나 액션에 특정한 언어로 설명되었지만, 첨부된 청구항에서 제시되는 구현예들은 상술한 특정 특징들 또는 액션들에 반드시 제한되는 것은 아님이 이해된다. 예를 들면, 비록 보안 필 기 서명 모듈(114)(도 1)과 연관된 동작들이 서명 확인 모듈/논리(130)를 위한 캡슐화하는 동작으로 도시 및 설명되었지만, 이들 각각의 프로그램 모듈의 동작은 서로 독립적일 수 있다. 예를 들면, 일 구현예에서, 보안 필기 모듈(114)의 동작은 모듈(130)의 동작을 캡슐화하지 않지만, 그 대신에 그러한 동작들에 완전히 독립적으로 구현된다. 예를 들면, 일 실시예에서, 모듈(114)의 동작은 모듈(130)의 동작과는 다른 컴퓨팅 장치에서 구현된다. 따라서, 상술한 특정 특징들 및 동작들은 이하의 청구된 주제를 구현하는 예시적인 형태로 개시된다.

Claims (20)

  1. 컴퓨팅 장치로서,
    프로세서; 및
    상기 프로세서에 연결된 메모리
    를 포함하고,
    상기 메모리는 상기 프로세서에 의해 실행가능한 컴퓨터-프로그램 명령어를 포함하며, 상기 컴퓨터-프로그램 명령어는 상기 프로세서에 의해 실행될 때에,
    전자 서명을 수신하는 것; 및
    인쇄 페이지의 컨텐츠에 상기 전자 서명을 안전하게(securely) 바인딩하는 보안 서명을 생성하는 것 - 상기 바인딩은 전자 서명의 저자(author)가 상기 인쇄 페이지의 컨텐츠에 대한 바운딩 의사(willingness to be bound to the content of the printed page)를 표현한 것에 대하여, 암호화 기반 확인 동작이 프로그램적으로 확인(verify)할 수 있게 하는 것임 -
    을 포함하는 동작을 수행하기 위한 것인 컴퓨팅 장치.
  2. 제1항에 있어서, 상기 보안 서명은 상기 인쇄 페이지의 뷰어(viewer)에게 시각적으로 숨겨지는 방식으로 상기 전자 서명에 포함되는 컴퓨팅 장치.
  3. 제1항에 있어서, 상기 보안 서명을 생성하기 위한 상기 컴퓨터 프로그램 명 령어는,
    문서의 컨텐츠 및 상기 전자 서명으로부터 충돌 내성 해시 값(collision-resistant hash value)을 계산하는 것 - 상기 문서는 상기 컴퓨팅 장치와 연관된 메모리 내에 존재하고, 상기 인쇄 페이지는 상기 문서의 인쇄 버전을 나타냄 - ;
    보안 디지털 서명을 생성하기 위해 상기 충돌 내성 해시 값을 암호화적으로 서명하는 것; 및
    상기 전자 서명과 연관된 비트들에 상기 보안 디지털 서명을 내포시키는 것(embedding)
    을 위한 명령어를 더 포함하는 컴퓨팅 장치.
  4. 제3항에 있어서, 상기 충돌 내성 해시 값을 암호화적으로 서명하는 것은, 공개 키 암호화 애플리케이션을 이용하여 암호화적으로 서명하는 것을 더 포함하고, 상기 충돌 내성 해시 값은 상기 저자의 비밀 키를 이용하고, 상기 비밀 키는 상기 공개 키 암호화 애플리케이션을 이용하여 컨텐츠에 디지털 서명하기 위한 상기 저자의 비밀 키/공개 키 쌍 중 하나인 컴퓨팅 장치.
  5. 제3항에 있어서, 상기 보안 디지털 서명을 내포시키는 것은, 최하위 비트 알고리즘(least significant bit algorithm)을 이용하여 상기 보안 디지털 서명을 상기 전자 서명에 삽입하는 것을 더 포함하는 컴퓨터 장치.
  6. 제1항에 있어서, 상기 컴퓨터 프로그램 명령어는,
    상기 인쇄 페이지와 연관된 전자 서명이, 상기 인쇄 페이지의 컨텐츠를 실행하라는 상기 전자 서명의 서명인의 의사(willingness of a signatory)를 실제로 나타내는지에 관한 확인 요청을 사용자로부터 수신하는 것 - 상기 요청은 상기 컨텐츠의 전자 버전 및 상기 저자의 공개 키를 식별함 - ;
    상기 전자 서명이 보안 디지털 서명을 포함하는지의 여부를 판정하는 것;
    상기 전자 서명이 상기 보안 디지털 서명을 포함하지 않는 경우에는, 상기 전자 서명이 상기 컨텐츠를 실행하라는 상기 저자의 의사를 나타내는 것으로 확인될 수 없다는 것을 상기 사용자에게 통지하는 것; 및
    상기 전자 서명이 상기 보안 디지털 서명을 포함하는 경우에는, 상기 공개 키를 이용하여, 상기 전자 서명이 상기 컨텐츠를 실행하라는 상기 저자의 의사를 나타내는 지의 여부를 확인하는 것
    을 위한 명령어를 더 포함하는 컴퓨팅 장치.
  7. 제6항에 있어서, 상기 보안 디지털 서명은 상기 서명인의 비밀 키 및 공개 키 암호화 애플리케이션을 이용하여 생성된 공개 키 디지털 서명인 컴퓨팅 장치.
  8. 제6항에 있어서, 상기 확인하는 것을 위한 컴퓨터-프로그램 명령어는,
    상기 공개 키를 이용하여 상기 보안 디지털 서명을 복호화하여 제1 해시 값을 식별하는 것;
    상기 보안 디지털 서명과는 독립적으로 상기 전자 서명 및 상기 컨텐츠로부터 제2 해시 값을 계산하는 것;
    상기 제1 해시 값이 상기 제2 해시 값과 일치하는 경우에는, 상기 전자 서명이 상기 컨텐츠에 바운딩된다고 상기 사용자에게 통지하는 것; 및
    상기 제1 해시 값이 상기 제2 해시 값과 일치하지 않은 경우에는, 상기 전자 서명이 상기 컨텐츠에 바운딩되지 않는다고 상기 사용자에게 통지하는 것
    을 위한 명령어를 더 포함하는 컴퓨팅 장치.
  9. 프로세서에 의해 실행가능한 컴퓨터-프로그램 명령어를 포함하는 유형의(tangible) 컴퓨터-판독가능 데이터 저장 매체로서, 상기 프로세서에 의해 실행될 때에 상기 컴퓨터-프로그램 명령어는,
    디지털 서명을 생성하기 위해 상기 문서의 컨텐츠 및 상기 전자 서명에 디지털 서명하고, 보안 서명을 생성하기 위해 상기 전자 서명에 연관된 비트에 상기 디지털 서명을 내포시킴으로써, 문서의 컨텐츠에 개인의 전자 서명을 암호화적으로 타이핑하는 것;
    보기(viewing) 및 인증을 위해 상기 보안 서명을 포함하는 상기 문서를 최종 사용자에게 배포하는 것
    을 포함하는 동작을 수행하기 위한 컴퓨터 판독가능 데이터 저장 매체.
  10. 제9항에 있어서, 상기 전자 서명은 인쇄 문서로부터 획득되는 컴퓨터 판독가 능 데이터 저장 매체.
  11. 제9항에 있어서, 상기 디지털 서명하는 것은,
    상기 컨텐츠 및 상기 전자 서명으로부터 충돌 내성 해시를 생성하는 것;
    상기 디지털 서명을 생성하기 위해 상기 개인의 비밀 키를 이용하여 상기 충돌 내성 해시를 디지털 서명하는 것 - 상기 비밀 키는 공개 키 암호화 동작에서 사용되는 비밀 키/공개 키 쌍의 키임 - ;
    을 더 포함하고,
    상기 디지털 서명은 상기 비밀 키/공개 키 쌍의 상기 공개 키만을 이용하여 복호화될 수 있는 컴퓨터 판독가능 데이터 저장 매체.
  12. 제9항에 있어서, 상기 비트들은 상기 전자 서명과 연관된 최하위 비트들을 포함하는 컴퓨터 판독가능 데이터 저장 매체.
  13. 컴퓨터 구현 방법으로서,
    문서와 연관된 전자 서명이 상기 전자 서명의 서명자에 의해 상기 문서의 컨텐츠에 암호화적으로 바운딩되어 있는지에 관한 확인 요청을 사용자로부터 수신하는 단계;
    상기 전자 서명의 비트들이, 내포된 디지털 서명을 나타내는지의 여부를 판정하기 위해 상기 비트들을 평가하는 단계;
    상기 비트들이 상기 내포된 디지털 서명을 나타내지 않는 경우에는, 상기 전자 서명이 상기 문서의 컨텐츠에 암호화적으로 바운딩되지 않았다고 상기 사용자에게 통지하는 단계; 및
    상기 비트들이 상기 내포된 디지털 서명을 나타내는 경우에는, 상기 전자 서명이 상기 서명자에 의해 상기 컨텐츠에 암호화적으로 바운딩되었는지의 여부를 확인하는 단계
    를 포함하는 컴퓨터 구현 방법.
  14. 제13항에 있어서, 상기 문서는 비-전자 문서(non-electronic document)로부터 생성된 전자 문서인 컴퓨터 구현 방법.
  15. 제13항에 있어서, 상기 요청은 상기 문서를 식별하고, 상기 전자 서명은 상기 문서에 첨부되거나, 상기 문서와 논리적으로 연관되어 있는, 상기 문서의 일부인 컴퓨터 구현 방법.
  16. 제13항에 있어서, 상기 비트들은 최하위 비트들인 컴퓨터 구현 방법.
  17. 제13항에 있어서, 상기 전자 서명이 상기 서명자에 의해 상기 컨텐츠에 암호화적으로 바운딩되어 있었는지의 여부를 확인하는 단계는, 상기 전자 서명이 상기 서명자에 의해 상기 문서에 바운딩되어 있었는지의 여부를 판정하기 위해 공개 키 암호화 기술을 이용하는 단계를 더 포함하는 컴퓨터 구현 방법.
  18. 제13항에 있어서, 상기 전자 서명이 상기 서명자에 의해 상기 컨텐츠에 암호화적으로 바운딩되어 있었는지의 여부를 확인하는 단계는,
    제1 해시 값을 획득하기 위해 상기 서명자의 비밀 키/공개 키 쌍의 공개 키를 이용하여 상기 내포된 디지털 서명을 복호화하는 단계;
    상기 전자 서명으로부터 상기 내포된 디지털 서명을 제거하는 단계;
    상기 컨텐츠 및 상기 전자 서명으로부터 제2 해시 값을 계산하는 단계; 및
    상기 제1 해시 값이 상기 제2 해시 값과 일치하는 경우에는, 상기 전자 서명이 상기 서명자에 의해 상기 컨텐츠에 암호화적으로 바운딩되었다고 상기 사용자에게 표시하는 단계;
    를 더 포함하는 컴퓨터 구현 방법.
  19. 제18항에 있어서, 상기 제1 해시 값 및 상기 제2 해시 값은 충돌 내성적인 컴퓨터 구현 방법.
  20. 제18항에 있어서, 상기 제1 해시 값이 상기 제2 해시 값과 일치하지 않는 경우에는, 상기 전자 서명이 상기 서명자에 의해 상기 컨텐츠에 바운딩되지 않았다고 상기 사용자에게 통지하는 단계를 더 포함하는 컴퓨터 구현 방법.
KR1020087026274A 2006-04-28 2007-04-05 보안 서명을 위한 컴퓨팅 장치, 컴퓨터 판독가능 데이터 저장 매체, 및 컴퓨터 구현 방법 KR20080113264A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US74599306P 2006-04-28 2006-04-28
US60/745,993 2006-04-28
US11/611,624 US20080148054A1 (en) 2006-12-15 2006-12-15 Secure Signatures
US11/611,624 2006-12-15

Publications (1)

Publication Number Publication Date
KR20080113264A true KR20080113264A (ko) 2008-12-29

Family

ID=38656083

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087026274A KR20080113264A (ko) 2006-04-28 2007-04-05 보안 서명을 위한 컴퓨팅 장치, 컴퓨터 판독가능 데이터 저장 매체, 및 컴퓨터 구현 방법

Country Status (5)

Country Link
EP (1) EP2013770A4 (ko)
JP (1) JP2009535898A (ko)
KR (1) KR20080113264A (ko)
CA (1) CA2645213A1 (ko)
WO (1) WO2007127038A2 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595503B2 (en) 2008-06-30 2013-11-26 Konica Minolta Laboratory U.S.A., Inc. Method of self-authenticating a document while preserving critical content in authentication data
US9053309B2 (en) 2013-03-14 2015-06-09 Applied Neural Technologies Limited Behaviometric signature authentication system and method
US9563926B2 (en) 2013-03-14 2017-02-07 Applied Materials Technologies Limited System and method of encoding content and an image
KR101853610B1 (ko) * 2017-11-07 2018-05-02 주식회사 시큐브 생체정보 기반의 전자서명 인증 시스템 및 그의 전자서명 인증 방법
CN112491552A (zh) * 2020-11-18 2021-03-12 江苏先安科技有限公司 一种防止数字签名钓鱼攻击的方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757826B1 (en) * 1998-04-14 2004-06-29 Citicorp Development Center, Inc. Digital graphic signature system
JP3754565B2 (ja) * 1998-10-30 2006-03-15 株式会社日立製作所 電子印鑑マーク認証システム
US7216232B1 (en) * 1999-04-20 2007-05-08 Nec Corporation Method and device for inserting and authenticating a digital signature in digital data
JP2003527778A (ja) * 1999-08-21 2003-09-16 ケント・リッジ・デジタル・ラブス 電子文書及びその印刷コピーの正当性保護
KR100386852B1 (ko) * 2000-04-14 2003-06-09 주식회사 시큐브 전자서명 인증 기반 다단계 보안용 보안커널 시스템
US7107453B2 (en) * 2000-05-25 2006-09-12 Hewlett-Packard Development Company, L.P. Authenticatable graphical bar codes
JP2002318634A (ja) * 2001-04-20 2002-10-31 Hitachi Ltd 電子署名検証方法及びシステム、並びに電子署名検証プログラム及びこのプログラムを記録した記録媒体
CN1209730C (zh) 2001-11-30 2005-07-06 温天 一种数字防伪方法
US20050135613A1 (en) * 2002-05-10 2005-06-23 Karlheinz Brandenburg Device and method for generating encrypted data, for decrypting encrypted data and for generating re-signed data
JP2004128999A (ja) * 2002-10-04 2004-04-22 Hitachi Ltd 手書き署名による電子署名方法
GB0229894D0 (en) * 2002-12-21 2003-01-29 Ibm Methods, apparatus and computer programs for generating and/or using conditional electronic signatures and/or for reporting status changes
JP2006018745A (ja) * 2004-07-05 2006-01-19 Hitachi Ltd 電子データ認証システム、認証マーク偽造検証方法、認証マーク偽造検証プログラム、閲覧者用端末、及び認証マーク生成サーバ

Also Published As

Publication number Publication date
WO2007127038A2 (en) 2007-11-08
CA2645213A1 (en) 2007-11-08
EP2013770A2 (en) 2009-01-14
EP2013770A4 (en) 2009-08-26
JP2009535898A (ja) 2009-10-01
WO2007127038A3 (en) 2007-12-21

Similar Documents

Publication Publication Date Title
EP1662699B1 (en) Document authentication combining digital signature verification and visual comparison
US8700905B2 (en) Method and device for electronically capturing a handwritten signature using embedding technique
US20080148054A1 (en) Secure Signatures
Warasart et al. based document authentication using digital signature and QR code
CN101789067B (zh) 电子文档签名保护方法和系统
CN106951943B (zh) 可信的电子合同打印成纸件合同及再复原电子合同的方法
WO2014154109A1 (zh) 带防伪二维码的电子票据的生成方法、校验方法及其系统
WO2009036619A1 (fr) Procédé de génération de crêtes dermiques aléatoires de marque de crédit
WO2000073879A1 (en) System for digitally signing a document
US20080301815A1 (en) Detecting Unauthorized Changes to Printed Documents
CN109583158A (zh) 一种基于动态水印的电子证照副本生成方法
KR20080113264A (ko) 보안 서명을 위한 컴퓨팅 장치, 컴퓨터 판독가능 데이터 저장 매체, 및 컴퓨터 구현 방법
TW201510764A (zh) 數位方式簽署與驗證文件之方法與系統
CN101427242A (zh) 安全签名
CN200983153Y (zh) 具有按键的加密签名手写板
Dlamini et al. Mitigating the challenge of hardcopy document forgery
JP4565427B2 (ja) 画像処理装置、認証装置、これらのプログラム及びシステム
CN115396117A (zh) 基于区块链预防篡改的电子文书签署、校验方法及系统
CA2986837C (en) Data authentication method, device and system, and computer storage medium
EP2350913B1 (en) Method and device for electronically capturing a handwritten signature using embedding technique
CN109104411B (zh) 一种电子回单生成及投递的方法
RU2543928C1 (ru) Способ формирования электронного документа и его копий
Ivanov et al. A hybrid document formation technology
CN1255750C (zh) 一种数码电子印章系统
CN116842579A (zh) 手写电子签名方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid