KR20040040271A - 공개키 기반구조의 디지털전자서명 및 암호화를 이용한출력물 내용 증명방법 및 그 장치 - Google Patents
공개키 기반구조의 디지털전자서명 및 암호화를 이용한출력물 내용 증명방법 및 그 장치 Download PDFInfo
- Publication number
- KR20040040271A KR20040040271A KR1020020080692A KR20020080692A KR20040040271A KR 20040040271 A KR20040040271 A KR 20040040271A KR 1020020080692 A KR1020020080692 A KR 1020020080692A KR 20020080692 A KR20020080692 A KR 20020080692A KR 20040040271 A KR20040040271 A KR 20040040271A
- Authority
- KR
- South Korea
- Prior art keywords
- authentication
- content
- value
- output
- original content
- Prior art date
Links
Landscapes
- Storage Device Security (AREA)
Abstract
본 발명은 프린터 및 각종 출력장치를 통해 물리적으로 출력된 각종문서, 보험증권, 증명서류, 금융거래 서류, 통장, 서비스 보증물, 창작물, 약관, 계약서 등과 상품권, 각종 공연티켓, 복권 등 각종 유가증권 등(이하, "출력물"로 통칭)에 대해, 공개키 기반구조의 디지털 전자서명과 암호화를 이용하여 생성된 인증코드를 사용하여 해당 출력물의 작성자 및 소유자 그리고 그 출력물 및 내용을 발행한 발행자가 누구인지 명확하게 증명하며 또한 동시에 해당 내용이 변조되지 않았음을 증명하는 출력물 내용 증명 방법 및 그 장치를 제공한다.
Description
본 발명은 프린터 및 각종 출력장치를 통해 물리적으로 출력된 각종문서, 보험증권, 증명서류, 금융거래 서류, 통장, 서비스 보증물, 창작물, 약관, 계약서 등과 상품권, 각종 공연티켓, 복권 등 각종 유가증권 등(이하, "출력물"로 통칭)에대해, 공개키 기반구조의 디지털 전자서명과 암호화를 이용하여 생성된 인증코드를 이용하여 해당 출력물의 작성자 및 소유자 그리고 그 출력물 및 내용을 발행한 발행자가 누구인지 명확하게 증명하며 또한 동시에 해당 내용이 변조되지 않았음을 증명하는 출력물 내용 증명 방법 및 그 장치에 관한 것이다.
기존의 물리적인 출력물에 대한 인증은 주로 원본 출력물의 내용에 대한 위조 및 변조를 막기 위한 물리적 및 부분적인 디지털 워터마크 등의 위변조 방지 기술들이 주를 이루고 있으며, 특수잉크 혹은 특수용지 및 특수인쇄 기법을 사용하는 물리적인 방법과, 해당 원본이 디지털인 경우, 출력하는 시점에 디지털 워터마크를 삽입하는 등의 기술적 방법들이 사용되고 있다.
여기에는 특수잉크의 형광잉크 기법 등과 특수용지의 은화 용지 등의 사용기법 및 홀로그램등의 기법 그리고 바코드, OCR등의 방법을 사용하는 특수인쇄 등의 기법들이 보편적으로 사용되고 있다.
이러한 물리적인 방법들은 제작 단계 및 공정이 단순하지 않으며, 비교적 높은 단가가 요구되고, 디지털 장비들의 눈부신 발전과 함께 프린터, 스캐너 등의 정교한 위조 및 변조 작업이 가능하여 원래의 목적을 달성하기가 무척 어려운 현실이다.
또한, 수입인지를 사용하는 많은 정부 및 관공서의 증명 서류의 경우, 출력물의 내용을 증명하기 위해 역시 위와 같은 물리적인 방법을 도입함으로서 높은 비용의 서비스 비용과, 이를 유지 운영하기 위한 공정상의 비용 및 관리 인원의 비용 등 많은 시스템 비용이 발생하고 있는 실정이지만, 수입인지 자체에 대한 고급 디지털 장비를 통한 위변조 발생시에는 상기 제시한 이러한 시스템을 유지하기 위해 고 비용을 들이고도 실제적인 효과를 거두기가 어려운 현실이다.
무엇보다, 전자정부 구현을 추진하고 있는 정부 및 군, 관에서 공개키 기반구조의 디지털 전자서명 체계를 갖추어 가고 있지만 이를 활용한 다양한 인증 시스템 및 민원 행정 서비스가 매우 부족한 상태이며,
각 동사무소 등의 행정 지원기관에서 발행하는 주민등록 등본 등의 서류 역시, 동사무소에 출장하여 직접 발급을 받아야 하고, 이 또한 위조방지 및 내용증명을 위한 완벽한 시스템을 갖추고 있지 못한 실정이다.
이 같은 상황은 주민등록 등본만이 아닌, 인감 증명에서부터 주택 등기부 등본 등, 모든 증명서류를 포함하여 유사한 사례로 볼 수 있다.
무엇보다, 정부를 비롯한 행정기관, 기업 등에서 특정 증명서류 및 문서를 발급 또는 출력하였을 경우, 이를 다른 기관에 증명 자료로서 제출하고자 하면, 많은 민원 및 업무 처리로 인해, 담당자는 조작 및 변경, 혹은 위변조 여부를 육안으로 구분하여야 하는데, 이는 거의 불가능한 실정이라고 할 수 있다.
이는 마찬가지로 기업간 서류 교환 및 개인간 계약서, 서약서, 각종 서류 교환등에서도 발생할 수 있는 문제들로서, 단순히 출력물에 적용된 특수용지 혹은 인쇄 기법이나 문양등을 통해, 육안으로 식별하기 어려운 위변조 여부를 보다 빠르고 간편하며, 완벽하게 가려낼 수 있음과 동시에 출력물의 소유자, 발행자, 발급 날짜, 유효기간 등의 관련정보 인증과 그 내용에 대한 확실한 증명을 제공할 수 있는 방법 및 그 장치 마련이 시급하다.
본 발명은 상기와 같은 문제점을 해결하고자 제시된 것으로서, 본 발명의 목적은 인증코드 발급방법을 제공하는 것이다.
또한, 본 발명의 또 다른 목적은 발급된 인증코드가 표시된 출력물의 내용증명방법을 제공하는 것이다.
또한, 본 발명의 또 다른 목적은 인증코드를 발급하기 위한 인증코드 생성 및 출력장치를 제공하는 것이다.
또한, 본 발명의 또 다른 목적은 인증코드를 발급하기 위한 인증서버를 제공하는 것이다.
또한, 본 발명의 또 다른 목적은 출력물의 정당성을 검증하기 위한 인증코드 검증장치를 제공하는 것이다.
또한, 본 발명의 또 다른 목적은 출력물의 정당성을 검증하기 위한 인증서버를 제공하는 것이다.
즉, 본 발명은 상기 기술한 출력물에 대한 내용증명 과정의 여러가지 문제점을 해결하고 보다 간편하고 빠르며 저비용의 완벽한 출력물 내용증명 방법과 그 장치를 제공하는 것을 목적으로 한다.
이를 통해, 공개키 기반구조의 인증서를 통한 전자서명된 인증코드로 출력물에 대하여 완벽한 출력물 내용 증명을 제공할 수 있으며, 사용자들은 모든 민원 및 공공, 기업, 계약, 공연 등 증명서류, 유가증권에서부터 종래에 직접 출장하여 발급받아야 했던 다양한 민원서류에 이르기까지 모든 인증이 필요한 서류를 인터넷과컴퓨터를 통해 온라인으로 어느 곳에서나 출력받을 수 있으며, 많은 비용 절감, 효율증대 및 경쟁력을 제고할 수 있게 될 것이다.
도 1 은 본 발명에 따른 공개키 기반구조의 디지털 전자서명 및 암호화를 이용한 출력물 내용증명 시스템의 전체적인 구성도이다.
도 2 는 출력물 내용증명에 대한 인식코드를 발급하는 전체처리 순서도이다.
도 3 은 출력물 내용증명에 대한 검증에 대한 전체처리 순서도이다.
도 4 는 출력물 내용증명에 의해 생성된 인식코드의 분류와 구성예이다.
도 5 는 출력물 내용증명에 의해 생성된 인식코드를 출력물에 마크하는 예이다.
상기의 목적을 달성하기 위하여, 본 발명에 따른 인증코드 발급방법은, 사용자의 요청에 의해 소정의 출력물을 인증하기 위한 인증코드를 생성 및 발급하는 인증코드 발급방법으로서, 사용자로부터 출력물의 내용을 구성하는 인증내용 요약정보 및 인증내용 첨부자료 데이터로 이루어진 원본내용을 입력받는 제 1 단계; 출력값으로부터 입력값의 역산출이 불가능한 단방향 유일함수를 이용하는 메시지 다이제스트 알고리즘을 통해 원본내용에 대한 제 1 해쉬값을 추출하는 제 2 단계; 제 1 해쉬값과 원본내용을 인코딩하여 제 1 전송 데이터를 생성하여 원본내용을 인증하는 인증서버로 전송하는 제 3 단계; 인증서버로부터 원본내용에 대한 인증결과인 인증결과값과 문자 및 숫자의 조합된 스트링으로 이루어지고 원본내용을 식별하기 위한 인식값이 인코딩된 제 2 전송 데이터를 수신하는 제 4 단계; 제 2 전송 데이터를 디코딩하여 인증결과값 및 인식값을 추출하는 제 5 단계; 및 인증결과값, 인식값 및 인증서버를 식별하기 위한 식별이름을 출력하는 제 6 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 인식값이, 인증서버가 메시지 다이제스트 알고리즘을 통해 원본내용에 대하여 추출한 제 2 해쉬값이 제 1 해쉬값과 동일하여 원본내용이 인증된 경우 부여되도록 하고,
제 3 단계가, 인증서버를 인증하기 위한 인증서로부터 인증서버의 공개키를 추출하는 단계; 난수 생성을 통해 임의의 암호화 키값을 생성하는 단계; 암호화 키값을 이용하여 원본내용을 인코딩하는 단계; 및 암호화 키값 및 제 1 해쉬값을 공개키로 인코딩하는 단계를 포함하도록 한다.
더욱 바람직하게는, 제 2 전송 데이터에 포함된 인식값이, 인증서버를 인증하기 위한 인증서로부터 추출되는 인증서버의 공개키의 키쌍인 비밀키로 인코딩되도록 하며, 제 5 단계가, 인증서버의 공개키로 인코딩된 인식값을 디코딩하는 단계를 포함하도록 하거나,
제 6 단계가, 인코딩된 인식값, 디코딩된 인식값 및 식별이름을 바코드 형태로 변환하는 단계; 및 디코딩된 인식값 및 식별이름과, 변환된 바코드 중 적어도 하나 이상을 원본내용에 통합하여 출력하는 단계를 포함하도록 한다.
또한, 상기의 또 다른 목적을 달성하기 위하여, 본 발명에 따른 출력물의 내용증명 방법은, 인증된 소정의 출력물에 표시된 인증코드를 이용하여 출력물의 내용을 구성하는 인증내용 요약정보와 인증내용 첨부자료 데이터로 이루어진 원본내용의 정당성을 검증하는 출력물의 내용증명 방법으로서, 소정의 문자 및 숫자가 조합된 스트링으로 이루어지며 원본내용을 식별하기 위한 인식값과 인식값을 발급한 인증서버를 식별하기 위한 식별이름을 포함하는 인증코드를 입력받는 제 1 단계; 난수키를 생성하고, 난수키를 이용하여 인식값을 인코딩하는 제 2 단계; 난수키를 인코딩하는 제 3 단계; 인코딩된 난수키와 인식값을 인증서버로 전송하는 제4 단계; 인증서버로부터, 인식값을 키로 하여 소정의 데이터베이스로부터 추출된 원본내용이 난수키로 인코딩된 데이터를 수신하는 제 5 단계; 난수키로 데이터를 디코딩하여 원본내용을 추출하는 제 6 단계; 및 디코딩된 원본내용을 출력하는 제 7 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 출력물에 표시된 인식값이 인코딩되어 식별이름과 2차원 바코드 형태로 표시되며, 제 1 단계가, 인코딩된 인식값 및 식별이름을 소정의 바코드 리더기를 통해 판독하는 단계; 및 인코딩된 인식값을 디코딩하는 단계를 포함하도록 하거나,
출력물에 표시된 인식값 및 식별이름이 1차원 바코드 형태로 표시되며, 제 1 단계가, 인식값 및 식별이름을 소정의 바코드 리더기를 통해 판독하는 단계를 포함하도록 한다.
더욱 바람직하게는, 제 3 단계가,
인증서버를 인증하기 위한 인증서로부터 추출되는 인증서버의 공개키로 난수키를 인코딩하는 단계를 포함하도록 하거나,
전자봉투를 이용하여 난수키를 인코딩하는 단계를 포함하도록 한다.
또한, 상기의 또 다른 목적을 달성하기 위하여, 본 발명에 따른 인증코드 생성 및 출력장치는, 사용자의 요청에 의해 소정의 출력물을 인증하기 위한 인증코드를 생성하는 인증코드 생성 및 출력장치로서, 사용자로부터 출력물의 내용을 구성하는 인증내용 요약정보 및 인증내용 첨부자료 데이터로 이루어진 원본내용을 입력받는 인증내용 생성 및 지정부; 메시지 다이제스트 알고리증을 이용하여 원본내용에 대한 해쉬값을 추출하는 추출모듈, 해쉬값과 원본내용을 인코딩하는 인코딩모듈, 인코딩된 해쉬값과 원본내용을 원본내용을 인증하는 인증서버로 전송하는 전송모듈, 인증서버로부터 원본내용에 대한 인증결과인 인증결과값과 문자 및 숫자의 조합된 스트링으로 이루어지며 원본내용을 식별하기 위한 인식값의 인코딩된 데이터를 수신하는 수신모듈 및 수신된 데이터를 디코딩하여 인증결과값과 인식값을 추출하는 디코딩모듈을 포함하는 인증내용 전자서명 및 인증수행부; 인증결과값, 인식값 및 인증서버를 식별하기 위한 식별이름을 조합하여 인증코드를 생성하는 인증코드 생성부; 및 인증코드를 원본내용에 삽입하여 소정의 출력장치로 출력하는 출력파일 인증코드 통합부를 포함하는 것을 특징으로 한다.
또한, 상기의 또 다른 목적을 달성하기 위하여, 본 발명에 따른 인증서버는, 소정의 출력물의 내용을 구성하는 원본내용에 대하여 정당성을 인증하는 인증서버로서, 메시지 다이제스트 알고리증을 이용하여 원본내용에 대하여 생성된 제 1 해쉬값과 원본내용의 인코딩된 데이터를 수신하는 수신모듈, 인코딩된 데이터를 디코딩하여 제 1 해쉬값과 원본내용을 추출하는 디코딩모듈, 메시지 다이제스트 알고리증을 이용하여 원본내용에 대한 제 2 해쉬값을 생성하는 해쉬값 생성모듈, 제 1 해쉬값과 제 2 해쉬값의 동일성여부를 판단하여 원본내용을 인증하는 비교모듈, 문자 및 숫자의 조합된 스트링으로 이루어지며 원본내용을 식별하기 위한 인식값을 생성하는 인식값 생성모듈, 인식값과 원본내용에 대한 인증결과인 인증결과값을 인코딩하는 인코딩모듈 및 인코딩모듈에 의해 인코딩된 데이터를 전송하는 전송모듈을 포함하는 출력물 내용증명 수행부; 및 원본내용, 제 1 해쉬값, 인식값 및 인증결과값을 저장하는 데이터베이스를 포함하는 것을 특징으로 한다.
또한, 상기의 또 다른 목적을 달성하기 위하여, 본 발명에 따른 인증코드 검증장치는, 인증된 소정의 출력물에 표시된 인증코드를 이용하여 출력물의 정당성을 검증하기 위하여, 출력물의 내용을 구성하는 인증내용 요약정보와 인증내용 첨부자료 데이터로 이루어진 원본내용을 수신 및 디스플레이하는 인증코드 검증장치로서, 소정의 문자 및 숫자가 조합된 스트링으로 이루어지며 원본내용을 식별하기 위한 인식값과 인식값을 발급한 인증서버를 식별하기 위한 식별이름을 포함하는 인증코드를 입력받는 인증코드 인식부/인증코드 ID 입력부; 난수키를 생성하는 난수키 생성모듈, 난수키를 이용하여 인식값을 인코딩하고 난수키를 인코딩하는 인코딩모듈, 인코딩된 난수키와 인식값을 인증서버로 전송하는 전송모듈, 인증서버로부터 인식값을 키로 하여 소정의 데이터베이스로부터 추출되어 난수키로 인코딩된 원본내용을 수신하는 수신모듈 및 수신된 원본내용을 난수키로 디코딩하는 디코딩모듈을 포함하는 인증내용 검증 및 복원부; 및 디코딩된 원본내용을 출력하는 인증내용 및 인증결과 표시부를 포함하는 것을 특징으로 한다.
바람직하게는, 출력물에 바코드 형태로 표시된 인증코드를 판독하여 인증코드 인식부/인증코드 ID 입력부에 입력하는 바코드 리더기를 더 포함하도록 한다.
또한, 상기의 또 다른 목적을 달성하기 위하여, 본 발명에 따른 인증서버는, 인증된 소정의 출력물의 내용을 구성하는 인증내용 요약정보와 인증내용 첨부자료 데이터로 이루어진 원본내용을 식별하기 위하여 출력물에 표시되고, 소정의 문자 및 숫자가 조합된 스트링으로 이루어진 인식값을 이용하여 원본내용을 추출 및 전송하는 인증서버로서, 인식값과 원본내용을 저장하는 데이터베이스; 및 난수키로 인코딩된 인식값과 인코딩된 난수키를 수신하는 수신모듈, 수신된 난수키를 디코딩하고 디코딩된 난수키로 수신된 인식값을 디코딩하는 디코딩모듈, 인식값을 키로 하여 데이터베이스로부터 원본내용을 추출하는 검색모듈, 추출된 원본내용을 난수키로 인코딩하는 인코딩모듈 및 인코딩된 원본내용을 전송하는 전송모듈을 포함하는 출력물 내용증명 수행부를 포함하는 것을 특징으로 한다.
이하에서는, 첨부한 도면을 참조하여 본 발명의 장점, 특징 및 바람직한 실시례에 대해 상세히 설명한다.
본 발명에 따른 시스템은 각종 출력물의 생성 및 편집 시스템으로부터 사용자 혹은 미리 설계된 출력물 형태에 맞는 적절한 내용 증명을 위한 인증 내용을 입력하고, 인증 대상 범위를 선택하며 이 내용을 해당 출력물을 발급하는 주체의 인증서버에 범위 내의 인증내용과 해당 내용에 대한 다이제스트(Hash) 값을 필요에 따라 상호 인증서를 이용한 적절한 인증 절차를 수행하거나 혹은 서버의 인증서만으로 일방 확인한 후 암호화 또는 평문 전송하고, 인증서버에서 이 내용에 대해 전자서명을 하여 인증내용에 대한 일차적인 인증값을 암호화하여 전송하여 주면, 복호화를 거쳐 출력물에 가장 적합한 형태의 인증코드로 변환하여 물리적인 출력장치에 전송하게 되는 인증코드 생성 및 출력부와,
특정의 물리적 출력물에 기출력되어 있는 인증코드를 광학적 또는 반도체 방식으로 인식하거나 인증코드에 부여된 일련의 인식값(ID)을 수동으로 입력받고, 원 발급주체의 인증서버에 온라인으로 접속하여 필요에 따라 상호 인증서를 이용한 적절한 인증 절차를 수행하거나 혹은 서버의 인증서만으로 일방 확인한 뒤 해당 내용을 암호화 또는 평문 전송하고, 인증서버에서 이 코드에 해당하는 전자서명을 검증하고 해당 인증내용과 함께 인증결과를 암호화하여 수신하고 이를 복호화하여 사용자에게 표시하여 주는 인증코드 검증부를 포함하여 구성된다.
또한, 인증서버는 인증내용 생성 및 출력부로부터 수신된 인증내용과 이 내용에 대한 다이제스트(Hash) 값을 수신하고, 필요에 따라 상호 인증서를 이용한 적절한 인증절차를 수행하거나 혹은 서버의 인증서만으로 일방 확인한 후, 암호화된 내용의 복호화 또는 평문내용을 통해 인증내용을 저장하며, 해당 내용에 대한 다이제스트(Hash) 값과 문자 및 숫자 조합으로 이루어진 유일한 일련의 인식값(ID)을 생성하여 함께 전자서명한 후 암호화하여 다시 인증코드 생성 및 출력부로 전송한다. 이때, 해당 인증내용, 일련의 인식값(ID), 인증시간 및 요청자 등의 적절한 정보가 함께 저장되어야 한다.
또한, 인증서버는 인증코드 검증부로부터 필요에 따라 적절한 인증절차를 수행하거나 혹은 서버의 인증서만으로 일방 확인한 후, 암호화된 내용의 복호화 또는평문내용을 통해 수신된 인증코드 및 인증에 부여된 일련의 인식값(ID)으로부터 저장된 해당 내용을 검색하여 다이제스트 및 전자서명 확인 절차를 거친 뒤, 정확한 인증 내용일 경우 인증내용과 결과를, 부정확한 인증내용일 경우 거부에 대한 결과를 암호화하여 전송하며, 인증확인 수행시간, 횟수 및 결과를 별도 저장할 수 있도록 구현되어야 한다.
또한, 인증코드 생성 및 출력부는 출력물 발급 주체의 인증서버로부터 전송받은 인증코드 및 인증코드에 대한 일련의 인식값(ID)을 1차원, 2차원 매트릭스 형태의 바코드 및 이에 상응한 광학적 또는 반도체식 인식코드로 변환하고, 이 값을 해당 출력문서에 삽입하여 최종적으로 물리적인 출력시스템에 출력될 수 있도록 구현되어야 한다.
도 1 은 본 발명에 따른 공개키 기반구조의 디지털 전자서명 및 암호화를 이용한 출력물 내용증명 시스템의 전체적인 구성도이다. 도 1 을 참조하면, 본 발명에 따른 출력물 내용증명 시스템은, 인증서버(120)를 포함하는 서버모듈(100), 인증코드 생성 및 출력부(220)를 포함하는 사용자모듈(200) 및 인증코드 검증부 (300)를 포함한다. 사용자모듈(200)은 서버모듈(100)과의 암호화된 데이터의 교환을 통해 출력물의 내용증명을 위한 인증코드를 생성 발급받고, 인증코드 검증부 (300)는 서버모듈(100)과의 암호화된 데이터 교환을 통해 인증코드의 정당성 여부를 검증하고 인증코드에 대한 원본 내용과 요약정보를 서버모듈(100)로부터 수신하여 사용자에게 제공한다.
본 발명에 따른 서버모듈(100)은 인증서버(120)를 포함하며, 공개키 기반구조의 인증서를 발급하고 갱신, 폐기하며 실시간 검증하는 인증서 발급 및 관리서버 (110)를 포함하여 구성할 수도 있다.
본 발명에 따른 인증서 발급 및 관리서버(110)는 인증서버(120)와 인증코드 생성 및 출력부(220)에서 사용하는 인증서(Certificate)를 발급 및 관리한다. 인증서 발급 및 관리서버(110)로는 현재 지정되어 있는 7개 공인인증 기관 및 향후 추가될 수 있는 공인인증기관의 인증서비스 기관(CA - Certificate Authority) 또는 이의 등록기관(RA - Register Authority)이 될 수 있으며, 일반 사설 CA 기관들로도 구성할 수 있다.
본 발명에 따른 인증서버(120)는 출력물 내용증명 수행부(121), 인증내용/코드/ID 데이터베이스(122), 인증내용 정책 데이터베이스(123) 및 인증수행 데이터베이스(124)를 포함한다.
본 발명에 따른 출력물 내용증명 수행부(121)는 내용증명을 위한 정보들은 수신하여 전자서명을 확인하고, 인증서버(120)의 인증서를 이용한 해쉬값 복호화를 수행하며, 원본 내용을 암호화하여 사용할 경우 전송된 키를 이용하여 원본 내용의 복호화를 수행한다.
본 발명에 따른 인증내용/코드/ID 데이터베이스(122)는 인증내용, 코드, 인식값(ID), 인증내용 요약 정보 및 인증내용 첨부자료 데이터 등을 저장한다. 저장된 데이터는 출력물 내용증명 수행부(121)가 인식값 (ID)을 이용하여 레코드를검색 추출할 때 추출되어 사용된다.
본 발명에 따른 인증내용 정책 데이터베이스(123)는 내용증명 서비스에 대한 유료화, 인증처리기간 및 인증 처리 유효 횟수 등의 다양한 정책을 저장한다. 따라서, 출력물 내용증명 수행부(121)은 내용증명 서비스를 제공할 때 인증내용 정책 데이터베이스(123)에 저장된 정책을 추출 비교하여 부적합한 경우 인증을 거부할 수 있다. 상기의 인증정책은 본 발명의 시스템을 내용증명 대상 및 목적에 따라 구성할 때 인증서버(120)에서 참조할 수 있는 기본 정책파일이나 목록 파일을 미리 설정하여 지정 및 저장하며, 시스템의 운용 중에 수정 변경될 수 있다.
본 발명에 따른 인증수행 데이터베이스(124)는 요청된 인증처리의 요구 정보를 저장한다.
본 발명의 사용자 모듈(200)은 인증코드 생성 및 출력부(220) 외에, 원 출력물에 대한 파일 생성 및 편집하는 출력물 생성 및 편집 시스템(210) 및 최종 생산된 출력물을 물리적으로 인쇄하는 프린터 및 출력 시스템(230)을 더 포함하여 구성할 수도 있다.
본 발명의 출력물 생성 및 편집 시스템(210)은 일반적인 문서 형식의 문서 편집기(Microsoft의 Office, 한글, 훈민정음, PDF 등)를 포함하여, 이미지 형식의 편집기(어도비 포토샵, 일러스트레이터 및 기타 이미지 에디터 등) 혹은 특수 목적으로 생성되는 증명 서류 포맷(공공 서류 형식, 학교 성적 증명서 또는 경력 증명서 등)을 위해 전용의 파일 편집기, 그리고 대표적으로 인터넷을 통해 특정 포맷의형태로 전송되어 인터넷 브라우저(인터넷 익스플로러 혹은 넷스케이프 등)를 통해 출력 가능한 상태로 표현되는 문서포맷(HTML, XML 등)용 편집기 및 뷰어를 모두 포함하는 것으로서, 해당 내용을 프린터 및 출력시스템으로 출력하기 위해 완성된 출력용 디지털 파일 데이터를 전달하게 된다.
본 발명에 따른 인증코드 생성 및 출력부(220)는 인증내용 생성 및 지정부 (221), 인증내용 전자서명 및 인증 수행부(222), 인증코드 생성부(223) 및 출력파일 인증코드 통합부(224)를 포함한다.
본 발명에 따른 인증내용 생성 및 지정부(221)는 전달되어진 디지털 파일을 프린터 등의 출력 시스템과 동일한 모습으로 재구성하여 사용자에게 표시한다.
본 발명에 따른 인증내용 전자서명 및 인증 수행부(222)는 인증내용 생성 및 지정부(221)에서 정의된 인증내용 요약 정보와 인증내용 첨부자료 데이터를 실제적으로 인증서버(120)를 통해 인증받는 작업을 수행하며, 인증서버(120)의 해당 인증 내용에 대한 전자서명을 획득한다. 이를 위하여, 인증내용 전자서명 및 인증 수행부(222)는 전달된 인증내용 요약 정보와 인증내용 첨부자료 데이터(예를 들어, 인증대상이 되는 원본 파일이나 원본 파일의 일부)에 대하여 다양한 메시지 다이제스트 알고리즘(Digest, Hash - MD2, MD5, SHA1, HAS160 등)을 통해 해쉬(Hash) 값을 추출하며, 추출된 해쉬값과 해쉬를 추출한 원본 내용인 인증내용 요약 정보 및 인증내용 첨부자료를 인증서버(120)의 출력물 내용증명 수행부(121)로 전송한다.
본 발명에 따른 인증코드 생성부(223)는 인증코드를 생성하기 위한 기초정보인 인증 기초정보를 입력받아 실제적으로 출력 가능한 인증코드로 변환한다. 변환되는 인증코드는 세가지 부분으로 구성되는데, 인증서버(120)의 비밀키로 암호화된(전자서명된) 일련의 인식값(ID)과 인증서버(120)의 식별이름을 2차원 매트릭스 형태의 바코드로 변환한 것과, 암호화되지 않은 일련의 인식값(ID)을 일차원 바코드로 변환한 것과, 인증서버(120)의 식별이름을 1차원 바코드로 변환한 것이다.
출력파일 인증코드 통합부(224)는 인증코드 생성부(223)에 의해 생성된 세가지 형태의 바코드와 암호화되지 않은 일련의 인식값(ID) 및 인증서버(120) 식별 이름을 원본 출력 대상의 디지털 파일에 통합한다. 출력파일 인증코드 통합부(224)는 출력물 통합작업이 완료되면 해당 디지털 파일을 프린터/출력 시스템(230)으로 전달한다.
본 발명에 따른 프린터/출력 시스템(230)은 출력파일 인증코드 통합부(224)로부터 통합작업이 완료된 디지털 파일을 입력받아 출력한다. 즉, 실제적인 출력물의 물리적인 출력을 수행한다.
본 발명에 따른 인증코드 검증부(300)는 본 발명에 따른 사용자 모듈(200)과 서버모듈(100)에 의해 생성되고 출력된 출력물의 인증코드를 인식하고, 이를 다시 해당 인증서버(120)에 대해 검증을 의뢰하며, 정당한 것이라면 원본 내용과 요약정보를 얻어와 출력물의 내용 증명을 요청한 사용자에게 표시하는 기능을 수행한다.
본 발명에 따른 인증코드 검증부(300)는 인증코드 인식부/인증코드 ID 입력부(310), 인증내용 검증 및 복원부(320) 및 인증내용 및 인증결과 표시부(330)를 포함한다.
본 발명에 따른 인증코드 인식부/인증코드 ID 입력부(310)는 출력물에 출력되어있는 인증코드를 인식하거나 혹은 사용자로부터 직접 인증된 내용에 대한 일련의 인식값(ID)과 인증서버(120)의 식별이름 등을 입력받는다. 바람직하게는, 물리적인 바코드 리더기를 포함하도록 하며, 출력물의 내용 증명을 원하는 사용자는 두가지의 보안 레벨을 결정하여 내용증명 검증을 요청할 수 있다.
본 발명에 따른 인증내용 검증 및 복원부(320)는 암호화된 인식값(ID) 등을 인증서버(120)에 전송하며 정당한 인증요청임을 확인받은 뒤, 출력물 내용증명 수행부(121)로부터 상기 인식값(ID)에 대한 인증내용 요약정보와 인증내용 첨부자료를 수신한다. 또한, 인증내용 검증 및 복원부(320)는 수신된 인증내용 요약 정보 및 인증내용 첨부자료를 복호화하여 인증내용 및 인증결과 표시부(330)로 전송한다.
본 발명에 따른 인증내용 및 인증결과 표시부(330)는 인증내용 검증 및 복원부(320)로부터 전송받은 인증내용 요약 정보 및 인증내용 첨부자료를 통해 최종적으로 사용자 또는 인증처리 의뢰자에게 가시적인 결과를 표시한다.
도 2 는 출력물 내용증명에 대한 인식코드를 발급하는 전체처리 순서도이다. 도 2 를 참조하여 본 발명에 따른 출력물의 내용증명에 대한 인식코드를 발급하는 순서를 단계별로 설명하면 이하와 같다.
1 단계:
본 발명의 사용자 모듈(200)의 출력물 생성 및 편집 시스템(210)에서 문서등을 프린터 등의 출력시스템으로 출력이 가능하도록 완성된 출력용 디지털 파일 데이터를 구성한다(S5).
2 단계:
사용자 모듈(200) 및 그 물리적 시스템이 자동 발급기 형태로 구성되어 있는지를 판단하고(S10), 자동발급 형태로 구성되지 아니한 경우에는 본 발명에 따른 인증내용 생성 및 지정부(221)는 전달되어질 디지털 파일을 프린터 등의 출력 시스템과 동일한 모습으로 재구성하여 사용자에게 표시하고, 사용자는 인증을 받아야 할 문서 및 서류 등 출력물에 대한 핵심적인 인증내용을 요약하여 입력하도록 한다(예를 들어, 발급 문서 제목, 발급대상자, 용도, 기간, 유효 인증횟수 등) (S25). 또한, 별도로 파일의 특정 부분이나 혹은 전체를 인증내용 첨부자료로서 지정할 수 있다(S30).
출력물에 대한 핵심적인 인증내용의 요약을 이루는 항목들은 출력물 내용 증명 시스템을 사용하고자 하는 용도에 따라 각기 다르게 구성할 수 있으며, 각종 증명서류나 혹은 유가증권 등에 따라 자세한 내용에서 단순한 발급자 정보 및 발급 대상자 정보만으로도 구성 가능하다.
이러한 인증내용 요약 정보에 대한 입력 항목의 정의는 최초 인증내용 생성 및 지정부(221)를 설치할 때 항목을 담고 있는 소규모 파일이나 혹은 파일 형태의 데이터베이스를 통해 지정할 수 있도록 하며, 이 항목파일 또는 데이터베이스는 오프라인 또는 온라인의 정당한 인증과 암호화, 복호화를 통해 수시로 업데이트 및 변경 가능하다.
3 단계:
사용자 모듈(200) 및 그 물리적 시스템이 자동 발급기 형태로 구성되어 있는지를 판단하고(S10), 만일 사용자 모듈(200) 및 그 물리적 시스템이 자동 발급기 형태로 구성될 경우, 인증내용 생성 및 지정부(221)는 사용자로부터 인증내용에 대한 요약정보를 입력받지 않게 되며, 미리 정의된 항목들에 대해 발급에 필요한 정보를 구성하는 과정에서 해당 정보를 자동적으로 획득, 처리할 수 있도록 구성한다 (S15, S20).
4 단계:
인증내용 전자서명 및 인증 수행부(222)는 전달된 인증내용 요약정보와 인증내용 첨부자료 데이터(예를 들어, 인증대상이 되는 원본 파일이나 원본 파일의 일부)를 통합하고(S35), 다양한 메시지 다이제스트 알고리즘(Digest, Hash - MD2, MD5, SHA1, HAS160 등)을 통해 해쉬(Hash) 값을 추출한다(S40).
이때, 다이제스트의 공통적인 요건을 다음과 같이 표시한다면,
D(T) = H (단, D는 단방향 유일 함수)
(D: 다이제스트 알고리즘의 함수, T: 입력되는 원본 내용, H: D를 통해 생성된 원본 T에 대한 해쉬값)
D는 단방향 함수로서, 산출된 H로부터 원본 T를 복원하거나 산출할 수 없으며 원본 T에 대한 해쉬값 H는 오직 하나만 존재한다.
여기서, 인증내용 요약정보와 인증내용 첨부자료 데이터는 메모리 상에서 하나의 일련된 내용으로 연결되어, 다이제스트 함수인 D 에 하나의 입력내용 T 로서입력된다. 물론, 작업상의 효율이나 부분적인 인증을 위해 각각의 내용에 대한 해쉬를 추출할 수 있다.
D (RequestSummary | RequestData) = RequestHash ('|'는 Concatenation)
RequestSummary 는 인증내용 요약 정보이며, RequestData는 인증내용 첨부자료이고, RequestHash는 이 두 정보를 일련의 입력으로 얻어낸 해쉬값이다.
5 단계:
추출된 해쉬값과 해쉬를 추출한 원본내용인 인증내용 요약정보 및 인증내용 첨부자료는 인증서버(120)의 출력물 내용증명 수행부(121)로 전송되게 되고, 보안 강도에 따라, 인증내용 전자서명 및 인증수행부(222)는 인증서 발급 및 관리서버 (110) 혹은 제 3 의 신뢰할 수 있는 공통 인증서 발급서버로부터 발급받은 인증코드 생성 및 출력부(220)의 인증서와 인증서버(120)의 인증서를 상호 교환하고, 인증서에 서명된 공통인증서 발급서버의 디지털 전자서명을 확인하는 상호 인증 절차를 가질 수도 있다(S45).
인증내용 전자서명 및 인증수행부(222)는 보안강도 및 처리효율을 위해 인증서발급 및 관리서버(110) 혹은 제 3 의 신뢰할 수 있는 공통 인증서 발급서버의 인증서로 디지털 전자서명된 인증서버(120)의 인증서만을 이용하여 서버인증을 수행할 수 있다. 이 두가지의 경우에서 인증내용 전자서명 및 인증수행부(222)는 인증서버(120)의 공개키를 인증서버(120)에서 추출한다.
6 단계:
인증내용 전자서명 및 인증수행부(222)는 불특정한 난수 생성을 통해 16바이트 이상(2진 128비트 이상)의 연속 값을 생성한다. 이 값을 암호화 키(Key)로 사용하여 앞서 생성한 해쉬 값의 원본 내용을 블록 암호화 알고리즘(SEED, FES, DES, RC2 등)을 통해 암호화한다. 그리고 이 키 값과 앞서 생성한 해쉬값을 정해진 순서로 구성한 후 인증서버(120)의 공개키로 암호화한다. 이렇게 생성된 암호화 값과 암호화된 원본 내용을 함께 인증서버(120)의 출력물 내용증명 수행부(121)로 전송한다. 이 경우, 표준적인 전자봉투(Digital Envelop) 방식을 따를 수 있다 (S50).
7 단계:
이 과정에서 인증내용 전자서명 및 인증 수행부(222)는 처리 효율을 위해 보안 강도에 따라 원본 내용을 암호화하지 않을 수 있으며, 해쉬값만을 인증서버 (120) 공개키로 암호화하여 원본내용과 함께 출력물 내용증명 수행부(121)로 전송할 수 있다.
또한, 인증내용 전자서명 및 인증수행부(222)는 앞서 인증서버(120)와 인증코드 생성 및 출력부(220)의 인증서를 상호 교환하여 상호 인증한 경우, 자신의 비밀키(공개키 키쌍)로 해쉬값을 암호화하여 제공할 수 있다. 이때, 표준적인 디지털 전자서명(DSS, RSA Signing, KCDSA 등) 알고리즘을 따를 수 있다.
인증내용 전자서명 및 인증 수행부(222)는 이렇게 생성된 내용증명 대상의 인증내용을 출력물 내용증명 수행부(120)로 전송한다. 이때, 보안 강도에 따라, 인증내용 전자서명 및 인증 수행부(222)와 출력물 내용증명 수행부(120) 간의 통신 구간이 대표적인 공개망인 인터넷과 같은 경우, 소켓 레이어 혹은 전송 계층 보안등의 다양한 암호화 통신을 수행할 수 있다(SSL, TLS, WTLS 등)(S55).
바람직하게는, 인증내용 전자서명 및 인증 수행부(222)는 앞서 기술된 인증내용과 그 해쉬값을 출력물 내용증명 수행부(121)로 전송하는데 있어, 사용된 원본 암호화 방식(암호화 했을 경우)과 해쉬값을 추출한 다이제스트(해쉬) 알고리즘을 전체 전송 내용에 포함시켜야 한다.
이 규칙은 인증서버(120)와 구축되는 시스템에 맞추어 적절히 포함되며, 인증내용 요약정보를 구성하는 것과 같은 방식으로 태그 기반의 마크-업 기술언어 등을 이용하여 해쉬종류, 해쉬값, 암호화 키, 암호화 종류, 암호화 또는 평문 원본 내용 등을 구분할 수 있도록 구성한다.
이 구성은 각 항목에 대한 적절한 연산이나 처리를 완료한 후 한꺼번에 하나의 패킷으로 구성할 수 있으며, 혹은 각 항목에 나름대로의 태그를 삽입한 상태로 각각에 대한 처리를 하고 연속적으로 정보를 붙여 하나의 패킷을 구성할 수 있다.
그리고, 구성에 따라 여기에 현재 인증을 요청하는 사용자 모듈(200) 시스템의 고유 인식 이름(시스템 IP 또는 기 부여된 사용자 모듈 번호, 형명 등)을 첨부할 수 있다. 또한, 통신 구간의 불안정성에 의한 전송장애 발생시 재전송 등을 위해 위의 구성된 최종 패킷을 파일형태로 저장장치에 저장해 둘 수도 있다.
8 단계:
인증서버(120)의 출력물 내용증명 수행부(121)에 의해, 전송된 내용증명을 위한 정보들은 전자서명 확인 및 인증서버(120)의 인증서를 이용한 해쉬값 복호화 그리고 원본 내용 암호화 사용시 전송된 키를 이용한 원본 내용의 복호화가 수행된다(S60). 그리고, 이러한 절차에 의해 복원된 혹은 평문 원본 내용을 동일한 다이제스트 알고리즘을 통해, 해쉬를 얻는다(S65).
9 단계:
전송되어 온 해쉬값과 비교하여 일치여부를 판단하고(S70), 일치하면 인증 요청에 대한 인증서버(120) 만의 일련의 숫자와 문자의 혼합 또는 각자 독자 구성될 수 있는 최소 16바이트 이상의 유일의 인식값(ID)를 생성한 후(S75), 이를 인증서버(120)의 비밀키(공개키의 키쌍)로 암호화하여 암호화된 값과, 성공적으로 수행된 인증 수행 결과 값(상호 약속된 인식부호)을 같이 함께 블록 암호화하여 인증내용 전자서명 및 인증 수행부(222)로 재전송하게 된다.
10 단계:
원래 전송 되어온 모든 내용과 함께 검증된 해쉬값 및 복원 또는 평문 원본 내용을 적절한 데이터베이스(122, 123, 124)에 저장하며, 이때 필요한 추가 정보 - 인증 요청 시간 및 조회를 위한 요약 정보 중 대표 정보 등을 같이 저장하게 된다 (S80).
일련의 인식값(ID)를 비밀키로 암호화하는 과정에서, 표준적인 전자서명 알고리즘을 따를 수 있다(S85).
이 유일한 일련의 인식값(ID)은 전송되어온 인증 요청의 해쉬값에 대해 오직 하나만 존재하며, 이 해쉬값에 대한 최우선 키(Primary Key)로서 데이터베이스에 저장된다.
그리고, 필요에 따라 인증 요청을 한 사용자 모듈(200) 시스템의 고유 인식이름(시스템 IP 또는 기 부여된 사용자 모듈 번호, 형명 등)을 함께 데이터베이스에 저장하며, 전송되어온 인증 요구에 대해 사용자 모듈(200) 중 인증코드 생성 및 출력부(220)의 인증서를 가지고 인증서버(120)와 상호 인증을 수행한 경우, 해당 해쉬에 대해 인증코드 생성 및 출력부(220)의 비밀키로 암호화되었거나 표준 전자서명되어 있으므로 추후 이 인증 요구에 대한 부인방지를 할 수 있는 증빙자료로 활용될 수 있다. 이 경우, 출력물 내용증명 수행부(121)는 인증코드 생성 및 출력부(220)의 인증서를 같이 저장하여야 한다.
11 단계:
바람직하게는, 출력물 내용증명 수행부(121)는 인증내용 전자서명 및 인증 수행부(222)와 인증서버(120)간에 상호 인증서를 통한 인증을 수행한 경우, 인증코드 생성 및 출력부(220)의 인증서로부터 공개키를 획득하여 일련의 인식값(ID)과 기타 인증 수행 시간 및 인증 결과 값을 암호화하여 전송하거나, 혹은 인증서버 (120) 만의 인증서를 통해 인증을 수행한 경우 인증내용 전자서명 및 인증 수행부 (222)에서 보내온 암호화키를 이용하여 이 결과값들을 암호화하게 된다.
만약 인증내용 전자서명 및 인증 수행부(222)에서 원본 내용을 암호화하지 않은 경우 출력물 내용증명 수행부(121)에서는 다시 특정 암호화키를 생성하여 전송해 줄 것을 요청할 수 있으며, 이 요구에 대해, 인증내용 전자서명 및 인증 수행부(222)는 인증서버(120) 인증서의 공개키로 신규 생성한 암호화키를 암호화하여 출력물 내용증명 수행부(121)로 전송해 주며, 출력물 내용증명 수행부(121)는 이 키를 이용하여 인증서버(120)의 비밀키로 암호화된 일련의 인식값(ID)과 기타 인증처리 수행결과를 같이 암호화하여 전송해 주게 된다(S90).
12 단계:
인증내용 전자서명 및 인증 수행부(222)는 출력물 내용증명 수행부(121)로부터 수신한 암호화된 결과 값으로부터 자신이 생성하여 알고 있는 암호화 키 혹은 출력물 내용증명 수행부(121)로부터 생성되어 전송되어 온 암호화키를 이용하여 결과값과 인증서버(120)의 비밀키로 암호화된 일련의 인식값(ID)을 일차적으로 복호화한다(S95).
13 단계:
복호화된 결과값이 약속된 성공 부호를 가지고 있을 때, 인증서버(120)의 공개키로 암호화된 일련의 인식값(ID)을 복호화하여 본 후, 복호화 과정에 이상이 없으면 인증서버(120)를 통한 출력물 인증 내용 생성 작업이 완료된 것으로 간주하고, 인증서버(120)의 비밀키로 암호화된 일련의 인식값(ID)과 복호화된 상태의 일련의 인식값(ID) 그리고 인증서버(120) 식별 이름(네트워크 IP 혹은 도메인 이름 혹은 기 설정된 인증서버 목록에 있는 인식 부호 등)을 인증코드 생성부(223)로 전달한다(S100).
이것은 인증코드 생성부(223)에서 인증코드를 생성하는 기초 정보로서 다음과 같은 요소들로 구성될 수 있다.
CertCodeInfo ::= SEQUENCE {
CertID
[0] BIT STRING,
SignedCertID
[1] BIT STRING,
ServerName
[2] BIT STRING,
ResultValue
[3] BOOLEAN OPTIONAL,
EtcValue
[4] BIT STRING OPTIONAL
}
CertCodeInfo: 인증코드 생성부(223)에서 실제 인증코드로 변환될 인증정보
CertID: 출력물 내용증명 수행부(121)에서 생성된 유일한 일련의 인증값(ID)
SignedCertID: CertID를 인증서버(120)의 비밀키로 암호화한 값
ServerName: 인증서버(120)에 대한 식별이름
ResultValue: 출력물 내용증명 수행부(121)에서 수행한 인증요청 처리결과
EtcValue: 기타 필요에 따라 전달될 수 있는 값
SEQUENCE: 연속적인 데이터 구조로 하나 이상의 요소를 포함
BIT STRING: 2진으로 표현될 수 있는 1바이트 요소 배열 스트링
BOOLEAN: 7비트 또는 8비트로 표현되는 0과 그 이상의 값
OPTIONAL: 생략가능
상기 인증코드 생성을 위한 인증 기초정보는 필요에 따라 위의 예를 기초로 다양하게 재 구성될 수 있다.
14 단계:
이 과정에서, 출력물 내용증명 수행부(121)에서 표준 전자서명 알고리즘을 사용하였을 경우, 역시 해당 알고리즘에 의해 전자서명을 검증하고, 이 과정은 인증서버(120)의 비밀키로 암호화된 일련의 인식값(ID)을 역시 인증서버(120)의 공개키로 복호화하는 과정에 대체될 수 있다(S105, S110).
복호화된 결과값이 약속된 성공 부호를 가지고 있지 않거나 인증서버(120)의 공개키로 일련의 인식값(ID)을 복호화하는 과정에서 오류가 발생하면, 인증서버 (120)를 통한 출력물 인증 내용 생성 작업이 실패한 것으로 간주하며 이를 사용자에게 통보하고 현재 처리 절차를 종료한다(S125).
15 단계:
인증코드 생성부(223)는 전달된 인증 기초 정보로부터 실제적으로 출력 가능한 인증코드로 변환한다. 변환되는 인증코드는 크게 세가지 부분으로 구성된다. 하나는 인증서버(120)의 비밀키로 암호화된(전자서명된) 일련의 인식값(ID)과 인증서버(120)의 식별이름을 2차원 매트릭스 형태의 바코드로 변환하며, 다른 한 부분은 암호화되지 않은 일련의 인식값(ID)을 일차원 바코드로 변환한다. 마지막 한 부분은 인증서버(120)의 식별이름을 1차원 바코드로 변환한다. 이렇게 변환된 세가지 형태의 바코드와 암호화되지 않은 일련의 인식값(ID) 및 인증서버(120) 식별이름은 출력파일 인증코드 통합부(224)로 전달된다.
1차원의 바코드는 CODE39, UPC-A/E, EAN-8/13, CODABAR, CODE93, CODE128, EAN/UCC128, POSTNET 등의 산업 전반에 걸쳐 특성별로 다양하게 사용되고 있는 실정이며, 본 발명에서는 256바이트의 ASCII 코드 전체를 표현할 수 있거나 혹은 '0'~'9'와 'A'~'Z', 'a'~'z'로 표현될 수 있는 바코드 심볼로지(Symbology)와, 최소 16바이트 이상 표현할 수 있고 최대길이는 본 발명의 필요에 의해 구축된 시스템 사양에 따른 일련의 인식값(ID)을 표현할 수 있는 바코드 체계이면, 기존의 것이든 아니면 신규로 생성한 바코드 체계이든 어떤 것이든 관계없이 적용할 수 있다.
2차원의 매트릭스(Matrix) 형태의 바코드는 PDF417, BPO, DATAMATRIX, MAXICODE, AZTEC CODE, MSI/PLESSEY 등의 체계가 있으며, 본 발명에서는 256바이트의 ASCII 코드 전체를 표현할 수 있는 심볼로지(Symbology)로서, 최소 143바이트(최소 인증서버(120)의 비밀키로 암호화된 일련의 인식값(ID)의 128바이트와, 인증서버(120)의 식별이름(IP주소로서 15바이트)을 포함) 이상으로 최대길이는 본 발명의 필요에 의해 구축된 시스템 사양에 따른 일련의 인식값(ID)을 표현할 수 있는 바코드 체계이면 기존의 것이든 신규로 생성한 바코드 체계이든 어떤 것이든 관계없이 적용할 수 있다.
출력파일 인증코드 통합부(224)는 인증코드 생성부(223)로부터 전달받은 세가지 형태의 바코드와 암호화되지 않은 일련의 인식값(ID) 및 인증서버(120) 식별 이름을 원본 출력 대상의 디지털 파일에 통합한다.
이때, 파일의 실제 출력 양식에 따라 출력물의 실제 페이지의 Header와 Footer 부분에 이 세가지 바코드 인증코드를 출력하도록 하며, 암호화되지 않은 일련의 인식값(ID)은 가독할 수 있는 형태 그대로 역시 바코드로 변환된 암호화되지 않은 일련의 인식값(ID)과 병렬로 출력하고, 나머지 인증서버(120) 식별 이름의 바코드 변환 코드와 함께 인증서버(120) 식별이름의 가독형태를 같이 병렬로 출력한다.
추후 사용자의 낮은 레벨 인증 수행시 함께 출력된 가독형태의 일련의 인식값(ID) 및 인증서버(120) 식별 이름을 보고 수동 입력이 가능하도록 한다.
16 단계:
필요에 따라, 출력파일 인증코드 통합부(224)는 오직 인증서버(120)의 비밀키로 암호화된(혹은 전자서명된) 일련의 인식값(ID)과 인증서버(120) 식별이름의 바코드 변환 형태만을 출력파일에 통합하여 어떠한 가독 가능한 출력을 피한 상태로 출력되도록 할 수 있다. 이것은 보다 높은 레벨의 내용 증명을 위한 출력물이나 사용자의 요구에 의해 다양하게 구성될 수 있다(S115).
17 단계:
그리고, 필요에 따라 인증코드를 출력하는 위치는 다양하게 할 수 있으며 출력물의 중앙에 배치되도록 할 수 있다. 또한, 출력파일 인증코드 통합부(224)는 출력을 위해 전달되어진 원본 디지털 파일에 인증 목적에 따른 다양한 정보를 추가로 통합시킬 수 있다. 예를 들어, 인증서버(120)의 식별이름, 인증 요청 수행일자 및 현재 출력을 요청한 사용자정보 등을 인증코드와 함께 시스템의 요구에 적합한 위치에 배치시킬 수 있다.
출력물 통합작업이 완료되면 출력파일 인증코드 통합부(224)는 해당 디지털 파일을 프린터/출력 시스템(230)으로 전달한다. 실제적인 출력물의 출력은 각종 프린터 및 다양한 형태의 출력 시스템에 의해 물리적으로 출력이 이루어진다 (S120).
사용자가 출력작업을 완료하기 이전에 재 출력을 원할 경우, 출력파일 인증코드 통합부(224)는 다시 처음부터 인증 수행을 위한 절차를 거치지 않으며, 오직출력부수만 출력물 내용증명 수행부(121)에 통보한다. 이 과정에서, 필요시 인증서버(120)와의 인증 및 정보보호를 위해 인증내용 전자서명 및 인증 수행부(222)의 필요한 기능을 요청할 수 있으며, 상호 인증 또는 서버 인증 등의 적절한 인증을 수행하고, 필요하면 인터넷과 같은 통신구간에 보안 프로토콜을 사용하여 데이터를 보호한다. 출력물 내용증명 수행부(121)은 적절한 데이터베이스를 갱신한다. 사용자가 출력작업을 종료하면, 로그를 제외한 인증과정에서 임시로 생성한 전송 정보 및 기타 관련 파일들을 제거하고 메모리에 있던 인증 정보 및 내용정보 등을 삭제한다. 필요시, 다양한 정보 보안 체계아래서, 시스템에 효율적인 운영 방안을 적용할 수 있으며 인증로그 조회와 같은 부가적인 운영자를 위한 기능을 탑재할 수 있다.
도 3 은 출력물 내용증명에 대한 검증에 대한 전체처리 순서도이다.
1 단계:
강력한 수준의 검증을 통해야 하는 출력물이나 동 수준의 인증을 원하는 사용자의 경우, 2차원 바코드의 형태로 표시된 인증코드를 이에 적합한 바코드 리더기를 통해 읽어 인증코드 인식부(310)를 통해 출력물의 내용증명을 수행할 수 있다 (S200).
2 단계:
보다 낮은 수준의 출력물 내용 증명 방법에서, 사용자는 1차원의 바코드 형태로 표시된 일련의 인식값(ID)과 인증서버(120)의 식별이름을 이에 적합한 바코드리더기를 통해 읽어 인증코드 인식부(310)를 통해 출력물의 내용증명을 수행할 수 있다(S205).
3 단계:
보다 낮은 수준의 출력물 내용증명 방법에서, 바코드 리더기가 없을 경우 사용자는 낮은 수준의 출력물 내용증명 수행을 위해 직접 인증코드 ID 입력부(310)에 수동으로 출력물에 표시되어 있는 가독형태의 일련의 인식값(ID)과 인증서버(120)의 식별이름을 입력하여 출력물의 내용증명을 수행할 수 있다(S210).
4 단계:
먼저 높은 수준의 출력물 내용 증명 수행을 위해, 인증코드 인식부(310)에서는 바코드 리더기를 통해 읽혀진 인증코드가 전자서명 혹은 인증서버(120)의 비밀키로 암호화된 일련의 인식값(ID)과 인증서버(120)의 식별이름을 분리해 낸다 (S212).
5 단계:
바코드 형태 등의 인식코드가 오류없이 잘 복원되어 졌을 때, 인증코드 인식부 및 인증코드 ID 입력부(310)는 분리해낸 암호화 혹은 전자서명된 일련의 인식값 (ID)과 인증서버(120)의 식별이름을 인증내용 검증 및 복원부(320)로 전달한다 (S215).
6 단계:
보다 낮은 수준의 출력물 내용 증명에 있어서, 1차원의 바코드 형태로 표시된 일련의 인식값(ID)과 인증서버(120)의 식별 이름을 적합한 리더기를 통해 읽어들인 후 이를 인증내용 검증 및 복원부(320)로 전달한다(S212, S220).
7 단계:
보다 낮은 수준의 출력물 내용 증명에 있어서, 사용자는 적합한 입력 장치를 통해 인증코드 ID 입력부(310)에 직접 수동으로 일련의 인식값(ID)과 인증서버 (120)의 식별이름을 입력할 수 있으며, 인증코드 ID 입력부(310)는 입력된 값을 인증내용 검증 및 복원부(320)로 전달한다. 바람직하게는, 각각의 경우에 대해 인증코드 인식부 및 인증코드 ID 입력부(310)는 인증내용 검증 및 복원부(320)로 읽거나 입력받은 데이터를 전송하기 전 위와 같은 형태의 높은 수준의 증명 방식이나 낮은 수준의 증명 방식 등 현재 수행되어져야 할 내용증명 방식을 전달하여 적절한 내용 증명이 수행될 수 있도록 한다. 인증내용 검증 및 복원부(320)는, 먼저 높은 수준의 내용증명 방식의 경우 전달받은 전자서명 혹은 인증서버(120)의 비밀키로 암호화된 일련의 인식값(ID)을 역시 함께 전달받은 인증서버(120)의 식별이름을 참조하여 해당 인증서버(120)의 공개키를 통해 복호화하거나 전자서명을 확인한다. 이때, 인증서버(120)의 공개키를 소유하고 있지 않거나 유효하지 않은 경우 인증서 발급 및 관리 서버(110) 또는 인증서버(120)을 통해 인증서를 수신받을 수 있으며, 전자서명 알고리즘에서 별도 정의한 경우 이 방식을 따라 공개키를 획득하고 검증하도록 한다(S230).
8 단계:
인증서버(120)의 식별이름은 자체적으로 네트워크상의 주소로 표현될 수 있으며, 또는 미리 정의된 내용증명 시스템의 표현방식으로써 특정 가상 이름이 될수 있다. 이 경우, 별도의 네트워크 및 디지털 통신방법으로 통신할 수 있는 실제 물리적 주소로 변환될 수 있도록 주소파일 또는 변환파일, 또는 적절한 정보가 미리 구성되어야 한다(S225).
9 단계:
전자서명 확인 또는 공개키 복호화 과정에서 오류가 발생할 경우, 이는 인증서버(120)에서 정확히 발급된 경우가 아니므로 인증내용 검증 및 복원부(320)는 오류 정보를 인증내용 및 인증결과 표시부(320)로 전달한다(S300).
10 단계:
전자서명 확인 또는 공개키 복호화가 성공적으로 수행되었을 경우, 복원된 일련의 인식값(ID)은 출력물 내용증명 수행부(121)로 전송된다(S235).
보다 낮은 수준의 내용증명에 있어서도, 1차원의 바코드를 통해 읽혀진 경우 혹은 사용자가 수동으로 입력한 경우이든 해당 일련의 인식값(ID)은 출력물 내용증명 수행부(121)로 전송된다.
11 단계:
일련의 인식값 (ID) 를 전송함에 있어, 인증내용 검증 및 복원부(320)와 출력물 내용증명 수행부(121)는 인증코드 검증부(300)와 인증서버(120)의 상호 인증서를 통한 상호인증을 수행할 수 있으며, 필요에 따라 인증서버(120) 만의 인증서로 서버인증 만을 수행할 수 있다(S240).
12 단계:
인증내용 검증 및 복원부(320)는 일련의 인식값(ID) 및 당 내용증명 수행시간 및 기타 필요한 관련정보 등을 필요에 따라 구성하고 자체 난수 키를 이용하여 이를 암호화하고, 이 키를 인증서버(120)의 공개키로 암호화하거나 또는 전자봉투 (Digital Envelop)를 생성하여 일련의 인식값(ID) 및 관련정보를 암호화하여 출력물 내용증명 수행부(121)로 전송한다(S245, S250).
13 단계:
출력물 내용증명 수행부(121)는 수신한 암호화된 일련의 인식값(ID)과 관련 데이터에서 적합한 암호화 방식에 따라, 자신의 비밀키를 통한 복호화 또는 전자봉투(Digital Envelop) 키 복원을 통해 원 데이터를 암호화한 난수를 복원해 내고, 이 키를 이용하여 일련의 인식값(ID)과 관련 데이터를 복호화한다. 이러한 과정에서 인증내용 검증 및 복원부(320)와 출력물 내용증명 수행부(121)는 원 데이터를 암호화한 알고리즘 및 방식등을 약속한 방법에 의해 송수신 패킷에 구성하여 전달하게 된다(S255).
14 단계:
출력물 내용증명 수행부(121)는 오류 없이 복원된 일련의 인식값(ID)를 이용하여 인증내용/코드/ID 데이터베이스(122) 등을 통해, 동일한 일련의 인식값(ID)에 해당하는 레코드를 검색하게 된다(S260).
15 단계:
해당하는 데이터가 없을 경우, 출력물 내용증명 수행부(121)는 오류 내용과 함께 결과를 인증내용 검증 및 복원부(320)로 암호화하여 송신하고 처리를 종료한다(S300). 송신 시점의 암호화는 인증내용 검증 및 복원부(320)에서 전달한 난수를 통해 재암호화하게 된다. 이때, 필요에 따라, 현재 요청된 인증처리의 요구 정보를 인증수행 데이터베이스(124) 등에 기록하여 저장할 수 있다(S265).
16 단계:
이때, 출력물 내용증명 수행부(121)는 인증내용 정책 데이터베이스(123) 등을 통해 현재 내용증명을 해주는 요구에 대한 유료화, 인증 처리 기간 만료, 인증 처리 유효 횟수 등의 다양한 정책을 검색하여 기간이 유효하지 않거나, 정당한 유료화 처리가 발생되지 않았거나, 혹은 인증 횟수를 초과한 경우 등에 대해서는 인증내용에 관련된 요약정보 및 첨부자료를 전송하는 대신 해당 인증 거부 사유와 처리결과를 인증내용 검증 및 복원부(320)로 암호화 후 전송한다.
해당 내용증명 요구에 대한 인증 정책은 본 발명의 시스템을 내용증명 대상 및 목적에 따라 구성할 때, 인증서버(120)에서 참조할 수 있는 기본 정책파일이나 목록 파일을 미리 설정하여 지정할 수 있으며, 출력물 내용증명 수행부(121)는 이러한 여러 정책 정보를 참조하여 해당 내용증명 요구에 대한 인증처리를 수행할 때 적정한 정책을 삽입하여 인증내용 정책 데이터베이스(123) 등에 저장한다. 또한, 인증내용 전자서명 및 인증 수행부(222)와 출력물 내용증명 수행부(121) 간의 인증요구 및 인증처리 시점에서도 추가적인 통신 규약을 통해 정책을 주고받을 수 있으며, 필요에 따라 인증 정책 파일이나 관련 정보를 수정하여 정책을 수정 및 변경 응용할 수 있다(S270).
바람직하게는, 유료화를 처리해야 하는 내용증명 요구에 대해서는 출력물 내용증명 수행부(121)는 인터넷 전자지불 시스템(Payment Gateway)과 연계하여 실시간 지불을 처리하도록 할 수 있으며, 자동판매기 형태의 Vending Machine일 경우 현금을 받을 수 있도록 한다.
또한 내용증명 인증처리를 수행하기 이전, 최초 내용증명 인증코드 생성 시점에서 출력물을 인증코드와 함께 발급 또는 출력하는 시점에서 유료화를 수행하고 해당 유료화에 대한 유효한 인증횟수 및 관련 정책은 인증내용 정책 데이터베이스 (123) 및 관련 저장 정보를 통해, 실시간 검증하게 된다.
17 단계:
출력물 내용증명 수행부(121)는 일련의 인식값(ID)에 의해 검출된 인증내용 요약정보와 인증내용 첨부자료를 인증내용 검증 및 복원부(320)에서 전달한 난수를 암호화키로 처리결과와 함께 암호화하여 송신한다(S275).
18 단계:
인증내용 검증 및 복원부(320)는 출력물 내용증명 수행부(121)로부터 전송받은 인증 처리 결과 값과 인증내용 요약 정보 및 인증내용 첨부자료를 인증 수행 요청시 전송한 암호화 난수 키를 이용하여 복호화하고 처리결과에 따라 사후 처리를 진행한다(S280).
바람직하게는, 인증내용 검증 및 복원부(320)는 내용증명 처리 과정에서 출력물 내용증명 수행부(121)가 필요에 따라 요청하는 추가 사용자 입력 정보 혹은 시스템 정보를 제공할 수 있으며, 유료처리를 위해 별도의 처리를 해야 할 경우 사용자에게 인터넷을 통한 전자지불 시스템(Payment Gateway)을 연결하여 신용카드 및 기타 지불 수단을 통한 지불을 처리하도록 하거나, 또는 Vending Machine일 경우, 사용자에게 추가 현금을 지급하도록 처리한다.
19 단계:
그런 다음, 인증처리성공여부를 판단하고(S285), 인증처리가 성공적으로 수행된 경우 인증내용 요약 정보와 인증내용 첨부자료를 인증내용 및 인증결과 표시부(330)로 전달한다(S290).
만약, 인증처리가 실패했다면, 해당 인증 실패 내용을 간략히 표시하고 모든 처리과정을 종료하거나, 혹은 인증 실패에 관련된 사항을 인증내용 및 인증결과 표시부(330)로 전달하여 사용자에게 보다 자세하게 표시할 수 있도록 한다. 이때, 전달되는 형식은 구성에 따라 일반 텍스트 형태에서 HTML, XML, 기타 특정 문서형식을 취할 수 있다(S300).
20 단계:
인증내용 및 인증결과 표시부(330)는 인증처리가 성공한 경우 인증내용 요약정보를 먼저 화면에 출력하며 해당 내용증명에 대한 전달받은 인증내용 첨부자료가 있으며, 사용자가 원할 경우 인증내용 첨부자료를 상세히 표시하게 된다(S290).
인증내용 및 인증결과 표시부(330)는 인증내용 검증 및 복원부(320)로부터 전송받은 인증내용 요약 정보 및 인증내용 첨부자료를 통해 최종적으로 사용자 또는 인증처리 의뢰자에게 가시적인 결과를 표시하게 된다. 전송되는 인증처리 결과에 따라, 인증내용 및 인증결과 표시부(330)는 인증처리 실패시 전송된 실패원인 및 처리 결과 내용을 전송된 데이터의 표시 형식에 맞추어 사용자에게 표시한다.
인증내용 및 인증결과 표시부(330)는 자체적으로 전달받은 인증내용 요약정보 표시 형식 뷰어로서 동작하며, 이 형태는 HTML, XML 및 각종 이미지 형태로 전달될 수 있고, 혹은 텍스트 형식의 정보를 이러한 형식으로 변환하여 보여줄 수 있다. 또한, 인증내용 및 인증결과 표시부(330)는 Microsoft Office 및 HWP, PDF 등 전용 문서 형식으로 보관될 수 있는 인증내용 첨부자료를 표시하기 위해 해당 전용 에디터를 연결하여 실행하여 줄 수 있으며, Microsoft Windows 기반에서 해당 문서가 OLE 기능을 지원할 경우 자체 내에서 이러한 전용 에디터 문서들을 포함하여 사용자에게 보여줄 수 있다.
21 단계:
내용증명 사용자는 인증내용 및 인증결과 표시부(330)에서 표시하는 인증내용 요약정보를 통해 일차적으로 검증하고자 하는 문서의 요약 핵심정보의 일치성을 확인할 수 있으며, 필요에 따라 첨부된 문서 또는 확인서의 일부 또는 전부의 내용을 정확하게 대조하고 확인할 수 있게 된다(S295).
이러한 인증내용 요약정보 및 첨부자료는 사용자가 임의로 출력할 수 없으며, 인증처리 성공에 따른 간략한 정보 - 인증내용 요약 정보, 인증처리 일시, 인증수행 기관 및 인증서버(120) 식별이름 등을 포함하여 사용자가 출력할 수 있도록 구성할 수 있다.
바람직하게는, 인증내용 및 인증결과 표시부(330)는 전달된 에러 처리 결과에 따라 인증처리 유효횟수 초과, 인증 유효기간 초과, 유료화 필요, 기타 전자서명 및 내용증명 실패에 따른 내용을 사용자에게 표시할 수 있으며, 이를 사용자에게 출력할 수 있는 형태로 변환하여 제공할 수 있다.
그리고, 기 출력된 문서에 대해 사용자가 해당 문서의 인증 및 내용증명을 원할 경우, 인증내용 생성 및 지정부(221)는 별도의 사용자 입력을 받아 인증 내용의 요약 정보를 작성하도록 한다.
이 정보는 인증내용 전자서명 및 인증 수행부(222)를 통해, 인증서버(120)를 통해 인증을 받게 되고, 해당 결과를 인증코드 생성부(223)로부터 해당 코드로 변환한 뒤, 출력파일 인증코드 통합부(224)는 접착가능한 스티커 등의 재질에 인쇄를 할 수 있도록 구성한 뒤, 전용 프린터에 전송하게 된다.
사용자는 이렇게 출력된 출력물 내용증명 결과를 기 출력물에 부착할 수 있으며, 이에 따라, 이 문서 혹은 출력물을 역으로 증명할 경우 해당 인증코드를 통해 인증서버(120)에서 수신된 내용증명과 일치하는 문서 혹은 출력물의 내용일 경우 기 출력된 문서 혹은 출력물의 내용을 증명할 수 있도록 한다.
본 발명에서, 인증서버(120)와 인증코드 생성 및 출력부(220)에서 사용하는 인증서(Certificate)를 발급 및 관리하는 인증서 발급 및 관리서버(110)는 현재 지정되어 있는 7개 공인인증 기관 및 향후 추가될 수 있는 공인인증기관의 인증서비스 기관(CA - Certificate Authority) 또는 이의 등록기관 (RA - Register Authority)이 될 수 있으며, 또는 일반 사설 CA 기관들로도 구성 가능하다.
또한, 인증서 발급 및 관리서버(110)를 통해 인증서를 발급받은 개개인들이 개인용 인증서버(120)를 설치하고, 이 인증서버(120)의 인증서를 인증서 발급 및 관리서버(110)로부터 승인받은 경우 개인이 자신의 명의로 출력물을 증명해 줄 수 있으며, 이는 인증서 발급 및 관리서버(110)가 공인 인증 서비스 기관일 경우 출력된 문서를 검증하는 검증단계에서 디지털형태의 파일 및 그 관련 정보에 대해 자신이 공인 인증 서비스 기관으로부터 인증받은 인증서로 이를 전자서명 하였으므로, 전자서명 법에 의한 자신의 의사 표명의 효과를 가질 수 있고, 이를 통해 자신의 인감을 찍은 문서 출력의 효과를 가질 수 있게 된다.
그리고, 공인 인증 서비스 서버 및 공인 인증 서비스 기관들을 통한 공적인 문서 및 기업 자산 출력물 내용 증명 및 개인들의 공인 인증 서비스 기관의 인증서를 통한 개인별 출력물 내용 증명 서비스를 수행할 수 있으며, 기업이 자체 인증서버(120)를 두고 기업 출력물 인증 서비스 및 서비스 업체(극장, 공연 등) 및 유가증권 발행 업체들의 공인인증 서비스 기관 및 자체 서비스 권한내에서 다양한 출력물 내용 증명 서비스를 수행할 수 있다.
도 4 는 출력물 내용증명에 의해 생성된 인식코드의 분류와 구성예이다. 도 4 에 도시된 바와 같이, 암호화된 인식값과 인증서버의 식별이름에 대한 2차원 매트릭스 형태의 바코드, 복호화된 인식값의 1차원 바코드 및 인증서버의 식별이름의 1차원 바코드를 출력하고, 복호화된 인식값과 인증서버의 식별이름을 바코드와 함께 병렬로 출력하도록 한다. 출력형태는 보안수준이나 사용자의 요구 등 기타 여건에 따라 다양하게 변형될 수 있다.
도 5 는 출력물 내용증명에 의해 생성된 인식코드를 출력물에 마크하는 예이다. 도 5 에 도시된 바와 같이, 바코드 인증코드와 복호화된 인식값 및 인증서버의 식별이름은 출력물의 실제 페이지의 Header 또는 Footer 부분에 출력하도록 한다. 또한, 출력위치는 상황에 따라 변형될 수 있다.
출력물에 대한 내용증명을 위해 발행내용과 해당 내용에 대한 인증코드를 같이 출력하거나 부착함으로써, 해당 인증 값이 물리적인 종이를 통해 이동하도록 하고, 다시 전자적으로 복원하여 실제 출력된 종이 내용과 명확하게 비교할 수 있도록 함에 있어, 공개키 기반구조에서 전자서명 등의 명확하고 완벽한 증명을 보장함으로써, 다음과 같은 효과를 거둘 수 있다.
각종 관/ 정부 발행 증명서류에 대한 전자 민원의 온라인 발행 및 내용증명 서비스, 동사무소의 무인 자동화 및 각 개인의 전자정부 인터넷 사이트를 통한 온라인 민원서류 발급 및 증명 서비스, 각종 금융서류, 보험증권, 통장발급 등에 대한 온라인 발행 및 내용증명 서비스, 정부 세금 영수증 및 각종 결제 영수증 등의 온라인 발행 및 내용증명 서비스, 복권, 상품권, 공연티켓 등의 각종 유가증권의 온라인 발행 및 내용증명 서비스, 성적증명, 졸업증명, 개인 신용증명, 기업 경력증명 등 각종 개인 증명서류의 온라인 발행 및 내용증명 서비스, 개인/ 기업/ 관공서 간의 발행서류, 공증, 계약, 견적 등 각종 관련서류의 내용증명 서비스, 각종 법률 서류, 행정처분 서류 등의 온라인 발급 및 내용증명 서비스, 각종 회원제 카드 및 신원 증명 서류의 온라인 발급 및 내용증명 서비스, 병력 자료 / 군관련 자료의 내용증명 서비스, 여권, 기업 및 관/공서의 신분증 발급 및내용 증명 서비스 등
위와 분야에서, 온라인 발급 및 전용 프린터가 필요 없으며 공간에 구애 없는 출력 서비스가 가능하며, 발급한 민원서류 및 각종 출력물을 가시적으로 확인해야 하는 어려움을 극복할 수 있고, 무엇보다, 정부의 전자정부 구현에 있어서, 출력물에 대한 내용증명을 공인 인증서 기반으로 실시함으로써, 공인 인증 서비스 인프라를 극대화할 수 있으며, 서류 발급과 유지를 위한 제반 비용을 획기적으로 줄일 수 있는 효과가 있다.
본 발명의 바람직한 실시례가 특정 용어들을 사용하여 기술되어 왔지만, 그러한 기술은 오로지 설명을 하기 위한 것이며, 다음의 청구범위의 기술적 사상 및 범위로부터 이탈되지 않고서 여러 가지 변경 및 변화가 가해질 수 있는 것으로 이해되어져야 한다.
Claims (15)
- 사용자의 요청에 의해 소정의 출력물을 인증하기 위한 인증코드를 생성 및 발급하는 인증코드 발급방법으로서,상기 사용자로부터 상기 출력물의 내용을 구성하는 인증내용 요약정보 및 인증내용 첨부자료 데이터로 이루어진 원본내용을 입력받는 제 1 단계;출력값으로부터 입력값의 역산출이 불가능한 단방향 유일함수를 이용하는 메시지 다이제스트 알고리즘을 통해 상기 원본내용에 대한 제 1 해쉬값을 추출하는 제 2 단계;상기 제 1 해쉬값과 상기 원본내용을 인코딩하여 제 1 전송 데이터를 생성하여 상기 원본내용을 인증하는 인증서버로 전송하는 제 3 단계;상기 인증서버로부터 상기 원본내용에 대한 인증결과인 인증결과값과 문자 및 숫자의 조합된 스트링으로 이루어지고 상기 원본내용을 식별하기 위한 인식값이 인코딩된 제 2 전송 데이터를 수신하는 제 4 단계;상기 제 2 전송 데이터를 디코딩하여 상기 인증결과값 및 상기 인식값을 추출하는 제 5 단계; 및상기 인증결과값, 상기 인식값 및 상기 인증서버를 식별하기 위한 식별이름을 출력하는 제 6 단계를 포함하는 것을 특징으로 하는 인증코드 발급방법.
- 제 1 항에 있어서,상기 인식값이, 상기 인증서버가 상기 메시지 다이제스트 알고리즘을 통해 상기 원본내용에 대하여 추출한 제 2 해쉬값이 상기 제 1 해쉬값과 동일하여 상기 원본내용이 인증된 경우 부여되는 것을 특징으로 하는 인증코드 발급방법.
- 제 1 항에 있어서,상기 제 3 단계가,상기 인증서버를 인증하기 위한 인증서로부터 인증서버의 공개키를 추출하는 단계;난수 생성을 통해 임의의 암호화 키값을 생성하는 단계;상기 암호화 키값을 이용하여 상기 원본내용을 인코딩하는 단계; 및상기 암호화 키값 및 상기 제 1 해쉬값을 상기 공개키로 인코딩하는 단계를 포함하는 것을 특징으로 하는 인증코드 발급방법.
- 제 1 항에 있어서,상기 제 2 전송 데이터에 포함된 상기 인식값이, 상기 인증서버를 인증하기 위한 인증서로부터 추출되는 상기 인증서버의 공개키의 키쌍인 비밀키로 인코딩되고,상기 제 5 단계가,상기 인증서버의 공개키로 상기 인코딩된 인식값을 디코딩하는 단계를 포함하는 것을 특징으로 하는 인증코드 발급방법.
- 제 1 항에 있어서,상기 제 6 단계가,상기 인코딩된 인식값, 상기 디코딩된 인식값 및 상기 식별이름을 바코드 형태로 변환하는 단계; 및상기 디코딩된 인식값 및 상기 식별이름과, 상기 변환된 바코드 중 적어도 하나 이상을 상기 원본내용에 통합하여 출력하는 단계를 포함하는 것을 특징으로 하는 인증코드 발급방법.
- 인증된 소정의 출력물에 표시된 인증코드를 이용하여 상기 출력물의 내용을 구성하는 인증내용 요약정보와 인증내용 첨부자료 데이터로 이루어진 원본내용의 정당성을 검증하는 출력물의 내용증명 방법으로서,소정의 문자 및 숫자가 조합된 스트링으로 이루어지며 상기 원본내용을 식별하기 위한 인식값과 상기 인식값을 발급한 인증서버를 식별하기 위한 식별이름을 포함하는 상기 인증코드를 입력받는 제 1 단계;난수키를 생성하고, 상기 난수키를 이용하여 상기 인식값을 인코딩하는 제 2 단계;상기 난수키를 인코딩하는 제 3 단계;상기 인코딩된 난수키와 인식값을 상기 인증서버로 전송하는 제 4 단계;상기 인증서버로부터, 상기 인식값을 키로 하여 소정의 데이터베이스로부터 추출된 상기 원본내용이 상기 난수키로 인코딩된 데이터를 수신하는 제 5 단계상기 난수키로 데이터를 디코딩하여 상기 원본내용을 추출하는 제 6 단계; 및상기 디코딩된 원본내용을 출력하는 제 7 단계를 포함하는 것을 특징으로 하는 출력물의 내용증명 방법.
- 제 6 항에 있어서,상기 출력물에 표시된 상기 인식값이 인코딩되어 상기 식별이름과 2차원 바코드 형태로 표시되고,상기 제 1 단계가,상기 인코딩된 인식값 및 상기 식별이름을 소정의 바코드 리더기를 통해 판독하는 단계; 및상기 인코딩된 인식값을 디코딩하는 단계를 포함하는 것을 특징으로 하는 출력물의 내용증명 방법.
- 제 6 항에 있어서,상기 출력물에 표시된 상기 인식값 및 상기 식별이름이 1차원 바코드 형태로 표시되고,상기 제 1 단계가,상기 인식값 및 상기 식별이름을 소정의 바코드 리더기를 통해 판독하는 단계를 포함하는 것을 특징으로 하는 출력물의 내용증명 방법.
- 제 6 항에 있어서,상기 제 3 단계가,상기 인증서버를 인증하기 위한 인증서로부터 추출되는 상기 인증서버의 공개키로 상기 난수키를 인코딩하는 단계를 포함하는 것을 특징으로 하는 출력물의 내용증명 방법.
- 제 6 항에 있어서,상기 제 3 단계가,전자봉투를 이용하여 상기 난수키를 인코딩하는 단계를 포함하는 것을 특징으로 하는 출력물의 내용증명 방법.
- 사용자의 요청에 의해 소정의 출력물을 인증하기 위한 인증코드를 생성하는 인증코드 생성 및 출력장치로서,상기 사용자로부터 상기 출력물의 내용을 구성하는 인증내용 요약정보 및 인증내용 첨부자료 데이터로 이루어진 원본내용을 입력받는 인증내용 생성 및 지정부;메시지 다이제스트 알고리증을 이용하여 상기 원본내용에 대한 해쉬값을 추출하는 추출모듈, 상기 해쉬값과 상기 원본내용을 인코딩하는 인코딩모듈, 상기 인코딩된 해쉬값과 원본내용을 상기 원본내용을 인증하는 인증서버로 전송하는 전송모듈, 상기 인증서버로부터 상기 원본내용에 대한 인증결과인 인증결과값과 문자 및 숫자의 조합된 스트링으로 이루어지며 상기 원본내용을 식별하기 위한 인식값의 인코딩된 데이터를 수신하는 수신모듈 및 상기 수신된 데이터를 디코딩하여 상기 인증결과값과 상기 인식값을 추출하는 디코딩모듈을 포함하는 인증내용 전자서명 및 인증수행부;상기 인증결과값, 상기 인식값 및 상기 인증서버를 식별하기 위한 식별이름을 조합하여 상기 인증코드를 생성하는 인증코드 생성부; 및상기 인증코드를 상기 원본내용에 삽입하여 소정의 출력장치로 출력하는 출력파일 인증코드 통합부를 포함하는 것을 특징으로 하는 인증코드 생성 및 출력장치.
- 소정의 출력물의 내용을 구성하는 원본내용에 대하여 정당성을 인증하는 인증서버로서,메시지 다이제스트 알고리증을 이용하여 상기 원본내용에 대하여 생성된 제 1 해쉬값과 상기 원본내용의 인코딩된 데이터를 수신하는 수신모듈, 상기 인코딩된 데이터를 디코딩하여 상기 제 1 해쉬값과 상기 원본내용을 추출하는 디코딩모듈, 상기 메시지 다이제스트 알고리증을 이용하여 상기 원본내용에 대한 제 2 해쉬값을 생성하는 해쉬값 생성모듈, 상기 제 1 해쉬값과 상기 제 2 해쉬값의 동일성여부를 판단하여 상기 원본내용을 인증하는 비교모듈, 문자 및 숫자의 조합된 스트링으로 이루어지며 상기 원본내용을 식별하기 위한 인식값을 생성하는 인식값 생성모듈, 상기 인식값과 상기 원본내용에 대한 인증결과인 인증결과값을 인코딩하는 인코딩모듈 및 상기 인코딩모듈에 의해 인코딩된 데이터를 전송하는 전송모듈을 포함하는 출력물 내용증명 수행부; 및상기 원본내용, 상기 제 1 해쉬값, 상기 인식값 및 상기 인증결과값을 저장하는 데이터베이스를 포함하는 것을 특징으로 하는 인증서버.
- 인증된 소정의 출력물에 표시된 인증코드를 이용하여 상기 출력물의 정당성을 검증하기 위하여, 상기 출력물의 내용을 구성하는 인증내용 요약정보와 인증내용 첨부자료 데이터로 이루어진 원본내용을 수신 및 디스플레이하는 인증코드 검증장치로서,소정의 문자 및 숫자가 조합된 스트링으로 이루어지며 상기 원본내용을 식별하기 위한 인식값과 상기 인식값을 발급한 인증서버를 식별하기 위한 식별이름을 포함하는 상기 인증코드를 입력받는 인증코드 인식부/인증코드 ID 입력부;난수키를 생성하는 난수키 생성모듈, 상기 난수키를 이용하여 상기 인식값을 인코딩하고 상기 난수키를 인코딩하는 인코딩모듈, 상기 인코딩된 난수키와 인식값을 상기 인증서버로 전송하는 전송모듈, 상기 인증서버로부터 상기 인식값을 키로 하여 소정의 데이터베이스로부터 추출되어 상기 난수키로 인코딩된 원본내용을 수신하는 수신모듈 및 상기 수신된 원본내용을 상기 난수키로 디코딩하는 디코딩모듈을 포함하는 인증내용 검증 및 복원부; 및상기 디코딩된 원본내용을 출력하는 인증내용 및 인증결과 표시부를 포함하는 것을 특징으로 하는 인증코드 검증장치.
- 제 13 항에 있어서,상기 인증코드 검증수단이,상기 출력물에 바코드 형태로 표시된 상기 인증코드를 판독하여 상기 인증코드 인식부/인증코드 ID 입력부에 입력하는 바코드 리더기를 더 포함하는 것을 특징으로 하는 인증코드 검증장치.
- 인증된 소정의 출력물의 내용을 구성하는 인증내용 요약정보와 인증내용 첨부자료 데이터로 이루어진 원본내용을 식별하기 위하여 상기 출력물에 표시되고, 소정의 문자 및 숫자가 조합된 스트링으로 이루어진 인식값을 이용하여 상기 원본내용을 추출 및 전송하는 인증서버로서,상기 인식값과 상기 원본내용을 저장하는 데이터베이스; 및난수키로 인코딩된 상기 인식값과 인코딩된 상기 난수키를 수신하는 수신모듈, 상기 수신된 난수키를 디코딩하고 상기 디코딩된 난수키로 상기 수신된 인식값을 디코딩하는 디코딩모듈, 상기 인식값을 키로 하여 상기 데이터베이스로부터 상기 원본내용을 추출하는 검색모듈, 상기 추출된 원본내용을 상기 난수키로 인코딩하는 인코딩모듈 및 상기 인코딩된 원본내용을 전송하는 전송모듈을 포함하는 출력물 내용증명 수행부를 포함하는 것을 특징으로 하는 인증서버.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020068237 | 2002-11-05 | ||
KR20020068237 | 2002-11-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20040040271A true KR20040040271A (ko) | 2004-05-12 |
Family
ID=37337749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020080692A KR20040040271A (ko) | 2002-11-05 | 2002-12-17 | 공개키 기반구조의 디지털전자서명 및 암호화를 이용한출력물 내용 증명방법 및 그 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20040040271A (ko) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100599159B1 (ko) * | 2005-03-03 | 2006-07-12 | 삼성전자주식회사 | 디지털서명 생성 및 확인 방법 및 그 장치 |
KR100723649B1 (ko) * | 2004-07-27 | 2007-06-04 | (주) 비씨큐어 | 인터넷 발급을 위한 민원증명서 생성 및 검증방법 |
KR100764463B1 (ko) * | 2005-08-09 | 2007-10-08 | 진용직 | 2차원 바코드를 이용한 웹상의 데이타 암호화 및 복호화 시스템 |
KR100901169B1 (ko) * | 2007-04-13 | 2009-06-04 | 한국전자통신연구원 | 미디어 파일 필터링 시스템 및 방법 |
KR100963930B1 (ko) * | 2007-12-07 | 2010-06-17 | 주식회사 신한은행 | 스캐닝 데이터 보험 상품 운용 방법 및 시스템과 이를 위한 기록매체 |
KR101277198B1 (ko) * | 2011-06-10 | 2013-06-19 | 고려대학교 산학협력단 | 2차원바코드를 이용한 패스워드의 비밀키 생성 시스템 및 방법 |
KR20190041203A (ko) * | 2017-10-12 | 2019-04-22 | 인하대학교 산학협력단 | 내재적 인증서를 사용하는 전자서명에 대한 효율적인 서명 검증 방법 |
-
2002
- 2002-12-17 KR KR1020020080692A patent/KR20040040271A/ko not_active Application Discontinuation
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100723649B1 (ko) * | 2004-07-27 | 2007-06-04 | (주) 비씨큐어 | 인터넷 발급을 위한 민원증명서 생성 및 검증방법 |
KR100599159B1 (ko) * | 2005-03-03 | 2006-07-12 | 삼성전자주식회사 | 디지털서명 생성 및 확인 방법 및 그 장치 |
KR100764463B1 (ko) * | 2005-08-09 | 2007-10-08 | 진용직 | 2차원 바코드를 이용한 웹상의 데이타 암호화 및 복호화 시스템 |
KR100901169B1 (ko) * | 2007-04-13 | 2009-06-04 | 한국전자통신연구원 | 미디어 파일 필터링 시스템 및 방법 |
KR100963930B1 (ko) * | 2007-12-07 | 2010-06-17 | 주식회사 신한은행 | 스캐닝 데이터 보험 상품 운용 방법 및 시스템과 이를 위한 기록매체 |
KR101277198B1 (ko) * | 2011-06-10 | 2013-06-19 | 고려대학교 산학협력단 | 2차원바코드를 이용한 패스워드의 비밀키 생성 시스템 및 방법 |
KR20190041203A (ko) * | 2017-10-12 | 2019-04-22 | 인하대학교 산학협력단 | 내재적 인증서를 사용하는 전자서명에 대한 효율적인 서명 검증 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7523315B2 (en) | Method and process for creating an electronically signed document | |
EP1238321B1 (en) | Method and system for generating a secure electronic signature | |
US5848426A (en) | Automatic data translation between different business systems | |
EP1393144B1 (en) | Web-based method and system for applying a legally enforceable signature on an electronic document | |
US7028012B2 (en) | System and method for ordering customized identification documents via a network | |
US8381973B2 (en) | System and method for providing and verifying a passport | |
JP4323098B2 (ja) | 利用者の署名情報の正当性を検証する署名システム | |
JP4818931B2 (ja) | 文書を検証するための方法及びシステム | |
US20090261158A1 (en) | Authentication of cheques and the like | |
US20050132194A1 (en) | Protection of identification documents using open cryptography | |
US20010034835A1 (en) | Applied digital and physical signatures over telecommunications media | |
EP1851668A2 (en) | Identification systems | |
MX2013007923A (es) | Sistema y metodo para la autenticacion de documentos de alto valor. | |
US20050229005A1 (en) | Security badge arrangement | |
JP4983974B2 (ja) | 手続システム | |
KR20000049674A (ko) | 웹 사이트를 이용한 전자서명 제공 및 인증 방법 | |
KR20200126313A (ko) | 조회 이력 통지에 의하여 인증 기능이 강화된 문서 인증 방법 및 문서 인증 시스템 | |
KR20040040271A (ko) | 공개키 기반구조의 디지털전자서명 및 암호화를 이용한출력물 내용 증명방법 및 그 장치 | |
KR101664228B1 (ko) | 진본성 검증이 가능한 전자고지서를 이용한 전자문서 기반의 거래방법 | |
JP3905773B2 (ja) | 文書情報処理方法、文書情報処理装置及び文書情報処理システム、並びにプログラム | |
JP4695299B2 (ja) | 手続システム | |
JP2004341660A (ja) | 申請代行システム及び方法と申請代行プログラム及びこれを記録した記録媒体 | |
JP7274202B2 (ja) | 光学コード作成プログラム、光学コード読取認証プログラム、光学コード認証システム、代金決済システム、印刷物の製造方法、及び光学コードの認証方法 | |
GB2358115A (en) | Method and system for remote printing of duplication resistent documents | |
KR20240003151A (ko) | 고유식별정보와 블록체인 네트워크를 이용한 문서 공증 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |