KR100416038B1 - 다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명인증방법 - Google Patents

다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명인증방법 Download PDF

Info

Publication number
KR100416038B1
KR100416038B1 KR10-2000-0035679A KR20000035679A KR100416038B1 KR 100416038 B1 KR100416038 B1 KR 100416038B1 KR 20000035679 A KR20000035679 A KR 20000035679A KR 100416038 B1 KR100416038 B1 KR 100416038B1
Authority
KR
South Korea
Prior art keywords
signature
signatures
points
vector
obtaining
Prior art date
Application number
KR10-2000-0035679A
Other languages
English (en)
Other versions
KR20020000666A (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-2000-0035679A priority Critical patent/KR100416038B1/ko
Publication of KR20020000666A publication Critical patent/KR20020000666A/ko
Application granted granted Critical
Publication of KR100416038B1 publication Critical patent/KR100416038B1/ko

Links

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Collating Specific Patterns (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Finance (AREA)

Abstract

본 발명은 전자서명 인증방법에 관한 것으로, 개개인의 많은 서명 사이에 개선된 패턴정렬을 얻기 위한 방법으로 새로운 서명의 분할기술과 신경망 이론을 이용한 분류기의 구조개발과 시스템에 적합하게 학습하는 양식들을 개발하여 서명의 인증 정확도를 개선할 수 있도록 함에 그 목적이 있다. 이를 위해 구성되는 본 발명은 개인의 서명들을 수집하는 과정, 수집된 서명들의 노이즈를 제거하여 서명들을 동일 호(弧) 길이의 점으로 표본을 추출하는 과정, 서명들의 동일 호(弧) 길이의 점들로부터 가장 적합한 직선방정식을 구하는 과정, 직선방정식으로부터 각 점들의 직각이 되는 거리를 구하는 과정, 기본이 되는 서명을 결정하여 각 분할 구간에 동일 수의 점이 분포되도록 구간을 분할하고 기본이 되는 서명의 분할점에 대응되는 다른 서명들의 분할점을 DP 알고리듬을 이용하여 구한 다음 각 분할 구간에 대하여 서명의 정렬된 패턴을 추출하는 분할과정, 분할과정에서 분할된 시퀀스의 자기회귀적 모형을 각 분할 구간에 적용시켜 서명의 AR 계수를 구하여 서명의 AR 벡터를 추출하는 과정, 추출된 서명의 AR 벡터를 NN 분류기의 BP 알고리듬을 이용 다계층 퍼셉트론 구조를 학습하여 얻은 서명들의 네트워크 가중치와 편차를 마지막 특성벡터로서 개개인의 데이터 베이스를 구축하는 과정 및 어떠한 서명의 진위 여부를 요구하는 경우 입력된 서명의 특성벡터가 데이터 베이스로부터 불러들여진 서명의 가중치와 편차를 가진 뉴럴 네트워크의 인풋(Input)이 되어 뉴럴 네트워크의 아웃풋(Input)을 가지고 서명의 진위를 판별하는 과정으로 이루어진다.

Description

다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명 인증방법{ELECTRONIC SIGNATURE CERTIFICATION METHOD USING DYNAMIC PROGRAM AND NEURAL NETWORK}
본 발명은 전자서명(Electronic Signature)의 인증에 관한 것으로서, 더욱 상세하게는 개개인의 많은 서명 사이에 개선된 패턴을 정렬하여 전자서명의 인증 정확도를 개선할 수 있도록 하는 다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명 인증방법에 관한 것이다.
일반적으로 신용카드의 보편화로 인하여 현금 대신 신용카드를 이용한 대금결제 빈도가 높아진 것은 사실이나, 신용카드의 보편화로 인한 여러 문제점들이 파생되고 있는 것 또한 사실이다.
그러나, 신용카드를 사용하는데 있어 신용카드 사용자가 발급받은 자 본인인지의 여부를 육안, 신분증 등을 통해 확인하여야 함에도 불구하고 신용카드 사용자 본인 여부의 확인은 거의 이루어지지 않고 있는 실정이다. 따라서, 도난이나 분실 등과 같은 문제로 인하여 신용카드 발급자 본인은 본의 아닌 피해를 당할 우려가 항상 존재하여 왔고, 실질적으로도 많은 피해 사례가 있기도 하다.
한편, 인터넷에 연계된 네트워크의 수와 인터넷 이용자의 수가 급증하면서 인터넷은 전자메일, 뉴스그룹, 파일전송, 정보전달 및 검색 등의 다양한 용도로 활용되고 있으며, 지금에 이르러서는 전세계를 연결하는 정보축적매체 및 정보제공매체로서 중요한 역할을 하고 있다.
전술한 바와 같은 컴퓨터 네트워크를 통한 비대면 방식의 전자적 거래는 대면방식의 기존 거래방식의 단점인 시간적·공간적 제약의 문제점을 해결해줌으로써 새로운 거래 문화를 정착시키는 등 많은 장점을 가지고는 있으나, 사용자에게 역기능을 제공할 수 있다는 문제 즉, 정보의 보호에 대한 문제 등이 발생할 수 있다. 따라서, 전자적 거래의 활성화를 기대하기 위해서는 정보보호의 역기능에 대한 보안이 선결되어야 함은 당연할 것이다.
전술한 바와 같이 정보의 보호에 대한 요구에 따라 전자서명의 필요성을 느끼게 되어 전자서명에 대한 많은 연구와 노력이 진행되고 있으며, 전자서명에 대한 진위여부를 판별하여 인증하는 기관 또한 생겨나고 있다.
한편, 전자서명은 크게 두 가지 의미로 나뉘어질 수 있는데, 그 첫 번째는 광의의 전자서명으로서 「Electronic Signature」를 의미하는 것이고, 두 번째는 협의의 전자서명으로서 「Digital Signature」를 말하는 것이다.
먼저, Electronic Signature 개념의 가장 일반적인 예는 전자펜을 이용한 그래픽 기반의 서명 방식이다. 즉, 전자문서에 대한 전자결재를 수행하는 경우 송신자는 전자펜을 이용하여 전자문서의 결재란에 자신의 수기서명과 동일한 서명을 기입한 후 수신자에게 송신하고, 전자서명된 문서를 수신한 수신자는 시각적으로 전자서명의 진위를 확인한 후 전자문서의 접수여부를 결정하게 되는 방식이다.
그리고, Digital Signature 개념은 공개키 암호기술에 기반을 두는 방식으로서 사용자는 자신만이 알고 있는 전자서명 생성키를 이용하여 수학적 방식의 연산을 통하여 자신만의 고유한 전자서명 값을 계산한 후 그 결과를 수신자에게 송신하고, 수신자는 송신자가 제공하는 전자서명 검증키를 사용하여 전자서명 값의 진위여부를 수학적 연산 방식으로 확인할 수 있으며, 올바른 결과 값이 나오는 경우에만 전자문서를 접수하는 방식이다.
다음은 전자서명법 중 종래 Electronic Signature 개념의 전자서명을 인증하기 위한 방법을 보인 것이다.
도 1 은 종래 전자서명(Electronic Signature)의 인증방법을 보인 블럭도, 도 2 는 종래 전자서명(Electronic Signature)의 인증방법으로 서명의 진위를 판별할시 두 개로 분류되어질 군(Cluster)이 일반적으로 선형분리로서는 완벽하게 분리되어지지 않음을 보여주는 참고도이다.
도 1 및 도 2 에 도시된 바와 같이 종래 Electronic Signature 개념의 전자서명 인증 방법은 개인의 여러 서명으로부터 특성벡터를 추출하여 진서명을 데이터 베이스화 하는 학습과정과 어떠한 서명의 진위 여부를 요구하는 경우 입력된 서명의 진위 여부를 테스트하는 과정으로 나눌 수 있다. 즉, 한 개인의 여러 서명으로부터 특성을 기본으로 한 진서명을 학습하는 과정과 입력된 서명을 학습과정을 통해 얻어진 진서명과 비교하여 서명의 진위 여부를 판별하는 테스트 과정으로 이루어진다.
먼저, 개인의 서명으로부터 특성벡터를 추출하는 일련의 학습과정은 서명을 수집하는 과정, 수집된 서명을 전처리하는 과정, 수집된 서명으로부터 진서명의 특성벡터를 추출하는 과정 및 추출된 진서명의 특성벡터를 데이터 베이스화 하는 과정으로 이루어진다.
전술한 바와 같이 이루어진 학습과정의 서명 수집과정에서는 개개인의 서명을 수집하게 되는데, 통상 한 개인의 서명이라 할지라도 완전 동일한 서명이란 있을 수 없기 때문에 보다 정확한 진서명의 특성벡터를 추출할 수 있도록 그 개인의 서명을 가능한 많이 수집한다.
수집된 서명의 전처리 과정에서는 수집된 여러 서명들로부터 특성벡터를 용이하게 추출하고 서명의 인식률을 높일 수 있도록 노이즈를 제거하거나 서명을 여러 개로 분할시킨다. 이때, 가장 중요한 점은 진서명(Genuine signature)의 일정한 패턴 정렬을 얻기 위해 각 서명들에 대하여 일정한 분할점을 갖는 것이다.
수집된 서명으로부터 진서명의 특성벡터를 추출하는 과정에서는 서명을 특성화하기 위해 선택된 특성벡터를 추출하게 된다. 이때, 진서명과 가서명을 쉽게 구별할 수 있도록 진서명의 특성벡터를 추출하여야 한다.
추출된 진서명의 특성벡터를 데이터 베이스화 하는 과정은 한 개인의 데이터 베이스를 구축하기 위해 그 개인의 여러 서명으로부터 특성을 기본으로 한 정보를 조합한다. 즉, 전술한 바와 같이 구성된 서명의 학습과정은 수집된 개인의 여러 서명으로부터 진서명의 특성벡터를 추출하여 이를 기본으로 한 데이터를 데이터 서버에 저장하게 된다.
한편, 어떠한 서명의 진위 여부를 요구하는 경우 입력된 서명의 진위 여부를 테스트하는 과정은 입력된 서명을 전처리하는 과정, 입력된 서명으로부터 특성벡터를 추출하는 과정, 입력된 서명의 특성벡터와 학습과정에서 얻어진 진서명의 특성벡터를 비교하는 과정 및 입력된 서명과 진서명의 특성벡터로부터 서명의 진위를 판별하는 과정으로 이루어진다.
전술한 바와 같이 이루어진 테스트 과정의 입력된 서명을 전처리하는 과정과 입력된 서명으로부터 특성벡터를 추출하는 과정은 학습과정의 수집된 서명을 전처리하는 과정 및 수집된 서명으로부터 진서명의 특성벡터를 추출하는 과정과 같은 방법으로 입력된 서명으로부터 특성벡터를 용이하게 추출할 수 있도록 노이즈를 제거하거나 서명을 분할하고, 입력된 서명을 특성화하기 위해 선택된 특성벡터를 추출한다.
입력된 서명의 특성벡터와 학습과정에서 얻어진 진서명의 특성벡터를 비교하는 과정에서는 입력된 서명과 학습과정에서 얻어진 진서명의 동일 특성벡터 끼리 비교를 한다. 이때, 두 개의 특성벡터 사이에 유사성을 찾기 위해 통상 거리측정(Distance measure)을 하는 방법이 사용되어진다.
서명의 진위 판별과정은 입력된 서명의 특성벡터와 학습과정에서 얻어진 진서명의 특성벡터를 비교하는 과정에서 두 개의 특성벡터 사이의 거리(Distance)가 정해진 임계값(Threshold) 보다 작으면 입력된 서명을 진서명으로 판별하여 인증하고, 그렇지 않으면 가서명으로 판별하여 거절하게 된다.
따라서, 종래의 전자서명 인증방법은 서명을 학습하는 과정과 서명의 진위 여부를 판별하는 테스트 과정을 조합한 기술을 통해 한편으로는 개인의 서명을 학습하여 데이터 베이스화 하고, 다른 한편으로는 입력된 서명을 데이터 베이스화 된 진서명과 비교하여 서명의 진위 여부를 판별하게 된다.
그러나, 전처리 과정의 서명분할 과정에서 같은 진서명들 사이에는 항상 변화(Variation)가 있기 때문에 일정한 분할점을 찾는데 많은 어려움이 있어 서명의인증률을 저하시키는 원인이 되고 있다.
또한, 입력된 서명의 특성벡터와 진서명의 특성벡터를 비교하는 과정에서 진서명의 특성벡터와 입력된 서명의 특성벡터 사이에 거리측정을 하는 방법은 도 2 에서와 같이 두 개로 분류되어질 군(Cluster)이 일반적으로 선형분리로서는 완벽하게 분리되어질 수 없는 문제가 있어 서명의 인증률을 저하시키는 또 하나의 원인이 되고 있다.
본 발명은 전술한 문제점을 해결하기 위하여 창안된 것으로서, 개개인의 많은 서명 사이에 개선된 패턴정렬을 얻기 위한 방법으로 새로운 서명의 분할기술과 신경망 이론(Neural Network)을 이용한 분류기(Classifer)의 구조개발과 시스템에 적합하게 학습하는 양식들을 개발하여 서명의 인증 정확도를 개선한 전자서명 인증방법을 제공함에 그 목적이 있다.
전술한 목적을 달성하기 위해 구성되는 본 발명은 다음과 같다. 즉, 본 발명에 따른 다이나믹 프로그램을 이용한 서명의 분할방법은 각 개인의 서명들을 수집하는 과정, 수집된 서명들의 처음과 끝의 노이즈를 제거하여 서명들을 동일 호(弧) 길이의 점(Point)으로 표본을 추출하는 과정, 서명들의 동일 호(弧) 길이의 점(Point)들로부터 가장 적합한 직선방정식을 구하는 과정, 직선방정식으로부터 각 점(Point)들의 직각이 되는 거리를 구하여 거리 시퀀스를 구하는 과정, 서명들로부터 기본이 되는 서명을 결정하여 각 분할 구간에 동일 수의 점(Point)이 분포되도록 구간을 분할하는 과정 및 기본이 되는 서명의 분할점에 대응되는 다른 서명들의분할점을 다이나믹 프로그램 알고리듬을 이용하여 구한 다음 각 분할 구간에 대하여 서명의 정렬된 패턴을 구하는 과정을 포함하여 이루어진다.
전술한 바와 같은 다이나믹 프로그램을 이용한 서명의 분할방법을 이용한 전자서명 인증방법은 각 개인의 서명들을 수집하는 과정, 수집된 서명들의 처음과 끝의 노이즈를 제거하여 서명들을 동일 호(弧) 길이의 점(Point)으로 표본을 추출하는 과정, 서명들의 동일 호(弧) 길이의 점(Point)들로부터 가장 적합한 직선방정식을 구하는 과정, 직선방정식으로부터 각 점(Point)들의 직각이 되는 거리를 구하여 거리 시퀀스를 구하는 과정, 서명들로부터 기본이 되는 서명을 결정하여 각 분할 구간에 동일 수의 점(Point)이 분포되도록 구간을 분할하는 과정, 기본이 되는 서명의 분할점에 대응되는 다른 서명들의 분할점을 다이나믹 프로그램 알고리듬을 이용하여 구한 다음 각 분할 구간에 대하여 서명의 정렬된 특성벡터를 추출하여 데이터 베이스화 하는 과정, 어떠한 서명의 진위 여부를 요구하는 경우 입력된 서명을 표본 추출과정으로부터 서명의 정렬된 특성벡터를 추출하는 과정을 통해 입력된 서명의 특성벡터를 추출하는 과정, 입력된 서명의 특성벡터와 데이터 베이스화 된 서명 중 소유자로 주장하는 사람의 서명 특성벡터의 동일 특성벡터를 비교하는 과정 및 입력된 서명의 특성벡터와 서명의 특성벡터를 비교한 결과 값으로 상기 입력된 서명의 진위를 판별하는 과정을 포함하여 이루어진다.
한편, 본 발명에 따른 뉴럴 네트워크를 이용한 서명의 분류방법은 다이나믹 프로그램을 이용한 분할과정을 통해서 얻은 분할된 시퀀스의 자기회귀적 모형을 각 분할 구간에 적용시켜 서명의 AR 계수를 구하는 AR 모델링 과정, AR 모델링 과정을통해 서명의 AR 벡터를 추출하는 과정 및 추출된 서명의 AR 벡터를 뉴럴 네트워크 분류기의 백프로퍼게이션 알고리듬(Backpropagation algorithm)을 이용 다계층 퍼셉트론(Multilayer Perceptron) 구조를 학습하여 마지막 특성벡터로서 얻은 서명의 네트워크 가중치와 편차를 구하는 과정으로 이루어진다.
그리고, 전술한 다이나믹 프로그램을 이용한 서명의 분할방법 및 뉴럴 네트워크를 이용한 서명의 분류방법을 포함하는 전자서명 인증방법은 각 개인의 서명들을 수집하는 과정, 수집된 서명들의 처음과 끝의 노이즈를 제거하여 서명들을 동일 호(弧) 길이의 점(Point)으로 표본을 추출하는 과정, 서명들의 동일 호(弧) 길이의 점(Point)들로부터 가장 적합한 직선방정식을 구하는 과정, 직선방정식으로부터 각 점(Point)들의 직각이 되는 거리를 구하여 거리 시퀀스를 구하는 과정, 서명들로부터 기본이 되는 서명을 결정하여 각 분할 구간에 동일 수의 점(Point)이 분포되도록 구간을 분할하고 기본이 되는 서명의 분할점에 대응되는 다른 서명들의 분할점을 다이나믹 프로그램 알고리듬을 이용하여 구한 다음 각 분할 구간에 대하여 서명의 정렬된 패턴을 추출하는 분할과정, 분할과정에서 분할된 시퀀스의 자기회귀적 모형을 각 분할 구간에 적용시켜 서명의 AR 계수를 구하는 AR 모델링 과정, AR 모델링 과정을 통해 서명의 AR 벡터를 추출하는 과정, 추출된 서명의 AR 벡터를 뉴럴 네트워크의 백프로퍼게이션 알고리듬(Backpropagation algorithm)을 이용 다계층 퍼셉트론(Multilayer Perceptron) 구조를 학습하여 얻은 서명들의 네트워크 가중치와 편차를 마지막 특성벡터로서 개개인의 데이터 베이스를 구축하는 과정 및 어떠한 서명의 진위 여부를 요구하는 경우 입력된 서명의 특성벡터가 데이터 베이스로부터 불러들여진 진서명의 가중치와 편차를 가진 뉴럴 네트워크의 인풋(Input)이 되어 뉴럴 네트워크의 아웃풋(Output)을 가지고 서명의 진위를 판별하는 과정으로 이루어진다.
전술한 바와 같은 구성에서 서명을 동일 호(弧) 길이의 점(Point)으로 추출한 표본은 28개의 점(Point)으로 할 수 있으며, 각 분할 구간은 25개의 점(Point)이 분포되도록 하여 8개의 구간으로 분할 할 수 있다.
전술한 구성 이외에 서명을 동일 호(弧) 길이의 점(Point)으로 추출한 표본은 29개의 점(Point)으로 할 수 있으며, 각 분할 구간은 25개의 점(Point)이 분포되도록 하여 16개의 구간으로 분할 할 수도 있다.
도 1 은 종래 전자서명(Electronic Signature)의 인증방법을 보인 블럭도.
도 2 는 종래 전자서명(Electronic Signature)의 인증방법으로 서명의 진위를 판별할시 두 개로 분류되어질 군(Cluster)이 일반적으로 선형분리로서는 완벽하게 분리되어지지 않음을 보여주는 참고도.
도 3 은 본 발명에 따른 다이나믹 프로그램을 이용한 서명의 분할방법을 보인 블럭도.
도 4 는 본 발명에 따른 다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명(Electronic Signature)의 인증방법을 보인 블럭도.
도 5 는 본 발명에 따른 다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명(Electronic Signature)의 인증방법을 보충 설명하기 위한 블럭도.
도 6 은 본 발명에 따른 전자서명(Electronic Signature)의 인증방법으로 서명의 진위를 판별할시 진서명군과 가서명군 사이에 Hyper plane을 이용하여 분류하는 것을 보인 개략도.
먼저, 본 발명의 다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명 인증방법을 설명하기에 앞서 서명의 인증률을 향상시키기 위한 다이나믹 프로그램 알고리듬(Dynamic program algorithm)과 뉴럴 네트워크(Neural Network) 이론의 다계층 퍼셉트론(Multilayer) 및 백프로퍼게이션 알고리듬(Backpropagation algorithm)에 대한 이론을 살펴보면 다음과 같다.
다이나믹 프로그램 알고리듬(Dynamic program algorithm)은 두 개의 유사한 패턴의 각 점(Point) 사이에서 가장 적합한 맵핑(Mapping)을 구하는 알고리듬으로서 두 개의 패턴 사이의 불일치(Misalignment)를 최소화 하고, 아래와 같이 정의 될 수 있다.
DA(n·m)시작 포인트(1, 1)에서 어떤 포인트(n, m)까지를 어떤경로를 따라 가는데 축적된 최소의 거리이다.
DA(n, m) = d[P1(n), P2(m)] + Min(DA(n, m-1), DA(n-1, m-1), DA(n-1, m))
초기조건을,
DA(1, 1) = d[P1(1), P2(1)],
(여기서, d[P1(n), P2(m)]은 P1(n)과 P2(m) 사이의 유클리디언 거리를 말한다.)
ex) P1= {1, 6, 9, 6, 5}이라 하고, P2= {2, 6, 8, 9, 8, 3}이라 할 때, 이를 그래프를 통해 살펴보면 표 1, 표 2, 표 3 및 표 4 에서와 같다.
(d[P1(n), P2(m)] : Local 거리)
(DA(n, m) : 축적된 거리)
DA(5, 6)은 두 개의 시퀀스(P1, P2)의 유사성을 나타내는 척도가 된다. 만약, 두 개의 시퀀스(Sequence)가 동일하다면 DA(n, m)=0이다.
최적의 경로(Optimal Path)는 역방향(backward)으로부터 구해진다. 표 4 에 보여진 것처럼 DA(5, 6)으로부터 Min(DA(5, 5), DA(4, 5), DA(4, 6))을 찾아서 DA(1, 1)까지 가는 최적의 경로를 찾는다.
최적의 경로에서 나타난 것처럼
와 같이 맵핑(Mapping)이 된다.
한편, 다계층 퍼셉트론(Multilayer)은 백프로퍼게이션 알고리듬(Backpropagation algorithm)을 사용하여 선형으로 분리할 수 없는 복잡한 패턴을 분류하는데 적용되어 왔다.
전술한 다계층 퍼셉트론의 구조는 인풋(Input) 계층을 구성하는 소스 노드(Source node)와 하나 또는 그 이상의 감추어진 계층(Hidden layer) 그리고 하나의 출력계층으로 표 5 에서와 같다. 각 뉴론(Neuron)은 그것의 변형이 가능한 가중치(weight)와 임계값(threshold)을 갖는다. 입력된 시그널(Signal)은 한계층 한계층씩 전방향(forward)으로 네트워크를 통과하게 된다. 감추어진 계층(Hidden layer)은 네트워크가 선형 분리할 수 없는 작업을 수행 가능케 한다.
그리고, 백프로퍼게이션 알고리듬(Backpropagation algorithm)은 뉴럴 네트워크(Neural Network)를 학습시키는데 가장 널리 알려진 알고리듬으로서, 반복되는 기울기 강하(Interactive gradient descent) 알고리듬을 사용하여 이미 분류된 패턴들을 학습(Supervised monner)시킨다. 즉, 네트워크의 출력과 지정된 값(Target value) 사이의 mean squared error를 최소화 하도록 설계되어진다.
표 6 에서와 같이 전방향 패스(forward path) 과정에서 가중치(weight)는 임의의 값으로 할당되어지고, 역방향 패스(backward path)에서 네트워크의 출력과 지정된 값(target value)의 차로부터 에러(error) 값(지정된 값-네트워크의 출력값)이 구해진다. 이 과정에서 가중치(weight)는 실제 네트워크의 출력이 지정된 값에 근접하도록 수정되어지고, 이미 설정된 허용오차(에러값)에 도달되어질 때까지 이 과정은 반복되어진다.
전술한 바와 같은 이론을 바탕으로 한 본 발명의 전자서명(Electronic Signature) 인증방법 역시 종래의 전자서명 인증방법과 같이 서명을 학습하는 과정과 어떠한 서명의 진위 여부를 요구하는 경우 입력된 서명의 진위 여부를 테스트하는 과정을 조합한 기술을 통해 한편으로는 개인의 서명을 학습하여 데이터 베이스화 하고, 다른 한편으로는 주장하는 입력된 서명의 진위 여부를 판별하는 것은 마찬가지이다.
그러나, 본 발명에서는 종래와는 다른 개념의 서명 분할방법을 통해 분할하여 진서명의 분류군을 축소함으로써 서명의 인증률을 향상시킬 수 있도록 하고, 또한 진서명군과 가서명군 사이에 하이퍼 플레인(Hyper Plane)을 이용하여 서명을 분류하는 뉴럴 네트워크를 이용한 분류방법을 통해 서명을 분류함으로써 서명의 인증률을 향상시킬 수 있도록 한 기술이다.
본 발명의 다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명 인증방법에 대한 설명은 다이나믹 프로그램을 이용한 서명의 분할방법, 뉴럴 네트워크를 이용한 서명의 분류방법 및 다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명의 인증방법 순으로 설명한다.
이하에서는 본 발명의 양호한 실시 예에 따른 다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명 인증방법에 대해 상세히 설명한다.
도 3 은 본 발명에 따른 다이나믹 프로그램을 이용한 서명의 분할방법을 보인 블럭도이다.
도 3 에 도시된 바와 같이 본 발명에 따른 전자서명의 인증방법에 있어 다이나믹 프로그램 알고리듬을 이용한 서명의 분할방법은 각 개인의 서명들을 수집하는 과정, 수집된 서명들의 처음과 끝의 노이즈를 제거하여 서명들을 동일 호(弧) 길이의 점(Point)으로 표본을 추출하는 과정, 서명들의 동일 호(弧) 길이의 점(Point)들로부터 가장 적합한 직선방정식을 구하는 과정, 직선방정식으로부터 각 점(Point)들의 직각이 되는 거리를 구하여 거리 시퀀스를 구하는 과정, 서명들로부터 기본이 되는 서명을 정하여 각 분할 구간에 동일 수의 점(Point)이 분포되도록 구간을 분할하는 과정 및 기본이 되는 서명의 분할점에 대응되는 다른 서명들의 분할점을 다이나믹 프로그램 알고리듬을 이용하여 구한 다음 각 분할 구간에 대하여 진서명의 정렬된 패턴을 구하는 과정으로 이루어진다.
전술한 바와 같은 본 발명의 다이나믹 프로그램 알고리듬을 이용한 서명의 분할기술에 대해 더욱 상세히 설명하면 다음과 같다. 먼저, 서명의 수집과정에서는 개개인의 서명을 수집하게 되는데, 통상 한 개인의 서명이라 할지라도 완전 동일한 서명이란 있을 수 없기 때문에 보다 정확한 서명의 특성벡터를 추출할 수 있도록 그 개인의 서명을 가능한 많이 수집한다.
수집된 서명의 표본 추출과정에서는 수집된 서명의 인식률을 높일 수 있도록 처음과 끝의 노이즈를 제거한 후, 각 서명들을 동일 호(弧)의 길이에 위치하는 점(Point)들로 표본을 추출한다. 즉, 서명의 펜이 시작하는 부분과 서명의 펜이 끝나는 부분의 노이즈를 제거한 상태에서 점(Point)과 점(Point)과 사이의 간격이 동일 호(弧)의 길이가 되도록 표본을 추출한다. 이때, 추출되는 표본의 점(Point)을 본 발명에서는 28개의 점(Point)들로 그 표본을 추출하였으나, 28개 이하이거나 그 이상일 수 있음은 당연할 것이다. 그 일례로써 29개의 점을 표본으로 추출할 수 있다.
거리 시퀀스(Distance Sequence)를 구하는 과정은 먼저, 각 서명들의 동일 호(弧) 길이의 점(Point)들로부터 가장 적합한 직선방정식을 구한 다음, 직선방정식으로부터 각 점(Point)들의 직각이 되는 거리를 구하여 거리 시퀀스(Distance Sequence)를 구하게 된다.
구간의 분할(Segmentation)과정은 각 서명들의 거리 시퀀스(Distance Sequence)를 구한 상태에서 기본이 되는 서명을 정하여 각 분할 구간에 동일 갯수의 점(Point)이 분포되도록 구간을 분할하는 과정으로, 이러한 구간의 분할과정은 서명들로부터 기본이 되는 서명을 정하여 각 분할 구간에 동일 갯수의 점(Point)이 분포되도록 분할하는 과정 및 기본이 되는 서명의 분할점에 대응되는 다른 서명들의 분할점을 다이나믹 프로그램 알고리듬{Dynamic program algorithm; 두 개의 유사한 패턴의 각 점(Point) 사이에서 가장 적합한 맵핑(Mapping)을 구하는 알고리듬으로서 두 개의 패턴 사이의 불일치(Misalignment)를 최소화 한다}을 이용하여 구한 다음 각 분할 구간에 대하여 진서명의 정렬된 패턴을 구하는 과정으로 이루어진다.
기본이 되는 서명을 정하여 각 분할 구간에 동일 갯수의 점(Point)이 분포되도록 분할하는 과정에서는 기본이 되는 거리 시퀀스를 다수의 구간으로 분할하되 분할된 각 구간에는 동일 수의 점(Point)이 분포되도록 분할시키는 과정이다. 이때, 분할되는 구간을 본 발명에서는 서명의 거리 시퀀스를 8개의 구간으로 분할 하였으며, 각각의 구간에는 25개의 점(Point)이 분포되도록 하였다. 한편, 각 서명의 거리 시퀀스를 29개의 점(Point)으로 그 표본을 추출할 경우에는 1개의 구간에 25개의 점(Point)이 분포되도록 하여 16개의 구간으로 분할 할 수 있다.
진서명의 정렬된 패턴을 구하는 과정은 기본이 되는 서명의 분할점에 대응되는 다른 서명들의 분할점을 다이나믹 프로그램 알고리듬을 이용하여 구한 다음 각 분할 구간에 대하여 진서명의 정렬된 패턴을 구하는 과정이다. 즉, 기본이 되는 서명과 다른 서명을 다이나믹 프로그램 알고리듬을 이용하여 맵핑(Mapping)시킴으로써 각 분할 구간에 대하여 진서명의 정렬된 패턴을 구하는 것이다.
전술한 바와 같이 구성된 서명의 분할은 수집된 서명의 표본을 추출하고 기본이 되는 거리 시퀀스의 분할점에 대응되는 다른 서명들의 분할점을 다이나믹 프로그램 알고리듬을 이용하여 구하고, 각 분할 구간에 대하여 진서명들의 정렬된 패턴 즉, 진서명의 특성벡터를 추출할 수 있어 진서명의 분류군(Cluster)을 작게 만들어 서명의 인증률을 향상시키게 된다.
한편, 전술한 바와 같은 다이나믹 프로그램을 이용한 전자서명의 인증방법은 도 3 에서와 같이 수집된 개인의 서명을 학습하여 데이터 베이스화 하기 위한 학습과정과 서명을 인증하기 위한 테스트 과정으로 나눌 수 있다. 즉, 개개인의 서명을 학습하여 그 서명의 특성벡터를 데이터 베이스화 하는 과정과 어떠한 서명의 진위 여부를 요구하는 경우 입력된 서명의 진위 여부를 판별하는 과정으로 이루어진다.
서명의 학습과정은 각 개인의 서명을 수집하는 과정, 서명들의 표본을 추출하는 과정, 서명들의 직선방정식을 구하는 과정, 거리 시퀀스를 구하는 과정, 구간을 분할하는 과정, 진서명의 정렬된 특성벡터를 추출하는 과정 및 진서명의 정렬된 특성벡터를 데이터 베이스화 하는 과정으로 이루어진다.
즉, 서명의 학습과정에서는 서명의 분할방법에서 이미 설명한 바와 같은 서명을 수집하는 과정, 표본을 추출하는 과정, 직선방정식을 구하는 과정, 거리 시퀀스를 구하는 과정, 구간을 분할하는 과정 및 진서명의 정렬된 특성벡터를 추출하는 과정을 통해 각 개개인의 서명을 수집하여 표본을 추출하고, 기본이 되는 서명의거리 시퀀스를 구한 다음, 다이나믹 프로그램 알고리듬을 통해 분할하여 진서명의 정렬된 특성벡터를 추출한 후, 진서명의 정렬된 특성벡터를 데이터 베이스화 한다.
한편, 서명의 진위를 판별하는 테스트 과정 즉, 어떠한 서명의 진위 여부를 요구하는 경우 입력된 서명의 진위 여부를 판별하는 과정은 입력된 서명의 표본을 추출하는 과정, 추출된 서명의 표본으로부터 직선방정식을 구하는 과정, 입력된 서명의 거리 시퀀스를 구하는 과정, 입력된 서명의 구간을 분할하는 과정, 입력된 서명의 정렬된 특성벡터를 추출하는 과정, 입력된 서명의 특성벡터와 학습과정에서 데이터 베이스화 된 진서명의 특성벡터를 비교하는 과정 및 입력된 서명의 진위를 판별하는 과정으로 이루어진다.
전술한 바와 같이 구성된 서명의 진위를 판별하는 테스트 과정은 학습과정에서의 표본을 추출하는 과정, 직선방정식을 구하는 과정, 거리 시퀀스를 구하는 과정, 구간을 분할하는 과정 및 서명의 정렬된 특성벡터를 추출하는 과정과 같은 방법으로 입력된 서명의 특성벡터를 추출한다.
입력된 서명의 특성벡터는 비교과정을 통해 진서명의 특성벡터와 비교되고, 그 결과값으로 입력된 서명의 진위 여부가 판별과정에 의해 판별된다. 즉, 입력된 서명의 특성벡터와 학습과정에서 얻어진 진서명의 특성벡터를 비교하는 과정에서 두 개의 특성벡터 사이의 거리(Distance)가 정해진 임계값(Threshold) 보다 작으면 입력된 서명을 진서명으로 판별하여 인증하고, 그렇지 않으면 가서명으로 판별하여 거절하게 된다.
도 4 는 본 발명에 따른 다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명(Electronic Signature)의 인증방법을 보인 블럭도, 도 5 는 본 발명에 따른 다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명(Electronic Signature)의 인증방법을 보충 설명하기 위한 블럭도, 도 6 은 본 발명에 따른 전자서명(Electronic Signature)의 인증방법으로 서명의 진위를 판별할시 진서명군과 가서명군 사이에 Hyper plane을 이용하여 분류하는 것을 보인 개략도이다.
도 4 및 도 5 에 도시된 바와 같이 본 발명에 따른 뉴럴 네트워크를 이용한 서명의 분류방법은 서명의 학습과정에서의 분류방법을 의미한다. 뉴럴 네트워크(Neural Network)를 이용한 서명의 분류방법은 도 3 에 도시된 다이나믹 프로그램을 이용한 서명의 분할방법을 통해 얻은 분할된 시퀀스의 자기회귀적 모형을 각 분할 구간에 적용시켜 서명의 AR 계수를 구하는 AR 모델링 과정, AR 모델링 과정을 통해 서명의 AR 벡터를 추출하는 과정 및 추출된 진서명의 AR 벡터를 뉴럴 네트워크의 백프로퍼게이션 알고리듬(Backpropagation algorithm)을 이용 다계층 퍼셉트론(Multilayer Perceptron) 구조를 학습하여 마지막 특성벡터로서 얻은 진서명의 네트워크 가중치와 편차를 구하는 과정으로 이루어진다.
즉, 다이나믹 프로그램을 이용한 서명의 분할방법을 통해 얻은 분할된 시퀀스로부터 AR 모델링 과정을 통해 AR 계수를 구하여 AR 벡터를 추출하고, 추출된 AR 벡터를 뉴럴 네트워크의 백프로퍼게이션 알고리듬(Backpropagation algorithm)을 이용하여 진서명의 네트워크 가중치와 편차를 마지막 특성벡터로서 구하게 된다.
한편, 입력된 서명의 테스트 과정에서의 서명의 분류는 다이나믹 프로그램을 이용한 서명의 분할방법을 통해 얻은 입력된 서명의 분할된 시퀀스의 자기회귀적모형을 각 분할 구간에 적용시켜 서명의 AR 계수를 구하는 AR 모델링 과정, AR 모델링 과정을 통해 입력된 서명의 AR 벡터를 추출하는 과정으로 이루어진다.
전술한 바와 같이 구하여진 학습과정에서의 마지막 특성벡터로서 진서명의 네트워크 가중치와 편차는 데이터 베이스화되어 저장되고, 테스트 과정에서의 입력된 서명의 AR 벡터는 뉴럴 네트워크의 입력값으로 입력된다. 이때, 테스트 과정에서의 입력된 서명의 AR 벡터는 데이터 베이스로부터 불러들여진 진서명의 가중치와 편차를 가진 뉴럴 네트워크의 인풋(Input)으로 하여 뉴럴 네트워크의 아웃풋(Output)을 가지고 서명의 진위를 판별하게 된다. 즉, 어떠한 서명의 진위 여부를 요구하는 경우 입력된 서명의 AR 벡터는 학습과정을 통해 저장된 진서명의 가중치와 편차를 불러들인 뉴럴 네트워크 상의 인풋(Input)이 된다.
도 4 내지 도 6 에 도시된 바와 같이 본 발명에 따른 다이나믹 프로그램 및 뉴럴 네트워크를 이용한 전자서명 인증방법은 서명의 학습과정과 테스트 과정을 거치는 동안 다이나믹 프로그램 알고리듬과 뉴럴 네트워크(Neural Network)를 통해 서명을 분할하고 분류하여 서명의 인증률을 향상시키는 기술로, 본 발명에 따른 다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명 인증방법 역시 종래 및 앞서 기술한 전자서명 인증방법과 같이 서명을 학습하여 데이터 베이스화 하기 위한 학습과정과 서명을 인증하기 위한 테스트 과정으로 나눌 수 있다. 즉, 개개인의 서명을 학습하여 그 서명의 특성벡터를 데이터 베이스화 하는 과정과 어떠한 서명의 진위 여부를 요구하는 경우 입력된 서명의 진위 여부를 판별하여 인증하는 과정으로 이루어진다.
먼저, 서명의 학습과정은 서명의 수집과정, 표본 추출과정, 거리 시퀀스를 구하는 과정, 분할과정, AR 모델링(Auto Regressive model: 자기 회귀 모델이라 하며, 정상 확률 과정 모델의 하나이다.) 과정, AR 벡터 추출과정 및 뉴럴 네트워크의 학습을 통해 개개인의 데이터 베이스 구축과정으로 이루어진다.
전술한 바와 같이 구성된 서명의 학습과정은 각 개개인의 서명을 수집하여 표본을 추출하고, 기본이 되는 서명의 거리 시퀀스를 구한 다음, 다이나믹 프로그램 알고리듬을 통해 분할하여 AR 모델링 과정을 통해 진서명의 AR 벡터를 추출하고, 추출된 진서명의 AR 벡터를 뉴럴 네트워크를 이용하여 얻은 가중치와 편차를 특성벡터로서 데이터 베이스화 한다.
더욱 상세히 설명하면 다음과 같다. 먼저, 학습과정의 서명 수집과정에서는 개개인의 서명을 수집하게 되는데, 통상 한 개인의 서명이라 할지라도 완전 동일한 서명이란 있을 수 없기 때문에 보다 정확한 서명의 특성벡터를 추출할 수 있도록 그 개인의 서명을 가능한 많이 수집한다. 다음의 표 7 은 본 발명의 전자서명 인증방법을 설명하기 위해 실서명의 예를 보인 것이다.
수집된 서명의 표본 추출과정에서는 먼저, 수집된 서명의 인식률을 높일 수 있도록 처음과 끝의 노이즈를 제거한 후, 각 서명들을 동일 호(弧)의 길이에 위치하는 점(Point)들로 표본을 추출한다. 즉, 서명의 펜이 시작하는 부분과 서명의 펜이 끝나는 부분의 노이즈를 제거한 상태에서 점(Point)과 점(Point)과 사이의 간격이 동일 호(弧)의 길이가 되도록 표본을 추출한다. 이때, 추출되는 표본의 점(Point)을 본 발명에서는 28개의 점(Point)들로 그 표본을 추출하였으나, 28개 이하이거나 그 이상일 수 있음은 당연할 것이다. 그 일례로써 29개의 점을 표본을 추출할 수 있다. 다음의 표 8 와 표 9 은 표본의 추출과정에서 서명의 처음과 끝의 노이즈를 제거하기 전과 제거 후를 보인 것이고, 표 10 는 노이즈를 제거한 서명을 동일 호(弧) 길이의 점(Point)들로 표본을 추출한 것이다.
거리 시퀀스(Distance sequence)를 구하는 과정은 먼저, 각 서명들의 동일 호(弧) 길이의 점(Point)들로부터 가장 적합한 직선방정식을 구한 다음, 직선방정식으로부터 각 점(Point)들의 직각이 되는 거리를 구하여 거리 시퀀스(Distance Sequence)를 구하게 된다. 다음의 표 11 는 서명의 동일 호(弧) 길이의 점(Point)들로부터 가장 적합한 직선방정식을 구하여 이를 선으로 표현한 것이고, 표 12 은 직선방정식으로부터 각 점(Point)들의 직각이 되는 거리를 구하여 거리 시퀀스(Distance Sequence)를 보인 것이다.
분할(Segmentation)과정은 각 서명의 거리 시퀀스를 구한 상태에서 기본이 되는 서명을 정하여 각 분할 구간에 동일 점(Point)이 분포되도록 분할하는 과정으로, 이러한 분할과정은 서명들로부터 기본이 되는 서명을 정하여 각 분할 구간에 동일 수의 점(Point)이 분포되도록 분할하는 과정 및 기본이 되는 서명의 분할점에 대응되는 다른 서명들의 분할점을 다이나믹 프로그램 알고리듬을 이용하여 구한 다음 각 분할 구간에 대하여 진서명의 정렬된 패턴을 구하는 과정으로 이루어진다.
전술한 분할과정의 기본이 되는 서명을 정하여 각 분할 구간에 동일 수의 점(Point)이 분포되도록 분할하는 과정에서는 기본이 되는 거리 시퀀스를 다수의구간으로 분할하되 분할된 각 구간에는 동일 수의 점(Point)이 분포되도록 분할시키는 과정이다. 이때, 분할되는 구간을 본 발명에서는 서명의 거리 시퀀스를 8개의 구간으로 분할 하였으며, 각각의 구간에는 25개의 점(Point)이 분포되도록 하였다. 한편, 각 서명의 거리 시퀀스를 29개의 점(Point)으로 그 표본을 추출할 경우에는 1개의 구간에 25개의 점(Point)이 분포되도록 하여 16개의 구간으로 분할 할 수 있다. 다음의 표 13 은 거리 시퀀스를 구한 서명들 중에 기본이 되는 서명을 보인 것이고, 표 14 은 거리 시퀀스를 구한 서명들 중에 분할되어질 다른 서명을 보인 것이다.
한편, 서명의 정렬된 패턴을 구하는 과정은 기본이 되는 서명의 분할점에 대응되는 다른 서명들의 분할점을 다이나믹 프로그램 알고리듬을 이용하여 구한 다음 각 분할 구간에 대하여 진서명의 정렬된 패턴을 구하는 과정이다. 즉, 기본이 되는 서명과 다른 서명을 다이나믹 프로그램 알고리듬을 이용하여 맵핑(Mapping)시킴으로써 각 분할 구간에 대하여 진서명의 정렬된 패턴을 구하는 것이다. 다음의 표 15 는 기본이 되는 서명과 다른 서명을 다이나믹 프로그램 알고리듬을 이용하여 맵핑(Mapping)시킨 상태를 보인 것이다.
전술한 바와 같이 각 분할 구간에 대하여 진서명들의 정렬된 패턴을 구할 수 있어 도 6 에 도시된 바와 같이 진서명의 분류군(Cluster)을 작게 할 수 있고, 이에 따라 서명의 인증률을 향상시킬 수가 있게 된다. 그 결과는 다음의 표 16 과 표 17 을 비교해 봄으로써 알 수 있다.
먼저, 표 16a 와 표 16b 는 본 발명에 따른 서명의 학습과정에서 각 분할 구간에 동일 갯수의 점(Point)이 분포되도록 분할하였을 경우 기본이 되는 서명과 다른 서명의 분할을 비교하여 보인 것이다.
한편, 표 17a 와 표 17b 는 본 발명에 따른 서명의 학습과정에서 각 분할 구간에 동일 갯수의 점(Point)이 분포되도록 분할한 후 다이나믹 프로그램 알고리듬을 이용하여 정렬된 패턴을 구하였을 경우 기본이 되는 서명과 다른 서명을 비교하여 보인 것이다.
전술한 표 16 과 표 17 에서와 같이 표 17 의 각 분할 구간에 동일 갯수의 점(Point)이 분포되도록 분할한 후 다이나믹 프로그램 알고리듬을 이용하여 정렬된 패턴을 구하였을 경우가 표 16 의 다이나믹 프로그램 알고리듬을 이용하지 않고 각 분할 구간에 동일 갯수의 점(Point)이 분포되도록 분할하였을 경우보다 기본이 되는 서명과 다른 서명의 분할점이 동일 또는 근접하고 있음을 알 수 있다.
따라서, 본 발명에서와 같이 다이나믹 프로그램 알고리듬을 이용하여 서명의 정렬된 패턴을 구하였을 경우 서명의 인증률을 향상시킬 수가 있다. 다음의 표 18 는 다이나믹 프로그램 알고리듬(DP 알고리듬)을 이용한 서명의 분할방법에 관한 실험결과이다.
인증률분할방법 가서명을 진서명으로 판별(False Accept Error) 진서명을 가서명으로 판별(False Rejectt Error)
일정한 점(Point)에 관한 분할(Uniform spatial sequence) 0.67% 0.88%
일정한 시간에 의한 분할(Uniform timel sequence) 5.62% 7.38%
DP 알고리듬을 이용한 분할 0.25% 0.25%
전술한 표 18 에서와 같이 DP 알고리듬을 이용하여 서명을 분할 하는 경우 서명의 인증률을 향상시킬 수가 있다.
한편, 분할과정을 통해 구한 분할된 시퀀스는 AR 모델링 과정을 거치게 되는데, 이 AR 모델링 과정에서는 분할과정을 통해 구한 분할된 시퀀스의 자기회귀적 모형을 각 분할 구간에 적용시켜 진서명의 AR 계수를 구하게 된다.
전술한 바와 같이 AR 모델링 과정을 통해 진서명의 AR 계수를 구한 후에는 진서명의 AR 계수를 통해 진서명의 AR 벡터를 추출하게 된다.
데이터 베이스 구축과정에서는 추출된 진서명의 AR 벡터를 뉴럴 네트워크의 학습을 통해 가중치와 편차를 구하여 마지막 특성벡터로서 개개인의 데이터 베이스를 구축한다. 즉, 데이터 베이스 구축과정에서 진서명의 AR 벡터는 백프로퍼게이션 알고리듬(Backpropagation algorithm)을 통해 다계층 퍼셉트론(Multilayer Perceptron) 구조가 학습되고, 개개인의 학습과정을 통해 얻은 네트워크의 가중치와 편차가 마지막 특성벡터로서 개개인의 데이터 베이스로 구축된다.
전술한 바와 같이 개개인의 서명을 수집하는 과정, 표본 추출과정, 거리 시퀀스를 구하는 과정, 분할과정, AR 모델링 과정, AR 벡터 추출과정 및 뉴럴 네트워크(Neural Network)를 통해 개개인의 서명이 학습되어지고 학습한 결과로써 얻은 진서명의 가중치와 편차가 마지막 특성벡터로서 개개인의 데이터 베이스를 구축하게 된다.
한편, 서명을 인증하기 위한 테스트 과정 즉, 어떠한 서명의 진위 여부를 요구하는 경우 입력된 서명의 진위 여부를 판별하여 인증하는 과정은 표본 추출과정, 거리 시퀀스를 구하는 과정, 분할과정, AR 모델링 과정, 입력된 서명의 AR 벡터 추출과정, 추출한 입력된 서명의 AR 벡터를 데이터 베이스로부터 불러들여진 진서명의 가중치와 편차를 가진 뉴럴 네트워크의 인풋(Input)으로 하여 뉴럴 네트워크의 아웃풋(Output)을 가지고 서명의 진위를 판별하는 과정으로 이루어진다.
전술한 바와 같이 입력된 서명의 테스트 과정에서 표본 추출과정, 거리 시퀀스를 구하는 과정, 분할과정, AR 모델링 과정, 입력된 서명의 AR 벡터 추출과정은 학습과정의 표본 추출과정, 거리 시퀀스를 구하는 과정, 분할과정, AR 모델링 과정, AR 벡터 추출과정과 같은 방법으로 입력된 서명의 AR 벡터를 추출하게 된다.
즉, 입력된 서명의 인식률을 높일 수 있도록 처음과 끝의 노이즈를 제거한 후, 각 서명들을 동일 호(弧)의 길이에 위치하는 점(Point)들로 표본을 추출하고, 입력된 서명의 동일 호(弧) 길이의 점(Point)들로부터 가장 적합한 직선방정식을 구한 다음, 직선방정식으로부터 각 점(Point)들의 직각이 되는 거리를 구하여 거리시퀀스를 구하게 된다. 한편, 입력된 서명의 분할점은 다이나믹 프로그램(Dynamic Program)을 이용하여 주장된 기본 서명의 분할점에 맵핑(Mapping)시켜 구한 다음 각 분할 구간에 대하여 입력된 서명의 정렬된 패턴을 구한다. 이처럼 분할과정을 통해 구한 분할된 시퀀스는 AR 모델링 과정을 통해 자기회귀적 모형을 각 분할 구간에 적용시켜 입력된 서명의 AR 계수를 구한 후, 입력된 서명의 AR 계수를 통해 입력된 서명의 AR 벡터를 추출하게 된다. 그리고, 입력된 서명의 AR 벡터는 뉴럴 네트워크의 인풋(Input)이 된다.
한편, 입력된 서명의 진위 여부를 판별하는 과정은 표본 추출과정, 거리 시퀀스를 구하는 과정, 분할과정, AR 모델링 과정, AR 벡터 추출과정을 통해 추출한 입력된 서명의 AR 벡터를 데이터 베이스로부터 불러들여진 진서명의 가중치와 편차를 가진 뉴럴 네트워크의 인풋(Input)으로 하여 뉴럴 네트워크의 아웃풋(Output)을 가지고 서명의 진위를 판별하게 된다. 즉, 진서명으로 학습하는 경우를 "1"이라 하고, 가서명으로 학습하는 경우를 "0"이라 하였을 경우, 서명의 진위에 대한 결과값으로 아웃풋(Output)이 0.5이상일 때는 진서명으로 판별하고 아웃풋(Output)이 0.5이하인 경우에는 가서명으로 판별하게 된다. 다음의 표 19 은 뉴럴 네트워크(Neural Network)를 이용한 분류기의 실험결과이다.
인증률분류기 방법 가서명을 진서명으로 판별(False Accept Error) 진서명을 가서명으로 판별(False Rejectt Error)
거리 측정법 2.21% 2.21%
NN 분류기 1.17% 2.13%
전술한 표 19 에서와 같이 본 발명에 따른 뉴럴 네트워크(Neural Network)를통해 서명을 분류함으로써 종래의 거리 측정방법에 비해 서명의 인증률을 향상시킬 수 있음을 알 수 있다.
본 발명에 따른 다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명 인증방법을 간략하게 정리·요약하면 다음과 같다. 즉, 본 발명의 전자서명 인증방법은 각 개인의 서명들을 수집하는 과정, 수집된 서명들의 처음과 끝의 노이즈를 제거하여 서명들을 동일 호(弧) 길이의 점(Point)으로 표본을 추출하는 과정, 서명들의 동일 호(弧) 길이의 점(Point)들로부터 가장 적합한 직선방정식을 구하는 과정, 직선방정식으로부터 각 점(Point)들의 직각이 되는 거리를 구하여 거리 시퀀스를 구하는 과정, 서명들로부터 기본이 되는 서명을 결정하여 각 분할 구간에 동일 수의 점(Point)이 분포되도록 구간을 분할하고 기본이 되는 서명의 분할점에 대응되는 다른 서명들의 분할점을 다이나믹 프로그램 알고리듬을 이용하여 구한 다음 각 분할 구간에 대하여 진서명의 정렬된 패턴을 추출하는 분할과정, 분할과정에서 분할된 시퀀스의 자기회귀적 모형을 각 분할 구간에 적용시켜 서명의 AR 계수를 구하는 AR 모델링 과정, AR 모델링 과정을 통해 서명의 AR 벡터를 추출하는 과정, 추출된 서명의 AR 벡터를 뉴럴 네트워크의 백프로퍼게이션 알고리듬(Backpropagation algorithm)을 이용 다계층 퍼셉트론(Multilayer Perceptron) 구조를 학습하여 얻은 서명들의 네트워크 가중치와 편차를 마지막 특성벡터로서 개개인의 데이터 베이스를 구축하는 과정 및 어떠한 서명의 진위 여부를 요구하는 경우 입력된 서명의 특성벡터가 데이터 베이스로부터 불러들여진 진서명의 가중치와 편차를 가진 뉴럴 네트워크의 인풋(Input)이 되어 뉴럴 네트워크의 아웃풋(Output)을 가지고 서명의 진위를 판별하는 과정으로 이루어진다.
따라서, 본 발명의 다이나믹 프로그램과 뉴럴 네트워크를 이용한 서명의 분류방법 및 전자서명 인증방법을 적용한 전자서명 인증 시스템은 수집된 서명을 학습을 통해 추출한 가중치와 편차를 데이터 서버에 저장하는 과정과 어떠한 서명의 진위 여부를 요구하는 경우 입력된 서명을 학습을 통해 추출한 AR 벡터를 진서명의 가중치와 편차를 불러들인 네트워크의 인풋(Input)으로 하여 네트워크의 아웃풋(Output)을 가지고 서명의 진위를 판별하는 인증과정을 수행하게 된다.
즉, 전자서명 인증 시스템은 타블렛과 같은 입력수단을 통해 어떠한 서명의 진위 여부를 요구하는 경우 입력된 서명의 처음과 끝의 노이즈를 제거하여 동일 호(弧) 길이의 점(Point)으로 표본을 추출하는 한편, 서명들의 동일 호(弧) 길이의 점(Point)들로부터 가장 적합한 직선방정식을 구하여 각 점(Point)들의 직각이 되는 거리 시퀀스(Distance Sequence)를 구하고, 입력된 서명의 거리 시퀀스(Distance Sequence)를 각 구간에 동일 갯수의 점(Point)이 분포되도록 분할하며, 분할된 서명의 시퀀스를 다이나믹 프로그램 알고리듬을 이용하여 각 분할 구간에 대하여 입력된 서명의 정렬된 특성벡터를 추출하고, 입력된 서명의 정렬된 특성벡터 즉, 분할된 시퀀스를 AR 모델링 과정을 통해 입력된 서명의 AR 벡터를 추출하여 추출한 입력된 서명의 AR 벡터를 데이터 베이스로부터 불러들여진 진서명의 가중치와 편차를 가진 뉴럴 네트워크의 인풋(Input)으로 하여 뉴럴 네트워크의 아웃풋(Output)을 가지고 서명의 진위를 판별하고, 진서명으로 판별하는 경우에는 이를 인증하고, 가서명으로 판별하는 경우에는 거절을 하게 된다.
이상에서와 같이 본 발명은 개개인의 많은 서명 사이에 개선된 패턴정렬을 얻기 위한 방법으로 다이나믹 프로그램을 이용한 서명의 분할기술과 신경망 이론(Neural Network)을 이용한 분류기(Classifer)의 구조를 적용함으로써 서명의 인증 정확도를 향상시킬 수 있다.
본 발명은 전술한 실시 예에 국한되지 않고 본 발명의 기술사상이 허용하는 범위 내에서 다양하게 변형하여 실시할 수가 있다.
이상에서와 같이 본 발명에 따르면 수집된 서명의 표본을 추출하고 기본이 되는 시퀀스의 분할점에 대응되는 다른 서명들의 분할점을 다이나믹 프로그램 알고리듬을 이용하여 구하고, 각 분할 구간에 대하여 서명들의 정렬된 패턴 즉, 서명의 특성벡터를 추출함으로써 진서명의 분류군(Cluster)을 작게 만들어 서명의 인증률을 향상시키는 효과가 발휘된다.
또한, 본 발명은 서명 사이에 개선된 패턴정렬을 얻기 위한 방법으로 다이나믹 프로그램을 이용한 서명의 분할기술에 신경망 이론(Neural Network)을 이용한 분류기(Classifer)의 구조 즉, 학습과정에서 구한 진서명의 AR 벡터를 백프로퍼게이션 알고리듬(Backpropagation algorithm)의 다계층 퍼셉트론(Multilayer Perceptron) 구조를 통해 얻은 네트워크의 가중치와 편차가 마지막 특성벡터로서 개개인의 데이터 베이스를 구축함으로써 서명의 인증 정확도를 더욱 향상시키는 효과가 발휘된다.

Claims (16)

  1. 개인의 여러 서명들로부터 특성벡터를 추출하여 서명의 정렬된 일정한 패턴을 구하기 위한 서명의 분할방법에 있어서,
    각 개인의 서명들을 수집하는 과정;
    상기 수집된 서명들의 처음과 끝의 노이즈를 제거하여 상기 서명들을 동일 호(弧) 길이의 점(Point)으로 표본을 추출하는 과정;
    상기 서명들의 동일 호(弧) 길이의 점(Point)들로부터 가장 적합한 직선방정식을 구하는 과정;
    상기 직선방정식으로부터 각 점(Point)들의 직각이 되는 거리를 구하여 거리 시퀀스를 구하는 과정;
    상기 서명들로부터 기본이 되는 서명을 결정하여 각 분할 구간에 동일 수의 점(Point)이 분포되도록 구간을 분할하는 과정; 및
    상기 기본이 되는 서명의 분할점에 대응되는 다른 서명들의 분할점을 다이나믹 프로그램 알고리듬을 이용하여 구한 다음 각 분할 구간에 대하여 서명의 정렬된 패턴을 구하는 과정을 포함한 것을 특징으로 하는 다이나믹 프로그램을 이용한 서명의 분할방법.
  2. 제 1 항에 있어서, 상기 서명을 동일 호(弧) 길이의 점(Point)으로 추출한표본은 28개의 점(Point)임을 특징으로 하는 다이나믹 프로그램을 이용한 서명의 분할방법.
  3. 제 2 항에 있어서, 상기 각 분할 구간은 25개의 점(Point)이 분포되도록 하여 8개의 구간으로 분할함을 특징으로 하는 다이나믹 프로그램을 이용한 서명의 분할방법.
  4. 제 1 항에 있어서, 상기 서명을 동일 호(弧) 길이의 점(Point)으로 추출한 표본은 29개의 점(Point)임을 특징으로 하는 다이나믹 프로그램을 이용한 서명의 분할방법.
  5. 제 4 항에 있어서, 상기 각 분할 구간은 25개의 점(Point)이 분포되도록 하여 16개의 구간으로 분할함을 특징으로 하는 다이나믹 프로그램을 이용한 서명의 분할방법.
  6. 개개인의 많은 서명 사이에 상기 성명의 진위여부를 판별하여 인증하는 전자서명 인증방법에 있어서,
    각 개인의 서명들을 수집하는 과정;
    상기 수집된 서명들의 처음과 끝의 노이즈를 제거하여 상기 서명들을 동일 호(弧) 길이의 점(Point)으로 표본을 추출하는 과정;
    상기 서명들의 동일 호(弧) 길이의 점(Point)들로부터 가장 적합한 직선방정식을 구하는 과정;
    상기 직선방정식으로부터 각 점(Point)들의 직각이 되는 거리를 구하여 거리 시퀀스를 구하는 과정;
    상기 서명들로부터 기본이 되는 서명을 결정하여 각 분할 구간에 동일 수의 점(Point)이 분포되도록 구간을 분할하는 과정;
    상기 기본이 되는 서명의 분할점에 대응되는 다른 서명들의 분할점을 다이나믹 프로그램 알고리듬을 이용하여 구한 다음 각 분할 구간에 대하여 서명의 정렬된 특성벡터를 추출하여 데이터 베이스화 하는 과정;
    어떠한 서명의 진위 여부를 요구하는 경우 입력된 서명을 상기의 표본 추출과정으로부터 서명의 정렬된 특성벡터를 추출하는 과정을 통해 상기 입력된 서명의 특성벡터를 추출하는 과정;
    상기 입력된 서명의 특성벡터와 데이터 베이스화 된 서명 중 소유자로 주장하는 사람의 서명 특성벡터의 동일 특성벡터를 비교하는 과정; 및
    상기 입력된 서명의 특성벡터와 서명의 특성벡터를 비교한 결과 값으로 상기 입력된 서명의 진위를 판별하는 과정을 포함한 것을 특징으로 하는 전자서명 인증방법.
  7. 제 6 항에 있어서, 상기 서명을 동일 호(弧) 길이의 점(Point)으로 추출한 표본은 28개의 점(Point)임을 특징으로 하는 전자서명 인증방법.
  8. 제 7 항에 있어서, 상기 각 분할 구간은 25개의 점(Point)이 분포되도록 하여 8개의 구간으로 분할함을 특징으로 하는 전자서명 인증방법.
  9. 제 6 항에 있어서, 상기 서명을 동일 호(弧) 길이의 점(Point)으로 추출한 표본은 29개의 점(Point)임을 특징으로 하는 전자서명 인증방법.
  10. 제 9 항에 있어서, 상기 각 분할 구간은 25개의 점(Point)이 분포되도록 하여 16개의 구간으로 분할함을 특징으로 하는 전자서명 인증방법.
  11. 제1항의 과정을 통해서 얻은 분할된 시퀀스의 자기회귀적 모형을 각 분할구간에 적용시켜 서명의 AR 계수를 구하는 AR 모델링 과정;
    상기 AR 모델링 과정을 통해 서명의 AR 벡터를 추출하는 과정;
    상기 추출된 서명의 AR 벡터를 뉴럴 네트워크 분류기의 백프로퍼게이션 알고리즘(Backpropagation algorithm)을 이용한 다층 퍼셉트론(Multilayer Perceptron) 구조를 학습하여 서명의 네트워크 가중치와 편차를 구하는 과정; 및
    이미 설정된 허용오차에 도달되어질 때까지 상기 다충 퍼셉트론 구조를 반복 학습하여 상기 허용오차에 가장 근접한 상기 서명의 네트워크 가중치와 편차를 마지막 특성벡터로 추출하고, 상기 추출된 특성벡터로 상기 서명의 정렬된 패턴을 추출하는 과정을 포함하여 이루어지는 뉴럴 네트워크를 이용한 서명의 패턴 분류방법.
  12. 각 개인의 서명들을 수집하는 과정;
    상기 수집된 서명들의 처음과 끝의 노이즈를 제거하여 상기 서명들을 동일 호(弧) 길이의 점(Point)으로 표본을 추출하는 과정;
    상기 서명들의 동일 호(弧) 길이의 점(Point)들로부터 가장 적합한 직선방정식을 구하는 과정;
    상기 직선방정식으로부터 각 점(Point)들의 직각이 되는 거리를 구하여 거리 시퀀스를 구하는 과정;
    상기 서명들로부터 기본이 되는 서명을 결정하여 각 분할 구간에 동일 수의 점(Point)이 분포되도록 구간을 분할하고, 상기 기본이 되는 서명의 분할점에 대응되는 다른 서명들의 분할점을 다이나믹 프로그램 알고리듬을 이용하여 구한 다음 각 분할 구간에 대하여 서명의 정렬된 패턴을 추출하는 분할과정;
    상기 분할과정에서 분할된 시퀀스의 자기회귀적 모형을 각 분할구간에 적용시켜 서명의 AR 계수를 구하는 AR 모델링 과정;
    상기 AR 모델링 과정을 통해 서명의 AR 벡터를 추출하는 과정;
    상기 추출된 서명의 AR 벡터를 뉴럴 네트워크 분류기의 백프로퍼게이션 알고리즘(Backpropagation algorithm)을 이용한 다층 퍼셉트론(Multilayer Perceptron) 구조를 학습하여 서명의 네트워크 가중치와 편차를 구하는 과정; 및
    이미 설정된 허용오차에 도달되어질 때까지 상기 다충 퍼셉트론 구조를 반복 학습하여 상기 허용오차에 가장 근접한 상기 서명의 네트워크 가중치와 편차를 마지막 특성벡터로 추출하고, 상기 추출된 특성벡터로 상기 서명의 정렬된 패턴을 추출하여 개개인의 데이터베이스를 구축하는 과정; 및
    입력된 서명의 진위 여부를 요구하는 경우 입력된 서명의 특성벡터가 상기 데이터 베이스로부터 불러들여진 서명의 가중치와 편차를 가진 뉴럴 네트워크의 인풋(Input)이 되어 뉴럴 네트워크의 아웃풋(Output)을 가지고 서명의 진위를 판별하는 과정을 포함한 전자서명 인증방법.
  13. 제 12 항에 있어서, 상기 서명을 동일 호(弧) 길이의 점(Point)으로 추출한 표본은 28개의 점(Point)임을 특징으로 하는 전자서명 인증방법.
  14. 제 13 항에 있어서, 상기 각 분할 구간은 25개의 점(Point)이 분포되도록 하여 8개의 구간으로 분할함을 특징으로 하는 전자서명 인증방법.
  15. 제 12 항에 있어서, 상기 서명을 동일 호(弧) 길이의 점(Point)으로 추출한 표본은 29개의 점(Point)임을 특징으로 하는 전자서명 인증방법.
  16. 제 15 항에 있어서, 상기 각 분할 구간은 25개의 점(Point)이 분포되도록 하여 16개의 구간으로 분할함을 특징으로 하는 전자서명 인증방법.
KR10-2000-0035679A 2000-06-27 2000-06-27 다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명인증방법 KR100416038B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0035679A KR100416038B1 (ko) 2000-06-27 2000-06-27 다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명인증방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0035679A KR100416038B1 (ko) 2000-06-27 2000-06-27 다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명인증방법

Publications (2)

Publication Number Publication Date
KR20020000666A KR20020000666A (ko) 2002-01-05
KR100416038B1 true KR100416038B1 (ko) 2004-01-31

Family

ID=19674200

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0035679A KR100416038B1 (ko) 2000-06-27 2000-06-27 다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명인증방법

Country Status (1)

Country Link
KR (1) KR100416038B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100453687B1 (ko) * 2002-07-13 2004-10-20 한국전자통신연구원 극점간의 매핑을 이용한 온라인 서명인증장치 및 그 방법
US11454968B2 (en) * 2018-02-28 2022-09-27 Micron Technology, Inc. Artificial neural network integrity verification

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4040010A (en) * 1975-11-06 1977-08-02 Stanford Research Institute Identification by handwriting verification
US4286255A (en) * 1979-02-22 1981-08-25 Burroughs Corporation Signature verification method and apparatus
JPH0660168A (ja) * 1992-08-07 1994-03-04 Nippondenso Co Ltd サイン認識装置
EP0609474A1 (en) * 1993-02-03 1994-08-10 International Business Machines Corporation Method and apparatus for transforming an image for classification or pattern recognition
US5434928A (en) * 1993-12-06 1995-07-18 At&T Global Information Solutions Company Method for verifying a handwritten signature entered into a digitizer
US5553156A (en) * 1994-04-12 1996-09-03 Nippondenso Co., Ltd. Signature recognition apparatus which can be trained with a reduced amount of sample data
KR20000020829A (ko) * 1998-09-24 2000-04-15 전주범 서명 감식 장치

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4040010A (en) * 1975-11-06 1977-08-02 Stanford Research Institute Identification by handwriting verification
US4286255A (en) * 1979-02-22 1981-08-25 Burroughs Corporation Signature verification method and apparatus
JPH0660168A (ja) * 1992-08-07 1994-03-04 Nippondenso Co Ltd サイン認識装置
EP0609474A1 (en) * 1993-02-03 1994-08-10 International Business Machines Corporation Method and apparatus for transforming an image for classification or pattern recognition
US5434928A (en) * 1993-12-06 1995-07-18 At&T Global Information Solutions Company Method for verifying a handwritten signature entered into a digitizer
US5553156A (en) * 1994-04-12 1996-09-03 Nippondenso Co., Ltd. Signature recognition apparatus which can be trained with a reduced amount of sample data
KR20000020829A (ko) * 1998-09-24 2000-04-15 전주범 서명 감식 장치

Also Published As

Publication number Publication date
KR20020000666A (ko) 2002-01-05

Similar Documents

Publication Publication Date Title
EP0782090A2 (en) Method and apparatus for parametric signature verification
US20080040614A1 (en) Authentication Systems and Authentication Method
Fong Using hierarchical time series clustering algorithm and wavelet classifier for biometric voice classification
US7454042B2 (en) Apparatus for online signature verification using pattern transform technique and method therefor
Lee et al. Improved segmentation through dynamic time warping for signature verification using a neural network classifier
US20190332876A1 (en) Method and system for free text keysroke biometric authentication
KR100416038B1 (ko) 다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명인증방법
Bansal et al. Multimodal biometrics by fusion for security using genetic algorithm
Mohammadi et al. Matching between important points using dynamic time warping for online signature verification
Kaur et al. Efficient and robust multimodal biometric system for feature level fusion (speech and signature)
Maiorana et al. Use of polynomial classifiers for on-line signature recognition
Afriyie et al. Enhancing security of automated teller machines using biometric authentication: A case of a Sub-Saharan University
Putz-Leszczyńska Signature verification: A comprehensive study of the hidden signature method
Pathak et al. Performance of multimodal biometric system based on level and method of fusion
Goyal et al. Fingerprint Detection and Authentication using feature extraction based on Minutiae
Ozkaya et al. Intelligent face border generation system from fingerprints
Ozkaya et al. Intelligent face mask prediction system
US11521428B1 (en) Methods and systems for signature verification
Soltane Face, voice and signature multi-modal biometric verification fusion systems
Divakar et al. User authentication system using multimodal biometrics and MapReduce
Tadvi et al. A hybrid system for fingerprint identification
Daramola et al. Person Identification System using Static and dynamic Signature Fusion
Maza-Merchán et al. Handwritten Signature Verification System Using Convolutional Neural Network for Real-Time Applications
Osman et al. An online signature verification system based on multivariate autoregressive modeling and DTW segmentation
Kiran et al. Offline signature verification using neural network

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20121206

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140107

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150108

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160106

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20180109

Year of fee payment: 15