KR101754519B1 - 일회용 키를 이용하여 키보드를 통해 입력된 데이터를 보호하기 위한 키보드 보안 시스템 및 방법 - Google Patents

일회용 키를 이용하여 키보드를 통해 입력된 데이터를 보호하기 위한 키보드 보안 시스템 및 방법 Download PDF

Info

Publication number
KR101754519B1
KR101754519B1 KR1020160006675A KR20160006675A KR101754519B1 KR 101754519 B1 KR101754519 B1 KR 101754519B1 KR 1020160006675 A KR1020160006675 A KR 1020160006675A KR 20160006675 A KR20160006675 A KR 20160006675A KR 101754519 B1 KR101754519 B1 KR 101754519B1
Authority
KR
South Korea
Prior art keywords
keyboard
key
scan code
disposable
cipher text
Prior art date
Application number
KR1020160006675A
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 KR1020160006675A priority Critical patent/KR101754519B1/ko
Application granted granted Critical
Publication of KR101754519B1 publication Critical patent/KR101754519B1/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Human Computer Interaction (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

본 발명은 일회용 키를 이용한 키보드 보안 시스템 및 방법에 관한 것으로서, 오프라인으로 시드값을 공유하는 키보드 보안 모듈 및 키보드 보안 서버를 포함하고, 상기 키보드 보안 모듈은: 키보드에 있는 복수의 키 스위치의 On/Off를 감지하고 신호 라인을 통하여 감지된 상기 키에 대한 키보드 스캔코드를 수신하는 키보드 스캔코드 처리부, 상기 시드값을 기준으로 시간 동기화를 통해 일회용 키를 생성하는 일회용 키 생성부 및 수신된 상기 키보드 스캔코드를 생성한 일회용 키를 이용하여 암호화하여 암호문을 생성하고, 이를 상기 키보드 보안 서버로 전송하는 키보드 스캔코드 암호화부로 구성되고, 상기 키보드 보안 서버는: 상기 시드값을 기준으로 시간 동기화를 통해 일회용 키를 생성하는 일회용 키 생성부 및 상기 키보드 스캔코드 암호화부로부터 수신된 상기 암호문을 생성한 일회용 키를 이용하여 복호화하여 상기 키보드 스캔코드를 추출하는 키보드 스캔코드 복호화부로 구성됨으로써, 호스트와 키보드 간 강력한 보안 채널을 구성할 수 있다.

Description

일회용 키를 이용하여 키보드를 통해 입력된 데이터를 보호하기 위한 키보드 보안 시스템 및 방법{KEYBOARD SECURE SYSTEM AND METHOD FOR PROTECTING DATA INPUT VIA KEYBOARD USING ONE TIME KEY}
본 발명은 키보드 보안 시스템 및 방법에 관한 것으로, 더욱 상세하게는 일회용 키를 이용하여 키보드 스캔코드의 값을 무작위적으로 변경함으로써 호스트와 키보드 사이에 보안 채널을 구성할 수 있는 키보드 보안 시스템 및 방법에 관한 것이다.
네트워크의 발전과 함께 인터넷을 이용한 뱅킹 서비스 및 전자 지불 서비스 등이 일반화되고 있으며, 이는 인터넷을 이용한 거래가 신뢰를 얻고 있음을 입증하는 증거라 할 수 있어, 앞으로 대부분의 재화 교환이 네트워크를 이용하는 전자상거래 형태로 이루어질 것으로 전망된다. 온라인을 통한 안전한 전자상거래를 이용하기 위해서는 데이터 보호뿐만 아니라 부가적인 기술요소들이 필요하게 되었고, 기술을 공급하는 측면에서는 이미 많은 연구를 통해 그 결과를 도출하여 전자상거래의 안전성 지원을 위한 기반구조를 마련하였다. 하지만, 대개의 전자 지불 서비스는 문자열 형태인 아이디/패스워드 기반으로 사용자 인증이 이루어지며, 이에 대한 입력도구로 키보드를 이용해 정보를 수집하는 방식을 고수하고 있다. 즉, 안전한 기반 구조를 가지고 있다고 할지라도 사용자가 입력하는 키보드 정보를 감시할 수 있다면 사용자 인증 정보를 탈취할 수 있기 때문에 전자 지불 서비스 자체를 무력화할 수 있다. 이와 같은 문제점은 사용자 인증뿐만 아니라 결제 시 사용되는 카드번호, 카드 비밀번호, 계좌정보, OTP 입력정보, 보안카드 입력정보 등 프라이버시 또는 금전적인 피해를 가질 수 있는 민감한 정보들이 키보드로부터 입력됨을 의미하고 있으므로 매우 심각한 문제이다.
따라서, 프라이버시와 매우 밀접하게 관련되는 정보들을 보호하기 위해 키보드 보안 소프트웨어와 이미지 기반 패스워드 등에 대한 연구가 시도되고 있으나 그 실효성을 인정받지 못하고 있는 실정이며, 대부분 키보드 데이터 감시를 방지하기 위한 보안 소프트웨어가 주요 사이트에 제공되어 사용자에게 필수적으로 설치하여 운영되도록 요구하고 있다. 하지만, 현재 컴퓨터의 구조적인 측면으로 볼 때 소프트웨어에 의한 키보드 감시의 완벽한 차단은 어려울 것으로 판단된다. 이는 현재 컴퓨터에 내장된 키보드 처리를 위한 컨트롤러의 구조적인 문제와 더불어 운영체제에서의 사용자 특권수준의 관리 문제가 일조하고 있어 보다 근본적인 대책이 요구된다. 또한, 2008년 8월 USB 키보드의 취약점이 지적됨에 따라 과거 정보통신부에서는 보안을 위한 응용에 PS/2 키보드를 사용할 것을 권유하고 있으며, 보급률이 재빠르게 증가하고 있는 노트북 컴퓨터의 키보드가 PS/2 인터페이스로 연결되어 있음으로 볼 때 제기된 취약점은 매우 심각한 문제를 야기할 수 있어 보다 신속한 대응이 필요한 실정이다.
상기한 바와 같이 키보드 보안과 관련하여 다양한 단체에서 다양한 공격과 방어 경험을 통하여 키보드 스캔코드의 탈취를 방지하기 위한 기술이 보편화된 것으로 보인다. 따라서, 많은 사람들이 키보드 보안이 상당한 기술적 발전을 이룬 것으로 알고 있으며, 인터넷을 통한 금융거래 및 재화와 용역의 거래에서 패스워드 기반의 인증이 안전한 것으로 믿고 사용하고 있다. 하지만, 현재 존재하는 보안 시스템의 대부분은 서버와 클라이언트가 키를 공유하고, 공유된 키를 기반으로 암호 알고리즘을 이용하여 데이터를 암호화하고 암호문을 전송, 이를 복호화하거나 암호화하여 그 결과를 비교함으로써 보안 채널을 구성한다. 따라서, 이를 바탕으로 호스트와 키보드 사이에 보안 채널을 구성할 수 있을 것으로 판단되지만, PS/2 인터페이스의 특성 상 단순히 암호 알고리즘만을 가지고 호스트와 키보드가 보안 채널을 구성하기에는 다소 보안에 취약할 것으로 판단된다. 왜냐하면, 키보드 보안 모듈과 호스트가 키를 공유하여 보안 채널을 구성한다 하더라도 공유된 키가 같다면 스캔코드가 항상 일정한 값으로 전송되며, 결국 암호화를 통해 보안 채널을 구성하는 것이 아니라 단순히 키보드 스캔코드의 값을 치환하는 역할만 수행한다고 할 수 있기 때문이다. 이는 단순히 암/복호화를 이용한 방법이 근본적으로 문제를 해결할 수 없음을 의미하며, 키보드 스캔코드의 값이 무작위적으로 바뀌는 새로운 모델이 제안되어야 한다.
따라서, 본 명세서에서는 이와 같은 문제를 해결하기 위한 새로운 키보드 보안 프로토콜을 제안하고자 한다.
대한민국 공개특허공보 제10-2010-0085483호(2010.07.29) 대한민국 공개특허공보 제10-2012-0019614호(2012.03.07)
따라서, 본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 이루어진 것으로서, 본 발명의 목적은 키보드 보안 모듈과 호스트가 무작위적인 일회용 키를 공유하고, 공유된 일회용 키를 기반으로 키보드 스캔코드를 암호화하여 키보드 스캔코드에 대해 무작위적으로 변경되는 암호문을 전송하며, 다시 공유된 일회용 키를 기반으로 암호문을 복호화함으로써, 호스트와 키보드 간 강력한 보안 채널을 구성할 수 있는 일회용 키를 이용한 키보드 보안 시스템 및 방법을 제공하는데 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 일회용 키를 이용한 키보드 보안 시스템은, 오프라인으로 시드값(seed value)을 공유하는 키보드 보안 모듈 및 키보드 보안 서버를 포함하고, 상기 키보드 보안 모듈은: 키보드에 있는 복수의 키 스위치의 On/Off를 감지하고 신호 라인을 통하여 감지된 상기 키에 대한 키보드 스캔코드(scan code)를 수신하는 키보드 스캔코드 처리부, 상기 시드값을 기준으로 시간 동기화를 통해 일회용 키(one time key)를 생성하는 일회용 키 생성부 및 수신된 상기 키보드 스캔코드를 생성한 일회용 키를 이용하여 암호화하여 암호문을 생성하고, 이를 상기 키보드 보안 서버로 전송하는 키보드 스캔코드 암호화부로 구성되고, 상기 키보드 보안 서버는: 상기 시드값을 기준으로 시간 동기화를 통해 일회용 키를 생성하는 일회용 키 생성부 및 상기 키보드 스캔코드 암호화부로부터 수신된 상기 암호문을 생성한 일회용 키를 이용하여 복호화하여 상기 키보드 스캔코드를 추출하는 키보드 스캔코드 복호화부로 구성된다.
또한, 본 발명의 다른 실시예에 따른 일회용 키를 이용한 키보드 보안 시스템은, 키보드 보안 모듈로서, 키보드에 있는 복수의 키 스위치의 On/Off를 감지하고 신호 라인을 통하여 상기 감지된 키에 대한 키보드 스캔코드를 수신하는 키보드 스캔코드 처리부, 이하 일회용 키 생성부에서 생성한 일회용 키를 수신 받는 일회용 키 수신부 및 수신된 상기 키보드 스캔코드를 수신한 일회용 키를 이용하여 암호화하여 암호문을 생성하고, 이를 상기 클라이언트 단말로 전송하는 키보드 스캔코드 암호화부로 구성되는, 상기 키보드 보안 모듈 및 키보드 보안 서버로서, 일정한 시드값을 기준으로 일회용 키를 생성하는 일회용 키 생성부 및 상기 키보드 스캔코드 암호화부로부터 수신된 상기 암호문을 생성한 일회용 키를 이용하여 복호화하여 상기 키보드 스캔코드를 추출하는 키보드 스캔코드 복호화부로 구성되는, 상기 키보드 보안 서버를 포함한다.
한편, 본 발명의 일 실시예에 따른 일회용 키를 이용한 키보드 보안 방법은, 키보드 보안 모듈 및 키보드 보안 서버가 오프라인으로 시드값을 공유하는 단계, 상기 키보드 보안 모듈 및 상기 키보드 보안 서버가 상기 시드값을 기준으로 시간 동기화를 통해 일회용 키를 생성하는 단계, 사용자가 키보드를 통해 키를 입력하면, 상기 키보드 보안 모듈에 의해, 키보드에 있는 복수의 키 스위치의 On/Off를 감지하고 신호 라인을 통하여 감지된 상기 키에 대한 키보드 스캔코드를 수신하는 단계, 상기 키보드 보안 모듈이 수신된 상기 스캔코드를 상기 일회용 키를 이용하여 암호화하고 생성된 암호문을 상기 키보드 보안 서버로 전송하는 단계 및 상기 키보드 보안 서버가 수신된 상기 암호문을 상기 일회용 키를 이용하여 복호화하여 상기 스캔코드를 추출하는 단계를 포함한다.
또한, 본 발명의 다른 실시예에 따른 일회용 키를 이용한 키보드 보안 방법은, 클라이언트 단말이 일정 시드값을 기준으로 일회용 키를 생성하는 단계, 상기 일회용 키를 상기 클라이언트 단말로부터 키보드 모안 모듈로 전송하는 단계, 사용자가 키보드를 통해 키를 입력하면, 상기 키보드 보안 모듈에 의해, 키보드에 있는 복수의 키 스위치의 On/Off를 감지하고 신호 라인을 통하여 감지된 상기 키에 대한 키보드 스캔코드를 수신하는 단계, 상기 키보드 보안 모듈이 수신된 상기 스캔코드를 상기 일회용 키를 이용하여 암호화하고 생성된 암호문을 상기 키보드 보안 서버로 전송하는 단계 및 상기 키보드 보안 서버가 수신된 상기 암호문을 상기 일회용 키를 이용하여 복호화하여 상기 스캔코드를 추출하는 단계를 포함한다.
상술한 바와 같이, 본 발명에 의한 일회용 키를 이용한 키보드 보안 시스템 및 방법은 다음과 같은 효과를 제공한다.
본 발명에 의한 일회용 키를 이용한 키보드 보안 시스템 및 방법은 클라이언트와 키보드가 각각 키를 공유하고 전송함으로써 암호문만을 획득하고 스캔코드에 대한 정보는 추출할 수 없으므로, 서버와 키보드 사이에 전송되는 정보를 도청하여 스캔코드를 알아내는 도청 공격에 안전하다.
그리고, 본 발명에 의한 일회용 키를 이용한 키보드 보안 시스템 및 방법은 매 세션, 혹은 한 세션 내에서도 시간에 따라 키를 매번 변경함으로써, 서버와 키보드, 클라이언트와 키보드 사이에 전송되는 정보를 획득한 후 획득한 정보를 다음 혹은 나중에 재전송하여 정상적인 정보로 인식되도록 하는 재전송 공격에 안전하다.
또한, 본 발명에 의한 일회용 키를 이용한 키보드 보안 시스템 및 방법은 오프라인 인증을 통해 서버와 키보드 보안 모듈이 시간 동기화에 의해 공유할 키를 생성하기 때문에, 오프라인 인증 시 시간 동기화에 필요한 정보를 확보하지 못하면 공격에 성공할 수 없다. 시간 동기화에 필요한 정보는 반드시 오프라인 인증을 통해 공유되는 것이므로 사용자 본인이 아니면 어느 누구도 이 정보에 접근할 수 없다. 따라서, 공격자가 정당한 서버 혹은 키보드 보안 모듈로 위장하여 스캔코드를 획득하거나 암/복호에 필요한 정보를 획득하는 스푸핑 공격에 안전하다.
도 1은 본 발명의 일 실시예에 따른 키보드 보안 시스템의 전체 구성을 개략적으로 나타낸 블록도이다.
도 2는 본 발명의 다른 실시예에 따른 키보드 보안 시스템의 전체 구성을 개략적으로 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따라 키보드를 통해 입력된 데이터를 보호하기 위한 과정을 개략적으로 나타낸 흐름도이다.
도 4는 본 발명의 다른 실시예에 따라 키보드를 통해 입력된 데이터를 보호하기 위한 과정을 개략적으로 나타낸 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서의 도면들은 첫 번째 숫자 또는 숫자들이 도면 부호에 대응하고 나머지 숫자들이 도면의 요소 또는 구성요소를 식별하는 넘버링 규칙을 따른다. 상이한 도면들 간의 유사한 요소들 또는 구성요소들은 유사한 숫자들의 사용에 의해 식별될 수 있다. 예를 들어, 111은 도 1에서의 요소 "11"을 참조하고, 유사한 요소는 도 2에서 211으로서 참조될 수 있다. 인식될 바와 같이, 본 명세서의 다양한 실시예들에서 제시된 요소들은 본 발명의 다수의 추가 실시예를 제공하기 위해 추가, 교환 및/또는 제거될 수 있다.
이하에서 제시된 본 발명에 의한 키보드 보안 시스템은, 입ㆍ출력 통신을 하는 구조를 가지는 하나 이상의 PS/2(Personal System/2, 피에스투) 키보드 장치가 PS/2 인터페이스를 통해 PS/2 장치들과의 인터페이스가 가능한 키보드 컨트롤러에 연결되고, 그러한 컨트롤러를 구비한 컴퓨터 시스템을 바탕으로 하는 경우를 실시예들로서 제안한다.
이하 본 발명의 일회용 키를 이용한 키보드 보안 시스템에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 키보드 보안 시스템의 전체 구성을 개략적으로 나타낸 블록도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 키보드 보안 시스템(100)은 알려진 키보드에 있는 복수의 키 스위치의 On/Off를 감지하기 위한 키보드 스캔코드 처리부(111), 무작위적인 시간에 무작위적인 키를 생성하는 일회용 키 생성부(112) 및 키보드 스캔코드를 일회용 키를 기반으로 암호화를 수행하여 암호문을 생성하는 키보드 스캔코드 암호화부(113)로 구성되는 키보드 보안 모듈(110)과, 무작위적인 시간에 무작위적인 키를 생성하는 일회용 키 생성부(121) 및 암호문을 일회용 키를 이용하여 복호화하는 키보드 스캔코드 복호화부(122)로 구성되는 키보드 보안 서버(120)를 포함하여 이루어진다.
본 발명의 일 실시예에서 사용자는 오프라인으로 키보드 보안 모듈(110)을 발급받고 오프라인을 통해 인증을 거친 상태이며, 이 과정에서 키보드 보안 시스템(100)의 키보드 보안 모듈(110) 및 키보드 보안 서버(120)는 시간 동기화를 위한 시드값(seed value)을 공유한다.
키보드 스캔코드 처리부(111)는 종래의 방법을 통하여 키보드에 있는 복수의 키 스위치의 On/Off를 감지하고 신호 라인을 통하여 상기 감지된 키에 대한 키보드 스캔코드(scan code, SC)를 수신하여 저장한다. 이때, 상기 키보드 스캔코드를 수신한 키보드 스캔코드 처리부(111)는 어떤 키가 눌려졌음을 인식하게 된다.
일회용 키 생성부(112)는 키보드로부터 수신된 키보드 스캔코드(SC)의 암호를 위한 랜덤한 일회용 키(one time key, OTK)를 생성한다. 이를테면, 일회용 키 생성부(112)는 키보드 보안 모듈(110)과 키보드 보안 서버(120) 간에 동기화된 예컨대, 시간 정보인 시드값을 기준으로 예컨대, 해쉬 함수와 같은 알고리즘을 통해 특정 시간 간격(보통 1분)마다 변하는 일회용 키를 생성하게 된다.
키보드 스캔코드 암호화부(113)는 키보드로부터 수신된 스캔코드(SC)를 생성한 일회용 키(OTK)를 이용하여 암호화(EOTK(SC))하여 암호문(ciphertext, C)을 생성하고 이를 서버로 전송한다. 이때, 암호란 평문(plain-text)을 암호문(C)으로 변환하는 데이터 보호수단이며, 평문을 암호문으로 변환시키는 과정을 암호화라 하는데, 본 발명의 일 실시예에 따른 일회용 키 암호화부(113)는 키보드로부터 수신된 스캔코드(SC)를 암호 알고리즘(EOTK)과 일회용 암호키(OTK)로 암호문(C)을 생성하여 인정되지 않은 침해자가 감시하고 있는 통신채널을 통해 키보드 보안 서버(120)에게 보내게 된다.
일회용 키 생성부(121)는 키보드로부터 수신된 키보드 스캔코드(SC)의 암호를 위한 랜덤한 일회용 키(OTK)를 생성한다. 즉, 일회용 키 생성부(112)는 키보드 보안 모듈(110)의 일회용 키 생성부(111)와 마찬가지로, 키보드 보안 모듈(110)과 키보드 보안 서버(120) 간에 동기화된 예컨대, 시간 정보인 시드값을 기준으로 예컨대, 해쉬 함수와 같은 알고리즘을 통해 특정 시간 간격(보통 1분)마다 변하는 일회용 키를 생성하게 된다. 이로써, 키보드 보안 모듈(110)과 키보드 보안 서버(120) 간에 키보드로부터 수신된 키보드 스캔코드(SC)의 암/복호를 위한 일회용 키(OTK)가 동기화된다.
키보드 스캔코드 복호화부(122)는 수신된 암호문(C)을 생성한 일회용 키(OTK)를 이용하여 복호화하여 사용자가 키보드로 입력한 키보드 스캔코드(SC)를 추출한다. 이때, 암호을 평문으로 변환시키는 과정을 복호화라 하는데, 본 발명의 일 실시예에 따른 일회용 키 암호화부(113)는 수신된 암호문(C)을 복호 알고리즘(DOTK)과 일회용 암호키(OTK)에 의해 복호화하여 원래의 키보드 스캔코드(SC)를 추출하게 된다.
본 발명의 일 실시예에 따른 키보드 보안 시스템(100)은 서버-클라이언트 간 중요한 정보를 전송할 경우 활용할 수 있는 모델이며, 특히 아이디와 패스워드, 계좌정보, 계좌비밀번호, OTP 정보, 보안카드 정보 등에 대한 정보들은 프라이버시와 매우 민감한 정보이기 때문에 이와 같은 구조를 통해 반드시 보호되어야 한다.
도 2는 본 발명의 다른 실시예에 따른 키보드 보안 시스템의 전체 구성을 개략적으로 나타낸 블록도이다.
도 2에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 키보드 보안 시스템(200)은 알려진 키보드에 있는 복수의 키 스위치의 On/Off를 감지하기 위한 키보드 스캔코드 처리부(211), 후술될 클라이언트로부터 일회용 키를 수신하는 일회용 키 수신부(212) 및 키보드 스캔코드를 일회용 키를 기반으로 암호화를 수행하여 암호문을 생성하는 키보드 스캔코드 암호화부(213)로 구성되는 키보드 보안 모듈(210)과, 무작위적인 시간에 무작위적인 키를 생성하는 일회용 키 생성부(221) 및 암호문을 일회용 키를 이용하여 복호화하는 키보드 스캔코드 복호화부(222)를 포함하는 클라이언트 단말(220)을 포함하여 이루어진다.
본 발명의 다른 실시예에서는 클라이언트 단말(220)에서 키를 생성한 후, 키보드 보안 모듈(210)로 전송하여 키를 공유한다. 본 발명의 실시예들에 따른 PS/2 인터페이스는 데이터 전송을 위한 0x60 포트와 제어코드 전송을 위한 0x64 포트를 가지고 있어, 0x60 포트에 설정 데이터를 쓰면 키보드로 전송되고, 0x64 포트에 설정 데이터를 쓰면 키보드 컨트롤러로 전송된다. 하지만, 0x60, 0x64 포트를 읽는다고 해서 이전에 썼던 설정 데이터가 읽히는 것이 아니고, 0x60 포트는 키보드 스캔코드, 0x64 포트는 현재 키보드 컨트롤러가 설정된 상태에 대한 값이 읽힌다. 즉, 0x60 포트, 0x64 포트로 쓰여진 데이터는 소프트웨어적인 방법으로는 누구도 훔쳐낼 수 없다는 것을 의미한다. 따라서, 본 발명의 다른 실시예에서 키보드 보안 모듈(210)과 클라이언트 단말(220)은 클라이언트 단말(220)에서 공유할 일회용 키를 생성하고 0x60 포트를 이용하여 키보드 보안 모듈(210)과 일회용 키를 공유함으로써, 공유된 일회용 키를 기반으로 키보드 스캔코드를 암호화하여 보안 채널을 구성할 수 있다.
키보드 스캔코드 처리부(211)는 종래의 방법을 통하여 키보드에 있는 복수의 키 스위치의 On/Off를 감지하고 신호 라인을 통하여 상기 감지된 키에 대한 키보드 스캔코드(SC)를 수신하여 저장한다.
일회용 키 수신부(212)는 후술하는 클라이언트 단말(220)의 일회용 키 생성부(221)에서 생성한 일회용 키를 그로부터 수신한다.
키보드 스캔코드 암호화부(213)는 키보드로부터 수신된 스캔코드(SC)를 수신한 일회용 키(OTK)를 이용하여 암호화(EOTK(SC))하여 암호문(C)을 생성하고 이를 클라이언트 단말(220)로 전송한다.
일회용 키 생성부(221)는 키보드 스캔코드(SC)의 암호를 위한 랜덤한 일회용 키(OTK)를 생성하고 생성한 일회용 키(OTK)를 키보드 보안 모듈(210)의 일회용 키 수신부(212)로 전송한다. 이를테면, 일회용 키 생성부(221)는 일정한 시드값을 기준으로 예컨대, 해쉬 함수와 같은 알고리즘을 통해 일회용 키(OTK)를 생성하게 된다.
키보드 스캔코드 복호화부(222)는 수신된 암호문(C)을 생성한 일회용 키(OTK)를 이용하여 복호화하여 사용자가 키보드로 입력한 키보드 스캔코드(SC)를 추출한다.
본 발명의 다른 실시예에 따른 키보드 보안 시스템(200)은 사용자가 입력하는 정보가 클라이언트에서 처리되어야 할 경우 활용할 수 있는 모델이며, 키보드로부터 클라이언트까지 전송되는 과정에서의 스캔코드는 보호되기 때문에 안전하게 전송할 수 있다.
그러면, 여기서 상기와 같이 구성된 시스템을 이용한 본 발명의 일회용 키를 이용한 키보드 보안 방법에 대해 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따라 키보드를 통해 입력된 데이터를 보호하기 위한 과정을 개략적으로 나타낸 흐름도이다.
도 3을 참조하면, 먼저 사용자가 오프라인으로 키보드 보안 모듈(110)을 발급받고 오프라인을 통해 인증을 거친 상태이며, 이 과정에서 키보드 보안 시스템(100)의 키보드 보안 모듈(110) 및 키보드 보안 서버(120)는 시간 동기화를 위한 시드값을 공유한다(S310).
그 후, 키보드 보안 서버(120), 클라이언트, 키보드 보안 모듈(110)이 키보드 보안 서비스를 시작하면(S320), 키보드 보안 서버(120)의 일회용 키 생성부(121) 및 키보드 보안 모듈(110)의 일회용 키 생성부(111)가 상기 시드값을 기준으로 시간 동기화를 통해 키보드 스캔코드(SC)의 암호를 위한 일회용 키(OTK)를 생성한다(S330).
그리고, 사용자가 키보드를 통해 키를 입력하면, 키보드 보안 모듈(110)의 키보드 스캔코드 처리부(111)는 감지된 키에 대한 키보드 스캔코드(SC)를 수신하여 저장한다(S340).
그러면, 키보드 보안 모듈(110)의 키보드 스캔코드 암호화부(113)는 단계 S340에서 수신된 스캔코드(SC)를 단계 S330에서 생성한 일회용 키(OTK)를 이용하여 암호화(EOTK(SC))하여 암호문(C)을 생성하고 이를 서버(120)로 전송한다(S350).
마지막으로, 암호문(C)을 수신 받은 키보드 보안 서버(120)의 키보드 스캔코드 복호화부(122)는 수신된 암호문(C)을 생성한 일회용 키(OTK)를 이용하여 복호화하여 사용자가 키보드로 입력한 키보드 스캔코드(SC)를 추출할 수 있다(S360).
도 4는 본 발명의 다른 실시예에 따라 키보드를 통해 입력된 데이터를 보호하기 위한 과정을 개략적으로 나타낸 흐름도이다.
도 4를 참조하면, 클라이언트 단말(220), 키보드 보안 모듈(210)이 키보드 보안 서비스를 시작하면(S410), 클라이언트 단말(220)의 일회용 키 생성부(221)가 키보드 스캔코드(SC)의 암호를 위한 일회용 키(OTK)를 생성한다(S420).
그리고, 일회용 키 생성부(221)는 단계 S420에서 생성한 일회용 키(OTK)를 키보드 보안 모듈(210)의 일회용 키 수신부(212)로 전송한다(S430).
그리고, 사용자가 키보드를 통해 키를 입력하면, 키보드 보안 모듈(210)의 키보드 스캔코드 처리부(211)는 감지된 키에 대한 키보드 스캔코드(SC)를 수신하여 저장한다(S440).
그러면, 키보드 보안 모듈(210)의 키보드 스캔코드 암호화부(213)는 단계 S440에서 수신된 스캔코드(SC)를 단계 S430에서 수신한 일회용 키(OTK)를 이용하여 암호화(EOTK(SC))하여 암호문(C)을 생성하고 이를 클라이언트 단말(220)로 전송한다(S450).
마지막으로, 암호문(C)을 수신 받은 클라이언트 단말(220)의 키보드 스캔코드 복호화부(222)는 수신된 암호문(C)을 생성한 일회용 키(OTK)를 이용하여 복호화하여 사용자가 키보드로 입력한 키보드 스캔코드(SC)를 추출할 수 있다(S460).
상기한 시스템들 및 방법들에서, 침해자가 채널을 도청하여 암호문을 가로채게 되더라도 침해자가 복호 알고리즘 및 키를 알지 못한다면 암호문으로부터 평문을 얻을 수 없게 되어 데이터에 대한 프라이버시를 보증할 수 있게 된다. 특히, 본 발명의 실시예들은 무작위로 생성된 일회용 키(OTK)를 키를 생성하기 위한 정보로 활용하여 데이터를 암/복호화하기 때문에 키보드 스캔코드의 값이 무작위로 바뀔 수 있다는 데 차별성이 있으며, 이에 따라 상기에 서술된 종래 시스템들의 취약점을 보완하는 강인한 시스템을 구성한다.
이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다.
100 : 키보드 보안 시스템
110 : 키보드 보안 모듈
111 : 키보드 스캔코드 처리부
112 : 일회용 키 생성부
113 : 키보드 스캔코드 암호화부
120 : 키보드 보안 서버
121 : 일회용 키 생성부
122 : 키보드 스캔코드 복호화부

Claims (4)

  1. 오프라인으로 시드값(seed value)을 공유하는 키보드 보안 모듈 및 키보드 보안 서버를 포함하고,
    상기 키보드 보안 모듈은:
    키보드에 있는 복수의 키 스위치의 On/Off를 감지하고 신호 라인을 통하여 감지된 상기 키에 대한 키보드 스캔코드(scan code)를 수신하는 키보드 스캔코드 처리부,
    상기 시드값을 기준으로 해쉬 함수를 이용하여 시간 동기화를 통해 정해진 시간 간격마다 변하는 일회용 키(one time key)를 생성하는 일회용 키 생성부, 그리고
    수신된 상기 키보드 스캔코드를 생성한 일회용 키를 이용하여 암호화하여 암호문을 생성하고, 상기 암호문을 상기 키보드 보안 서버로 전송하는 키보드 스캔코드 암호화부
    를 포함하고,
    상기 키보드 보안 서버는:
    상기 시드값을 기준으로 해쉬 함수를 이용하여 시간 동기화를 통해 정해진 시간 간격마다 변하는 일회용 키를 생성하는 일회용 키 생성부, 그리고
    상기 키보드 스캔코드 암호화부로부터 수신된 상기 암호문을 상기 키보드 보안 서버의 상기 일회용 키 생성부에서 생성한 상기 일회용 키를 이용하여 복호화하여 상기 키보드 스캔코드를 추출하는 키보드 스캔코드 복호화부
    포함하는
    키보드 보안 시스템.
  2. 일회용 키를 서로 공유하는 키보드 보안 모듈과 클라이언트 단말
    을 포함하고,
    상기 키보드 보안 모듈은:
    키보드에 있는 복수의 키 스위치의 On/Off를 감지하고 신호 라인을 통하여 상기 감지된 키에 대한 키보드 스캔코드를 수신하는 키보드 스캔코드 처리부,
    상기 클라이언트 단말로부터 전송되는 일회용 키를 수신 받는 일회용 키 수신부, 그리고
    수신한 일회용 키를 이용하여 상기 키보드 스캔코드를 암호화하여 암호문을 생성하고, 상기 암호문을 상기 클라이언트 단말로 전송하는 키보드 스캔코드 암호화부
    를 포함하고,
    상기 클라이언트 단말은:
    일정한 시드값을 기준으로 해쉬 함수를 이용하여 일회용 키를 생성하고 Ox60 포트를 이용하여 생성된 일회용 키를 상기 일회용 키 수신부로 전송하는 일회용 키 생성부, 그리고
    상기 키보드 스캔코드 암호화부로부터 수신된 상기 암호문을 생성한 상기 일회용 키를 이용하여 복호화하여 상기 키보드 스캔코드를 추출하는 키보드 스캔코드 복호화부
    를 포함하는
    키보드 보안 시스템.
  3. 키보드 보안 모듈과 키보드 보안 서버가 오프라인으로 시드값을 공유하는 단계,
    상기 키보드 보안 모듈과 상기 키보드 보안 서버가 상기 시드값을 기준으로 해쉬 함수를 이용하여 시간 동기화를 통해 정해진 시간 간격마다 변하는 일회용 키를 각각 생성하는 단계,
    사용자가 키보드를 통해 키를 입력하면, 상기 키보드 보안 모듈은 상기 키보드에 있는 복수의 키 스위치의 On/Off를 감지하고 신호 라인을 통하여 감지된 상기 키에 대한 키보드 스캔코드를 수신하는 단계,
    상기 키보드 보안 모듈은 수신된 상기 스캔코드를 상기 키보드 보안 모듈에서 생성된 상기 일회용 키를 이용하여 암호화하고 암호문을 생성하고 생성된 상기 암호문을 상기 키보드 보안 서버로 전송하는 단계, 그리고
    상기 키보드 보안 서버는 수신된 상기 암호문을 상기 키보드 보안 서버에서 생성된 상기 일회용 키를 이용하여 복호화하여 상기 스캔코드를 추출하는 단계
    를 포함하는 키보드 보안 방법.
  4. 클라이언트 단말이 일정한 시드값을 기준으로 해쉬 함수를 이용하여 일회용 키를 생성하는 단계,
    상기 클라이언트 단말은 생성된 상기 일회용 키를 Ox60 포트를 이용하여 키보드 보안 모듈로 전송하여 상기 키보드 보안 모듈과 상기 일회용 키를 공유하도록 하는 단계,
    상기 키보드 보안 모듈은 사용자가 키보드를 통해 키를 입력하면 상기 키보드에 있는 복수의 키 스위치의 On/Off를 감지하고 신호 라인을 통하여 감지된 상기 키에 대한 키보드 스캔코드를 수신하는 단계,
    상기 키보드 보안 모듈은 수신된 상기 스캔코드를 상기 클라이언트 단말로부터 수신한 상기 일회용 키를 이용하여 암호화하여 암호문을 생성하고 생성된 상기 암호문을 상기 클라이언트 단말로 전송하는 단계, 그리고
    상기 클라이언트 단말은 수신된 상기 암호문을 상기 클라이언트 단말이 생성한 상기 일회용 키를 이용하여 복호화하여 상기 스캔코드를 추출하는 단계
    를 포함하는 키보드 보안 방법.
KR1020160006675A 2016-01-19 2016-01-19 일회용 키를 이용하여 키보드를 통해 입력된 데이터를 보호하기 위한 키보드 보안 시스템 및 방법 KR101754519B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160006675A KR101754519B1 (ko) 2016-01-19 2016-01-19 일회용 키를 이용하여 키보드를 통해 입력된 데이터를 보호하기 위한 키보드 보안 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160006675A KR101754519B1 (ko) 2016-01-19 2016-01-19 일회용 키를 이용하여 키보드를 통해 입력된 데이터를 보호하기 위한 키보드 보안 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101754519B1 true KR101754519B1 (ko) 2017-07-07

Family

ID=59353742

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160006675A KR101754519B1 (ko) 2016-01-19 2016-01-19 일회용 키를 이용하여 키보드를 통해 입력된 데이터를 보호하기 위한 키보드 보안 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101754519B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101977159B1 (ko) * 2018-12-28 2019-06-21 (주)그린아이티코리아 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치 및 방법
KR102030045B1 (ko) * 2019-04-30 2019-10-08 (주)그린아이티코리아 경량화된 보안 방식을 지원하는 영상 감시 시스템 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101027228B1 (ko) 2010-11-30 2011-04-07 홍승의 인터넷 보안을 위한 본인인증 장치, 그 방법 및 이를 기록한 기록매체

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101027228B1 (ko) 2010-11-30 2011-04-07 홍승의 인터넷 보안을 위한 본인인증 장치, 그 방법 및 이를 기록한 기록매체

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101977159B1 (ko) * 2018-12-28 2019-06-21 (주)그린아이티코리아 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치 및 방법
KR102030045B1 (ko) * 2019-04-30 2019-10-08 (주)그린아이티코리아 경량화된 보안 방식을 지원하는 영상 감시 시스템 및 방법

Similar Documents

Publication Publication Date Title
JP5981610B2 (ja) 電子取引用のネットワーク認証方法
Yeh et al. A secure one-time password authentication scheme using smart cards
EP3175380B1 (en) System and method for implementing a one-time-password using asymmetric cryptography
EP2991267B1 (en) Apparatus for providing puf-based hardware otp and method for authenticating 2-factor using same
Peotta et al. A formal classification of internet banking attacks and vulnerabilities
US8868927B1 (en) Method and apparatus for secure data input and output
Nyang et al. Keylogging-resistant visual authentication protocols
WO2018231697A1 (en) Securitization of temporal digital communications with authentication and validation of user and access devices
JP6911122B2 (ja) 端末の攻撃警告メッセージログを取得する権限付与方法およびシステム
CN110059458B (zh) 一种用户口令加密认证方法、装置及系统
US20100195825A1 (en) Keystroke encryption system
KR20130131682A (ko) 웹 서비스 사용자 인증 방법
KR100860573B1 (ko) 사용자 인증 방법
KR20080101333A (ko) 가상키보드를 이용한 보안방법
CN111464532A (zh) 信息加密方法及系统
CN108401494B (zh) 一种传输数据的方法及系统
Choi et al. A secure OTP algorithm using a smartphone application
KR101754519B1 (ko) 일회용 키를 이용하여 키보드를 통해 입력된 데이터를 보호하기 위한 키보드 보안 시스템 및 방법
WO2007001237A2 (en) Encryption system for confidential data transmission
Latze Stronger Authentication in E-Commerce-How to protect even naıve Users against Phishing, Pharming, and MITM attacks
KR101318668B1 (ko) 정보 보안 기능을 갖는 휴대용 저장장치
KR102308248B1 (ko) 양자난수 기반의 양자암호화칩이 탑재된 비화게이트웨이 및 이를 이용한 IoT디바이스간 비화통신 서비스 제공방법
Nwogu Improving the security of the internet banking system using three-level security implementation
Han et al. Scalable and secure virtualization of HSM with ScaleTrust
KR101947408B1 (ko) PUF 기반 하드웨어 OTP 제공 장치 및 이를 이용한 2-Factor 인증 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant