KR20120105283A - Apparatus and method for encrypting input on keyboard - Google Patents

Apparatus and method for encrypting input on keyboard Download PDF

Info

Publication number
KR20120105283A
KR20120105283A KR1020110023004A KR20110023004A KR20120105283A KR 20120105283 A KR20120105283 A KR 20120105283A KR 1020110023004 A KR1020110023004 A KR 1020110023004A KR 20110023004 A KR20110023004 A KR 20110023004A KR 20120105283 A KR20120105283 A KR 20120105283A
Authority
KR
South Korea
Prior art keywords
key
input information
keyboard
keyboard input
encryption
Prior art date
Application number
KR1020110023004A
Other languages
Korean (ko)
Other versions
KR101219664B1 (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 KR1020110023004A priority Critical patent/KR101219664B1/en
Publication of KR20120105283A publication Critical patent/KR20120105283A/en
Application granted granted Critical
Publication of KR101219664B1 publication Critical patent/KR101219664B1/en

Links

Images

Classifications

    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

PURPOSE: An apparatus and method for encrypting input information on a keyboard are provided to safely share a user area and a kernel area using a DH(Diffie-Hellman) key sharing method. CONSTITUTION: Key sharing for keyboard security is requested(S100). A keyboard input information encryption device shares an initial KEK(Key Encryption Key) of a user area and a kernel space by using a DH key sharing method(S200). The keyboard input information encryption device synchronizes the KEK before a CEK(Content Encryption Key) shared between the kernel area and the user area is updated(S300). The keyboard input information encryption device updates the CEK by using the KEK(S400). The keyboard input information encryption device decodes keyboard input information by using the CEK(S500). The keyboard input information encryption device determines the update of the CEK(S600). The keyboard input information encryption device determines the CEK update or the termination of a keyboard security module(S700). [Reference numerals] (AA) Start; (BB,DD,FF) No; (CC,EE,GG) Yes; (HH) End; (S100) Key sharing request; (S200) KEK sharing; (S300) KEK synchronization; (S400) CEK updating; (S500) Keyboard input value encryption; (S600) CEK updating?; (S700) Final field for a key board input?

Description

키보드 입력정보 암호화 장치 및 그 방법{Apparatus and method for encrypting input on keyboard}Apparatus and method for encrypting input on keyboard}

본 발명은 키보드 입력정보 암호화 장치 및 그 방법에 관한 것이다. 보다 상세하게는 디피 헬먼법(Diffie-Hellman, DH) 키 공유 방식에 의해 커널영역과 유저영역이 초기키를 공유하게 함으로써, 키보드의 입력정보를 암호화하는 키를 초기키에 의해 커널영역과 유저영역이 안전하게 공유하게 하는 키보드 입력정보 암호화 장치 및 그 방법에 관한 것이다.The present invention relates to an apparatus for encrypting keyboard input information and a method thereof. More specifically, by allowing the kernel area and the user area to share the initial key by the Diffie-Hellman (DH) key sharing method, the key for encrypting the input information of the keyboard by the initial key is the kernel area and the user area. The present invention relates to an apparatus for encrypting a keyboard input information and a method thereof.

최근 인터넷 뱅킹, 증권 홈트레이딩시스템 (Home Trading System, HTS), 공공기관의 대민 지원 서비스 등 사용자 금융 정보 및 개인 정보를 대상으로 하는 인터넷 서비스가 보급화되어 있다. 그러나 키로거(key-logger)와 같은 악성 프로그램에 의해 사용자가 입력장치 예를 들어, 키보드를 통해 입력하는 사용자 인증에 사용되는 각종 패스워드 및 주요 개인정보가 악용되는 사례가 증가하고 있다.Recently, Internet services targeting user financial information and personal information, such as internet banking, home trading system (HTS), and public support services of public institutions, have become popular. However, malicious programs, such as key-loggers, are increasingly used to misuse various personal information and passwords used for authentication of a user input through an input device, for example, a keyboard.

이러한 악용 사례를 방어하는 방법은 키보드의 해당 하드웨어에서 입력된 입력정보를 PC의 커널영역에서 암호화하여 유저영역에 안전하게 전달하고 악성 프로그램이 입력정보를 가로채더라도 원래 입력한 정보와는 무관한 정보가 되도록하는 방식들이 소개되고 있다. 이러한 방식을 적용하는 방어 방법은 키보드 입력정보를 커널영역에서 암호화 또는 인코딩을 이용하여 유저영역에 전달하는 방식, 커널영역 보안 디바이스 드라이버보다 하위 레벨에서 키 입력정보를 가로채는 것을 방지하기 위해 커널영역 보안 디바이스 드라이버를 운영체제 입력 디바이스 드라이버의 하위에 위치시키는 방식, 보안 인터럽트 서비스 루틴 주소를 인터럽트 디스크립터 테이블에 등록하여 블법적으로 데이터를 취득하거나 PS/2 포트 폴링 공격을 방어하기 위한 방식 등이 있다.In order to defend against such abuse cases, the input information input from the corresponding hardware of the keyboard is encrypted in the kernel area of the PC to be transmitted safely to the user area, and even if a malicious program intercepts the input information, the information is irrelevant to the original input information. The ways of doing so are introduced. The defensive method applying this method is a method of transmitting keyboard input information to the user area using encryption or encoding in the kernel area, and a kernel area security device to prevent intercepting key input information at a lower level than the kernel area security device driver. The driver is located below the operating system input device driver, and the secure interrupt service routine address is registered in the interrupt descriptor table to illegally acquire data or to prevent PS / 2 port polling attacks.

이와 같은, 종래의 방법은 키보드의 입력정보를 커널영역 보안 디바이스 드라이버에서 암호화하고 유저영역에 전달하며, 커널영역 보안 디바이스 드라이버 이외의 불법적인 데이터 취득을 어렵게 할 수 있다. Such a conventional method encrypts the input information of the keyboard in the kernel area security device driver and transfers it to the user area, making it difficult to acquire illegal data other than the kernel area security device driver.

그러나, 종래의 방법은 키보드의 입력정보를 암호화하기 위한 암호키를 커널영역과 유저영역 사이에 안전하게 공유하는 방식이 없다. However, the conventional method does not have a method of safely sharing the encryption key for encrypting the input information of the keyboard between the kernel area and the user area.

하지만, 키보드의 입력정보를 암호화하여 전달하는 경우에는 암호키 전달과정을 역공학 등에 의해 분석하여 암호키를 추출할 수 있으며, 암호화된 키보드 입력정보를 스니핑(sniffing)하여 추출된 암호키를 이용하여 키보드 입력정보를 복호화할 수 있는 잠재적 취약점이 내재되게 된다.However, in the case of encrypting and transmitting the input information of the keyboard, it is possible to extract the encryption key by analyzing the encryption key transmission process by reverse engineering and the like, and using the extracted encryption key by sniffing the encrypted keyboard input information. Potential vulnerabilities could decrypt the keyboard input.

본 발명의 목적은, 디피 헬먼법(Diffie-Hellman, DH) 키 공유 방식에 의해 커널영역과 유저영역이 초기키를 공유하게 함으로써, 키보드의 입력정보를 암호화하는 키를 초기키를 이용하여 커널영역과 유저영역이 안전하게 공유하게 하는 키보드 입력정보 암호화 장치 및 그 방법을 제공하는 것이다. An object of the present invention is to allow a kernel area and a user area to share an initial key by a Diffie-Hellman (DH) key-sharing method, thereby encrypting the input information of the keyboard using the initial key. And an apparatus and method for encrypting keyboard input information for securely sharing the same with a user area.

상기 과제를 해결하기 위한 본 발명의 실시예에 따른, 키보드 입력정보 암호화 방법은 Keyboard input information encryption method according to an embodiment of the present invention for solving the above problems is

디피 헬먼법(Diffie-Hellman, DH) 키 공유 방식을 이용하여 커널영역과 유저영역에서 암호용키(key encryption key, KEK)를 공유하는 단계; 상기 커널영역과 유저영역에서 상기 암호용키를 이용하여 키보드 입력정보의 암호키에 해당하는 세션키(Content encryption key, CEK)를 공유하는 단계; 및 상기 키보드 입력정보를 상기 커널영역에서 상기 세션키를 이용하여 암호화하는 단계를 포함한다. Sharing a key encryption key (KEK) in a kernel area and a user area by using a Diffie-Hellman (DH) key sharing scheme; Sharing a session key (CEK) corresponding to an encryption key of keyboard input information using the encryption key in the kernel area and the user area; And encrypting the keyboard input information using the session key in the kernel region.

상기 암호용키를 공유하는 단계는 상기 커널영역과 유저영역에서 동일 데이터를 획득하는 단계; 및 상기 동일 데이터를 키 유도 함수(key derivation function, KDF)에 적용하여 상기 암호용키를 생성하여 공유하는 단계를 포함한다. The sharing of the encryption key may include obtaining the same data in the kernel area and the user area; And generating and sharing the cryptographic key by applying the same data to a key derivation function (KDF).

상기 세션키를 공유하는 단계는 상기 커널영역에서 적용되는 블록 암호 알고리즘에 따라 상기 세션키를 난수로 생성하여, 상기 세션키를 상기 암호용키로 암호화하여 상기 유저영역에 전달하고, 상기 유저영역에서 상기 블록 암호 알고리즘을 적용하여 암호화된 암호용키를 복호화함으로써, 상기 세션키를 상기 커널영역과 유저영역이 공유하는 것을 특징으로 한다. The sharing of the session key may include generating the session key as a random number according to a block encryption algorithm applied in the kernel area, encrypting the session key with the encryption key, and transferring the session key to the user area. By decrypting the encrypted encryption key by applying a block encryption algorithm, the session key is shared between the kernel area and the user area.

상기 공유하는 단계는 상기 암호용키와 세션키를 업데이트하는 단계를 더 포함한다. The sharing may further include updating the encryption key and the session key.

상기 업데이트하는 단계는 상기 암호용키를 동기화하는 단계; 및 상기 키보드의 포커스 이동여부에 따라 상기 세션키의 업데이트 여부를 판단하고, 판단한 결과에 대응하게 상기 세션키의 업데이트 또는 키보드 보안을 종료하는 단계를 포함한다. The updating may include synchronizing the encryption key; And determining whether the session key is updated according to whether or not the keyboard focus is moved, and ending the updating of the session key or keyboard security corresponding to the determined result.

상기 동기화하는 단계는 상기 커널영역에서의 암호용키의 인덱스와 상기 유저영역에서의 암호용키의 인덱스의 일치 여부를 판단하는 단계; 일치하는 경우에 상기 세션키를 업데이트하는 단계; 및 일치하지 않는 경우에 상기 암호용키를 다시 공유하는 단계를 포함한다. The synchronizing may include determining whether an index of an encryption key in the kernel region and an index of the encryption key in the user region match; Updating the session key if there is a match; And re-sharing the encryption key if it does not match.

상기 세션키의 업데이트 여부를 판단하는 단계는 상기 유저영역에서 상기 키보드 포커스의 이동여부를 확인하는 단계; 상기 키보드 포커스가 이동하지 않을 경우에 상기 키보드 입력정보를 암호화하는 단계; 및 상기 키보드 포커스가 이동하는 경우에 상기 키보드 입력정보가 마지막 필드에 해당하는지를 판단하는 단계를 포함한다. The determining of whether the session key is updated may include: checking whether the keyboard focus is moved in the user area; Encrypting the keyboard input information when the keyboard focus does not move; And determining whether the keyboard input information corresponds to a last field when the keyboard focus moves.

상기 키보드 입력정보가 마지막 필드에 해당하는지를 판단하는 단계는 상기 키보드 입력정보가 마지막 필드에 해당하지 않는 경우에 상기 세션키를 업데이트하는 단계; 및 상기 키보드 입력정보가 마지막 필드에 해당하는 경우에 상기 키보드 보안을 종료하는 단계를 포함한다.
Determining whether the keyboard input information corresponds to the last field comprises: updating the session key when the keyboard input information does not correspond to the last field; And terminating the keyboard security when the keyboard input information corresponds to the last field.

상기 과제를 해결하기 위한 본 발명의 다른 실시예에 따른, 키보드 입력정보 암호화 장치는 Keyboard input information encryption apparatus according to another embodiment of the present invention for solving the above problems is

디피 헬먼법(Diffie-Hellman, DH) 키 공유 방식을 이용하여 커널영역과 유저영역에서 암호용키(key encryption key, KEK)를 공유하는 키 공유부; 상기 커널영역과 유저영역에서 상기 암호용키를 이용하여 키보드 입력정보의 암호키에 해당하는 세션키(Content encryption key, CEK)를 업데이트하는 업데이트부; 및 상기 키보드 입력정보를 상기 커널영역에서 상기 세션키를 이용하여 암호화하는 암호화부를 포함한다. A key sharing unit for sharing a key encryption key (KEK) in a kernel area and a user area by using a Diffie-Hellman (DH) key sharing method; An update unit for updating a session key corresponding to an encryption key of keyboard input information using the encryption key in the kernel region and the user region; And an encryption unit to encrypt the keyboard input information using the session key in the kernel region.

상기 키 공유부는 상기 커널영역과 유저영역에서 동일 데이터를 획득하고, 상기 동일 데이터를 키 유도 함수(key derivation function, KDF)에 적용하여 상기 암호용키를 생성하여 공유하는 것을 특징으로 한다. The key sharing unit obtains the same data in the kernel area and the user area, and generates and shares the encryption key by applying the same data to a key derivation function (KDF).

상기 업데이트부는 상기 커널영역에서 적용되는 블록 암호 알고리즘에 따라 상기 세션키를 난수로 생성하여, 상기 세션키를 상기 암호용키로 암호화하여 상기 유저영역에 전달하고, 상기 유저영역에서 상기 블록 암호 알고리즘을 적용하여 암호화된 암호용키를 복호화함으로써, 상기 세션키를 상기 커널영역과 유저영역이 공유하는 것을 특징으로 한다.The updater generates the session key as a random number according to a block cipher algorithm applied in the kernel region, encrypts the session key with the cipher key, and transmits the session key to the user region, and applies the block cipher algorithm in the user region. By decrypting the encrypted encryption key, the session key is shared between the kernel area and the user area.

키보드 입력정보 암호화 장치는 상기 암호용키를 동기화하는 동기화부; 상기 키보드의 포커스 이동여부에 따라 세션키의 업데이트 여부를 확인하는 업데이트 판단부; 및 상기 키보드의 포커스가 이동한 경우에 상기 키보드 입력정보가 마지막 필드에 해당하는지를 판단하고, 판단 결과에 따라 상기 세션키의 업데이트 또는 키보드 보안을 종료하는 입력 판단부를 더 포함한다. The apparatus for encrypting keyboard input information includes a synchronization unit for synchronizing the encryption key; An update determining unit for checking whether or not the session key is updated according to whether the keyboard moves focus; And an input determiner configured to determine whether the keyboard input information corresponds to a last field when the focus of the keyboard is moved, and to terminate the update of the session key or the keyboard security according to the determination result.

상기 동기화부는 상기 커널영역에서의 암호용키의 인덱스와 상기 유저영역에서의 암호용키의 인덱스의 일치 여부를 판단하고, 판단 결과에 따라 상기 세션키를 업데이트하거나 상기 암호용키를 공유하는 것을 특징으로 한다. The synchronization unit may determine whether the index of the encryption key in the kernel region and the index of the encryption key in the user region match, and update the session key or share the encryption key according to the determination result.

상기 업데이트 판단부는 상기 키보드 포커스가 이동하지 않을 경우에 상기 키보드 입력정보를 암호화하는 것을 특징으로 한다. The update determiner encrypts the keyboard input information when the keyboard focus does not move.

상기 입력 판단부는 상기 키보드 입력정보가 마지막 필드에 해당하지 않는 경우에 상기 세션키를 업데이트하고, 상기 키보드 입력정보가 마지막 필드에 해당하는 경우에 상기 키보드 보안을 종료하는 것을 특징으로 한다. The input determination unit may update the session key when the keyboard input information does not correspond to the last field, and terminate the keyboard security when the keyboard input information corresponds to the last field.

본 발명의 실시예에 따르면, 키보드 입력정보 암호화 장치 및 그 방법에서 키보드 입력정보의 암호키는 DH 키 공유 방식을 이용하여 유저영역과 커널영역이 안전하게 공유할 수 있다. According to an embodiment of the present invention, the encryption key of the keyboard input information in the apparatus and method for encrypting the keyboard input information may be safely shared between the user area and the kernel area by using a DH key sharing method.

또한, 본 발명의 실시예에 따르면, 키보드 입력정보 암호화 장치 및 그 방법은 키보드 입력정보의 암호키 업데이트 방법을 토대로 시간 복잡도가 블록 암호화보다 큰 DH 키 공유 방식을 초기 1회만 적용하여 암호와 시간 복잡도를 개선할 수 있다. In addition, according to an embodiment of the present invention, the apparatus for encrypting keyboard input information and the method are based on the encryption key update method of the keyboard input information, the password and time complexity by applying a DH key sharing method having a larger time complexity than block encryption only once initially. Can be improved.

또한, 키보드 입력정보 암호화 장치 및 그 방법은 키보드 포커스의 이동 단위로 키보다 입력정보 암호키가 업데이트됨으로써, 암호키 사용 세션 단위를 감소시킬 수 있다. In addition, the keyboard input information encrypting apparatus and its method may reduce the encryption key use session unit by updating the input information encryption key rather than the key in units of movement of the keyboard focus.

도 1은 본 발명의 실시예에 따른 키보드 입력정보 암호화 장치를 개략적으로 나타내는 구성도이다.
도 2는 본 발명의 실시예에 따른 키보드 입력정보 암호화 방법을 나타내는 흐름도이다.
도 3은 본 발명의 실시예에 따른 커널영역과 유저영역의 초기 KEK를 공유하는 방법을 나타내는 흐름도이다.
도 4는 본 발명의 실시예에 따른 KEK를 동기화하는 방법을 나타내는 흐름도이다.
도 5는 본 발명의 실시예에 따른 CEK를 업데이트하는 방법을 나타내는 흐름도이다.
도 6은 본 발명의 실시예에 따른 키보드 입력정보를 암호화 및 복호화하는 방법을 나타내는 흐름도이다.
도 7은 본 발명의 실시예에 따른 CEK의 업데이트 여부를 판단하는 방법을 나타내는 흐름도이다.
도 8은 본 발명의 실시예에 따른 키보드 입력정보가 마지막 필드에 해당하는지를 판단한 결과에 따라 CEK 업데이트 또는 키보드 보안 모듈의 종료를 결정하는 방법을 나타내는 흐름도이다.
1 is a block diagram schematically illustrating an apparatus for encrypting keyboard input information according to an embodiment of the present invention.
2 is a flowchart illustrating a method of encrypting keyboard input information according to an embodiment of the present invention.
3 is a flowchart illustrating a method of sharing an initial KEK of a kernel region and a user region according to an embodiment of the present invention.
4 is a flowchart illustrating a method of synchronizing a KEK according to an embodiment of the present invention.
5 is a flowchart illustrating a method of updating a CEK according to an embodiment of the present invention.
6 is a flowchart illustrating a method of encrypting and decrypting keyboard input information according to an embodiment of the present invention.
7 is a flowchart illustrating a method of determining whether to update a CEK according to an embodiment of the present invention.
8 is a flowchart illustrating a method of determining termination of a CEK update or a keyboard security module according to a result of determining whether keyboard input information corresponds to a last field according to an embodiment of the present invention.

본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
The present invention will now be described in detail with reference to the accompanying drawings. Hereinafter, a repeated description, a known function that may obscure the gist of the present invention, and a detailed description of the configuration will be omitted. Embodiments of the present invention are provided to more fully describe the present invention to those skilled in the art. Accordingly, the shape and size of elements in the drawings may be exaggerated for clarity.

이하에서는, 본 발명의 실시예에 따른 키보드 입력정보 암호화 장치 및 그 방법에 대하여 첨부한 도면을 참고로 하여 상세히 설명한다.Hereinafter, a keyboard input information encrypting apparatus and a method thereof according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

먼저, 본 발명의 실시예에 따른 키보드 입력정보 암호화 장치 및 그 방법은 유저영역과 커널영역으로 구분하여 동작한다. 커널영역에서는 키보드 입력정보를 우선적으로 가져와 보안처리하고, 유저영역에서는 커널영역에서 가져온 키보드 입력정보를 보안처리하면서 최종적으로 출력한다. First, the keyboard input information encryption apparatus and method thereof according to an embodiment of the present invention operate by dividing into a user area and a kernel area. In the kernel area, the keyboard input information is first taken and secured. In the user area, the keyboard input information obtained from the kernel area is secured and finally output.

도 1은 본 발명의 실시예에 따른 키보드 입력정보 암호화 장치를 개략적으로 나타내는 구성도이다. 1 is a block diagram schematically illustrating an apparatus for encrypting keyboard input information according to an embodiment of the present invention.

도 1을 참고하면, 키보드 입력정보 암호화 장치는 키 공유 요청부(100), 초기 키 공유부(200), 동기화부(300), 업데이트부(400), 암호화부(500), 업데이트 판단부(600) 및 입력 판단부(700)를 포함한다. Referring to FIG. 1, the keyboard input information encrypting apparatus may include a key sharing request unit 100, an initial key sharing unit 200, a synchronization unit 300, an update unit 400, an encryption unit 500, and an update determination unit ( 600) and an input determination unit 700.

키 공유 요청부(100)는 사용자가 키보드 입력정보를 암호화하는 응용 프로그램을 실행하게 되는 경우, 사용자의 유저영역에서 커널영역에 키보드 보안 모듈 시작을 통보하고, 키보드 보안을 위한 키 공유를 요청한다. 여기서, 키보드 입력정보는 사용자가 웹브라우저의 입력창에 입력하는 아이디/패스워드 또는 인증서 패스워드 등을 포함한다. When the user executes an application program for encrypting the keyboard input information, the key sharing request unit 100 notifies the kernel area of the keyboard security module from the user area of the user and requests a key sharing for keyboard security. Here, the keyboard input information includes an ID / password or certificate password that a user inputs in an input window of a web browser.

초기 키 공유부(200)는 디피 헬먼법(Diffie-Hellman, DH) 키 공유 방식을 이용하여 커널영역과 유저영역에서 초기 키 암호용키(key encryption key, KEK)를 공유한다. 여기서, 초기 키 암호용키는 키보드 입력정보에 해당하는 암호키인 CEK(Content encryption key, 세션키)를 PC의 커널영역에서 유저영역에 암호화하여 전달하기 위한 세션키 암호용키이다. The initial key sharing unit 200 shares an initial key encryption key (KEK) in the kernel area and the user area by using a Diffie-Hellman (DH) key sharing scheme. Here, the initial key encryption key is a session key encryption key for encrypting and transferring a CEK (Content encryption key, session key), which is an encryption key corresponding to keyboard input information, from the kernel area of the PC to the user area.

동기화부(300)는 커널영역과 유저영역 사이에 공유되는 CEK가 업데이트 되기 이전에, 세션키 암호용키(KEK)를 동기화한다. The synchronization unit 300 synchronizes the session key encryption key KEK before the CEK shared between the kernel area and the user area is updated.

업데이트부(400)는 커널영역과 유저영역이 공유하는 CEK를 세션키 암호용키(KEK)를 이용하여 업데이트한다. 구체적으로, 커널영역에서는 ARIA와 SEED와 같은 블록 암호 알고리즘을 적용하여 CEK를 KEK로 암호화하고, 암호화한 결과에 해당하는 EncCEK를 유저영역으로 전달한다. 다음, 유저영역에서는 커널영역과 동일한 블록 암호 알고리즘을 적용하여 EncCEK를 KEK로 복호화하여 CEK를 획득한다. The updater 400 updates the CEK shared by the kernel area and the user area by using the session key cryptographic key (KEK). Specifically, in the kernel area, CEK is encrypted with KEK by applying block encryption algorithms such as ARIA and SEED, and the EncCEK corresponding to the result of encryption is transmitted to the user area. Next, in the user domain, EncCEK is decrypted with KEK by applying the same block cipher algorithm as the kernel domain to obtain CEK.

암호화부(500)는 키보드 입력정보를 커널영역에서 CEK를 이용하여 암호화하고, 유저영역에서 CEK를 이용하여 키보드 입력정보를 복호화하여 응용프로그램에 적용한다. The encryption unit 500 encrypts the keyboard input information using the CEK in the kernel area, and decodes the keyboard input information using the CEK in the user area and applies it to the application program.

업데이트 판단부(600)는 키보드의 포커스 이동여부에 따라 CEK의 업데이트 여부를 확인한다. The update determiner 600 checks whether the CEK is updated according to whether the keyboard moves in focus.

입력 판단부(700)는 키보드의 포커스가 이동한 후, 키보드 입력정보가 마지막 필드에 해당하는지를 판단하고, 판단 결과에 따라 CEK 업데이트 또는 키보드 보안 모듈의 종료를 결정한다.
After the focus of the keyboard moves, the input determination unit 700 determines whether the keyboard input information corresponds to the last field, and determines the end of the CEK update or the keyboard security module according to the determination result.

다음, 키보드 입력정보 암호화 방법을 도 2 내지 도 9를 참조하여 상세하게 설명한다.Next, the keyboard input information encryption method will be described in detail with reference to FIGS. 2 to 9.

도 2는 본 발명의 실시예에 따른 키보드 입력정보 암호화 방법을 나타내는 흐름도이다.2 is a flowchart illustrating a method of encrypting keyboard input information according to an embodiment of the present invention.

먼저, 본 발명의 실시예에 따른 키보드 입력정보 암호화 방법은 사용자가 키보드 입력정보를 암호화하는 응용 프로그램을 실행하게 되는 경우에 적용할 수 있으며, 이에 한정되지 않는다. First, the keyboard input information encryption method according to an embodiment of the present invention can be applied when the user executes an application for encrypting the keyboard input information, but is not limited thereto.

도 2를 참고하면, 키보드 입력정보 암호화 장치는 사용자의 유저영역에서 커널영역에 키보드 보안 모듈 시작을 통보하고, 키보드 보안을 위한 키 공유를 요청한다(S100). 여기서, 키보드 입력정보는 사용자가 웹브라우저의 입력창에 입력하는 아이디/패스워드 또는 인증서 패스워드 등을 포함한다.
Referring to FIG. 2, the apparatus for encrypting keyboard input information notifies the kernel region from the user region of the user of the keyboard security module and requests a key sharing for keyboard security (S100). Here, the keyboard input information includes an ID / password or certificate password that a user inputs in an input window of a web browser.

키보드 입력정보 암호화 장치는 DH(Diffie-Hellman) 키 공유 방식을 이용하여 커널영역과 유저영역의 초기 KEK(key encryption key)를 공유한다(S200). 여기서, 초기 KEK는 키보드 입력정보에 해당하는 암호키인 CEK(Content encryption key, 세션키)를 PC의 커널영역에서 유저영역에 암호화하여 전달하기 위한 세션키 암호용키이다. The keyboard input information encrypting apparatus shares an initial KEK (key encryption key) of the kernel region and the user region using a Diffie-Hellman (DH) key sharing scheme (S200). Here, the initial KEK is a session key encryption key for encrypting and transferring a CEK (Content encryption key, session key), which is an encryption key corresponding to keyboard input information, from the kernel area of the PC to the user area.

다음, 커널영역과 유저영역의 초기 KEK를 공유하는 방법을 도 3을 참조하여 상세하게 설명한다.Next, a method of sharing the initial KEK of the kernel area and the user area will be described in detail with reference to FIG. 3.

도 3을 참고하면, 키보드 입력정보 암호화 장치는 커널영역에서 난수 a(mod q)를 생성하고(S211), A= ga(mod p)를 계산한다(S212). 여기서, g는 유한체(Fa)의 원소 중 위수가(order) q인 원소이다. 또한, 키보드 입력정보 암호화 장치는 유저영역에서 난수 b(mod q)를 생성하고(S221), B = gb(mod p)를 계산한다(S222). Referring to FIG. 3, the apparatus for encrypting keyboard input information generates a random number a (mod q) in the kernel region (S211) and calculates A = g a (mod p) (S212). Here, g is an element of order q among the elements of finite body F a . In addition, the keyboard input information encryption device generates a random number b (mod q) in the user area (S221), and calculates B = g b (mod p) (S222).

키보드 입력정보 암호화 장치는 커널영역과 유저영역간에 A와 B를 교환시킨 후에, 커널영역에서 Ba(mod p)를 계산하고(S213) 유저영역에서 Ab(mod q)를 계산함으로써(S223), 동일한 AB 데이터를 획득한다. The keyboard input information encryption device exchanges A and B between the kernel area and the user area, then calculates B a (mod p) in the kernel area (S213) and calculates A b (mod q) in the user area (S223). , To obtain the same AB data.

키보드 입력정보 암호화 장치는 획득한 AB 데이터를 ARIA 및 SEED와 같은 블록 암호 알고리즘의 암호키로 사용하기 위하여, 키 유도 함수(key derivation function, KDF)에 적용하여 초기 KEK를 생성한다(S214 및 S224). 예를 들어, RFC2631에서 기술된 KEK 계산과정에 의해 해쉬함수 SHA-1을 적용하여 SHA-1(AB, OtherInfo)의 결과값 20바이트 중에서 16바이트가 실제 KEK가 된다.
In order to use the acquired AB data as encryption keys of block encryption algorithms such as ARIA and SEED, the keyboard input information encryption device generates an initial KEK by applying a key derivation function (KDF) (S214 and S224). For example, by applying the hash function SHA-1 according to the KEK calculation process described in RFC2631, 16 bytes out of 20 bytes of the SHA-1 (AB, OtherInfo) result are actual KEKs.

키보드 입력정보 암호화 장치는 커널영역과 유저영역 사이에 공유되는 CEK가 업데이트 되기 이전에, 세션키 암호용키(KEK)를 동기화한다(S300). The keyboard input information encryption device synchronizes the session key encryption key KEK before the CEK shared between the kernel area and the user area is updated (S300).

다음, 세션키 암호용키(KEK)를 동기화하는 방법을 도 4를 참조하여 상세하게 설명한다.Next, a method of synchronizing the session key encryption key (KEK) will be described in detail with reference to FIG.

도 4를 참고하면, 키보드 입력정보 암호화 장치는 유저영역에서 KEK의 인덱스에 해당하는 INDEX_B 데이터를 커널영역으로 전달한다. Referring to FIG. 4, the apparatus for encrypting keyboard input information transfers INDEX_B data corresponding to an index of KEK from the user area to the kernel area.

키보드 입력정보 암호화 장치는 커널영역에서의 INDEX_A 데이터와 INDEX_B 데이터를 비교한다(S311). The keyboard input information encryption device compares INDEX_A data and INDEX_B data in the kernel area (S311).

키보드 입력정보 암호화 장치는 INDEX_A 데이터와 INDEX_B 데이터가 동일한 경우에 세션키 암호용키(KEK)가 동일한 것으로 판단하고, 커널영역과 유저영역 사이에 공유되는 CEK가 업데이트되는 단계를 수행한다. If the INDEX_A data and the INDEX_B data are the same, the keyboard input information encryption apparatus determines that the session key encryption key KEK is the same, and performs a step of updating the CEK shared between the kernel area and the user area.

반면에, 키보드 입력정보 암호화 장치는 INDEX_A 데이터와 INDEX_B 데이터가 동일하지 않은 경우에 세션키 암호용키(KEK)가 서로 다른 것으로 판단하고, 이전 단계에 해당하는 세션키 암호용키(KEK) 공유 단계(S200)를 다시 수행한다.
On the other hand, the keyboard input information encryption apparatus determines that the session key encryption key (KEK) is different when the INDEX_A data and the INDEX_B data are not the same, and the session key encryption key (KEK) sharing step corresponding to the previous step (S200) ) Again.

키보드 입력정보 암호화 장치는 커널영역과 유저영역이 공유하는 CEK를 세션키 암호용키(KEK)를 이용하여 업데이트한다(S400).The keyboard input information encrypting apparatus updates the CEK shared by the kernel region and the user region using the session key encryption key (KEK) (S400).

다음, CEK를 업데이트하는 방법을 도 5를 참조하여 상세하게 설명한다.Next, a method of updating the CEK will be described in detail with reference to FIG. 5.

도 5를 참고하면, 키보드 입력정보 암호화 장치는 커널영역에서 키보드 입력정보를 암호화하기 위하여 CEK를 난수로 생성하고(S411), ARIA와 SEED와 같은 블록 암호 알고리즘을 적용하여 CEK를 KEK로 암호화한다(S412). 이때, CEK는 16바이트 난수로 생성될 수 있으며, 이에 한정되지 않는다. Referring to FIG. 5, the apparatus for encrypting keyboard input information generates a CEK as a random number in order to encrypt the keyboard input information in the kernel area (S411), and encrypts the CEK with KEK by applying a block encryption algorithm such as ARIA and SEED ( S412). In this case, the CEK may be generated as a 16-byte random number, but is not limited thereto.

다음, 키보드 입력정보 암호화 장치는 커널영역에서 암호화한 결과에 해당하는 EncCEK 데이터를 유저영역으로 전달한다. Next, the keyboard input information encrypting apparatus transmits the EncCEK data corresponding to the result of encryption in the kernel region to the user region.

키보드 입력정보 암호화 장치는 유저영역에서 커널영역과 동일한 블록 암호 알고리즘을 적용하여 EncCEK 데이터를 KEK로 복호화하여 CEK를 획득한다(S421).
The keyboard input information encryption device obtains a CEK by decrypting EncCEK data with KEK by applying the same block encryption algorithm as that of the kernel area in the user area (S421).

키보드 입력정보 암호화 장치는 키보드 입력정보를 커널영역에서 CEK를 이용하여 암호화하고, 유저영역에서 CEK를 이용하여 키보드 입력정보를 복호화하여 응용프로그램에 적용한다(S500). The keyboard input information encrypting apparatus encrypts the keyboard input information using the CEK in the kernel region, and decodes the keyboard input information using the CEK in the user region and applies it to the application program (S500).

다음, 키보드 입력정보를 암호화 및 복호화하는 방법을 도 6을 참조하여 상세하게 설명한다.Next, a method of encrypting and decrypting keyboard input information will be described in detail with reference to FIG. 6.

도 6을 참고하면, 키보드 입력정보 암호화 장치는 커널영역에서 키보드 입력( , KI)을 전달받는다(S511). 또한, 키보드 입력정보 암호화 장치는 커널영역에서 KI를 CEK를 이용하여 암호화하고(S512), 암호화한 결과에 해당하는 EncKI를 유저영역으로 전달한다. Referring to FIG. 6, the keyboard input information encryption apparatus receives a keyboard input (KI) from the kernel region (S511). In addition, the keyboard input information encryption apparatus encrypts the KI using the CEK in the kernel region (S512), and transmits the EncKI corresponding to the result of the encryption to the user region.

키보드 입력정보 암호화 장치는 유저영역에서 EncKI를 CEK를 이용하여 복호화하고, 복호화한 결과에 해당하는 KI를 획득한다(S521). 다음, 키보드 입력정보 암호화 장치는 유저영역에서 획득한 KI를 응용 프로그램으로 전달한다(S522).
The keyboard input information encryption device decrypts the EncKI using the CEK in the user area, and obtains the KI corresponding to the decrypted result (S521). Next, the keyboard input information encrypting apparatus transmits the KI obtained in the user area to the application program (S522).

키보드 입력정보 암호화 장치는 키보드의 포커스 이동여부에 따라 CEK의 업데이트 여부를 판단한다(S600). The keyboard input information encrypting apparatus determines whether the CEK is updated according to whether the keyboard moves in focus (S600).

다음, CEK의 업데이트 여부를 판단하는 방법을 도 7을 참조하여 상세하게 설명한다.Next, a method of determining whether the CEK is updated will be described in detail with reference to FIG. 7.

도 7을 참고하면, 키보드 입력정보 암호화 장치는 유저영역에서 현재 응용 프로그램의 키보드 입력필드에서 키보드 포커스의 이동여부를 확인한다(S621). Referring to FIG. 7, the apparatus for encrypting keyboard input information checks whether the keyboard focus is moved in the keyboard input field of the current application in the user area (S621).

키보드 입력정보 암호화 장치는 유저영역에서 키보드 포커스가 이동한 경우에 UPDATE_B = yes 로 설정하고(S622), 키보드 포커스가 이동하지 않은 경우에 UPDATE_B = no 으로 설정한다(S623). 다음, 키보드 입력정보 암호화 장치는 유저영역에서 설정한 UPDATE_B의 정보를 커널영역으로 전달한다. The keyboard input information encrypting apparatus sets UPDATE_B = yes when the keyboard focus is moved in the user area (S622), and sets UPDATE_B = no when the keyboard focus is not moved (S623). Next, the keyboard input information encrypting apparatus transmits the UPDATE_B information set in the user area to the kernel area.

키보드 입력정보 암호화 장치는 커널영역에서 UPDATE_B의 정보에 대응하게 UPDATE_A의 정보를 설정한다(S611). 구체적으로, 키보드 입력정보 암호화 장치는 키보드 포커스가 이동한 경우 즉, UPDATE_B = yes인 경우에 UPDATE_A = yes로 설정하고(S612), 키보드 포커스가 이동하지 않은 경우 즉, UPDATE_B = no인 경우에 UPDATE_A = no로 설정한다(S613). The keyboard input information encryption apparatus sets the UPDATE_A information corresponding to the UPDATE_B information in the kernel area (S611). In detail, the keyboard input information encrypting apparatus sets UPDATE_A = yes when the keyboard focus is moved, that is, when UPDATE_B = yes (S612), and UPDATE_A = when the keyboard focus is not moved, that is, when UPDATE_B = no. Set to no (S613).

다음, 키보드 입력정보 암호화 장치는 키보드 포커스가 이동하지 않을 경우에 키보드 입력정보를 암호화하고, 키보드의 포커스가 이동하는 경우에 키보드 입력정보가 마지막 필드에 해당하는지를 판단한다.
Next, the keyboard input information encrypting apparatus encrypts the keyboard input information when the keyboard focus does not move, and determines whether the keyboard input information corresponds to the last field when the keyboard focus moves.

키보드 입력정보 암호화 장치는 키보드의 포커스가 이동한 후, 키보드 입력정보가 마지막 필드에 해당하는지를 판단하고, 판단 결과에 따라 CEK 업데이트 또는 키보드 보안 모듈의 종료를 결정한다(S700). After the keyboard focus is moved, the keyboard input information encryption apparatus determines whether the keyboard input information corresponds to the last field, and determines the CEK update or the termination of the keyboard security module according to the determination result (S700).

다음, 판단 결과에 따라 CEK 업데이트 또는 키보드 보안 모듈의 종료를 결정하는 방법을 도 8을 참조하여 상세하게 설명한다.Next, a method of determining termination of the CEK update or the keyboard security module according to the determination result will be described in detail with reference to FIG. 8.

도 8을 참고하면, 키보드 입력정보 암호화 장치는 유저영역에서 키보드 입력정보가 마지막 필드(LAST_FD)에 해당하는지 확인한다(S721).Referring to FIG. 8, the apparatus for encrypting keyboard input information checks whether the keyboard input information corresponds to the last field LAST_FD in the user area (S721).

키보드 입력정보 암호화 장치는 유저영역에서 키보드 입력정보가 마지막 필드에 해당하는 경우에 LAST_FD_B = yes 로 설정하고, 키보드 보안 모듈을 종료시킨다(S722). When the keyboard input information corresponds to the last field in the user area, the keyboard input information encryption apparatus sets LAST_FD_B = yes and terminates the keyboard security module (S722).

키보드 입력정보 암호화 장치는 유저영역에서 키보드 입력정보가 마지막 필드에 해당하지 않는 경우에 LAST_FD = no로 설정하고, INDEX_B+1를 INDEX_B으로, CEK를 KEK로 설정한다(S723). 다음, 키보드 입력정보 암호화 장치는 유저영역에서 설정한 결과를 커널영역으로 전달하여, 다시 세션키 암호용키(KEK)를 동기화한다. When the keyboard input information does not correspond to the last field in the user area, the keyboard input information encryption apparatus sets LAST_FD = no, sets INDEX_B + 1 to INDEX_B, and CEK to KEK (S723). Next, the apparatus for encrypting keyboard input information transfers the result set in the user area to the kernel area and synchronizes the session key encryption key KEK again.

키보드 입력정보 암호화 장치는 유저영역에서 설정한 LAST_FD의 정보를 커널영역으로 전달한다. The keyboard input information encryption apparatus delivers the information of LAST_FD set in the user area to the kernel area.

키보드 입력정보 암호화 장치는 커널영역에서 LAST_FD의 정보에 대응하게 CEK 업데이트 또는 키보드 보안 모듈의 종료를 결정한다(S711). The keyboard input information encryption apparatus determines the end of the CEK update or the keyboard security module in response to the information of LAST_FD in the kernel area (S711).

구체적으로, 키보드 입력정보 암호화 장치는 키보드 입력정보가 마지막 필드에 해당하는 경우(LAST_FD_B = yes)에 키보드 보안 모듈을 종료 시킨다(S712). In detail, when the keyboard input information corresponds to the last field (LAST_FD_B = yes), the keyboard input information encryption device terminates the keyboard security module (S712).

키보드 입력정보 암호화 장치는 키보드 입력정보가 마지막 필드에 해당하지 않는 경우(LAST_FD = no)에 INDEX_A+1를 INDEX_ A으로, CEK를 KEK로 설정한다(S713). When the keyboard input information does not correspond to the last field (LAST_FD = no), the apparatus for encrypting keyboard input information sets INDEX_A + 1 to INDEX_A and CEK to KEK (S713).

즉, 본 발명의 실시예에 따른 S700단계에 의하여 KEK가 CEK 값으로 대체되며, KEK의 인덱스에 해당하는 데이터가 증가하게 된다. 따라서, KEK가 CEK 값으로 대체됨에 따라 CEK를 업데이트하는 S400에서 이전 CEK가 현재의 KEK 역할을 수행하게 된다. That is, the KEK is replaced with the CEK value by the step S700 according to the embodiment of the present invention, and the data corresponding to the index of the KEK is increased. Therefore, as the KEK is replaced with the CEK value, the previous CEK plays the current KEK role in the S400 updating the CEK.

이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, an optimal embodiment has been disclosed in the drawings and specification. Although specific terms have been employed herein, they are used for purposes of illustration only and are not intended to limit the scope of the invention as defined in the claims or the claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

100; 키 공유 요청부
200; 초기 키 공유부
300; 동기화부
400; 업데이트부
500; 암호화부
600; 업데이트 판단부
700; 입력 판단부
100; Key sharing request unit
200; Initial key share
300; Synchronizer
400; Update section
500; Encryption
600; Update judgment unit
700; Input judgment unit

Claims (15)

디피 헬먼(Diffie-Hellman, DH) 키 공유 방식을 이용하여 커널영역과 유저영역에서 암호용키(key encryption key, KEK)를 공유하는 단계;
상기 커널영역과 유저영역에서 상기 암호용키를 이용하여 키보드 입력정보의 암호키에 해당하는 세션키(Content encryption key, CEK)를 공유하는 단계; 및
상기 키보드 입력정보를 상기 커널영역에서 상기 세션키를 이용하여 암호화하는 단계
를 포함하는 키보드 입력정보 암호화 방법.
Sharing a key encryption key (KEK) in a kernel area and a user area by using a Diffie-Hellman (DH) key sharing scheme;
Sharing a session key (CEK) corresponding to an encryption key of keyboard input information using the encryption key in the kernel area and the user area; And
Encrypting the keyboard input information using the session key in the kernel region;
Keyboard input information encryption method comprising a.
청구항 1에 있어서,
상기 암호용키를 공유하는 단계는
상기 커널영역과 유저영역에서 동일 데이터를 획득하는 단계; 및
상기 동일 데이터를 키 유도 함수(key derivation function, KDF)에 적용하여 상기 암호용키를 생성하여 공유하는 단계
를 포함하는 키보드 입력정보 암호화 방법.
The method according to claim 1,
The sharing of the encryption key
Acquiring the same data in the kernel region and the user region; And
Generating and sharing the cryptographic key by applying the same data to a key derivation function (KDF)
Keyboard input information encryption method comprising a.
청구항 1에 있어서,
상기 세션키를 공유하는 단계는
상기 커널영역에서 적용되는 블록 암호 알고리즘에 따라 상기 세션키를 난수로 생성하여, 상기 세션키를 상기 암호용키로 암호화하여 상기 유저영역에 전달하고, 상기 유저영역에서 상기 블록 암호 알고리즘을 적용하여 암호화된 암호용키를 복호화함으로써, 상기 세션키를 상기 커널영역과 유저영역이 공유하는 것을 특징으로 하는 키보드 입력정보 암호화 방법.
The method according to claim 1,
The sharing of the session key
Generates the session key as a random number according to the block cipher algorithm applied in the kernel region, encrypts the session key with the cipher key, and transmits the session key to the user region. And decrypting an encryption key, thereby sharing the session key with the kernel area and the user area.
청구항 1에 있어서,
상기 공유하는 단계는
상기 암호용키와 세션키를 업데이트하는 단계
를 더 포함하는 키보드 입력정보 암호화 방법.
The method according to claim 1,
The sharing step
Updating the encryption key and the session key
Keyboard input information encryption method further comprising.
청구항 4에 있어서,
상기 업데이트하는 단계는
상기 암호용키를 동기화하는 단계; 및
상기 키보드의 포커스 이동여부에 따라 상기 세션키의 업데이트 여부를 판단하고, 판단한 결과에 대응하게 상기 세션키의 업데이트 또는 키보드 보안을 종료하는 단계
를 포함하는 키보드 입력정보 암호화 방법.
The method of claim 4,
The updating step
Synchronizing the encryption key; And
Determining whether the session key is updated according to whether or not the keyboard focus is moved, and ending updating of the session key or keyboard security corresponding to the determined result
Keyboard input information encryption method comprising a.
청구항 5에 있어서,
상기 동기화하는 단계는
상기 커널영역에서의 암호용키의 인덱스와 상기 유저영역에서의 암호용키의 인덱스의 일치 여부를 판단하는 단계;
일치하는 경우에 상기 세션키를 업데이트하는 단계; 및
일치하지 않는 경우에 상기 암호용키를 다시 공유하는 단계
를 포함하는 키보드 입력정보 암호화 방법.
The method according to claim 5,
Synchronizing is
Determining whether the index of the encryption key in the kernel region coincides with the index of the encryption key in the user region;
Updating the session key if there is a match; And
Resharing the encryption key if it does not match
Keyboard input information encryption method comprising a.
청구항 5에 있어서,
상기 세션키의 업데이트 여부를 판단하는 단계는
상기 유저영역에서 상기 키보드 포커스의 이동여부를 확인하는 단계;
상기 키보드 포커스가 이동하지 않을 경우에 상기 키보드 입력정보를 암호화하는 단계; 및
상기 키보드 포커스가 이동하는 경우에 상기 키보드 입력정보가 마지막 필드에 해당하는지를 판단하는 단계
를 포함하는 키보드 입력정보 암호화 방법.
The method according to claim 5,
Determining whether or not the session key is updated
Checking whether the keyboard focus is moved in the user area;
Encrypting the keyboard input information when the keyboard focus does not move; And
Determining whether the keyboard input information corresponds to a last field when the keyboard focus moves;
Keyboard input information encryption method comprising a.
청구항 7에 있어서,
상기 키보드 입력정보가 마지막 필드에 해당하는지를 판단하는 단계는
상기 키보드 입력정보가 마지막 필드에 해당하지 않는 경우에 상기 세션키를 업데이트하는 단계; 및
상기 키보드 입력정보가 마지막 필드에 해당하는 경우에 상기 키보드 보안을 종료하는 단계
를 포함하는 키보드 입력정보 암호화 방법.
The method of claim 7,
Determining whether the keyboard input information corresponds to the last field
Updating the session key if the keyboard input information does not correspond to a last field; And
Terminating the keyboard security when the keyboard input information corresponds to a last field
Keyboard input information encryption method comprising a.
디피 헬먼(Diffie-Hellman, DH) 키 공유 방식을 이용하여 커널영역과 유저영역에서 암호용키(key encryption key, KEK)를 공유하는 키 공유부;
상기 커널영역과 유저영역에서 상기 암호용키를 이용하여 키보드 입력정보의 암호키에 해당하는 세션키(Content encryption key, CEK)를 업데이트하는 업데이트부; 및
상기 키보드 입력정보를 상기 커널영역에서 상기 세션키를 이용하여 암호하는 암호화부
를 포함하는 키보드 입력정보 암호화 장치.
A key sharing unit for sharing a key encryption key (KEK) in a kernel area and a user area by using a Diffie-Hellman (DH) key sharing scheme;
An update unit for updating a session key corresponding to an encryption key of keyboard input information using the encryption key in the kernel region and the user region; And
An encryption unit for encrypting the keyboard input information using the session key in the kernel region
Keyboard input information encryption device comprising a.
청구항 9에 있어서,
상기 키 공유부는
상기 커널영역과 유저영역에서 동일 데이터를 획득하고, 상기 동일 데이터를 키 유도 함수(key derivation function, KDF)에 적용하여 상기 암호용키를 생성하여 공유하는 것을 특징으로 하는 키보드 입력정보 암호화 장치.
The method according to claim 9,
The key sharing unit
And obtaining the same data in the kernel region and the user region, and generating and sharing the encryption key by applying the same data to a key derivation function (KDF).
청구항 9에 있어서,
상기 업데이트부는
상기 커널영역에서 적용되는 블록 암호 알고리즘에 따라 상기 세션키를 난수로 생성하여, 상기 세션키를 상기 암호용키로 암호화하여 상기 유저영역에 전달하고, 상기 유저영역에서 상기 블록 암호 알고리즘을 적용하여 암호화된 암호용키를 복호화함으로써, 상기 세션키를 상기 커널영역과 유저영역이 공유하는 것을 특징으로 하는 키보드 입력정보 암호화 장치.
The method according to claim 9,
The update unit
Generates the session key as a random number according to the block cipher algorithm applied in the kernel region, encrypts the session key with the cipher key, and transmits the session key to the user region. And decrypting the encryption key so that the session key is shared between the kernel region and the user region.
청구항 9에 있어서,
상기 암호용키를 동기화하는 동기화부;
상기 키보드의 포커스 이동여부에 따라 세션키의 업데이트 여부를 확인하는 업데이트 판단부; 및
상기 키보드의 포커스가 이동한 경우에 상기 키보드 입력정보가 마지막 필드에 해당하는지를 판단하고, 판단 결과에 따라 상기 세션키의 업데이트 또는 키보드 보안을 종료하는 입력 판단부
를 더 포함하는 키보드 입력정보 암호화 장치.
The method according to claim 9,
A synchronization unit for synchronizing the encryption key;
An update determining unit for checking whether or not the session key is updated according to whether the keyboard moves focus; And
The input determination unit determines whether the keyboard input information corresponds to the last field when the focus of the keyboard is moved, and terminates the updating of the session key or keyboard security according to the determination result.
Keyboard input information encryption device further comprising.
청구항 12에 있어서,
상기 동기화부는
상기 커널영역에서의 암호용키의 인덱스와 상기 유저영역에서의 암호용키의 인덱스의 일치 여부를 판단하고, 판단 결과에 따라 상기 세션키를 업데이트하거나 상기 암호용키를 공유하는 것을 특징으로 하는 키보드 입력정보 암호화 장치.
The method of claim 12,
The synchronization unit
Determining whether the index of the encryption key in the kernel region and the index of the encryption key in the user region match, and updating the session key or sharing the encryption key according to a determination result. Device.
청구항 12에 있어서,
상기 업데이트 판단부는
상기 키보드 포커스가 이동하지 않을 경우에 상기 키보드 입력정보를 암호화하는 것을 특징으로 하는 키보드 입력정보 암호화 장치.
The method of claim 12,
The update determination unit
And encrypting the keyboard input information when the keyboard focus does not move.
청구항 12에 있어서,
상기 입력 판단부는
상기 키보드 입력정보가 마지막 필드에 해당하지 않는 경우에 상기 세션키를 업데이트하고, 상기 키보드 입력정보가 마지막 필드에 해당하는 경우에 상기 키보드 보안을 종료하는 것을 특징으로 하는 키보드 입력정보 암호화 장치.
The method of claim 12,
The input determination unit
And update the session key when the keyboard input information does not correspond to the last field, and terminate the keyboard security when the keyboard input information corresponds to the last field.
KR1020110023004A 2011-03-15 2011-03-15 Apparatus and method for encrypting input on keyboard KR101219664B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110023004A KR101219664B1 (en) 2011-03-15 2011-03-15 Apparatus and method for encrypting input on keyboard

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110023004A KR101219664B1 (en) 2011-03-15 2011-03-15 Apparatus and method for encrypting input on keyboard

Publications (2)

Publication Number Publication Date
KR20120105283A true KR20120105283A (en) 2012-09-25
KR101219664B1 KR101219664B1 (en) 2013-01-21

Family

ID=47112324

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110023004A KR101219664B1 (en) 2011-03-15 2011-03-15 Apparatus and method for encrypting input on keyboard

Country Status (1)

Country Link
KR (1) KR101219664B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11429753B2 (en) * 2018-09-27 2022-08-30 Citrix Systems, Inc. Encryption of keyboard data to avoid being read by endpoint-hosted keylogger applications

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003069491A1 (en) 2002-02-15 2003-08-21 Science Park Corporation Authentication method using input feature of input unit of computer, its program, and program recorded medium
KR100734145B1 (en) * 2005-10-12 2007-07-03 주식회사 안철수연구소 Method of protecting hacking of a key input by using authorization of keyboard data
KR100998214B1 (en) * 2008-10-30 2010-12-17 임강빈 Apparatus for and method of securing keyboard to evade stealth sniffing
KR100952644B1 (en) 2009-04-17 2010-04-13 주식회사 잉카인터넷 Security system and method of keyboard input data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11429753B2 (en) * 2018-09-27 2022-08-30 Citrix Systems, Inc. Encryption of keyboard data to avoid being read by endpoint-hosted keylogger applications

Also Published As

Publication number Publication date
KR101219664B1 (en) 2013-01-21

Similar Documents

Publication Publication Date Title
US11757662B2 (en) Confidential authentication and provisioning
JP6221014B1 (en) Secure shared key sharing system and method
US10785019B2 (en) Data transmission method and apparatus
KR102015201B1 (en) Efficient start-up for secured connections and related services
JP3999655B2 (en) Method and apparatus for access control with leveled security
JP6399382B2 (en) Authentication system
CN110059458B (en) User password encryption authentication method, device and system
US11057196B2 (en) Establishing shared key data for wireless pairing
JP5668191B2 (en) ENCRYPTED DATA MANAGEMENT DEVICE, ENCRYPTED DATA MANAGEMENT METHOD, AND ENCRYPTED DATA MANAGEMENT PROGRAM
CN107453880B (en) Cloud data secure storage method and system
JP2012235214A (en) Encryption communication device and encryption communication system
US20190044922A1 (en) Symmetric key identity systems and methods
US20170019256A1 (en) Method to authenticate two devices to establish a secure channel
KR20130093557A (en) System, devices and methods for collaborative execution of a software application comprising at least one encrypted instruction
Gajbhiye et al. Bluetooth secure simple pairing with enhanced security level
JP2021536712A (en) Protection of data stored in memory of IoT devices in low power mode
KR101219664B1 (en) Apparatus and method for encrypting input on keyboard
KR20090024482A (en) Key management system for using content and method thereof
CN111953675B (en) Key management method based on hardware equipment
KR20190007336A (en) Method and apparatus for generating end-to-end security channel, and method and apparatus for transmitting/receiving secure information using security channel
KR101808313B1 (en) Method of encrypting data
KR20140036512A (en) Method of migrating certificate to mobile terminal using certificate transmission server based on one-time public information and apparatus using the same
KR102539418B1 (en) Apparatus and method for mutual authentication based on physical unclonable function
KR20180082671A (en) Apparatus and method for data encryption and decryption of web storage
KR20210126944A (en) Method for Sharing Secret Information

Legal Events

Date Code Title Description
A201 Request for examination
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: 20151224

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161227

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20191210

Year of fee payment: 8