[go: up one dir, main page]

KR100734145B1 - 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법 - Google Patents

키보드 데이터 인증을 이용한 키 입력 도용 방지 방법 Download PDF

Info

Publication number
KR100734145B1
KR100734145B1 KR1020050096023A KR20050096023A KR100734145B1 KR 100734145 B1 KR100734145 B1 KR 100734145B1 KR 1020050096023 A KR1020050096023 A KR 1020050096023A KR 20050096023 A KR20050096023 A KR 20050096023A KR 100734145 B1 KR100734145 B1 KR 100734145B1
Authority
KR
South Korea
Prior art keywords
data
keyboard
key
device driver
seed
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
KR1020050096023A
Other languages
English (en)
Other versions
KR20070040539A (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 KR1020050096023A priority Critical patent/KR100734145B1/ko
Priority to US11/913,898 priority patent/US8230514B2/en
Priority to PCT/KR2006/003921 priority patent/WO2007043761A1/en
Publication of KR20070040539A publication Critical patent/KR20070040539A/ko
Application granted granted Critical
Publication of KR100734145B1 publication Critical patent/KR100734145B1/ko
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

키보드 데이터 인증을 이용한 키 입력 도용 방지 방법이 개시되어 있다. 본 발명은, A) 해킹 보호 대상인 어플리케이션 프로그램에서 키 입력 준비 신호가 발생되면 씨드(Seed) 및 해시 카운터(Hash Counter)를 생성하여 프로그램이 디바이스 드라이버(Device Driver)로 전송하는 단계와; B) 상기 디바이스 드라이버에서 상기 씨드 및 상기 해시 카운터를 기반으로 임의의 제1 키 데이터를 생성하거나 또는 외부로부터 발생된 키보드 인터럽트에 의해 키보드 데이터를 생성하는 단계와; C) 상기 어플리케이션 프로그램이 상기 디바이스 드라이버로부터 상기 제1 키 데이터 또는 상기 키보드 데이터에 상응하는 키보드 이벤트 데이터를 수신하는 경우, 상기 씨드 및 상기 해시 카운터를 이용하여 임의의 제2 키 데이터를 생성하는 단계와; D) 상기 키보드 이벤트 데이터 및 상기 제2 키 데이터를 비교하는 단계와; E) 상기 비교 결과, 상기 키보드 이벤트 데이터 및 상기 제2 키 데이터가 동일하지 않은 경우, 상기 키보드 이벤트 데이터를 키보드 입력으로써 수용하는 단계를 포함한다.
키보드 데이터, 인증, 해킹

Description

키보드 데이터 인증을 이용한 키 입력 도용 방지 방법{METHOD OF PROTECTING HACKING OF A KEY INPUT BY USING AUTHORIZATION OF KEYBOARD DATA}
도 1은 종래의 키 로거로부터 키 입력 도용을 방지하기 위한 구성도이다.
도 2는 본 발명의 일 실시 예에 따라 키 입력 도용을 방지하기 위한 구성도이다.
도 3은 본 발명의 일 실시 예에 따른 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법을 설명하기 위한 순서도이다.
<도면의 주요 부분에 대한 부호의 설명>
100 : 유저 레벨
200 : 커널 레벨
본 발명은 키보드로부터 발생되는 데이터가 유출되는 것을 방지하는 방법에 관한 것으로, 보다 상세하게는, 키보드로부터 발생되는 데이터에 인증을 수행함으로써 인증된 키보드 데이터 만을 추출하여 정상 데이터로써 사용하기 위한 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법에 관한 것이다.
일반적으로 사용자 몰래 시스템에 설치되어 사용자가 입력하는 키 입력 정보를 몰래 빼 가는 프로그램을 키 로거(Key Logger)라고 부른다. 상기 키 로거들은 트로이목마 형태로 동작하여 사용자의 컴퓨터로부터 빼낸 사용자 정보를 네트워크를 통해 해당 키 로거를 설치한 사람에게 전달한다. 이렇게 빼낸 사용자 정보를 이용하여 인터넷 뱅킹을 통해 타인의 돈을 유출하거나 온라인 게임에서 사용하는 아이디와 패스워드를 다른 사람에게 판매하는 등 많은 범죄에 사용되고 있는 실정이다.
이러한 키 로거를 막기위해 많은 안티 키 로거(Anti Key Logger) 프로그램들이 만들어지고 있는데 이들의 목적은 키 로거가 키 입력 정보를 아예 가져가지 못하도록 함으로써 사용자가 입력하는 키보드 입력 데이터를 보호하는데 있다. 이를 위해 가상키보드를 이용하여 키보드 입력대신 마우스 입력을 이용하도록 하든지 키보드 관련 디바이스 드라이버를 만들어 하드웨어로부터 온 키보드 정보를 암호화하여 응용프로그램과 직접 통신하도록 하든지 아예 보안장치가 내장되어 있는 실제 키보드를 만드는 등의 작업을 통해 키 로거로부터 키보드 입력 데이터를 보호하고 있다.
그 중 키보드 관련 디바이스 드라이버를 만들어 하드웨어로부터 온 키보드 정보를 암호화하여 응용 프로그램과 직접 통신하는 방법은 가장 많이 사용되는 방법으로 디바이스 드라이버를 만들어 디바이스 드라이버 레이어에 삽입한 후 자신에게 제어가 올 때 상위 레이어의 디바이스 드라이버에게 제어를 넘기지 않고 바로 응용프로그램에게 전달하는 방식을 취함으로써 키 로거가 키 데이터를 가로채지 못 하도록 하고 있다. 그러나 나중에 설치되는 디바이스 드라이버가 더 낮은 레이어에 위치할 수 있으므로 만약 안티 키 로거 디바이스 드라이버보다 키 로거 디바이스 드라이버가 더 낮은 레이어에 들어간다면 안티 키 로거는 입력된 키 데이터에 대해 보호를 수행할 수 없게 된다.
그래서 현재의 안티 키 로거들은 키 로거보다 더 하위에 위치하기 위해 IDT를 후킹하는 방식을 사용하여 자신들의 ISR에서 가장 먼저 제어를 받아 보호를 수행하도록 하고 있다. 하지만 이 방법도 일반적인 후킹 기술이 가진 한계점인 훅 체인(Hook Chain)이 형성된다는 문제와 그 체인이 깨졌을 때 시스템이 정상 동작 하지 않는 다는 단점을 가지고 있다.
또한, 도 1을 참조하여 안티 키 로거가 키 로거보다 더 하위에 위치하여 동작하는 바를 설명하면, 상기 키 로거(Key Logger; 20)가 안티 키 로거보다 더 하위에 위치하여 키보드(10)에 의해 인터럽트가 발생되면 원본 ISR(Interrupt Service Routine) 대신, 상기 키 로거(20)가 설치한키 로거 ISR(30)로 제어가 넘어오게 되고 상기 키 로거 ISR(30)은 후킹한 키보드 데이터(60)를 소정의 서버(70)로 넘기게 된다.
따라서, 키보드 디바이스 드라이버 레이어(40)에 구현된 안티 키 로거가 제어를 받기 전에 키 로거(20)가 먼저 제어를 받기 때문에 안티 키 로거에서는 아무런 보호도 수행할 수 없다는 치명적인 한계점을 가지고 있다.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명의 목적은 키보 드 데이터에 인증 정보를 포함시켜 조건을 만족하는 경우에만 실제 입력된 키보드 데이터로써 인식하도록 구현된 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 제 1 관점에 따른 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법은,
A) 해킹 보호 대상인 어플리케이션 프로그램에서 키 입력 준비 신호가 발생되면 씨드(Seed) 및 해시 카운터(Hash Counter)를 생성하여 디바이스 드라이버(Device Driver)로 전송하는 단계;
B) 상기 디바이스 드라이버에서 상기 씨드 및 상기 해시 카운터를 기반으로 임의의 제1 키 데이터를 생성하거나 또는 외부로부터 발생된 키보드 인터럽트에 의해 키보드 데이터를 생성하는 단계;
C) 상기 어플리케이션 프로그램이 상기 디바이스 드라이버로부터 상기 제1 키 데이터 또는 상기 키보드 데이터에 상응하는 키보드 이벤트 데이터를 수신하는 경우, 상기 씨드 및 상기 해시 카운터를 이용하여 임의의 제2 키 데이터를 생성하는 단계;
D) 상기 키보드 이벤트 데이터 및 상기 제2 키 데이터를 비교하는 단계; 및
E) 상기 비교 결과, 상기 키보드 이벤트 데이터 및 상기 제2 키 데이터가 동일하지 않은 경우, 상기 키보드 이벤트 데이터를 상기 키보드 데이터로써 수용하는 단계를 포함한다.
상기 목적을 달성하기 위한 본 발명의 제 2 관점에 따라, 가) 해킹 보호 대상인 어플리케이션 프로그램에서 키 입력 준비 신호가 발생되면 씨드(Seed) 및 해시 카운터(Hash Counter)를 생성하여 상기 어플리케이션 프로그램이 암호화된 세션(Session)을 통해 디바이스 드라이버(Device Driver)로 전송하는 단계;
나) 상기 디바이스 드라이버에서 상기 씨드 및 상기 해시 카운터를 기반으로 임의의 제1 키 데이터를 생성하거나 또는 외부로부터 발생된 키보드 인터럽트에 의해 키보드 데이터를 생성하는 단계;
다) 상기 어플리케이션 프로그램이 상기 디바이스 드라이버로부터 상기 제1 키 데이터 또는 상기 키보드 데이터에 상응하는 키보드 이벤트 데이터를 수신하는 경우, 상기 씨드 및 상기 해시 카운터를 이용하여 임의의 제2 키 데이터를 생성하는 단계;
라) 상기 키보드 이벤트 데이터 및 상기 제2 키 데이터를 비교하는 단계; 및
마) 상기 비교 결과, 상기 키보드 이벤트 데이터 및 상기 제2 키 데이터가 동일하지 않은 경우, 상기 키보드 이벤트 데이터를 키보드 입력으로써 수용하는 단계를 수행하기 위해 컴퓨터로 재생 가능한 기록 매체를 특징으로 한다.
따라서 본 발명에 의하면, 키 로거가 키보드 데이터를 해킹하더라도 실제 키보드 데이터를 추출할 수 없다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 설명한다.
도 2는 본 발명의 일 실시 예에 따라 키 입력 도용을 방지하기 위한 구성도 이다.
컴퓨터 시스템은 유저 레벨(User Level; 100) 및 커널 레벨(Kernel Level; 200)로 구성되어 있다.
커널 레넬(200)은 키보드(230)와 같은 하드웨어를 직접 제어하기 위한 영역으로, 디바이스 드라이버(210)가 외부 장치로부터 입력을 제어하여 유저 레벨(100)로 제공한다.
즉, 외부 장치인 키보드(230)에서 키보드 데이터가 입력되면 인터럽트가 발생되고, 사용자가 입력한 키보드 데이터에 상응하는 데이터가 버퍼(240)로부터 추출되어 키보드 디바이스 드라이버 레이어(250)로 전송된다. 상기 키보드 디바이스 드라이버 레이어(250)의 각 레이어에서 키보드 디바이스에서 필요한 작업을 수행한 다음 윈도우 메시지 형태로 변환된 후 유저 레벨(100)로 전달되는데 이 때 키보드 데이터가 생성된다.
또한, 상기 커널 레벨(200)의 디바이스 드라이버(210)는 유저 레벨(100)의 어플리케이션 프로그램(110)로부터 씨드(Seed) 및 해시 카운터(Hash Counter)를 수신하여 임의의 제1 키 데이터를 생성한다.
상기 버퍼(240)는 상기 키보드(230) 또는 상기 디바이스 드라이버(210)로부터 입력되는 인터럽트에 상응한 데이터가 저장되고, 그 버퍼(240)로부터 상기 키보드 데이터 또는 상기 제1 키 데이터가 추출되어 상기 키보드 디바이스 드라이버 레이어(250)로 전송된다.
유저 레벨(100)은 키보드로부터 입력되는 키보드 데이터를 보호하기 위한 어 플리케이션 프로그램(110)이 실행되는 영역이다. 또한, 상기 어플리케이션 프로그램(110)은 씨드 및 해시 카운터를 생성하여 상기 커널 레벨(200)의 디바이스 드라이버(210)로 전송하며, 동시에 상기 씨드 및 해시 카운터를 기반으로 제2 키 데이터를 생성한다.
이때, 상기 키보드(230)에서 입력되는 키보드 데이터 또는 디바이스 드라이버(210)로부터 생성된 제1 키 데이터가 윈도우 메시지 형태로 전송되는데, 커서의 포커스를 가지고 있는 편집 박스 창의 메시지 큐(130)에 전달되면, 편집 박스 창의 메시지 핸들러는 상기 키보드 데이터 또는 제1 키 데이터를 각각 제2 키 데이터와 비교한다. 상기 어플리케이션 프로그램(11)에 상기 키보드 데이터가 입력되면 상기 제2 키 데이터와 일치하지 않게 되며, 상기 제1 키 데이터가 입력되면 동일한 씨드 및 해시 카운터를 기반으로 생성된 상기 제2 키 데이터와 일치하게 된다. 따라서, 상기 어플리케이션 프로그램(110)은 상기 키보드 데이터가 입력되는 경우 즉, 입력되는 키보드 이벤트 데이터와 제2 키 데이터를 비교한 결과 일치하지 않는 경우에만, 상기 메시지 큐(130)에서 메시지를 추출하여 해당되는 메시지와 일치하는 글자를 편집 박스에 그려줌으로써 화면상에 사용자가 입력한 문자가 디스플레이 된다.
상술한 바와 같이 구성된 본 발명의 작동 상태에 대하여 설명한다.
도 3은 본 발명의 일 실시 예에 따른 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법을 설명하기 위한 순서도이다.
컴퓨터 시스템에서 실행되며 보호 대상인 소정의 어플리케이션 프로그램(Application Program; 110), 예컨대 인터넷에 연결된 상태에서 구현되는 실행 프 로그램에 데이터를 입력하기 위한 편집 박스(Edit Box)에 커서의 포커스(Focus)가 가면 소정의 준비 신호가 발생되어 상기 어플리케이션 프로그램(110)으로 입력되는데, 상기 소정의 준비 신호는 키보드 데이터가 입력될 것임을 알리는 신호이다(S300).
상기 준비 신호에 따라 어플리케이션 프로그램(110)은 씨드(Seed) 및 해시 카운터(Hash Counter)를 생성하고, 커널 레벨(Kernel Level; 200)의 디바이스 드라이버(Device Driver; 210)와 암호화된 비밀 통신을 수행함으로써 상기 씨드 및 해시 카운터를 공유한다(S310). 상기 씨드 및 해시 카운터는 랜덤(Random)하게 생성되는 값으로써 OTP(One Time Password; 이하 일회용 패스워드라 한다)를 생성하기 위한 소정의 알고리즘에 사용된다. 또한, 상기 어플리케이션 프로그램(110) 및 상기 디바이스 드라이버(210) 사이에 암호화된 세션(Session)이 형성되어 상기 암호화된 세션을 통해 상기 씨드 및 해시 카운터를 전송한다.
상기 어플리케이션 프로그램(110)은 상기 디바이스 드라이버(210)로 상기 씨드 및 해시 카운터를 이용하여 임의의 키보드 데이터를 발생시키라는 요청 메시지를 전송하며, 상기 요청 메시지에 따라 상기 디바이스 드라이버(210)는 상기 씨드 및 해시 카운터를 이용하여 상기 소정의 알고리즘에 따른 일회용 패스워드를 생성한다. 이때 상기 디바이스 드라이버(210)와 상기 어플리케이션 프로그램(110)은 상기 씨드 및 해시 카운터를 보호하기 위해 중간키(Intermediate Key) 형태로 변환시켜 저장하고 실제 필요한 순간에만 최종키(Final Key)로 변환하여 사용하게 된다.
상기 디바이스 드라이버(210)에서 각각 생성된 일회용 패스워드는 모듈러 (Modular) 연산을 통해 상기 어플리케이션프로그램(110) 및 상기 디바이스 드라이버(210)에서 공유하는 키보드 맵핑 테이블의 하나의 데이터로 맵핑이 되고 맵핑된 제1 키 데이터를 임의로 발생시키게 된다(S320).
상기 발생된 제1 키 데이터는 키보드(230)에서 발생시키는 것과 동일한 인터럽트를 발생시키고, 해당 인터럽트를 처리하기 위하여 소정 칩(CHIP) 안의 버퍼(240)로부터 데이터가 추출되어 상기 데이터와 연관된 디바이스 드라이버 레이어(Device Driver Layer; 250)를 통해 유저 레벨(User Level; 100)의 어플리케이션 프로그램(110)으로 전송한다(S330).
이 때, 상기 어플리케이션 프로그램(110)의 요청에 의해 발생되는 키보드 데이터를 제1 키 데이터라 하고, 키보드(230)에서 발생된 실제 데이터를 키보드 데이터라 한다.
부언하면, 상기 디바이스 드라이버 레이어(250)의 키보드 디바이스 드라이버에서는 상기 제1 키 데이터 및 상기 키보드 데이터에 각각 필요한 작업을 수행한 다음 바로 위의 디바이스 드라이버로 제어를 넘기는 방법으로 동작한다. 그러면, 모든 디바이스 드라이버의 레이어를 순차적으로 통과하게 되는데, 마지막 레이어를 통과하면 유저 레벨의 윈도우 메시지(Window Message) 형태로 변환된다. 변환된 윈도우 메시지는 커서의 포커스를 갖고 있는 편집 박스의 윈도우 메시지 큐(Message Queue)에 전달된다.
상기 어플리케이션 프로그램(110)은 상기 제1 키 데이터 또는 상기 키보드 데이터로 인하여 발생된 상기 메시지 형태의 키보드 이벤트 데이터를 수신하면 상 기 디바이스 드라이버(210)와 공유하는 씨드 및 해시 카운터를 이용하여 소정의 알고리즘에 따른 일회용 패스워드를 생성하고 모듈러 연산을 통해 키보드 맵핑 테이블에 있는 데이터로 변환함으로써 제2 키 데이터를 생성한다(S340).
상기 제1 키 데이터 또는 상기 키보드 데이터에 의한 상기 키보드 이벤트데이터와 상기 제2 키 데이터를 비교하여 동일한 경우, 이는 상기 어플리케이션 프로그램의 요청에 의해 임의로 생성된 키보드 데이터이므로 삭제한다(S350, S370). 부언하면, 상기 제2 키 데이터와 비교되는 대상 데이터가 제1 키 데이터인 경우에는 제2 키 데이터와 동일하고, 상기 대상 데이터가 키보드 데이터인 경우에는 상기 제2 키 데이터와 상이하게 된다.
그 후, 상기 어플리케이션 프로그램(110)은 다시 상기 디바이스 드라이버(210)로 새로운 일회용 패스워드에 맵핑되는 키보드 데이터를 발생시키도록 요청한다. 이 때, 상기 해시 카운터가 1이 아닌 경우, 상기 해시 카운터를 하나 줄여 새로운 일회용 패스워드에 맵핑되는 키를 발생시킨다(S380, S390). 이 과정은 해시 카운터가 1이 될때까지 반복하게 되고 해시 카운터가 1이 되면 상기 어플리케이션 프로그램(110)은 새로운 씨드 및 해시 카운터를 생성하여 디바이스 드라이버(210)로 전송한다.
상기 단계 S350에서 상기 키보드 이벤트 데이터 및 제2 키 데이터가 동일하지 않은 경우에는 상기 키보드 이벤트 데이터가 상기 어플리케이션 프로그램(110)의 요청에 의해 임의로 생성된 키보드 데이터가 아니므로, 상기 키보드 데이터를 수용한다(S360). 그 후, 단계 S350을 수행한다.
또한, 상기 방법은, 커서의 포커스(Focus)가 상기 보호 대상인 소정의 어플리케이션 프로그램(110)에서 다른 비보호 대상인 어플리케이션 프로그램으로 이동하는 경우에는 상술한 플로우(Flow)를 종료한다(S395). 그러나, 상기 커서의 포커스가 이동하지 않은 경우에는 단계 S320을 수행한다.
따라서, 상술한 과정 중에 만약 키 로거가 개입된다 하더라도 키 로거에서는 임으로 생성한 키보드 데이터와 사용자가 실제 입력한 키보드 데이터가 섞여 있는 형태로 로그가 남기 때문에 실제 사용자가 입력한 키보드 데이터를 추출 할 수 없게 되는 것이다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체, 예컨대 씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등에 저장될 수 있다.
이상에서 상세히 설명한 바와 같이, 본 발명의 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법에 의하면, 키 로거가 키를 가로채지 못하도록 하는 것이 아니라 의미없는 키를 가져가도록 하는 방법이기 때문에 현재 사용되고 있는 안티 키 로거들이 가진 기술적 한계를 뛰어넘게 되고 만약 악의적인 사용자에 의해 내부동작방식이 노출되더라도 소정의 알고리즘 방식의 일회용 패스워드는 실제로 사용된 랜덤한 씨드와 해시 카운터를 알아내지 못한다면 수집된 키보드 데이터 정보만 가지고서는 실제 데이터를 추출해 내지 못한다는 장점을 가지고 있다. 또한 씨드와 해시 카운터를 메모리에 저장하고 있을 때 중간키 형태로 저장하고 실제 필요한 순간에만 최종키로 변화시켜 사용한 후 다시 중간키 형태로 변화시킴으로써 메모리 검색을 통해 해당 데이터를 빼내가는 것을 막을 수 있다.
지금까지 본 발명을 바람직한 실시예를 참조하여 상세히 설명하였지만,본 발명이 상기한 실시예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.

Claims (9)

  1. A) 해킹 보호 대상인 어플리케이션 프로그램에서 키 입력 준비 신호가 발생되면 씨드(Seed) 및 해시 카운터(Hash Counter)를 생성하여 디바이스 드라이버(Device Driver)로 전송하는 단계;
    B) 상기 디바이스 드라이버에서 상기 씨드 및 상기 해시 카운터를 기반으로 임의의 제1 키 데이터를 생성하거나 또는 외부로부터 발생된 키보드 인터럽트에 의해 키보드 데이터를 생성하는 단계;
    C) 상기 어플리케이션 프로그램이 상기 디바이스 드라이버로부터 상기 제1 키 데이터 또는 상기 키보드 데이터에 상응하는 키보드 이벤트 데이터를 수신하는 경우, 상기 씨드 및 상기 해시 카운터를 이용하여 임의의 제2 키 데이터를 생성하는 단계;
    D) 상기 키보드 이벤트 데이터 및 상기 제2 키 데이터를 비교하는 단계; 및
    E) 상기 비교 결과, 상기 키보드 이벤트 데이터 및 상기 제2 키 데이터가 동일하지 않은 경우, 상기 키보드 이벤트 데이터를 상기 키보드 데이터로써 수용하는 단계를 포함하는 것을 특징으로 하는 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법.
  2. 제 1 항에 있어서, 상기 어플리케이션 프로그램은 상기 씨드 및 상기 해시 카운터를 암호화된 세션(Session)을 통해 상기 디바이스 드라이버로 전송하는 것을 특징으로 하는 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법.
  3. 제 1항 또는 제 2 항에 있어서, 상기 어플리케이션 프로그램 및 상기 디바이스 드라이버는 상기 씨드 및 상기 해시 카운터를 중간키(Intermediate Seed) 형태로 소정의 메모리에 저장하는 것을 특징으로 하는 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법.
  4. 제 1 항에 있어서,
    상기 디바이스 드라이버 및 상기 어플리케이션 프로그램에서 상기 제1 키 데이터 및 상기 제2 키 데이터를 각각 생성하는 방법은,
    상기 씨드 및 상기 해시 카운터를 기반으로 소정의 알고리즘에 따라 일회용 패스워드를 생성하는 단계; 및
    상기 일회용 패스워드를 모듈러(Modular) 연산을 통해 키보드 매핑 테이블의 하나의 데이터로 매핑시킴으로써 상기 제1 키 데이터 및 상기 제2 키 데이터를 발생시키는 단계를 포함하는 것을 특징으로 하는 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법.
  5. 제 4 항에 있어서, 상기 방법은,
    F) 상기 단계 D)에서의 비교 결과, 상기 키보드 이벤트 데이터 및 상기 제2 키 데이터가 동일한 경우, 상기 키보드 이벤트 데이터 및 상기 제2 데이터를 삭제하는 단계;
    G) 기 해시 카운터가 1이 아니면 상기 해시 카운터를 하나 감소시켜 상기 디바이스 드라이버로 전송하는 단계;
    H) 상기 디바이스 드라이버 및 상기 어플리케이션 프로그램은 각각 상기 감소된 해시 카운터 및 상기 씨드를 기반으로 상기 제1 키 데이터 및 상기 제2 키 데이터를 재 생성하는 단계; 및
    I) 상기 제1 키 데이터를 포함하는 상기 키보드 이벤트 데이터를 상기 어플리케이션 프로그램으로 전송하고, 상기 키보드 이벤트 데이터 및 상기 제2 키 데이터를 비교하여 상기 키보드 이벤트 데이터의 수용 또는 삭제 여부를 결정하는 단계를 더 포함하는 것을 특징으로 하는 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법.
  6. 제 5 항에 있어서, 상기 방법은,
    I) 상기 해시 카운터가 1인 경우, 상기 어플리케이션 프로그램은 임의의 씨드 및 임의의 해시 카운터를 생성하는 단계를 더 포함하는 것을 특징으로 하는 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법.
  7. 가) 해킹 보호 대상인 어플리케이션 프로그램에서 키 입력 준비 신호가 발생되면 씨드(Seed) 및 해시 카운터(Hash Counter)를 생성하여 상기 어플리케이션 프로그램이 암호화된 세션(Session)을 통해 디바이스 드라이버(Device Driver)로 전송하는 단계;
    나) 상기 디바이스 드라이버에서 상기 씨드 및 상기 해시 카운터를 기반으로 임의의 제1 키 데이터를 생성하거나 또는 외부로부터 발생된 키보드 인터럽트에 의 해 키보드 데이터를 생성하는 단계;
    다) 상기 어플리케이션 프로그램이 상기 디바이스 드라이버로부터 상기 제1 키 데이터 또는 상기 키보드 데이터에 상응하는 키보드 이벤트 데이터를 수신하는 경우, 상기 씨드 및 상기 해시 카운터를 이용하여 임의의 제2 키 데이터를 생성하는 단계;
    라) 상기 키보드 이벤트 데이터 및 상기 제2 키 데이터를 비교하는 단계; 및
    마) 상기 비교 결과, 상기 키보드 이벤트 데이터 및 상기 제2 키 데이터가 동일하지 않은 경우, 상기 키보드 이벤트 데이터를 키보드 입력으로써 수용하는 단계를 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  8. 제 7 항에 있어서,
    상기 디바이스 드라이버 및 상기 어플리케이션 프로그램에서 상기 제1 키 데이터 및 상기 제2 키 데이터를 각각 생성하는 방법은,
    상기 씨드 및 상기 해시 카운터를 기반으로 소정의 알고리즘에 따라 일회용 패스워드를 생성하는 단계; 및
    상기 일회용 패스워드를 모듈러(Modular) 연산을 통해 키보드 매핑 테이블의 하나의 데이터로 매핑시킴으로써 상기 제1 키 데이터 및 상기 제2 키 데이터를 발생시키는 단계를 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  9. 제 7 항에 있어서,
    바) 상기 단계 라)에서의 비교 결과, 상기 키보드 이벤트 데이터 및 상기 제2 키 데이터가 동일한 경우, 상기 키보드 이벤트 데이터 및 상기 제2 데이터를 삭제하는 단계;
    사) 상기 해시 카운터가 1이 아니면 상기 해시 카운터를 하나 감소시켜 상기 디바이스 드라이버로 전송하는 단계;
    아) 상기 디바이스 드라이버 및 상기 어플리케이션 프로그램은 각각 상기 감소된 해시 카운터 및 상기 씨드를 기반으로 상기 제1 키 데이터 및 상기 제2 키 데이터를 재 생성하는 단계; 및
    자) 상기 제1 키 데이터를 포함하는 상기 키보드 이벤트 데이터를 상기 어플리케이션 프로그램으로 전송하고, 상기 키보드 이벤트 데이터 및 상기 제2 키 데이터를 비교하여 상기 키보드 이벤트 데이터의 수용 또는 삭제 여부를 결정하는 단계를 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020050096023A 2005-10-12 2005-10-12 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법 Expired - Lifetime KR100734145B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020050096023A KR100734145B1 (ko) 2005-10-12 2005-10-12 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법
US11/913,898 US8230514B2 (en) 2005-10-12 2006-09-29 Method for preventing key logger from hacking data typed on keyboard through authorization of keyboard data
PCT/KR2006/003921 WO2007043761A1 (en) 2005-10-12 2006-09-29 Method for preventing key logger from hacking data typed on keyboard through authorization of keyboard data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050096023A KR100734145B1 (ko) 2005-10-12 2005-10-12 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법

Publications (2)

Publication Number Publication Date
KR20070040539A KR20070040539A (ko) 2007-04-17
KR100734145B1 true KR100734145B1 (ko) 2007-07-03

Family

ID=37942962

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050096023A Expired - Lifetime KR100734145B1 (ko) 2005-10-12 2005-10-12 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법

Country Status (3)

Country Link
US (1) US8230514B2 (ko)
KR (1) KR100734145B1 (ko)
WO (1) WO2007043761A1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9412123B2 (en) 2003-07-01 2016-08-09 The 41St Parameter, Inc. Keystroke analysis
US10999298B2 (en) 2004-03-02 2021-05-04 The 41St Parameter, Inc. Method and system for identifying users and detecting fraud by use of the internet
US8938671B2 (en) 2005-12-16 2015-01-20 The 41St Parameter, Inc. Methods and apparatus for securely displaying digital images
US11301585B2 (en) 2005-12-16 2022-04-12 The 41St Parameter, Inc. Methods and apparatus for securely displaying digital images
US8151327B2 (en) 2006-03-31 2012-04-03 The 41St Parameter, Inc. Systems and methods for detection of session tampering and fraud prevention
KR100846123B1 (ko) * 2006-10-24 2008-07-15 주식회사 하우리 키보드 보안 방법 및 상기 방법을 이용한 키보드 보안드라이버를 기록한 기록 매체
US8615662B2 (en) * 2007-01-31 2013-12-24 Microsoft Corporation Password authentication via a one-time keyboard map
US9292715B2 (en) * 2008-01-22 2016-03-22 Hewlett-Packard Development Company, L.P. Shared secret used between keyboard and application
US9596250B2 (en) 2009-04-22 2017-03-14 Trusted Knight Corporation System and method for protecting against point of sale malware using memory scraping
US8316445B2 (en) * 2008-04-23 2012-11-20 Trusted Knight Corporation System and method for protecting against malware utilizing key loggers
WO2010038913A1 (en) * 2008-10-02 2010-04-08 Softcamp Co., Ltd Preservation method about data in ie memory altered without leave
WO2010041257A1 (en) * 2008-10-10 2010-04-15 Safend Ltd. System and method for incapacitating a hardware keylogger
US9112850B1 (en) 2009-03-25 2015-08-18 The 41St Parameter, Inc. Systems and methods of sharing information through a tag-based consortium
JP4528866B1 (ja) * 2009-04-28 2010-08-25 株式会社東芝 電子機器
WO2012054646A2 (en) 2010-10-19 2012-04-26 The 41St Parameter, Inc. Variable risk engine
US20120124654A1 (en) * 2010-11-16 2012-05-17 Evolucard S/A System and method for a secure user interface
KR101219664B1 (ko) * 2011-03-15 2013-01-21 한국전자통신연구원 키보드 입력정보 암호화 장치 및 그 방법
US10754913B2 (en) 2011-11-15 2020-08-25 Tapad, Inc. System and method for analyzing user device information
US9633201B1 (en) 2012-03-01 2017-04-25 The 41St Parameter, Inc. Methods and systems for fraud containment
US9521551B2 (en) 2012-03-22 2016-12-13 The 41St Parameter, Inc. Methods and systems for persistent cross-application mobile device identification
US9245118B2 (en) 2012-07-18 2016-01-26 Infosys Limited Methods for identifying key logging activities with a portable device and devices thereof
EP2880619A1 (en) 2012-08-02 2015-06-10 The 41st Parameter, Inc. Systems and methods for accessing records via derivative locators
WO2014078569A1 (en) 2012-11-14 2014-05-22 The 41St Parameter, Inc. Systems and methods of global identification
US10902327B1 (en) 2013-08-30 2021-01-26 The 41St Parameter, Inc. System and method for device identification and uniqueness
US11165770B1 (en) * 2013-12-06 2021-11-02 A10 Networks, Inc. Biometric verification of a human internet user
US10091312B1 (en) 2014-10-14 2018-10-02 The 41St Parameter, Inc. Data structures for intelligently resolving deterministic and probabilistic device identifiers to device profiles and/or groups
US9768959B2 (en) 2014-10-27 2017-09-19 Acxiom Corporation Computer security system and method to protect against keystroke logging
US9984247B2 (en) 2015-11-19 2018-05-29 International Business Machines Corporation Password theft protection for controlling access to computer software
US11164206B2 (en) * 2018-11-16 2021-11-02 Comenity Llc Automatically aggregating, evaluating, and providing a contextually relevant offer

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020048313A (ko) * 2002-03-07 2002-06-22 최동성 키보드 해킹 방지 방법
KR20040009575A (ko) * 2002-07-24 2004-01-31 주식회사 잉카인터넷 키 스트록 데이터의 해킹 방지 방법 및 이를 기록한컴퓨터로 읽을 수 있는 기록매체
US20040230805A1 (en) 2003-05-02 2004-11-18 Marcus Peinado Secure communication with a keyboard or related device
KR20060093932A (ko) * 2005-02-23 2006-08-28 제이알소프트 주식회사 윈도우즈 운영체제에서 보안 입력 필터 드라이버와 인터넷익스플로러 내부의 키보드 보안 입력 비에이치오를 통한 인터넷 익스플로러 사용자의 키보드 입력 정보 해킹 방지 방법

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138239A (en) * 1998-11-13 2000-10-24 N★Able Technologies, Inc. Method and system for authenticating and utilizing secure resources in a computer system
KR20010011667A (ko) * 1999-07-29 2001-02-15 이종우 보안 기능을 갖는 키보드 및 이를 이용한 시스템
US20040034794A1 (en) * 2000-05-28 2004-02-19 Yaron Mayer System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
US6907533B2 (en) * 2000-07-14 2005-06-14 Symantec Corporation System and method for computer security using multiple cages
US20020162017A1 (en) * 2000-07-14 2002-10-31 Stephen Sorkin System and method for analyzing logfiles
US20090254994A1 (en) * 2002-02-18 2009-10-08 David Lynch Waterson Security methods and systems
US7779062B2 (en) * 2004-08-18 2010-08-17 Ripple Effects Holdings Limited System for preventing keystroke logging software from accessing or identifying keystrokes
US20030159053A1 (en) * 2002-02-19 2003-08-21 Charles Fauble Secure reconfigurable input device with transaction card reader
TWI246297B (en) * 2002-07-02 2005-12-21 Netbuck Payment Service Co Ltd Apparatus and method for securely inputting and transmitting private data associated with a user to a server
US7644433B2 (en) * 2002-12-23 2010-01-05 Authernative, Inc. Authentication system and method based upon random partial pattern recognition
WO2004107651A1 (en) * 2003-05-29 2004-12-09 Telecom Italia S.P.A. Method, system and computer program for the secured management of network devices
WO2005074397A2 (en) * 2004-02-05 2005-08-18 Kings Information & Network Computer security apparatus and method using security input device driver
US7539874B2 (en) * 2004-05-20 2009-05-26 International Business Machines Corporation Secure password entry
US20060036731A1 (en) * 2004-08-16 2006-02-16 Mossman Associates Novel method and system of keyless data entry and navigation in an online user interface console for preventing unauthorized data capture by stealth key logging spy programs
US7669057B2 (en) * 2005-01-24 2010-02-23 International Business Machines Corporation Secure computer password system and method
US20070180263A1 (en) * 2005-12-16 2007-08-02 David Delgrosso Identification and remote network access using biometric recognition
US7721333B2 (en) * 2006-01-18 2010-05-18 Webroot Software, Inc. Method and system for detecting a keylogger on a computer
US7823201B1 (en) * 2006-03-31 2010-10-26 Trend Micro, Inc. Detection of key logging software
US8132020B2 (en) * 2007-03-26 2012-03-06 Zhu Yunzhou System and method for user authentication with exposed and hidden keys
WO2009094372A1 (en) * 2008-01-22 2009-07-30 Authentium, Inc. System and method for protecting data accessed through a network connection
US8225404B2 (en) * 2008-01-22 2012-07-17 Wontok, Inc. Trusted secure desktop
KR101006721B1 (ko) * 2009-01-20 2011-01-07 킹스정보통신(주) 키보드 입력정보 보안장치 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020048313A (ko) * 2002-03-07 2002-06-22 최동성 키보드 해킹 방지 방법
KR20040009575A (ko) * 2002-07-24 2004-01-31 주식회사 잉카인터넷 키 스트록 데이터의 해킹 방지 방법 및 이를 기록한컴퓨터로 읽을 수 있는 기록매체
US20040230805A1 (en) 2003-05-02 2004-11-18 Marcus Peinado Secure communication with a keyboard or related device
KR20060093932A (ko) * 2005-02-23 2006-08-28 제이알소프트 주식회사 윈도우즈 운영체제에서 보안 입력 필터 드라이버와 인터넷익스플로러 내부의 키보드 보안 입력 비에이치오를 통한 인터넷 익스플로러 사용자의 키보드 입력 정보 해킹 방지 방법

Also Published As

Publication number Publication date
KR20070040539A (ko) 2007-04-17
US8230514B2 (en) 2012-07-24
US20080189790A1 (en) 2008-08-07
WO2007043761A1 (en) 2007-04-19

Similar Documents

Publication Publication Date Title
KR100734145B1 (ko) 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법
JP7545419B2 (ja) 統合された隔離されたアプリケーションにおけるランサムウェアの被害の軽減
US10515204B2 (en) Method and system for securing user access, data at rest and sensitive transactions using biometrics for mobile devices with protected, local templates
CN112425114B (zh) 受公钥-私钥对保护的密码管理器
US7155616B1 (en) Computer network comprising network authentication facilities implemented in a disk drive
JP4603167B2 (ja) コンピューティング装置のモジュール間通信
CN104239820B (zh) 一种安全存储设备
US20020066039A1 (en) Anti-spoofing password protection
Jo et al. Security analysis and improvement of fingerprint authentication for smartphones
JP2008269610A (ja) リモートアプリケーションを対象とした機密データの保護
KR100745489B1 (ko) 키입력 해킹방지 방법
KR102542213B1 (ko) 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 방법
TW201539247A (zh) 密碼輸入與確認方法及其系統
CN104834840B (zh) 基于映射漂移技术的密码保护方法
KR102010776B1 (ko) 블록체인 기반의 패스워드 처리 방법, 사용자 로그인 인증 지원 방법 및 이를 이용한 서버
CN102195940A (zh) 一种基于虚拟机技术安全输入和提交数据的方法和系统
CN111046405B (zh) 一种数据处理方法、装置、设备及存储介质
CN111262702A (zh) 基于国密算法和生物特征的双因子认证方法、装置和系统
CN111444118B (zh) 一种进程保护方法、装置、终端设备及存储介质
KR20070024100A (ko) 이미지 키 입력을 통한 네트워크 보안 시스템 및 그 방법
CN119299237B (zh) 一种基于云平台的认证系统及方法
CN201286107Y (zh) 安全设备
CN201286106Y (zh) 安全设备
CN119814753A (zh) 远程控制权限管理方法、装置、设备及存储介质
KR20030051648A (ko) 식별자 없는 완전 동적 인증 방법

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20051012

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20061109

Patent event code: PE09021S01D

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20070531

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20070626

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20070626

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
J204 Request for invalidation trial [patent]
PJ0204 Invalidation trial for patent

Patent event date: 20071004

Comment text: Request for Trial

Patent event code: PJ02042R01D

Patent event date: 20070626

Comment text: Registration of Establishment

Patent event code: PJ02041E01I

Appeal kind category: Invalidation

Request date: 20071004

Decision date: 20080828

Appeal identifier: 2007100002740

J301 Trial decision

Free format text: TRIAL DECISION FOR INVALIDATION REQUESTED 20071004

Effective date: 20080828

PJ1301 Trial decision

Patent event code: PJ13011S05D

Patent event date: 20080829

Comment text: Trial Decision on Invalidation (Patent, Utility Model, Industrial Design)

Appeal kind category: Invalidation

Request date: 20071004

Decision date: 20080828

Appeal identifier: 2007100002740

J2X1 Appeal (before the patent court)

Free format text: INVALIDATION

PJ2001 Appeal

Patent event date: 20080829

Comment text: Trial Decision on Invalidation (Patent, Utility Model, Industrial Design)

Patent event code: PJ20011S05I

Appeal kind category: Invalidation

Decision date: 20091223

Appeal identifier: 2008200011910

Request date: 20081017

J302 Written judgement (patent court)

Free format text: JUDGMENT (PATENT COURT) FOR INVALIDATION REQUESTED 20081017

Effective date: 20091223

PJ1302 Judgment (patent court)

Patent event date: 20100125

Comment text: Written Judgment (Patent Court)

Patent event code: PJ13021S01D

Request date: 20081017

Decision date: 20091223

Appeal identifier: 2008200011910

Appeal kind category: Invalidation

PR1001 Payment of annual fee

Payment date: 20101213

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20111212

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20120612

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20130626

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20130626

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20140626

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20140626

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20150626

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20150626

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20160627

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20160627

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20170626

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20170626

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20180626

Year of fee payment: 12

PR1001 Payment of annual fee

Payment date: 20180626

Start annual number: 12

End annual number: 12

FPAY Annual fee payment

Payment date: 20190626

Year of fee payment: 13

PR1001 Payment of annual fee

Payment date: 20190626

Start annual number: 13

End annual number: 13

PR1001 Payment of annual fee

Payment date: 20210628

Start annual number: 15

End annual number: 15

PR1001 Payment of annual fee

Payment date: 20220627

Start annual number: 16

End annual number: 16

PR1001 Payment of annual fee

Payment date: 20230626

Start annual number: 17

End annual number: 17

PR1001 Payment of annual fee

Payment date: 20240626

Start annual number: 18

End annual number: 18