KR101348079B1 - 휴대단말을 이용한 전자서명 시스템 - Google Patents

휴대단말을 이용한 전자서명 시스템 Download PDF

Info

Publication number
KR101348079B1
KR101348079B1 KR1020130065149A KR20130065149A KR101348079B1 KR 101348079 B1 KR101348079 B1 KR 101348079B1 KR 1020130065149 A KR1020130065149 A KR 1020130065149A KR 20130065149 A KR20130065149 A KR 20130065149A KR 101348079 B1 KR101348079 B1 KR 101348079B1
Authority
KR
South Korea
Prior art keywords
subscriber
module
electronic signature
security token
relay server
Prior art date
Application number
KR1020130065149A
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
Application filed by 라온시큐어(주) filed Critical 라온시큐어(주)
Priority to KR1020130065149A priority Critical patent/KR101348079B1/ko
Application granted granted Critical
Publication of KR101348079B1 publication Critical patent/KR101348079B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 휴대단말을 이용한 전자서명 시스템에 관한 것이다. 이는 미리 저장된 인증서 및 전자서명키에 의해 전자서명을 생성하는 가입자 휴대단말(30)과 가입자 휴대단말(30)로부터 전자서명을 제공받아 외부 기관에 제출하는 가입자 단말(10)로 이루어진 가입자 클라이언트, 및 가입자 휴대단말(30)과 가입자 단말(10)을 서로 연결시켜 전자서명의 생성 요청 및 그 결과를 중계하는 중계서버(20)를 포함하여 구성되는 휴대단말을 이용한 전자서명 시스템에 있어서, 가입자 단말(10)은 공인인증모듈(12) 및 원격보안토큰모듈(14)을 포함하고; 중계서버(20)는 원격보안토큰모듈(14)로부터 전송되는 공인인증모듈(12)의 시작 및 종료를 감지하는 스레드 ID를 포함하는 세션 정보 및 가입자 휴대단말(30)로부터 전송되는 인증 객체 데이터를 수신하여 일시 저장하는 세션저장부(24)를 구비하며, 또한 중계서버(20)는 세션 정보를 이용하여 가입자 단말(10)과 가입자 휴대단말(30)이 서로 연결되는 세션을 유지하며, 세션저장부(24)에 일시 저장되는 세션 정보 및 인증 객체 데이터는 세션이 유지되는 동안에만 유지되도록 동작한다. 이에 따라 PKSC#11 인터페이스 규격을 따르는 기존 공인인증모듈에 대한 변화없이 구성하면서도 동시에 교환되는 통신 데이터를 최소화하고 통신 속도를 향상시키면서 안전한 전자서명이 가능하게 하는 등의 현저한 효과가 제공될 수 있다.

Description

휴대단말을 이용한 전자서명 시스템{System for Digital Signing Using Portable Terminal}
본 발명은 일반적으로 스마트폰과 같은 휴대단말을 이용한 전자서명 기술에 관한 것으로서, 더 상세하게는 예컨대 가입자 단말에서 공인인증서 기반 전자서명을 필요로 할 때 가입자 휴대단말 내의 USIM과 같은 보안토큰에서 전자서명을 수행하여 그 결과값을 가입자 단말로 제공할 수 있게 하는 기술에 있어서, PKSC#11 인터페이스 규격을 따르는 기존 공인인증모듈에 대한 변화없이 새로운 기능을 자유롭게 추가할 수 있도록 구성하면서 동시에 PC와 중계서버 및 휴대단말 간에 교환되는 통신 데이터를 최소화하고 통신 속도를 향상시키면서 안전한 전자서명이 가능하게 하는 새로운 휴대단말을 이용한 전자서명 시스템에 관한 것이다.
PC(personal computer)와 인터넷의 발전에 따라 인터넷 뱅킹, 전자거래, 전자정보서비스 등 개방 네크워크를 이용한 거래와 서비스가 활성화되고 있다. 이러한 전자거래 등에 있어서, 전자문서의 위변조를 방지하고, 전자거래 행위에 대한 부인 봉쇄 등의 기능을 제공하는 전자서명은 공인인증서 제도의 정착화와 더불어 필수적인 요소가 되고 있다.
일반적으로 전자서명은, 인터넷 뱅킹, 사이버증권거래, 신용카드 홈페이지 등의 로그인 단계, 계좌이체 단계, 또는 신용카드 결제 단계 등에서 가입자 인증의 수단으로 널리 사용되고 있다. 종래 공인인증서를 이용하여 전자서명이 이루어지는 과정은 사용자가 이용하는 PC에서 수행되는데, 이 경우 사용자 PC에는 웹브라우저 상에서 동작하는 플러그인 형태의 공인인증모듈이 설치되어야 한다. 통상적인 공인인증모듈에 있어서 전자서명생성용 사용자 인터페이스 중 일예가 도 1에 예시되어 있다.
도 1에 예시된 사용자 인터페이스(S)는 전자서명에 사용할 인증서를 선택하는 메뉴(S1, S2)와 인증서 암호를 입력하는 입력창(S3)이 포함된다. 도시된 예에서 사용자는 인증서 위치(S1)에 표시되어 있는 버튼들, 즉 하드디스크, 이동식 디스크, 저장토큰, 보안토큰, 휴대폰 등으로 표시되어 있는 버튼들 중 하나를 선택하여 마우스 등으로 클릭할 수 있다. 예컨대 사용자가 하드디스크 버튼을 선택하면, 공인인증모듈은 사용자 PC의 하드디스크 내에 저장되어 있는 공인인증서를 검색하여 인증서 선택 창(S2)에 나열할 수 있다. 마찬가지로 만약 사용자가 이동식 디스크 버튼을 선택하면, 공인인증모듈은 사용자 PC에 연결되어 있는 USB 메모리 장치를 검색하여 인증서 선택 창(S2)에 나열할 수 있다. 그러면 사용자는 나열된 인증서(들) 중에서 하나를 선택할 수 있다. 이후 사용자는 키보드 등을 이용하여 입력창(S3)에 인증서 암호를 입력하여 전자서명이 진행되도록 할 수 있다. 인증서 암호가 입력되면, 공인인증모듈은 사용자가 선택한 공인인증서와 전자서명키 및 인증서 암호를 사용하여 전자서명을 수행하고, 그 결과 생성된 전자서명값을, 요구받은 인터넷 뱅킹, 사이버증권거래, 신용카드 홈페이지 등의 로그인 단계, 계좌이체 단계, 또는 신용카드 결제 단계 등에서 가입자 인증의 수단으로 해당 웹사이트 등에 전송할 수 있다.
통상 공인인증서와 전자서명키는 사용자 PC의 하드디스크, USB(universal serial bus) 메모리, IC카드, 보안토큰 등에 저장될 수 있으며, 근래에는 휴대폰이나 스마트폰에 장착되어 있는 범용 가입자 식별 모듈(USIM, Universal Subscriber Identification Module)이라는 IC카드 내에 저장되는 경우도 있다. 이 중 가장 일반적인 경우는 PC의 하드디스크에 공인인증서와 전자서명키를 저장하는 경우이다. 그렇지만, 이 경우, PC에 키보드 해킹 프로그램, 악성 바이러스 등이 설치되었거나 사용자가 부지불식간에 피싱(phishing) 사이트에 접속하는 경우에, 공인인증서, 전자서명키, 및/또는 공인인증서 암호 등이 제3자에게 노출될 수 있다는 위험이 있었다.
IC카드 특히 스마트폰과 같은 휴대단말의 USIM과 같은 IC카드는 연산처리를 수행하는 프로세서와 메모리를 포함하고 있어, 전자서명과 같은 연산처리를 수행할 수 있다는 장점을 제공한다. 이에 따라, 종래에 휴대단말에 공인인증서와 전자서명키를 저장할 뿐만 아니라 전자서명도 역시 휴대단말에서 수행하고 그 결과값만을 PC로 전달받아 사용하는 기술이 제안되었다.
예를 들어, 국내 등록특허 10-0785894 (2007년 12월 7일 등록) "휴대폰을 이용한 전자서명 수행 시스템 및 방법"의 등록공보에는, 가입자 단말이 중계기관을 경유하여 가입자 휴대폰에 전자서명을 요청하면, 가입자 휴대폰이 전자서명을 생성하고 생성된 전자서명을 가입자 단말로 전송하는 기술이 개시되어 있다. 이 경우, 가입자 단말은 중계기관에 휴대폰 정보(전화번호 포함)를 제공하며, 중계기관은 휴대폰 정보를 이용하여 가입자 휴대폰에 콜백URL을 포함한 메시지를 전송하면, 콜백 URL을 사용하여 가입자 휴대폰이 중계기관에 접속한다. 이후 휴대폰에 저장된 인증서가 PC에 전송되며, PC에서 전자서명 요청을 하면 이에 응답하여 휴대폰에서 전자서명값이 생성되어 PC에 전송된다. 이에 따르면, 전자서명키는 휴대폰 내에 저장되어 있으며 외부로 유출되지 않기 때문에 인증서가 유출된다 하더라도 제3자에 의해 전자서명이 위조될 수 없게 되는 등의 보안성이 향상될 수 있었다.
그런데, 근래에 널리 사용하게 된 스마트폰과 같은 휴대단말은 예컨대 아이폰 OS 또는 안드로이드 OS 등의 운영체제를 사용하고 있는 비교적 높은 사양의 컴퓨팅 장치로서, 외부의 서버에서 스마트폰으로 PUCH 메시지를 전송함으로써 TCP 연결을 수행할 수 있게 하는 기능을 운영체제 레벨에서 가진다. 그리고 스마트폰에는 USIM이라는 매우 독립적이고 스마트한 IC카드가 기본적으로 내장되어 있는데, USIM으로의 접근은 애플리케이션의 형태로 설치된 소프트웨어 프로그램에 의해 수행될 수 있다. 그러므로 근래 널리 사용되고 있는 스마트폰의 스마트한 기능을 충분히 활용할 수 있는 기술이 요구되었다.
이러한 요구에 부응하기 위하여 종래에 스마트폰의 USIM(또는 보안토큰)을 이용하는 전자서명 기술이 제안되었다. 예를 들어, 국내 공개특허 10-2012-0071945 (2012년 7월 3일 공개) "USIM 공인인증서를 유선 환경에서 활용하기 위한 방법 및 시스템"의 공개 공보에는, 사용자 PC에서 수행되는 플러그인에서 중계서버로 사용자 정보 및 무선단말기 정보와 함께 전자서명요청을 전송하면, 중계서버가 무선단말기 정보를 추출하여 해당 무선 단말기에 전자서명 요청을 전송하고, 무선 단말기에 설치되어 있는 금융APP이 구동되며, 금융APP이 USIM에 탑재되어 있는 USIM 공인인증서 애플릿을 가동하여 전자서명을 생성하는 루틴이 개시되도록 하고, 중계서버에 전자서명이 전송되는 기술이 개시되어 있다. 이에 따르면, 사용자는 PC에서 공인인증모듈을 사용하여, 사용자 정보와 무선단말기 정보를 중계서버에 전송하고 또한 전자서명을 중계서버에 요청할 수 있으며, 이 요청에 따라 중계서버는 무선단말기와 연결하여 서명요청을 전송하며, 이 요청에 따라 무선단말기의 금융APP이 구동되어 USIM 내에서 전자서명이 진행된 후, 그 결과값이 중계서버를 경유하여 PC로 전달될 수 있다.
그런데, 이 기술에 따르면, 사용자 PC에 설치된 예컨대 기존에 사용하고 있는 공인인증모듈과 같은 플러그인과 무선 단말기에 설치된 금융APP이 중계서버를 경유하여 서로 통신하게 된다. 그러므로 이 플러그인은 종래의 일반적인 공인인증서를 이용하여 전자서명값을 생성하는 기능 이외에 원격의 무선단말기 내의 USIM에서 전자서명을 생성하도록 하기 위하여 중계서버에 사용자정보와 무선단말기 정보를 전송하고 전자서명을 요청하는 등의 추가 기능을 포함하여야만 한다. 이러한 구성은, 서비스 제공자로 하여금, 기존의 공인인증모듈과는 상이한, 원격의 보안토큰을 제어할 수 있는 새로운 인터페이스를 구성하여야 한다는 부담을 가지게 하며, 더 나아가 유용한 다른 기능을 추가하기 번거롭다는 단점이 있었다.
한편 국내 등록특허 10-1215927 (2012년 7월 31일 출원, 2012년 12월 20일 등록) "보안토큰을 이용한 전자서명 장치 및 그 방법"의 등록공보에는, 스마트폰의 USIM에 저장되어 있는 보안토큰을 이용한 전자서명 기술이 개시되어 있다. 이에 따르면, PC는 공인인증서 소프트웨어와 보안토큰 프로그램을 설치하며, 스마트폰에는 보안토큰 에이전트 프로그램 및 보안토큰이 구비된다. PC의 공인인증서 소프트웨어에 의해 보안토큰 프로그램이 구동되고, 보안토큰 프로그램은 보안토큰 제어 명령 메시지를 중계서버로 전송한다. 중계서버는 보안토큰 제어 명령을 스마트폰의 보안토큰 에이전트 프로그램으로 전달하고, 스마트폰의 보안토큰 에이전트 프로그램은 보안토큰에게 이 명령을 전달한다. 보안토큰에서는 수신된 명령에 따라 전자서명과 같은 보안토큰 제어 결과 메시지를 생성하고, 이 메시지는, 보안토큰 에이전트 프로그램, 중계서버, 보안토큰 프로그램을 거쳐 공인인증서 소프트웨어에 전달된다. 여기서는 PC에는 기존의 공인인증서 소프트웨어가 그대로 설치될 수 있으며, 별도의 보안토큰 프로그램에 의해 원격의 보안토큰을 제어하여 전자서명 결과값을 수신할 수 있다는 장점이 제공된다. 이 기술에 따르면 PC의 보안토큰 인터페이스가 그대로 중계서버로 전송되며 중계서버가 이를 스마트폰으로 전송하는 구조로 되어, 스마트폰에 내장되어 있는 보안토큰(즉, 원격 보안토큰)을 마치 PC에 내장되어 있는 보안토큰(즉, 로컬 보안토큰)으로 취급한다 것이 특징적임을 알 수 있다.
통상적으로, 종래의 공인인증서 소프트웨어에는 로컬 보안토큰에게 전자서명을 요청하는 인터페이스로서 PKCS#11 인터페이스 규격으로 정의되어 있다. PKCS#11 인터페이스 규격에서 자주 사용되는 인터페이스에는, 초기화(C_Initialize), 인증서 검색 요청(C_FindObject), 서명 요청(C_Sign), 및 종료(C_Finalize) 등이 알려져 있다. 예컨대 인증서를 사용하여 인터넷 뱅킹 서비스를 제공하는 은행 홈 사이트에 로그인 할 때, 로그인을 시작하여 로그인 동작이 완료되는 한 번의 세션 동안에, 종래의 PKCS#11 인터페이스 규격에 따르면, 인증서 검색 요청(C_FindObject)이 통상적으로 10회 이상 발생하며, 초기화(C_Initialize) 및 종료(C_Finalize)는 통상적으로 각각 5회 이상 발생한다.
이 경우에, 위 종래 기술의 공인인증서 소프트웨어는 원격 보안토큰을 향하여 인증서 검색 요청(C_FindObject), 초기화(C_Initialize) 및 종료(C_Finalize)와 같은 보안토큰 제어 명령을 내보낼 때, 이 명령들이 중계서버를 거쳐 휴대단말 내의 원격 보안토큰으로부터 온다는 것을 알지 못한다. 예컨대, 공인인증서 소프트웨어에서 원격 보안토큰을 향한 인증서 검색 요청(C_FindObject)이 반복되어 출력될 때마다, 이 요청은 중계서버를 통해 휴대단말의 원격 보안토큰으로 전달되어야 하며, 원격 보안토큰에서는 이 요청에 대한 응답을 다시 중계서버를 통해 PC로 전송하여야 한다는 문제가 있었다. 또한 예컨대 공인인증서 소프트웨어에서 원격 보안토큰을 향한 초기화(C_Initialize) 및 종료(C_Finalize)가 반복될 때마다 사용자의 식별정보가 입력되어야 하는 문제도 있었다.
이러한 문제점은 PC에서 휴대단말로 향하는 트래픽이 수백Kbit까지 증가될 수 있게 하며, 더 나아가 사용자 식별을 위한 식별정보의 입력이 여러 번 반복될 수도 있게 한다. 이런 경우, PC에서 보안토큰 제어 명령은 중계서버로 전송하고 중계서버에서는 이를 그대로 스마트폰으로 전달하는 서비스는 정상적인 동작을 할 수 없게 될 지경에 이를 수 있다.
그러므로, 예컨대 USIM과 같은 IC카드 내에 보안토큰을 내장하고 있는 스마트폰과 같은 휴대단말을 이용하여 전자서명을 수행하는 기술에 있어서, 기존의 PKSC#11 인터페이스 규격을 따르는 공인인증모듈에 대한 변화없이 새로운 기능을 자유롭게 추가할 수 있도록 구성하면서 동시에 PC와 중계서버 및 휴대단말 간에 교환되는 통신 데이터를 최소화하고 통신 속도를 향상시키면서 안전한 전자서명이 가능하게 하는 기술에 대한 절실한 요구가 존재한다.
따라서 본 발명은 이러한 종래 문제점을 해결하고자 안출된 것으로서, 예컨대 가입자 단말에서 공인인증서 기반 전자서명을 필요로 할 때 가입자 휴대단말 내의 USIM과 같은 보안토큰에서 전자서명을 수행하여 그 결과값을 가입자 단말로 제공할 수 있게 하는 기술에 있어서, PKSC#11 인터페이스 규격을 따르는 기존 공인인증모듈에 대한 변화없이 새로운 기능을 자유롭게 추가할 수 있도록 구성하면서 동시에 PC와 중계서버 및 휴대단말 간에 교환되는 통신 데이터를 최소화하고 통신 속도를 향상시키면서 안전한 전자서명이 가능하게 하는 새로운 휴대단말을 이용한 전자서명 시스템을 제공하는 것을 그 목적으로 한다.
상기 목적은 본 발명에 따라 제공되는 휴대단말을 이용한 전자서명 시스템에 의하여 제공된다.
본 발명의 일 양상에 따라 제공되는 휴대단말을 이용한 전자서명 시스템은, 미리 저장된 인증서 및 전자서명키에 의해 전자서명을 생성하는 가입자 휴대단말과 상기 가입자 휴대단말로부터 전자서명을 제공받아 외부 기관에 제출하는 가입자 단말로 이루어진 가입자 클라이언트, 및 상기 가입자 휴대단말과 상기 가입자 단말을 서로 연결시켜 전자서명의 생성 요청 및 그 결과를 중계하는 중계서버를 포함하여 구성되는 휴대단말을 이용한 전자서명 시스템에 있어서, 상기 가입자 단말은: 보안토큰에게 전자서명을 요청하는 보안토큰 전자서명 인터페이스를 구비하는 공인인증모듈 및 상기 공인인증모듈의 보안토큰 전자서명 인터페이스를 통해 구동되어 상기 가입자 휴대단말을 원격의 보안토큰으로서 인식하여 인터페이싱을 하기 위한 원격보안토큰모듈을 포함하여 구성되고; 상기 중계서버는: 상기 가입자 클라이언트의 식별정보를 등록한 가입자정보 데이터베이스를 구비하여, 동일한 가입자 클라이언트로서 식별된 상기 가입자 단말 및 상기 가입자 휴대단말을 서로 연결시키도록 동작하고; 상기 중계서버는 상기 원격보안토큰모듈로부터 전송되는 상기 공인인증모듈의 시작 및 종료를 감지하는 스레드 ID를 포함하는 세션 정보 및 상기 가입자 휴대단말로부터 전송되는 인증 객체 데이터를 수신하여 일시 저장하는 세션저장부를 구비하며, 또한 상기 중계서버는 상기 세션 정보를 이용하여 상기 가입자 단말와 가입자 휴대단말이 서로 연결되는 세션을 유지하며, 상기 세션저장부에 저장되는 상기 세션 정보 및 상기 인증 객체 데이터는 세션이 유지되는 동안에만 유지될 수 있다.
일 실시예에 있어서, 상기 가입자 휴대단말은: 상기 중계서버를 통해 상기 원격보안토큰모듈과 인터페이싱하기 위한 휴대단말모듈; 및 인증서 및 전자서명키를 저장하고 있으며, 상기 휴대단말모듈 인터페이싱하여 상기 휴대단말모듈로부터 전자서명 요청을 수신하면 전자서명을 수행하여 그 결과인 서명문을 상기 휴대단말모듈로 제공하는 보안토큰을 포함하여 구성될 수 있다.
다른 실시예에 있어서, 상기 보안토큰에서 수행하는 전자서명을 위한 원문은, 상기 공인인증모듈로부터, 상기 원격보안토큰모듈, 상기 중계서버, 및 상기 휴대단말모듈을 차례로 경유하여, 상기 보안토큰으로 제공될 수 있다.
또 다른 실시예에 있어서, 상기 전자서명을 위한 원문은 상기 원격보안토큰모듈에서 암호화되고 상기 휴대단말모듈에서 복호화되며, 상기 보안토큰에서 전자서명이 수행된 결과인 서명문은 상기 휴대단말모듈에서 암호화되고 상기 원격보안토큰모듈에서 복호화될 수 있다.
또 다른 실시예에 있어서, 상기 전자서명을 위한 원문 및 상기 서명문을 암호화하고 복호화하는 키는, 상기 원격보안토큰모듈과 상기 휴대단말모듈이 서로 연결된 세션 초기마다 생성되어 해당 세션 내에서만 사용될 수 있다.
또 다른 실시예에 있어서, 상기 중계서버는, 상기 가입자 단말이 접속하면 상기 가입자 단말로부터 제공되는 사용자 입력정보를 상기 가입자 정보 데이터베이스 내의 가입자 정보와 비교함으로써 상기 가입자 단말와 연결될 가입자 휴대단말을 식별하며, 식별된 가입자 휴대단말과 상기 가입자 단말을 서로 연결할 수 있다.
또 다른 실시예에 있어서, 상기 중계서버는, 상기 가입자 단말과 연결될 때 상기 가입자 단말로부터 상기 스레드 ID 외에 MAC 주소가 더 포함되어 구성되는 단말 식별값을 세션 정보로서 수신할 수 있다.
또 다른 실시예에 있어서, 상기 중계서버는, 상기 가입자 휴대단말로부터 수신된 상기 인증 객체 데이터를, 상기 원격보안토큰모듈로 전달하도록 동작하며; 상기 원격보안토큰모듈은 상기 중계서버(20)로부터 전달된 인증 객체 데이터를 수신하여 상기 중계서버에 의해 유지되는 세션 동안 일시 저장하는 세션저장부를 구비할 수 있다.
또 다른 실시예에 있어서, 상기 인증 객체 데이터는, 상기 가입자 휴대단말에 내장되어 있는 인증서 객체 및 키 객체를 포함할 수 있다.
그리고, 또 다른 실시예에 있어서, 상기 공인인증모듈의 보안토큰 전자서명 인터페이스는 PKSC#11 인터페이스 규격을 따를 수 있다.
상술한 바와 같은 본 발명에 따르면, 예컨대 가입자 단말에서 공인인증서 기반 전자서명을 필요로 할 때 가입자 휴대단말 내의 USIM과 같은 보안토큰에서 전자서명을 수행하여 그 결과값을 가입자 단말로 제공할 수 있게 하는 기술에 있어서, PKSC#11 인터페이스 규격을 따르는 기존 공인인증모듈에 대한 변화없이 새로운 기능을 자유롭게 추가할 수 있도록 구성하면서 동시에 PC와 중계서버 및 휴대단말 간에 교환되는 통신 데이터를 최소화하고 통신 속도를 향상시키면서 안전한 전자서명이 가능하게 하는 등의 현저한 효과를 제공할 수 있다.
도 1은 종래의 공인인증서를 이용한 전자서명을 위한 공인인증모듈의 사용자 인터페이스의 예를 보여주는 개략도.
도 2는 본 발명의 일 실시예에 따른 휴대전화를 이용한 전자서명 시스템의 전체적인 구성을 개략적으로 보여주는 블록도.
도 3은 본 발명의 일 실시예에 따른 휴대전화를 이용한 전자서명 시스템에서 전자서명을 수행하기 전 종단간 암호화를 위한 암호키의 생성과정을 설명하기 위한 개략적인 흐름도.
도 4는 본 발명의 일 실시예에 따른 휴대전화를 이용한 전자서명 시스템에서 전자서명을 수행하는 과정을 설명하기 위한 개략적인 흐름도.
도 5는 본 발명의 일 실시예에 따른 휴대전화를 이용한 전자서명 시스템에서 휴대단말에서 인증서를 요청하여 발급받는 과정을 설명하기 위한 개략적인 흐름도.
도 6은 본 발명의 일 실시예에 따른 휴대전화를 이용한 전자서명 시스템에서, 사용자 단말과 휴대단말 사이에서 중복데이터가 불필요하게 송수신되지 않도록하는 인증 객체 데이터의 캐시 시스템을 설명하기 위한 개략적인 흐름도.
현재 알려져 있는 기술 중에서 인증서 및 전자서명키를 저장하는 가장 안전한 곳은 보안토큰이다. 보안토큰이란, 기존의 스마트카드 등과 동일한 형태로 프로세서와 메모리를 내장하고 있으며, 암호 알고리즘 연산시에 메모리에 저장되어 있는 개인키 등이 보안토큰 외부로 노출되지 않는다는 장점을 제공한다. 하지만 사용자가 이러한 보안토큰을 항상 소지하고 다녀야 하기 때문에 번거롭다. 그러므로, 근래에 널리 보급되어 있고 누구나 항상 소지하고 있는 스마트폰과 같은 휴대단말에 보안토큰을 내장하여 사용하는 기술, 즉 앞에서 이미 논의한 바와 같이, 휴대폰이나 스마트폰에서 전자서명을 수행한 후 그 결과값을 PC로 전송하는 기술이 알려져 있다.
그런데 이렇게 PC에서 스마트폰으로 전자서명을 요청하는 부분은 해당 분야에서 표준으로 사용하는 인터페이스가 없기 때문에, 이를 구현하기 위해서는 기존에 설치되어 있는 공인인증모듈을 그대로 사용할 수 없고, 스마트폰 전자서명 기능을 추가하는 수정이 이루어져 새로이 제작되어야 하며, 새로운 인터페이스와 새로운 기능을 가진 공인인증모듈이 배포되어야만 한다. 이런 방식으로 스마트폰 전자서명 기능을 사용하기 위해서는 반드시 지원가능한 사이트가 존재하여야 하므로, 서비스 배포에 있어 장벽이 높아지는 문제가 있다.
본 발명은 기존의 공인인증모듈을 별다른 수정없이 그대로 사용할 수 있으면서 스마트폰 전자서명 기능을 이용할 수 있게 하는 기술을 제공하려는 것이다. 기존의 공인인증모듈에는 이미 보안토큰에게 전자서명을 요청하는 인터페이스가 구현되어 있다. 이 경우 일반적으로 보안토큰은 공인인증모듈이 실행되고 있는 PC 내에 저장된 로컬 보안토큰이며, 인터페이스 규격은 PKCS#11에 정의되어 있다. 본 발명은 기존의 PKCS#11 인터페이스 규격을 사용하면서도, 원격의 스마트폰 또는 스마트폰의 USIM과 인터페이싱할 수 있게 구성한다.
다시 말해서, 본 발명은 기존의 공인인증모듈 내에서 이미 구현되어 있는 보안토큰을 통한 전자서명 및/또는 인증서 발급 인터페이스인 PKCS#11을 이용하여, 로컬에 있는 보안토큰이 아닌 원격에 있는 보안토큰과 인터페이싱하는 기술을 제공한다.
이하에서 본 발명의 바람직한 실시예들을 첨부된 도면을 참조하여 구체적으로 상세히 설명한다.
도 2에는 본 발명의 일 실시예에 따른 휴대전화를 이용한 전자서명 시스템의 전체적인 구성을 개략적으로 보여주는 블록도가 도시되어 있다. 도시된 바와 같이, 본 발명의 휴대단말을 이용한 전자서명 시스템은, 가입자 단말(10), 중계서버(20), 및 가입자 휴대단말(30)을 포함하여 구성될 수 있다.
이 시스템에서, 가입자 휴대단말(30)은 인증서 및 전자서명키를 저장하고 있으며, 전자서명을 생성할 수 있다. 가입자 단말(10)은 가입자 휴대단말(30)로부터 전자서명을 제공받아 외부 기관에 제출할 수 있다. 가입자 단말(10)과 가입자 휴대단말(30)은 하나의 가입자 클라이언트로서 중계서버(20)에서 제공하는 예컨대 휴대단말(스마트폰) 전자서명 서비스에 가입할 수 있다. 중계서버(20)는 동일 가입자 클라이언트에 속하는 가입자 휴대단말(30)과 가입자 단말(10)을 서로 연결시켜 전자서명의 생성 요청 및 그 결과를 중계한다.
가입자 단말(10)은 예컨대 유선 또는 무선 통신망을 통해 중계서버(20)에 연결될 수 있다. 가입자 단말(10)은 이하의 설명에서 PC(personal computer)로서 예시되어 있으나, 이에만 국한되는 것은 아니며, 데스크탑, 노트북, 타블렛, 스마트폰, PDA 등과 같은 다양한 컴퓨팅 장치 중 하나일 수 있으며, 웹환경에서 인터넷 뱅킹 등을 위해 은행 사이트와 같은 외부 기관에 접속할 수 있다. 이 경우 외부 기관에서 전자서명을 요구하면, 가입자 단말(10)은 가입자 휴대단말(30)에게 전자서명을 요청하고, 이 요청에 응답하여 가입자 휴대단말(30)로부터 전자서명을 받아 외부기관에 제출할 수 있다.
여기서 '모듈'이라 함은, 컴퓨팅 장치 내에서 설치되어 실행되는 소프트웨어, 컴퓨팅 장치 내의 하드웨어, 또는 소프트웨어와 하드웨어의 조합 중 어느 하나를 포함할 있다. 한편 '휴대단말'은 본 명세서에 첨부된 도면에서는 '스마트폰'으로서 예시되어 있고 아래의 설명에서도 스마트폰을 사용하여 본 발명을 설명할 것이다. 그렇지만 '휴대단말'이 스마트폰에만 한정되는 것이 아니며, 프로세서와 메모리를 구비하는 IC카드를 내장하고 있는 형태의 휴대형 컴퓨팅 장치이면서 전화번호를 통해 연결될 수 있는 단말을 포함하는 것이라면 충분하다는 것을 해당 기술 분야의 지식을 가진 자라면 잘 이해할 것이다. 예를 들어, 휴대단말에는 스마트폰뿐만 아니라, 피처폰, 아이패드, 웹패드, PDA(personal digital assistant) 등이 포함될 수 있으나, 이에만 국한되는 것은 아니다.
도 2에 예시된 바와 같이, 가입자 단말(10)은 공인인증모듈(12) 및 원격보안토큰모듈(14)을 포함한다.
공인인증모듈(12)은, 일반적으로는 로컬 내의, 보안토큰에게 전자서명을 요청하는 보안토큰 전자서명 인터페이스를 구비한다. 예를 들어 가입자 단말의 하드디스크에 저장되어 있거나 USB 와 같은 이동식 메모리에 저장되어 있는 공인인증서로 전자서명을 수행할 경우에, 공인인증모듈(12)이 전자서명을 직접적으로 수행하고, 그 결과 생성된 서명문을 외부기관에 제출할 수 있다.
반면에 스마트폰을 이용하여 전자서명을 수행하기를 원하는 경우, 사용자는 공인인증모듈(12)의 보안토큰 전자서명 인터페이스를 선택할 수 있고, 이에 따라 원격보안토큰모듈(14)이 실행될 수 있다. 이 경우, 공인인증모듈(12)은 전자서명을 위한 원문을 원격보안토큰모듈(14)로 전달하는 역할을 하게 되며, 이후 전자서명 결과 즉 서명문을 수신하여 외부기관에 제출할 수 있다.
한편, 원격보안토큰모듈(14)은 공인인증모듈(12)의 보안토큰 전자서명 인터페이스에 의해 구동될 수 있는 플러그인 소프트웨어 형태로 가입자 단말(10)에 설치될 수 있다. 원격보안토큰모듈(14)은 가입자 휴대단말(30)을 원격의 보안토큰으로서 인식하여 공인인증모듈(12)과 가입자 휴대단말(30) 사이를 인터페이싱하기 위한 모듈이다.
본 발명에 따라, 원격보안토큰모듈(14)은, 예를 들어 로컬 보안토큰을 취급하기 위한 PKCS#11와 같은 인터페이스 규격을 사용하여 공인인증모듈(12)과 상호작용하며, 예를 들어 TCP/IP 프로토콜과 같은 원격 통신 프로토콜을 사용하여 원격의 중계서버(20)와 연결될 수 있다. 원격보안토큰모듈(14)은, 전자서명에 필요한 가입자 식별정보를 사용자로부터 입력받고, 전자서명을 위한 원문을 공인인증모듈(12)로부터 수신하여 중계서버(20)로 제공할 수 있다. 그리고 원격보안토큰모듈(14)은 중계서버(20)로부터 서명문을 받아 공인인증모듈(12)로 제공할 수 있다.
가입자 휴대단말(30)은 휴대단말모듈(32) 및 보안토큰(34)을 포함할 수 있다. 도시된 예에서, 가입자 휴대단말(30)은 가입자 스마트폰(30)으로서 예시되어 있고, 휴대단말모듈(32)은 스마트폰모듈(32)로서 예시되어 있으며, 또한 보안토큰(34)은 스마트폰 USIM(34)으로서 예시되어 있다.
도시된 본 발명의 예에서, 스마트폰모듈(32)은, 중계서버(20)를 경유하여, 가입자 단말(10)의 원격보안토큰모듈(14)과 상호작용한다. 스마트폰모듈(32)은 인증서 및 전자서명키가 스마트폰(30)에 내장된 메모리 상에 저장되어 있는 경우에는 직접 전자서명을 수행하는 기능을 포함할 수 있다. 바람직하게 스마트폰모듈(32)은 스마트폰USIM(34)에 전자서명을 요청하여 그 결과를 수신하도록 동작할 수 있다.
스마트폰USIM(34)은, 인증서 및 전자서명키를 저장하고 있으며, 스마트폰모듈(34)과 연결되어 스마트폰모듈(32)로부터 전자서명 요청을 수신하면 전자서명을 수행하여 그 결과인 서명문을 스마트폰모듈(32)로 제공할 수 있다.
중계서버 또는 서버(20)는, 가입자 클라이언트의 식별정보를 등록한 가입자정보 데이터베이스(22)를 구비한다. 이 가입자정보 데이터베이스(22)는 중계서버(20)로 하여금 접속한 어느 한 가입자 단말(10)을 사용하는 사용자를 식별하며 또한 동시에 가입자 단말(10)가 연결 요청하는 동일 사용자의 스마트폰(30)을 식별할 수 있게 한다. 이와 같이 하여 중계서버(20)는 동일한 사용자에 의해 등록되어 있는 동일한 가입자 클라이언트로서 식별된 가입자 단말(10) 및 가입자 휴대단말(30)을 서로 연결한다.
일반적으로 공인인증서 체계에서 채용하고 있는 공개키 기반 구조(PKI)의 '전자서명'은, 전자문서(원문)의 HASH값을 서명자의 개인키(비밀키)를 전자서명키로서 사용하여 암호화하여 서명문을 생성하고, 이를 원문에 첨부하여 서명요구자에게 전송한다. 서명요구자는 서명자의 공개키를 전자서명확인키로서 사용하여 서명문을 복호화함으로써 원문의 HASH값을 얻을 수 있고, 복호화하여 얻는 것을 원문의 HASH값과 비교함으로써 전자서명의 진위를 확인할 수 있다.
이와 같이 스마트폰에서 전자서명을 수행할 때, 전자서명을 위한 원문(M)이 필요하다. 본 발명에 따라 스마트폰(30) 또는 보안토큰(34)에서 수행하는 전자서명을 위한 원문(M)은, 공인인증모듈(12)로부터 제공된다. 공인인증모듈(12)에서 제공된 원문(M)은 원격보안토큰모듈(14)에 전송되고, 원격보안토큰모듈(14)은 이를 중계서버(20)로 전송하며, 중계서버(20)는 스마트폰(30)의 스마트폰모듈(32)로 전송할 수 있다. 스마트폰모듈(32)은 직접 전자서명을 수행하는 경우에는 이 원문(M)을 이용하여 전자서명을 할 수 있으며, 다른 한편으로 스마트폰 USIM(34)에게 전자서명을 요청하는 경우에는, 원문(M)을 스마트폰 USIM(34)에게 전달할 수 있다.
본 발명의 바람직한 실시예에 따라, 전자서명을 위한 원문(M) 및 서명문(S)은 종단간(End To End; E2E) 암호화를 통해 보호됨으로써, 제3자인 중계서버(20)에 의해 원문(M)이 노출되지 않도록 할 수 있다. 이를 위하여, 원문(M)은 원격보안토큰모듈(14)에서 암호화되고 휴대단말모듈(32)에서 복호화될 수 있다. 한편 스마트폰(30)에서 또는 스마트폰 USIM(34)에서 전자서명이 수행된 결과인 서명문(S)은 스마트폰모듈(32)에서 암호화되고 원격보안토큰모듈(14)에서 복호화될 수 있다.
이러한 종단간 암호화를 위한 키, 즉 전자서명을 위한 원문 및 상기 서명문을 암호화하고 복호화하는 키는, 원격보안토큰모듈(14)과 휴대단말모듈(32)이 서로 연결된 세션 초기마다 생성되어 해당 세션 내에서만 사용될 수 있는데, 암호키의 생성과정은 도 3을 참조하여 더 상세히 설명될 것이다.
본 발명에 따라, 중계서버(20)는 가입자 클라이언트를 식별하고 서로 연결하는 역할을 담당한다. 이를 위하여, 가입자 단말, 즉 가입자 PC(10)가 중계서버(20)에 접속하면 가입자 PC(10)로부터 제공되는 사용자 입력정보를 수신한다. 사용자 입력정보는 예를 들어, 가입자 스마트폰(30)의 전화번호일 수 있다. 추가적으로 또는 대안적으로 사용자 입력정보는 가입자 등록시 생성된 가입자 인증번호 또는 가입자 ID 및 패스워드를 포함할 수 있다.
중계서버(20)는 수신된 사용자 입력정보를 가입자 정보 데이터베이스(22) 내의 가입자 정보와 비교함으로써, 접속된 가입자 단말(10)을 사용하고 있는 사용자가 예컨대 스마트폰 전자서명 서비스를 이용할 수 있는 가입자인지 여부를 식별할 수 있으며, 더 나아가 가입자인 사용자가 연결되기를 원하는 가입자 스마트폰(30)을 식별할 수 있다. 이를 위하여, 가입자 정보 데이터베이스(22) 내에는 사용자 인증번호 및/또는 스마트폰 전화번호 등이 포함되어 있는 가입자 정보가 미리 등록될 수 있다. 중계서버(20)는, 가입자 단말로부터 수신하거나 또는 가입자 정보로부터 가입자 스마트폰의 전화번호를 추출할 수 있고, 식별된 가입자 스마트폰(30)에 예컨대 전화번호를 이용하여 PUSH 메시지를 전송함으로써 강제로 연결할 수 있다.
이렇게 가입자 PC(10)에서 중계서버(20)에 접속하며, 뒤이어 중계서버(20)가 가입자 스마트폰(30)에 PUSH 메시지를 통해 연결함으로써, 가입자 PC(10)와 가입자 스마트폰(30) 사이의 연결이 이루어질 수 있다. 중계서버(20)는 이 연결을 세션 방식으로 유지할 수 있다.
이 경우, 중계서버(20)는, 가입자 단말(10)과 연결될 때 가입자 단말(10)로부터 MAC 주소 및 스레드 ID를 포함하는 단말 식별값(도시된 예에서는 'PC 식별값'으로 표기되어 있다)을 수신하고, 수신된 단말 식별값을 이용하여 가입자 단말(10)과 가입자 휴대단말(30)이 서로 연결되는 세션을 유지할 수 있다. 세션이 유지되는 동안 중계서버(20)에서는 사용자 입력정보 등을 일시적으로 저장(캐쉬)할 수 있다.
이제 도 3을 참조하면, 본 발명의 일 실시예에 따른 휴대전화를 이용한 전자서명 시스템에서, 전자서명을 수행하기 전 예비단계로서 세션을 시작하고 종단간 암호화를 위한 암호키의 생성과정(S001~S016)을 설명하기 위한 개략적인 흐름도가 도시되어 있다.
먼저 단계(S001)에서 공인인증모듈(12)의 PKCS#11 인터페이스와 같은 보안토큰 전자서명 인터페이스를 통해 사용자가 스마트폰 전자서명 서비스를 개시하면, 원격보안토큰모듈(14)이 구동될 수 있다.
원격보안토큰모듈(14)은, MAC 주소와 스레드ID를 획득하여 단말 식별값 즉 PC 식별값을 생성한다(S002).
PC 식별값은 전자서명 서비스를 위해 가입자 PC와 가입자 스마트폰 사이의 연결 세션을 유지하기 위한 정보로서 이용되는 정보이다. 여기서 MAC 주소는 PC에 내장되어 있는 네트워크 어댑터를 고유하게 식별하는 정보이며 PC의 운영체제를 통해 획득가능하며 각각의 PC를 고유하게 식별하는 정보로서 이용될 수 있다. 스레드ID(Thread ID)는 공인인증모듈(12)의 시작 및 종료를 알기 위한 것으로서, 공인인증모듈(12)이 새로 시작했는지 여부를 식별하는 정보이다. 스레드 ID는 공인인증모듈(12)로부터 원격보안토큰모듈(14)로 전송된다.
일반적으로 프로그램(소프트웨어)을 구분하기 위해서 사용하는 것은 프로세스ID(ProcessID)이지만, 공인인증모듈(12)은 단독 프로그램이 아니라 웹브라우저 안에서 작동하는 부속 모듈(액티브X 또는 플러그인)이기 때문에, 프로세스ID를 사용하여 공인인증모듈(12)의 시작/종료를 판단할 수 없다. 그러므로 본 발명에서는 그보다 더 작은 단위인 스레드(Thread)의 변화를 통해 공인인증모듈(12)의 시작/종료를 판단하기 위하여 스레드ID를 이용한다.
원격보안토큰모듈(14)에서 생성된 PC 식별값은 중계서버(20)로 전송된다(S003). 중계서버(20)로 전송된 PC 식별값은 중계서버(20)의 캐쉬메모리 또는 캐쉬시스템일 수 있는 세션저장부(24)에 일시적으로 저장될 수 있다.
중계서버(20)는 PC 식별값을 전송한 가입자 PC(10)와 매칭되는 가입자 스마트폰(30)을 식별하기 위하여 가입자 정보 데이터베이스(22)를 조회할 수 있으며(S004), 가입자 PC(10)에게 필요한 정보를 요청할 수 있다(S005).
이에 응답하여 원격보안토큰모듈(14)은 사용자에게 필요한 정보를 입력하라는 입력창을 디스플레이하고 입력을 대기한다. 이때 사용자는 디스플레이된 입력창에 예컨대 PC의 키보드를 이용하여 스마트폰의 전화번호 또는 가입자 인증번호를 입력할 수 있다(S006).
그러면, 원격보안토큰모듈(14)은 입력받은 정보를 중계서버(20)로 전송할 수 있다(S007). 중계서버(20)는 사용자가 입력한 정보에 포함되어 있는 전화번호를 이용하여 가입자 PC(10)가 연결을 원하는 가입자 스마트폰(30)을 식별할 수 있다(S008). 또는 중계서버(20)는 사용자가 입력한 정보에 포함되어 있는 가입자 인증 정보를 이용하여 가입자 정보 데이터베이스(22)에 미리 저장되어 있는 가입자를 식별하고, 식별된 가입자에 대해 등록되어 있는 가입자 정보로부터 가입자의 스마트폰 전화번호를 추출함으로써, 가입자 PC(10)가 연결을 원하는 가입자 스마트폰(30)을 식별할 수 있다(S008).
중계서버(20)는 식별된 가입자 스마트폰(30)의 스마트폰모듈(32)에 PUSH 메시지를 전송하여 예컨대 TCP 연결이 되도록 할 수 있다(S009). 사용자는 가입자 PC(10)에서 스마트폰 전자서명 서비스를 개시할 때, 자신이 소지하고 있는 스마트폰(30)에 설치되어 있는 전자서명 애플리케이션('앱' 또는 '어플'이라고도 한다)의 형태일 수 있는 스마트폰모듈(32)을 실행시킬 수 있는데, 스마트폰모듈(32)은 실행되는 경우, 자동적으로 중계서버(20)에 PUSH 메시지를 통해 TCP 연결을 할 수 있다(S009-1).
위와 같이 하여, 가입자 PC(10)와 가입자 스마트폰(30) 사이에 연결 세션이 시작되면, 원격보안토큰모듈(14)과 스마트폰모듈(32) 사이에 종단간 암호화를 위한 암호키(K)를 생성하는 과정이 진행될 수 있다.
먼저 원격보안토큰모듈(14)은 연결 세션 동안 사용할 암호키(K)를 생성하기 위해, 비대칭키 쌍을 생성하며(S010), 생성된 2개의 키 중에서 공개키(PUB)를 중계서버(20)로 전송한다(S011). 중계서버(20)는 이 공개키(PUB)를 스마트폰모듈(32)로 전달하고(S012), 스마트폰모듈(32)은 난수(R)를 생성하여 수신된 공개키(PUB)와 생성한 난수(R)를 이용하여 예비키(PreKey)를 생성한다(S013). 스마트폰모듈(32)은 생성된 예비키(PreKey)를 중계서버(20)로 전송하고(S014), 중계서버(20)는 이를 원격보안토큰모듈(14)로 전송한다(S015). 그리고 원격보안모듈(14)과 스마트폰모듈(32)은 각각 예비키(PreKey)를 동일한 변환함수(kdf)를 사용하여 변환함으로써 동일한 암호키(K)를 생성할 수 있다(S016).
위의 연결 세션 시작 및 암호키 생성과정(S001~S016)은, 비록 도 3에서는 미리 진행되는 것으로 도시되어 있으나, 실질적으로는, 공인인증모듈(12)에서 전자서명을 위한 원문을 원격보안토큰모듈(14)로 전송(S017)함으로써 전자서명 서비스가 개시될 때 시작될 수 있다.
공인인증모듈(12)에서 전자서명을 위한 원문을 원격보안토큰모듈(14)로 전송하는 단계(S017)에서부터 스마트폰(30)에서 전자서명이 이루어져 서명문이 공인인증모듈(12)에서 수신되는 단계(S030)까지의 전자서명 과정의 일 예가 도 4에 도시되어 있다. 도 4는 본 발명의 일 실시예에 따른 휴대전화를 이용한 전자서명 시스템에서 전자서명을 수행하는 과정을 설명하기 위한 개략적인 흐름도이다.
도시된 바와 같이, 원격보안토큰모듈(14)은 단계(S017)에서 수신한 원문(M)을 앞에서 생성한 세션 암호키(K)를 사용하여 암호화하여 원문암호문(E)을 생성하고(S018), 예컨대 HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)를 통해 중계서버(20)로 전달할 수 있다. HTTPS는 HTTP(Hypertext Transfer Protocol)를 보안적인 측면에서 강화한 것으로서 전자상거래 등에서 널리 쓰이는 프로토콜로서 잘 알려져 있다.
이후, 중계서버(20)는 스마트폰모듈(32)에 PUSH 방식으로 전자서명 요청을 전달하고(S020), 스마트폰모듈(32)은 원문(또는 그 암호문)(E)을 요청할 수 있고(S021), 이 원문 요청에 따라 중계서버(20)는 원문 암호문(E)을 스마트폰모듈(32)로 전송할 수 있다(S022).
스마트폰모듈(32)은 수신한 원문 암호문(E)을, 앞서 생성한 암호키(K)를 이용하여 복호화하고(S023), 복호화된 원문(M)을 스마트폰USIM(34)에 전달함으로써 전자서명을 요청할 수 있다(S024).
스마트폰 USIM(34)은 전달받은 원문(M)을 미리 저장하고 있는 전자서명키(공개키 기반 구조에서는 비밀키)를 이용하여 변환하여 서명문(S)을 생성한 후, 이를 스마트폰모듈(32)로 전송할 수 있다(S025).
그러면, 스마트폰모듈(32)은 수신된 서명문(S)을 암호키(K)를 이용하여 암호화하고(S026), 서명문암호문(E)을 중계서버(20)로 전송할 수 있다(S027). 차례로 중계서버(20)는 이 암호화된 서명문을 원격보안토큰모듈(14)로 전달할 수 있고(S028), 원격보안토큰모듈(14)은 암호키(K)를 사용하여 이를 복호화함으로써 서명문(S)을 얻을 수 있고, 이를 공인인증모듈(12)에 전달할 수 있다(S030).
상술한 바와 같이, HTTPS 프로토콜을 사용하여 통신 보안이 향상될 수 있으며, 세션 암호키(K)를 통해 종단간 암호화를 함으로써 제3자에 의한 서명 원문의 누출을 방지할 수 있다.
본 발명에 따르면, 보안토큰의 별도 휴대 없이 스마트폰을 통한 안전한 인증서 사용이 가능하다는 효과가 제공될 수 있다. 또한 기존 가입자가 사용하고 있는 공인인증모듈을 수정하지 않으면서도 스마트폰을 이용한 전자서명 기능을 용이하게 추가할 수 있다는 장점을 제공한다. 연결 세션을 유지하기 위해 단말 식별값을 중계서버에서 캐쉬하고 세션 동안에만 유효한 암호키를 사용하여 종단간 암호화 방식의 데이터 송수신을 수행함으로써 보안성을 향상시킬 수 있었다.
또한 본 발명에 따른 시스템에 의하면 전자서명 뿐만 아니라 인증서 발급까지 가능하다. 도 5에 예시된 발명의 일 실시예에 따른 휴대전화를 이용한 전자서명 시스템에서 휴대단말서 인증서를 요청하여 발급받는 과정(S031~S044)을 설명하기 위한 개략적인 흐름도에서 그 일예가 구체적으로 예시되어 있다.
도 5에 예시된 바와 같이, 본 발명에 따르면, 공인인증모듈(12)의 PKCS#11 인터페이스를 통해 스마트폰 USIM(34)에서 키를 생성하도록 할 수 있으며(S031~S035), 생성된 키에 기초하여 인증서를 요청하도록 하며, 인증서가 공인인증모듈(12)에서 스마트폰USIM(34)으로 전송되어 저장될 수 있다.
한편, 도 6에는, 본 발명의 일 실시예에 따른 휴대전화를 이용한 전자서명 시스템에서, 사용자 단말과 휴대단말 사이에서 중복데이터가 불필요하게 송수신되지 않도록 하는 인증 객체 데이터의 캐시 시스템, 즉 세션이 유지되는 동안만 일시적으로 저장하는 시스템을 설명하기 위한 개략적인 흐름도가 예시적으로 도시되어 있다.
앞서 논의한 바와 같이, 본 발명은, 기존의 로컬 보안토큰을 취급하도록 구성된 공인인증모듈(12)을 그대로 이용하기 때문에, 예컨대, PKCS#11 인터페이스에서 사용되는 보안토큰 제어명령들, 예컨대, 인증서 검색 요청(C_FindObject), 초기화(C_Initialize) 및 종료(C_Finalize)와 같은 보안토큰 제어 명령들이 반복되는 경우마다, 원격의 보안토큰에 이 제어 명령이 전송되어 실행될 필요가 없도록 하는 캐쉬시스템을 구비한다는 특징을 제공한다.
이러한 캐쉬시스템의 예들이 도 2에 예시되어 있는데, 중계서버(20)에 구비된 세션저장부(24)와 가입자 PC(10)의 원격보안토큰모듈(14)에 구비된 세션저장부(16)가 그것들이다.
이들 세션저장부(24, 26)에는 세션 정보 및/또는 인증 객체 데이터가 저장될 수 있다. 세션 정보는 중계서버(20)가 가입자 PC와 스마트폰 사이의 연결이 유지되는 특정 세션을 유지하기 위한 정보로서, 일 예에서, 위에서 이미 언급된 PC 식별값으로 구성될 수 있다. 한편, 인증 객체 데이터는 원격 보안토큰인 스마트폰 USIM(34)에서 보안토큰 제어 명령에 대한 응답으로서 전송된 것으로서, 예를 들어 공인인증서와 같은 인증서 객체 및 공개키와 같은 키 객체를 포함하며, 그 이외에 다른 부가 정보 등이 포함될 수 있다. 인증 객체 데이터는 공인인증모듈(12)에서 인증서를 이용해 로그인을 할 때와 같은 경우에 반복적으로 보안토큰에 요청되는 데이터로 구성되는 것이 바람직하다.
이와 같이 캐쉬시스템을 구비하는 본 발명에 따르면, 예컨대, 공인인증모듈(12)에서 인증서 검색 요청(C_FindObject)이 반복되어 출력될 때마다, 이 요청은 중계서버를 통해 휴대단말의 원격 보안토큰으로 전달되지 않을 수 있다. 즉 공인인증모듈(12)의 요청은 특정 세션 동안에 한 번 원격 보안토큰으로 전달되어 응답이 되면, 이후 반복되는 요청들에 대한 응답은 원격 보안토큰으로부터가 아니라 중계서버(20) 및/또는 원격보안모듈(14)의 세션저장부(24, 16)에 일시적으로 저장되어 있는 정보에 의해 처리될 수 있게 구성된다.
이제 도 6을 참조하면, 먼저 단계(S051)에서 공인인증모듈(12)의 PKCS#11과 같은 보안토큰 전자서명 인터페이스를 통해 사용자가 스마트폰 전자서명 서비스를 개시하면, 원격보안토큰모듈(14)이 구동될 수 있다. 원격보안토큰모듈(14)은, MAC 주소와 스레드ID를 획득하여 PC 식별값을 세션 정보로서 생성하고(S052), 이를 중계서버(20)로 전송한다(S053).
중계서버(20)는 전송된 PC 식별값은 중계서버(20)의 캐쉬시스템 즉 세션저장부(24)에 기 저장되어 있는 정보와 비교한다(S054). 세션 초기라면, 세션저장부(24)에는 방금 수신된 PC 식별값이 저장되어 있지 않을 것이다. 중계서버(20)는 이 PC 식별값을 세션 유지를 위한 세션 정보로서 세션저장부(24)에 저장할 수 있다.
또한 중계서버(20)는 중계서버(20)는 PC 식별값을 전송한 가입자 단말(10)과 매칭되는 스마트폰(30)을 식별하기 위하여 가입자 정보 데이터베이스(22)를 조회할 수 있으며, 가입자 PC(10)의 원격보안토큰모듈(14)에게 필요한 정보를 요청할 수 있다(S055).
이에 응답하여 원격보안토큰모듈(14)은 사용자에게 사용자 정보를 입력하라는 입력창을 디스플레이하고 입력을 대기한다. 이때 사용자는 스마트폰의 전화번호 또는 가입자 인증번호를 입력할 수 있다(S056). 그러면, 원격보안토큰모듈(14)은 입력받은 정보를 중계서버(20)로 전송할 수 있다(S057).
중계서버(20)는 수신된 사용자 입력 정보를 이용하여 가입자 정보 데이터베이스(22)에 미리 저장되어 있는 가입자 정보를 검색하여 매칭되는 스마트폰 전화번호를 추출함으로써, 가입자 단말(10)가 연결을 원하는 가입자 스마트폰(30)을 식별할 수 있다(S058).
그리고, 중계서버(20)는 식별된 가입자 스마트폰(30)의 스마트폰모듈(32)에 PUSH 메시지를 전송하여 예컨대 TCP 연결이 되도록 할 수 있으며, 이와 함께, 중계서버(20)는 이와 함께 스마트폰모듈(32)에게 세션 초기이므로 인증 객체 데이터를 요청할 수 있다(S059).
그러면 스마트폰모듈(32)은 스마트폰 USIM(34)에게 예컨대 공인인증서, 공개키, 및 공인인증모듈(12)에서 반복적으로 요청할 수 있는 그 외 다른 부가 데이터를 인증 객체 데이터로서 요청할 수 있고(S060), 이에 응답하여 스마트폰 USIM(34)은 공인인증서 객체, 공개키 객체, 및 그 외 다른 부가 데이터를 인증 객체 데이터로서 스마트폰모듈(32)에 전송할 수 있다(S061).
이 인증 객체 데이터는 중계서버(20)로 전달되어(S062), 중계서버(20)의 캐쉬시스템 즉 세션저장부(24)에 저장될 수 있다. 또한 중계서버(20)는 인증 객체 데이터를 원격보안토큰모듈(14)로 전달하여(S064) 그 세션저장부(16)에 저장되도록 할 수 있다.
이후 공인인증모듈(12)로부터 인증서 검색 요청이 출력되면(S066), 이에 대한 응답으로 원격보안토큰모듈(14)은 가입자 PC(10)에 내장된 캐쉬시스템 즉 로컬 세션저장부(16)를 검색한다(S067). 그 결과 세션저장부(16)에 저장되어 있는 인증 객체 데이터의 인증서 정보를 공인인증모듈(12)로 전달할 수 있다.
그런 다음에, 공인인증모듈(12)의 종료(S068)될 때까지, 원격보안토큰모듈(14)은 공인인증모듈(12)로부터의 반복되는 보안토큰 제어명령에 대해, 중계서버(20)를 경유하여 스마트폰(30)까지 통신하지 않고서도 적절한 응답을 공인인증모듈(12)에게 제공할 수 있다.
이상에서는 본 발명을 구체적인 실시예를 통하여 설명하였으나, 당업자라면 본 명세서에서 설명된 여러 가지 특징을 참조하고 조합하여 다양하고 변형된 구성이 가능하다. 따라서 본 발명의 범위가 설명된 실시 예에만 국한되는 것이 아니라, 첨부된 청구범위에 의하여 해석되어야 함을 지적해둔다.

Claims (10)

  1. 삭제
  2. 미리 저장된 인증서 및 전자서명키에 의해 전자서명을 생성하는 가입자 휴대단말(30)과 상기 가입자 휴대단말(30)로부터 전자서명을 제공받아 외부 기관에 제출하는 가입자 단말(10)로 이루어진 가입자 클라이언트, 및 상기 가입자 휴대단말(30)과 상기 가입자 단말(10)을 서로 연결시켜 전자서명의 생성 요청 및 그 결과를 중계하는 중계서버(20)를 포함하여 구성되는 휴대단말을 이용한 전자서명 시스템에 있어서,
    (1) 상기 가입자 단말(10)은:
    - 로컬 보안토큰에게 전자서명을 요청하는 로컬 보안토큰 전자서명 인터페이스를 구비하는 공인인증모듈(12), 및
    - 상기 공인인증모듈(12)의 로컬 보안토큰 전자서명 인터페이스를 통해 구동되어 상기 가입자 휴대단말(30)에 구비된 보안토큰(34)을 원격 보안토큰으로서 인식하고 상기 공인인증모듈(12)과 상기 원격 보안토큰 사이를 인터페이싱하기 위한 원격보안토큰모듈(14)을 포함하여 구성되고;
    (2) 상기 가입자 휴대단말(30)은:
    - 상기 중계서버(20)를 통해 상기 원격보안토큰모듈(14)과 인터페이싱하기 위한 휴대단말모듈(32), 및
    - 인증서 및 전자서명키를 저장하고 있으며, 상기 휴대단말모듈(32)과 인터페이싱하여 상기 휴대단말모듈(32)로부터 전자서명 요청을 수신하면 전자서명을 수행하여 그 결과인 서명문을 상기 휴대단말모듈(32)로 제공하는 보안토큰(34)을 포함하여 구성되며; 그리고,
    (3) 상기 중계서버(20)는:
    - 상기 가입자 클라이언트의 식별정보를 등록한 가입자정보 데이터베이스(22)를 구비하여, 동일한 가입자 클라이언트로서 식별된 상기 가입자 단말(10)의 원격보안토큰모듈(14)과 상기 가입자 휴대단말(30)의 휴대단말모듈(32)을 서로 연결시키도록 동작하고,
    - 상기 원격보안토큰모듈(14)로부터 전송되는 상기 공인인증모듈(12)의 시작 및 종료를 감지하는 스레드 ID를 포함하는 세션 정보 및 상기 가입자 휴대단말(30)로부터 전송되는 인증 객체 데이터를 수신하여 일시 저장하는 세션저장부(24)를 구비하며, 또한
    - 상기 세션 정보를 이용하여 상기 가입자 단말(10)과 가입자 휴대단말(30)이 서로 연결되는 세션을 유지하며, 상기 세션저장부(24)에 일시 저장되는 상기 세션 정보 및 상기 인증 객체 데이터는 세션이 유지되는 동안에만 유지되는
    것을 특징으로 하는, 휴대단말을 이용한 전자서명 시스템.
  3. 청구항 2에 있어서, 상기 보안토큰(34)에서 수행하는 전자서명을 위한 원문은, 상기 공인인증모듈(12)로부터, 상기 원격보안토큰모듈(14), 상기 중계서버(20), 및 상기 휴대단말모듈(32)을 차례로 경유하여, 상기 보안토큰(34)으로 제공되는 것을 특징으로 하는, 휴대단말을 이용한 전자서명 시스템.
  4. 청구항 3에 있어서, 상기 전자서명을 위한 원문은 상기 원격보안토큰모듈(14)에서 암호화되고 상기 휴대단말모듈(32)에서 복호화되며, 상기 보안토큰(34)에서 전자서명이 수행된 결과인 서명문은 상기 휴대단말모듈(32)에서 암호화되고 상기 원격보안토큰모듈(14)에서 복호화되는 것을 특징으로 하는, 휴대단말을 이용한 전자서명 시스템.
  5. 청구항 4에 있어서, 상기 전자서명을 위한 원문 및 상기 서명문을 암호화하고 복호화하는 키는, 상기 원격보안토큰모듈(14)과 상기 휴대단말모듈(32)이 서로 연결된 세션 초기마다 생성되어 해당 세션 내에서만 사용되는 것을 특징으로 하는, 휴대단말을 이용한 전자서명 시스템.
  6. 청구항 2에 있어서, 상기 중계서버(20)는, 상기 가입자 단말(10)이 접속하면 상기 가입자 단말(10)로부터 제공되는 사용자 입력정보를 상기 가입자 정보 데이터베이스(22) 내의 가입자 정보와 비교함으로써 상기 가입자 단말(10)과 연결될 가입자 휴대단말(30)을 식별하며, 식별된 가입자 휴대단말(30)과 상기 가입자 단말(10)을 서로 연결하는 것을 특징으로 하는, 휴대단말을 이용한 전자서명 시스템.
  7. 청구항 2에 있어서, 상기 중계서버(20)는, 상기 가입자 단말(10)과 연결될 때 상기 가입자 단말(10)로부터 상기 스레드 ID 외에 MAC 주소가 더 포함되어 구성되는 단말 식별값을 세션 정보로서 수신하는 것을 특징으로 하는, 휴대단말을 이용한 전자서명 시스템.
  8. 청구항 2에 있어서, 상기 중계서버(20)는, 상기 가입자 휴대단말(30)로부터 수신된 상기 인증 객체 데이터를, 상기 원격보안토큰모듈(14)로 전달하도록 동작하며; 상기 원격보안토큰모듈(14)은 상기 중계서버(20)로부터 전달된 인증 객체 데이터를 수신하여 상기 중계서버(20)에 의해 유지되는 세션 동안 일시 저장하는 세션저장부(16)를 구비하는 것을 특징으로 하는, 휴대단말을 이용한 전자서명 시스템.
  9. 청구항 2에 있어서, 상기 인증 객체 데이터는, 상기 가입자 휴대단말(30)에 내장되어 있는 인증서 객체 및 공개키 객체를 포함하는 것을 특징으로 하는, 휴대단말을 이용한 전자서명 시스템.
  10. 청구항 2에 있어서, 상기 공인인증모듈(12)의 보안토큰 전자서명 인터페이스는 PKSC#11 인터페이스 규격을 따르는 것을 특징으로 하는, 휴대단말을 이용한 전자서명 시스템.
KR1020130065149A 2013-06-07 2013-06-07 휴대단말을 이용한 전자서명 시스템 KR101348079B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130065149A KR101348079B1 (ko) 2013-06-07 2013-06-07 휴대단말을 이용한 전자서명 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130065149A KR101348079B1 (ko) 2013-06-07 2013-06-07 휴대단말을 이용한 전자서명 시스템

Publications (1)

Publication Number Publication Date
KR101348079B1 true KR101348079B1 (ko) 2014-01-08

Family

ID=50144644

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130065149A KR101348079B1 (ko) 2013-06-07 2013-06-07 휴대단말을 이용한 전자서명 시스템

Country Status (1)

Country Link
KR (1) KR101348079B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101743951B1 (ko) * 2015-11-04 2017-07-04 주식회사 시큐센 전자서명장치 및 이를 이용한 전자서명방법
KR20190007336A (ko) 2017-07-12 2019-01-22 주식회사 코스콤 보안채널 생성 방법 및 그 장치와 이를 이용한 보안정보의 송수신 방법 및 그 장치
KR20190026327A (ko) * 2017-09-05 2019-03-13 주식회사 와이키키소프트 웨어러블 단말을 이용한 데이터 암복호 방법 및 시스템
KR20210032332A (ko) * 2014-10-30 2021-03-24 에스케이텔레콤 주식회사 서비스 서버 및 그 동작 방법
KR20220116136A (ko) * 2019-11-18 2022-08-22 주식회사 시옷 하드웨어 보안 모듈을 이용한 IoT(Internet of Thing) 보안 서비스 제공 시스템 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101211900B1 (ko) * 2010-06-10 2012-12-13 사단법인 금융결제원 무선단말 기반 전자서명 처리 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101211900B1 (ko) * 2010-06-10 2012-12-13 사단법인 금융결제원 무선단말 기반 전자서명 처리 시스템

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210032332A (ko) * 2014-10-30 2021-03-24 에스케이텔레콤 주식회사 서비스 서버 및 그 동작 방법
KR102370797B1 (ko) 2014-10-30 2022-03-04 에스케이텔레콤 주식회사 서비스 서버 및 그 동작 방법
KR101743951B1 (ko) * 2015-11-04 2017-07-04 주식회사 시큐센 전자서명장치 및 이를 이용한 전자서명방법
KR20190007336A (ko) 2017-07-12 2019-01-22 주식회사 코스콤 보안채널 생성 방법 및 그 장치와 이를 이용한 보안정보의 송수신 방법 및 그 장치
KR20190026327A (ko) * 2017-09-05 2019-03-13 주식회사 와이키키소프트 웨어러블 단말을 이용한 데이터 암복호 방법 및 시스템
KR102086082B1 (ko) * 2017-09-05 2020-03-06 주식회사 와이키키소프트 웨어러블 단말을 이용한 레거시 시스템의 자동 로그인 방법 및 시스템
KR20220116136A (ko) * 2019-11-18 2022-08-22 주식회사 시옷 하드웨어 보안 모듈을 이용한 IoT(Internet of Thing) 보안 서비스 제공 시스템 및 방법
KR102443259B1 (ko) 2019-11-18 2022-09-14 주식회사 시옷 하드웨어 보안 모듈을 이용한 IoT(Internet of Thing) 보안 서비스 제공 시스템 및 방법

Similar Documents

Publication Publication Date Title
US20210367795A1 (en) Identity-Linked Authentication Through A User Certificate System
US20190173873A1 (en) Identity verification document request handling utilizing a user certificate system and user identity document repository
CN109150548B (zh) 一种数字证书签名、验签方法及系统、数字证书系统
US20190251561A1 (en) Verifying an association between a communication device and a user
JP2019512961A (ja) 改善されたセキュリティーを伴うユーザ認証のための方法およびシステム
US20140359741A1 (en) Mutually Authenticated Communication
JP2015526784A (ja) 問い合わせ型トランザクションによる強化された2chk認証セキュリティ
US20150208238A1 (en) Terminal identity verification and service authentication method, system and terminal
CN110278084B (zh) eID建立方法、相关设备及系统
KR101348079B1 (ko) 휴대단말을 이용한 전자서명 시스템
DK2414983T3 (en) Secure computer system
US20140013116A1 (en) Apparatus and method for performing over-the-air identity provisioning
CN101944216A (zh) 双因子在线交易安全认证方法及系统
US20090319778A1 (en) User authentication system and method without password
KR102053993B1 (ko) 인증서를 이용한 사용자 인증 방법
KR20140046674A (ko) 클라우드 공인인증 시스템 및 그 제공방법
KR20170070379A (ko) 이동통신 단말기 usim 카드 기반 암호화 통신 방법 및 시스템
KR102123405B1 (ko) 보안 회원가입 및 로그인 호스팅 서비스 제공 시스템 및 그 방법
KR101879842B1 (ko) Otp를 이용한 사용자 인증 방법 및 시스템
JP2014134878A (ja) 認証システム、認証装置、及び認証方法
KR102542840B1 (ko) 오픈 api 기반의 금융 인증 서비스 제공 방법 및 시스템
KR20170010691A (ko) 비밀스런 인증데이터 관리가 필요 없는 인증시스템 및 방법
KR20160020314A (ko) 전자서명을 이용하여 대출서비스를 제공하기 위한 장치 및 그 방법
KR20140047058A (ko) 클라우드 공인인증 시스템 및 그 제공방법
CN116488853A (zh) 一种移动办公场景的可信认证方法

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
J204 Invalidation trial for patent
J121 Written withdrawal of request for trial
FPAY Annual fee payment

Payment date: 20170125

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171226

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181217

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191125

Year of fee payment: 7