[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20090040607A - Proofing memory hacking on user input information - Google Patents

Proofing memory hacking on user input information Download PDF

Info

Publication number
KR20090040607A
KR20090040607A KR1020070106042A KR20070106042A KR20090040607A KR 20090040607 A KR20090040607 A KR 20090040607A KR 1020070106042 A KR1020070106042 A KR 1020070106042A KR 20070106042 A KR20070106042 A KR 20070106042A KR 20090040607 A KR20090040607 A KR 20090040607A
Authority
KR
South Korea
Prior art keywords
data
encryption module
encryption
module
plain text
Prior art date
Application number
KR1020070106042A
Other languages
Korean (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 KR1020070106042A priority Critical patent/KR20090040607A/en
Publication of KR20090040607A publication Critical patent/KR20090040607A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

A memory protection about user input information for applying a password function to an interface controller inputting data about the user input information is provided to prevent the damage of the system due to hacking attack by storing user information in a memory. A user information input interface is implemented by using a data input interface security controller(A100). Inputted clear text data is encrypted and decoded. An encoding module performing a key function manager is implemented(A200). An encoding module encoding unit and an encoding module data decoding unit are interworked with the encoding module(A300). The plain text data is obtained and are not stored in the memory in the plaintext type. Data in which the encrypted data is stored in the memory or which are encrypted are transmitted to network(A500).

Description

사용자 입력 정보에 대한 메모리 해킹 방지{Proofing memory hacking on User input information}Proofing memory hacking on user input information}

사용자 정보를 메모리에 저장하고 네트워크로 전송하는 시스템에 있어서, 상기 사용자 정보를 암호화하여 메모리에 저장함으로써 해킹공격으로 인한 시스템의 피해를 방지하기 위한 사용자 입력 정보에 대한 메모리 해킹 방지 기술에 관한 것이다. A system for storing user information in a memory and transmitting the same to a network, the present invention relates to a memory hacking prevention technology for user input information for preventing damage to a system due to a hacking attack by encrypting and storing the user information in a memory.

인터넷 뱅킹에서는 사용자가 입력한 정보를 사용하여 전자금융서비스를 제공하고 있다. 이때 사용자가 입력한 정보는 평문의 데이터로 메모리에 저장시켜 놓는다. 상기 메모리에 저장되어 있는 평문의 데이터를 전송하기 전에 인증 및 보안통신을 사용하여 암호화되어 전송된다. Internet banking provides electronic financial services using information entered by users. At this time, the information input by the user is stored in the memory as plain text data. Before transmitting the plain text data stored in the memory, the data is encrypted and transmitted using authentication and secure communication.

그러나, 인터넷 뱅킹 프로그램에서 인증하거나 통신상으로 전송하기 위한 사용자 정보는 평문 상태로 메모리에 저장되고 있다. 해커는 이러한 취약점을 악용할 수 있는 메모리 해킹 프로그램을 개발하였으며 이로 인한 사고 사례가 발생하는 문제점이 있다. However, user information for authenticating or communicating over an Internet banking program is stored in a plain text memory. Hacker has developed a memory hacking program that can exploit these vulnerabilities, and there is a problem that the incident case occurs.

일례를 보면, "가"사용자가 "나"사용자에게 1000원의 금액을 이체하였지만 해킹 프로그램은 이체되기 이전의 "나"계좌번호와 1000원을 "해커" 계좌번호와 9000원의 금액으로 변경하여 "해커"가 "가" 사용자의 자산을 갈취하는 문제가 있다.For example, the "A" user transferred $ 1,000 to the "I" user, but the hacking program changed the "I" account number and $ 1000 to the "hacker" account number and $ 9,000 before the transfer. There is a problem that a "hacker" exploits a user's assets.

본 발명은 상기한 문제를 해결하기 위한 것으로 데이터를 입력하는 인터페이스 컨트롤러에 암호 기능을 적용하는 것을 제공한다.The present invention has been made to solve the above problem and provides an application of a cryptographic function to an interface controller for inputting data.

또한, 상기 암호 기능을 적용한 인터페이스 컨트롤러에 의해 사용자가 입력한 평문 데이터를 바로 암호화하여 메모리에 저장하는 방식을 제공함을 목적으로 한다.Another object of the present invention is to provide a method of directly encrypting plain text data input by a user by an interface controller to which the encryption function is applied and storing the encrypted plain text data in a memory.

또한, 상기 평문 데이터를 바로 암호화하여 메모리에 저장하여 사용자 입력 정보에 대한 메모리 해킹 방지 시스템을 제공함을 목적으로 한다.Another object of the present invention is to provide a memory hacking prevention system for user input information by directly encrypting the plain text data and storing it in a memory.

또한, 사용자 입력 정보에 대한 메모리 해킹 방지 방법을 제공함을 목적으로 한다.Another object of the present invention is to provide a method for preventing memory hacking on user input information.

상기한 목적을 달성하기 위한 본 발명의 사용자 입력 정보에 대한 메모리 해킹 방지는 사용자 정보가 평문 데이터로 입력되는 데이터 입력 인터페이스 보안 컨트롤러(20); 및 상기 평문 데이터를 암호화 또는 복호화하는 암호모듈(100); 을 포함하여 구성되는 것을 특징으로 가진다.Memory hacking prevention of the user input information of the present invention for achieving the above object is a data input interface security controller 20, the user information is input as plain text data; And an encryption module 100 for encrypting or decrypting the plain text data. It characterized in that it comprises a.

또한, 상기 데이터 입력 인터페이스 보안 컨트롤러(20)는 공개 영역(80)과 보호 영역(90)으로 구성되며,In addition, the data input interface security controller 20 is composed of a public area 80 and a protection area 90,

또한, 상기 공개 영역(80)은 일반 컨트롤러에서 제공하는 수단들인 인터페이스 처리 수단(81); 및 상기 보호영역(90)과 상기 암호모듈(100)의 연동에 의해 얻어지는 암호화된 데이터를 입력받는 수단인 암호화된 데이터 획득 수단(82); 을 포함하여 구성되는 것을 특징으로 가진다. In addition, the public area 80 includes interface processing means 81 which are means provided by a general controller; Encrypted data obtaining means (82) which is a means for receiving encrypted data obtained by interworking of the protection area (90) with the encryption module (100); It characterized in that it comprises a.

또한, 상기 보호 영역(90)은 상기 데이터 입력 인터페이스 보안 컨트롤러(20)를 통해 입력된 평문 데이터를 상기 암호모듈(100)과 연동하여 암호화하는 암호모듈 연동 데이터 암호 수단(51);In addition, the protection area 90 includes a cryptographic module interlocking data encryption means 51 for encrypting the plain text data input through the data input interface security controller 20 in association with the cryptographic module 100;

상기 암호모듈 연동 데이터 암호 수단(51)을 통해 암호화된 데이터를 상기 암호모듈(100)과 연동하여 복호화하는 암호모듈 연동 데이터 복호 수단(52); 및 상기 데이터 입력 인터페이스 보안 컨트롤러(20)를 통해 입력된 평문 데이터와 복호화된 데이터가 동일한 데이터인지 검증하는 데이터 검증 수단(53); 을 포함하여 구성되는 것을 특징으로 가진다.Encryption module interlocking data decrypting means (52) for decrypting the data encrypted by the encryption module interlocking data encryption means (51) in conjunction with the encryption module (100); And data verification means (53) for verifying whether the plain text data and the decrypted data input through the data input interface security controller (20) are the same data. It characterized in that it comprises a.

또한, 상기 암호모듈(100)은 소프트웨어 암호모듈(30) 또는 하드웨어 암호모듈(40)로 구성되며,In addition, the encryption module 100 is composed of a software encryption module 30 or a hardware encryption module 40,

상기 소프트웨어 암호모듈(30)은 응용프로그램 형태로 암호기능, 키 관리기능 및 복호기능을 제공하는 것을 특징으로 가진다.The software encryption module 30 is characterized by providing an encryption function, a key management function and a decryption function in the form of an application program.

또한, 상기 암호모듈(100)은 소프트웨어 암호모듈(30) 또는 하드웨어 암호모듈(40)로 구성되며,In addition, the encryption module 100 is composed of a software encryption module 30 or a hardware encryption module 40,

상기 하드웨어 암호모듈(40)은 스마트카드 또는 USB의 형태로 암호기능, 키 관리 기능 및 복호기능을 제공하며, 사용자 PC(10)에 하드웨어 암호모듈 드라이버(41)를 설치해야 하는 것을 특징으로 가진다.The hardware encryption module 40 provides an encryption function, a key management function, and a decryption function in the form of a smart card or a USB, and the hardware encryption module driver 41 must be installed in the user PC 10.

또한, 사용자 정보가 입력되는 데이터 입력 인터페이스 보안 컨트롤러(20) 및 암호모듈(100)로 구성되는 사용자 입력정보에 대한 메모리 해킹 방지 시스템의 상기 암호모듈(100)에 암호화하기위한 키를 암호모듈(100)의 키 생성 및 키 교환을 통해 설정하는 단계(S10); 데이터 입력 인터페이스 보안 컨트롤러(20)에 사용자 정보가 평문 데이터로 입력되는 단계(S20); 상기 사용자 정보 입력단계(S20)에서 입력된 평문 데이터를 상기 암호모듈(100)을 사용하여 암호화 또는 복호화하여 상기 평문 데이터와 상기 암호모듈(100)의 복호화를 거쳐 얻어지는 복호화된 데이터를 비교하여 검증하는 단계(S30); 및 상기 암호모듈(100)의 암호화를 거쳐 얻어지는 암호화된 데이터를 획득하여 암호화된 형태로 메모리에 저장하여 상기 암호화된 데이터를 저장 또는 전송처리하는 단계(S40); 를 포함하여 구성되는 것을 특징으로 가진다.Further, the encryption module 100 encrypts a key for encrypting the encryption module 100 of the memory hacking prevention system for the user input information including the data input interface security controller 20 and the encryption module 100 into which user information is input. Setting through key generation and key exchange (S10); Inputting user information as plain text data into the data input interface security controller 20 (S20); Verifying by comparing or decrypting the plain text data input in the user information input step (S20) using the encryption module 100 to compare the decrypted data obtained through the decryption of the plain text data and the encryption module 100. Step S30; Acquiring encrypted data obtained through encryption of the encryption module 100 and storing the encrypted data in an encrypted form to store or transmit the encrypted data (S40); It characterized in that it comprises a.

또한, 상기 데이터 검증단계(S30)는 상기 평문 데이터를 상기 암호모듈(100)로 암호화하여 암호화된 데이터를 얻는 단계(S31); 상기 평문데이터의 암호화된 데이터를 상기 암호모듈(100)로 복호화하여 복호화된 데이터를 얻는 단계(S32); 및 기 평문데이터와 상기 복호화된 데이터가 동일한지 비교하는 단계(S33);를 포함하여 구성되는 것을 특징으로 가진다.In addition, the data verification step (S30) comprises the step of encrypting the plain text data with the encryption module 100 to obtain encrypted data (S31); Decrypting the encrypted data of the plain text data with the encryption module 100 to obtain decrypted data (S32); And comparing whether the plaintext data and the decoded data are the same (S33).

또한, 상기 데이터 비교단계(S33)에서 상기 평문 데이터와 상기 복호화된 데이터가 동일하면 상기 데이터 처리단계(S40)를 수행하고, 상기 평문 데이터와 상기 복호화된 데이터가 동일하지 않으면 메모리 해킹 방지 시스템을 종료하는 단계(S34)를 수행하는 것을 특징으로 가진다.If the plain text data and the decoded data are the same in the data comparing step S33, the data processing step S40 is performed. If the plain text data and the decoded data are not the same, the memory hacking prevention system is terminated. It characterized in that the step (S34) to perform.

또한, 상기 키 설정 단계(S10)에서 서버 및 단말의 프로그램인 다른 대상과 연동할 경우에는 상기 암호모듈(100)의 키 관리 기능인 키 교환을 통해 키를 설정하는 것을 특징으로 가진다.      In addition, in the key setting step (S10), in the case of interlocking with other targets of the program of the server and the terminal, it characterized in that the key is set through the key exchange, which is a key management function of the encryption module 100.

또한, 상기 데이터 저장 또는 전송단계(S40)에서 서버 및 단말의 프로그램인 다른 대상과 연동할 경우, 암호화된 데이터를 수신한 대상은 상기 키 설정 단계(S10)에서 교환된 키를 사용하여 암호화된 데이터를 복호화하는 것을 특징으로 가진다.In addition, when interlocking with another object that is a program of the server and the terminal in the data storage or transmission step (S40), the object receiving the encrypted data is data encrypted using the key exchanged in the key setting step (S10). It is characterized by decoding the.

본 발명에 따른 사용자 입력 정보에 대한 메모리 해킹 방지는 사용자가 입력한 사용자 정보가 저장되는 메모리에 대한 해킹 공격을 방지함으로써 사용자 정보를 보호할 수 있는 방법을 제공한다.Memory hacking prevention of the user input information according to the present invention provides a method that can protect the user information by preventing a hacking attack on the memory in which the user input information is stored.

또한, 사용자 정보 입력이 요구되는 인터넷 뱅킹이나 전자상거래 등의 모든 전자금융거래 서비스에 안전한 서비스를 제공한다.In addition, it provides a secure service for all electronic financial transaction services, such as Internet banking or electronic commerce that requires user information input.

이하 첨부한 도면들을 참조하여 본 발명의 사용자 입력정보에 대한 메모리 해킹 방지를 상세히 설명한다. Hereinafter, memory hacking prevention of user input information of the present invention will be described in detail with reference to the accompanying drawings.

다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. The drawings introduced below are provided by way of example so that the spirit of the invention to those skilled in the art can fully convey.

따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한 명세서 전체에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. Accordingly, the present invention is not limited to the drawings presented below and may be embodied in other forms. Also, like reference numerals denote like elements throughout the specification.

이때, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다. At this time, if there is no other definition in the technical terms and scientific terms used, it has a meaning commonly understood by those of ordinary skill in the art to which the present invention belongs, the gist of the present invention in the following description and the accompanying drawings Descriptions of well-known functions and configurations that may be unnecessarily blurred are omitted.

도 1은 본 발명에 따른 사용자 입력 정보에 대한 메모리 해킹방지 시스템 및 방법의 데이터 입력 인터페이스 보안 컨트롤러와 암호모듈 연동 구조를 나타낸 불록도이고, 도 2는 본 발명에 따른 사용자 입력 정보에 대한 메모리 해킹방지 시스템 및 방법의 데이터 입력 인터페이스 보안 컨트롤러와 암호모듈 기능 구조를 나타낸 블록도이다.1 is a block diagram showing a data input interface security controller and a cryptographic module interworking structure of a system and method for preventing memory hacking of user input information according to the present invention, and FIG. 2 is a memory hacking prevention of user input information according to the present invention. A block diagram showing the functional structure of the data input interface security controller and cryptographic module of the system and method.

도 1에 도시된 바와 같이, 본 발명에 따른 사용자 입력 정보에 대한 메모리 해킹 방지 시스템은 응용프로그램인 데이터 입력 인터페이스 보안 컨트롤러(20)와 암호모듈(100)로 구성된다.As shown in FIG. 1, the memory hacking prevention system for user input information according to the present invention includes a data input interface security controller 20 and an encryption module 100, which are application programs.

상기 데이터 입력 인터페이스 보안 컨트롤러(20)에는 암호모듈 인터페이스(50)가 포함되어 구성된다. The data input interface security controller 20 includes a cryptographic module interface 50.

상기 암호모듈(100)은 응용프로그램 내부에 위치하는 소프트웨어 암호모듈(30)과 응용프로그램 외부에 위치하며 스마트카드 및 USB의 형태로 사용자PC(10)에 하드웨어 암호모듈 드라이버(41)를 설치하여 작동하는 하드웨어 암호모듈(40)로 구성된다.The cryptographic module 100 operates by installing a hardware cryptographic module driver 41 on the user PC 10 in the form of a smart card and a USB and a software cryptographic module 30 located inside the application program and external to the application program. It consists of a hardware cryptographic module 40.

상기 데이터 입력 인터페이스 보안 컨트롤러(20) 및 상기 암호모듈(100)에 의해 제공되는 암호화된 정보(60)가 저장되는 메모리(70)가 사용자PC(10) 내부에 위치한다.A memory 70 in which the encrypted information 60 provided by the data input interface security controller 20 and the encryption module 100 is stored is located inside the user PC 10.

도 2에 도시된 바와 같이, 상기 데이터 입력 인터페이스 보안 컨트롤러(20)는 공개 영역(80)과 보호 영역(90)으로 구분된다.As shown in FIG. 2, the data input interface security controller 20 is divided into a public area 80 and a protection area 90.

상기 공개 영역(80)은 인터페이스 처리 수단(81)과 암호화된 데이터 획득 수단(82)로 일반적인 데이터 처리 기능을 가진다. 상기 인터페이스 처리수단(81)은 일반 컨트롤러에서 제공하는 수단이고, 상기 암호화된 데이터 획득수단(82)은 상기 데이터 입력 인터페이스(20)를 통해 입력된 평문 데이터를 상기 보호 영역(90)에 있는 상기 암호모듈(100) 연동 수단으로 암호화하고 암호화를 거쳐 얻어진 암호화된 데이터를 입력받는다.The public area 80 has an interface data processing means 81 and an encrypted data obtaining means 82 having a general data processing function. The interface processing means 81 is a means provided by a general controller, and the encrypted data obtaining means 82 stores the plain text data input through the data input interface 20 in the protection area 90. The module 100 receives the encrypted data obtained through the encryption by the interlocking means.

상기 보호 영역(90)은 암호모듈 연동 데이터 암호 수단(51), 암호모듈 연동 데이터 복호 수단(52) 및 데이터 검증 수단(53)으로 구성되어 상기 암호모듈(100)과 연동하여 상기 평문 데이터를 암호화 및 복호화하는 기능을 갖는다.The protection area 90 is composed of an encryption module interlocking data encryption means 51, an encryption module interlocking data decryption means 52, and a data verification means 53 to encrypt the plain text data in conjunction with the encryption module 100. And decoding.

상기 암호모듈 연동 데이터 암호 수단(51)은 상기 암호 모듈(100)과 연동하여 사용자 PC(10)의 응용프로그램을 통하여 입력된 사용자 정보인 평문 데이터를 암호화하여 암호화된 데이터를 얻는 수단이다.The encryption module interworking data encryption means 51 is a means for obtaining the encrypted data by encrypting the plain text data which is user information input through the application program of the user PC 10 in cooperation with the encryption module 100.

상기 암호모듈 연동 데이터 복호 수단(52)은 상기 암호화된 데이터를 복호화하여 복호화된 데이터를 얻는 수단이다.The encryption module interlocking data decrypting means 52 is means for decrypting the encrypted data to obtain decrypted data.

상기 데이터 검증 수단(53)은 상기 평문 데이터와 상기 복호화된 데이터가 동일한지 비교하여 검증하는 수단이다.The data verification means 53 is a means for verifying by comparing whether the plain text data and the decoded data are the same.

상기 암호모듈(100)은 소프트웨어 암호모듈(30) 또는 하드웨어 암호모듈(40)중 선택적으로 구성할 수 있다.The encryption module 100 may be selectively configured among the software encryption module 30 or the hardware encryption module 40.

상기 소프트웨어 암호모듈(30)은 응용프로그램 형태로 키 생성, 키 분배, 키 교환, 암호기능, 및 복호 기능을 구현하여 암호 기능을 제공하는 모듈이다.The software encryption module 30 is a module that provides a cryptographic function by implementing a key generation, key distribution, key exchange, encryption function, and decryption function in the form of an application program.

상기 하드웨어 암호모듈(40)은 스마트카드나 USB등의 형태로 키 생성, 키 분배, 키 교환, 암호기능 및 복호기능을 제공하며, 사용자 PC(10)에 사용하고자 하는 하드웨어 암호모듈의 하드웨어 암호모듈 드라이버(41)가 필요하다.The hardware encryption module 40 provides a key generation, key distribution, key exchange, encryption function and decryption function in the form of a smart card or USB, and the hardware encryption module of the hardware encryption module to be used in the user PC 10 Driver 41 is required.

상기 사용자 PC(10)의 메모리(70)는 암호화된 저장용 사용자 정보(61)와 암호화된 전송용 사용자 정보(62)를 저장하는 기능을 가진다. 상기 평문데이터가 암호화되어 메모리(70)에 저장되고, 사용자 정보 입력창(11)에서 전송(12) 또는 저장(13) 버튼을 선택한다. 전송 버튼(12)을 선택하면 상기 메모리(70)에 저장되어 있는 암호화된 전송용 사용자 정보(62)가 네트워크상으로 전송 된다. 저장 버튼(13)을 선택하게 되면 상기 메모리에 저장되어 있는 암호화된 저장용 사용자 정보(61)를 저장한다.The memory 70 of the user PC 10 has a function of storing encrypted storage user information 61 and encrypted transmission user information 62. The plain text data is encrypted and stored in the memory 70, and then the transmission 12 or the storage 13 button is selected in the user information input window 11. When the transmit button 12 is selected, encrypted transmission user information 62 stored in the memory 70 is transmitted over the network. When the storage button 13 is selected, the encrypted storage user information 61 stored in the memory is stored.

도 3은 전술한 기능과 연동 구조를 갖는 사용자 입력 정보에 대한 메모리 해킹방지 시스템 및 방법의 적용절차를 나타낸 것이다.3 illustrates an application procedure of a memory hacking prevention system and method for user input information having an interworking structure with the above-described function.

도 3에 도시된 바와 같이, 사용자 PC(10)에서 사용되는 응용프로그램을 개발할 때, 기존에 사용하던 일반 컨트롤러를 사용하지 않고 상기 데이터 입력 인터페 이스 보안 컨트롤러(20)를 사용하여 사용자 정보 입력 인터페이스를 구현한다.(A100) As shown in FIG. 3, when developing an application program used in the user PC 10, the data input interface security controller 20 is used to use a user information input interface without using a conventional controller. (A100)

상기 데이터 입력 인터페이스 보안 컨트롤러(20)에 입력되는 평문데이터를 암호 및 복호화고 키 교환 및 키 분배의 키 설정하는 키 관리 기능을 수행하는 암호모듈(100)을 구현한다.(A200)A cryptographic module 100 is implemented to encrypt and decrypt plain text data input to the data input interface security controller 20 and perform a key management function for setting keys for key exchange and key distribution.

상기 데이터 입력 인터페이스 보안 컨트롤러(20)의 암호모듈 연동 데이터 암호 수단(51) 및 암호모듈 연동 데이터 복호 수단(52)에 응용 프로그램에서 사용하고 있는 암호모듈(100)과 연동하는 기능을 구현한다.(A300)The cryptographic module interlocking data encryption means 51 and the cryptographic module interlocking data decrypting means 52 of the data input interface security controller 20 implement a function interworking with the cryptographic module 100 used in the application program. A300)

상기 데이터 입력 인터페이스 보안 컨트롤러(20)로부터 상기 평문 데이터를 획득하여 메모리에 평문 형태로 저장하지 않고, 암호모듈(100)에 의해 암호화된 데이터와 상기 평문 데이터가 동일한지 검증하고 검증된 데이터를 획득하여 메모리(70)에 상기 암호화된 데이터를 저장하는 기능을 구현한다(A400).Instead of acquiring the plain text data from the data input interface security controller 20 and storing the plain text data in a plain text form, verifying that the data encrypted by the encryption module 100 is the same as the plain text data and acquiring the verified data. A function of storing the encrypted data in the memory 70 is implemented (A400).

상기 메모리(70)에 저장된 상기 암호화된 데이터를 상기 사용자 정보 입력창(11)의 전송 버튼(12) 또는 저장 버튼(13) 중에 선택한 버튼에 따라 메모리(70)에 상기 암호화된 데이터를 저장하거나 네트워크로 전송하는 기능을 구현한다.(A500)The encrypted data stored in the memory 70 is stored in the memory 70 according to a button selected from the transmission button 12 or the storage button 13 of the user information input window 11 or the network. It implements the function to transmit to the server. (A500)

도 4 및 도 5는 본 발명에 따른 사용자 입력 정보에 대한 메모리 해킹 방지 시스템을 운용하는 방법을 나타낸 것이다.4 and 5 illustrate a method of operating a memory hacking prevention system for the user input information according to the present invention.

도 4에 도시된 바와 같이, 우선 상기 암호모듈(100)의 키 생성, 키 교환 및 키 분배 기능을 이용하여 키 설정단계(S10)를 수행한다.As shown in FIG. 4, first, a key setting step S10 is performed by using a key generation, key exchange, and key distribution function of the encryption module 100.

상기 키 설정 단계(S10)를 수행한 후, 사용자 정보 입력창(11)에 사용자 정보를 평문 데이터로 입력하는 사용자 정보 입력단계(S20)를 수행한다.After performing the key setting step S10, a user information input step S20 of inputting user information as plain text data into the user information input window 11 is performed.

상기 평문 데이터를 저장하거나 전송하기 위한 버튼을 선택한다. 저장 버튼(13)을 선택하면 메모리(70)에 암호화된 데이터가 저장되고, 전송 버튼(12)을 선택하면 메모리(70)에 저장되어 있는 암호화된 데이터가 네트워크상으로 전송된다.A button for storing or transmitting the plain text data is selected. If the save button 13 is selected, the encrypted data is stored in the memory 70, and if the send button 12 is selected, the encrypted data stored in the memory 70 is transmitted over the network.

상기 사용자 정보 입력단계(S20)를 수행한 후 상기 평문 데이터를 암호화, 복호화 및 데이터 비교를 하는 데이터 검증단계(S30)를 수행한다.After performing the user information input step S20, a data verification step S30 for encrypting, decrypting, and comparing data is performed.

도 5에 도시된 바와 같이, 상기 데이터 검증단계(S30)는 데이터 암호화단계(S31), 데이터 복호화단계(S32) 및 데이터 비교단계(S33)를 갖는다.As shown in FIG. 5, the data verification step S30 includes a data encryption step S31, a data decryption step S32, and a data comparison step S33.

상기 데이터 암호화 단계(S31)는 상기 평문 데이터를 상기 암호모듈 연동 데이터 암호 수단(51)과 상기 암호모듈(100)의 연동에 의하여 암호화하여 암호화된 데이터를 얻는다. In the data encryption step (S31), the plain text data is encrypted by interlocking the encryption module interworking data encryption means 51 and the encryption module 100 to obtain encrypted data.

상기 데이터 복호화단계(S32)는 상기 암호화된 데이터를 상기 암호모듈 연동 데이터 복호 수단(52)과 상기 암호 모듈(100)의 연동에 의하여 복호화하여 복호화된 데이터를 얻는다.In the data decryption step (S32), the encrypted data is decrypted by interlocking the encryption module interworking data decryption means 52 and the encryption module 100 to obtain decrypted data.

상기 데이터 비교단계(S33)는 상기 평문 데이터와 상기 복호화된 데이터가 동일한 데이터인지 상기 데이터 검증수단(53)을 이용하여 비교하고 검증한다.The data comparing step S33 compares and verifies whether the plain text data and the decoded data are the same data using the data verifying means 53.

상기 데이터 비교단계(S33)에서 비교 결과 상기 평문 데이터와 상기 복호화된 데이터가 동일하지 않으면 실패처리단계(S34)를 수행한다.If the plain text data and the decoded data are not the same as the result of the comparison in the data comparing step S33, a failure processing step S34 is performed.

상기 데이터 비교단계(S33)에서 비교 결과 상기 평문 데이터와 상기 복호화 된 데이터가 동일한 데이터이면 상기 암호화된 데이터 형태로 상기 메모리(70)에 저장되어 있는 암호화된 정보(60)를 저장 또는 전송하는 데이터 처리단계(S40)를 수행한다.Data processing for storing or transmitting the encrypted information 60 stored in the memory 70 in the form of encrypted data when the plain text data and the decrypted data are the same data as a result of the comparison in the data comparing step S33. Step S40 is performed.

도 1은 본 발명에 따른 사용자 입력 정보에 대한 메모리 해킹방지 시스템 및 방법의 데이터 입력 인터페이스 보안 컨트롤러와 암호모듈 연동 구조를 나타낸 불록도이고,1 is a block diagram showing a data input interface security controller and an encryption module interworking structure of a system and method for preventing memory hacking of user input information according to the present invention;

도 2는 본 발명에 따른 사용자 입력 정보에 대한 메모리 해킹방지 시스템 및 방법의 데이터 입력 인터페이스 보안 컨트롤러와 암호모듈 기능 구조를 나타낸 불록도이고, 2 is a block diagram showing a data input interface security controller and a cryptographic module function structure of a system and method for preventing memory hacking of user input information according to the present invention;

도 3은 본 발명에 따른 사용자 입력 정보에 대한 메모리 해킹방지 시스템 및 방법의 보안 컨트롤러를 적용하기 위한 절차를 나타낸 순서도이고,3 is a flowchart illustrating a procedure for applying a security controller of a system and method for preventing memory hacking to user input information according to the present invention;

도 4는 본 발명에 따른 사용자 입력 정보에 대한 메모리 해킹방지 시스템 및 방법의 보안 컨트롤러를 운용하는 절차를 나타낸 순서도이고,4 is a flowchart illustrating a procedure of operating a security controller of a system and method for preventing memory hacking of user input information according to the present invention;

도 5는 본 발명에 따른 사용자 입력 정보에 대한 메모리 해킹방지 시스템 및 방법의 보안 컨트롤러를 운용하는 절차에서 데이터 검증단계를 나타낸 순서도이다.5 is a flowchart illustrating a data verification step in a procedure of operating a security controller of a system and method for preventing memory hacking of user input information according to the present invention.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

10 : 사용자PC 11 : 사용자 정보 입력창 10: User PC 11: User Information Input Window

12 : 전송버튼 13 : 저장 버튼 12: Transfer Button 13: Save Button

20 : 데이터 입력 인터페이스 보안 컨트롤러20: data entry interface security controller

30 : 소프트웨어 암호모듈 40 : 하드웨어 암호모듈 30: software encryption module 40: hardware encryption module

50 : 암호모듈 인터페이스 51 : 암호모듈 연동 데이터 암호수단50: encryption module interface 51: encryption module interworking data encryption means

52 : 암호모듈 연동 데이터 복호수단 53 : 데이터 검증수단52: encryption module interworking data decoding means 53: data verification means

60 : 암호화된 정보 61 : 암호화된 저장용 사용자 정보60: encrypted information 61: encrypted user information

62 : 암호화된 전송용 사용자 정보 70 : 메모리62: user information for encrypted transmission 70: memory

80 : 공개 영역 81 : 인터페이스 처리수단80: public domain 81: interface processing means

82 : 암호화된 데이터 획득수단 90 : 보호 영역82: means for obtaining encrypted data 90: protection area

100 : 암호모듈 100: cryptographic module

Claims (14)

사용자 정보가 평문 데이터로 입력되는 데이터 입력 인터페이스 보안 컨트롤러; 및 상기 평문 데이터를 암호화 또는 복호화하는 암호모듈; 을 포함하여 구성되는 것을 특징으로 하는 사용자 입력 정보에 대한 메모리 해킹 방지 시스템.A data input interface security controller through which user information is input as plain text data; And an encryption module for encrypting or decrypting the plain text data. Memory hacking prevention system for the user input information, characterized in that comprising a. 제 1항에 있어서,The method of claim 1, 상기 데이터 입력 인터페이스 보안 컨트롤러는 공개 영역과 보호 영역으로 구성되며,The data input interface security controller is composed of a public area and a protection area, 상기 공개 영역은 일반 컨트롤러에서 제공하는 수단들인 인터페이스 처리 수단; 및 상기 보호영역과 상기 암호모듈의 연동에 의해 얻어지는 암호화된 데이터를 입력받는 수단인 암호화된 데이터 획득 수단; 을 포함하여 구성되는 것을 특징으로 하는 사용자 입력 정보에 대한 메모리 해킹 방지 시스템.The public area comprises interface processing means which are means provided by a general controller; And encrypted data obtaining means, which is means for receiving encrypted data obtained by interworking the protection area with the encryption module. Memory hacking prevention system for the user input information, characterized in that comprising a. 제 2항에 있어서, The method of claim 2, 상기 보호 영역은 상기 데이터 입력 인터페이스 보안 컨트롤러를 통해 입력된 평문 데이터를 상기 암호모듈과 연동하여 암호화하는 암호모듈 연동 데이터 암호 수단;The protection area includes encryption module interlocking data encryption means for encrypting the plain text data input through the data input interface security controller in conjunction with the encryption module; 상기 암호모듈 연동 데이터 암호 수단을 통해 암호화된 데이터를 상기 암호모듈과 연동하여 복호화하는 암호모듈 연동 데이터 복호 수단; 및 Encryption module interlocking data decrypting means for decrypting the data encrypted by the encryption module interlocking data encryption means in conjunction with the encryption module; And 상기 데이터 입력 인터페이스 보안 컨트롤러를 통해 입력된 평문 데이터와 복호화된 데이터가 동일한 데이터인지 검증하는 데이터 검증 수단; 을 포함하여 구성되는 것을 특징으로 하는 사용자 입력 정보에 대한 메모리 해킹 방지 시스템. Data verification means for verifying whether the plain text data and the decrypted data input through the data input interface security controller are the same data; Memory hacking prevention system for the user input information, characterized in that comprising a. 제 1항에 있어서,The method of claim 1, 상기 암호모듈은 소프트웨어 암호모듈 또는 하드웨어 암호모듈로 구성되며,The cryptographic module is composed of a software cryptographic module or a hardware cryptographic module, 상기 소프트웨어 암호모듈은 응용프로그램 형태로 암호기능, 키 관리기능 및 복호기능을 제공하는 것을 특징으로 하는 사용자 입력 정보에 대한 메모리 해킹 방지 시스템.The software encryption module is a memory hacking prevention system for the user input information, characterized in that providing an encryption function, key management function and decryption function in the form of an application program. 제 1항에 있어서,The method of claim 1, 상기 암호모듈은 소프트웨어 암호모듈 또는 하드웨어 암호모듈로 구성되며,The cryptographic module is composed of a software cryptographic module or a hardware cryptographic module, 상기 하드웨어 암호모듈은 스마트카드 또는 USB의 형태로 암호기능, 키 관리 기능 및 복호기능을 제공하며, 사용자 PC에 하드웨어 암호모듈 드라이버를 설치해야 하는 것을 특징으로 하는 사용자 입력 정보에 대한 메모리 해킹 방지 시스템.The hardware encryption module provides an encryption function, a key management function, and a decryption function in the form of a smart card or USB, and a memory hacking prevention system for user input information, characterized in that a hardware encryption module driver must be installed in a user PC. 사용자 정보가 입력되는 데이터 입력 인터페이스 보안 컨트롤러 및 암호모듈로 구성되는 사용자 입력정보에 대한 메모리 해킹 방지 시스템의 상기 암호모듈에 암호화하기위한 키를 암호모듈의 키 생성 및 키 교환을 통해 설정하는 단계;Setting a key for encrypting the encryption module of the memory hacking prevention system for the user input information including a data input interface security controller and an encryption module into which user information is input through key generation and key exchange of the encryption module; 데이터 입력 인터페이스 보안 컨트롤러에 사용자 정보가 평문 데이터로 입력 되는 단계;Inputting user information as plain text data into the data input interface security controller; 상기 사용자 정보 입력단계에서 입력된 평문 데이터를 상기 암호모듈을 사용하여 암호화 또는 복호화하여 상기 평문 데이터와 상기 암호모듈의 복호화를 거쳐 얻어지는 복호화된 데이터를 비교하여 검증하는 단계; 및Verifying by comparing or decrypting the plain text data input in the user information input step by using the encryption module to compare the plain text data with the decrypted data obtained through the decryption of the encryption module; And 상기 암호모듈의 암호화를 거쳐 얻어지는 암호화된 데이터를 획득하여 암호화된 형태로 메모리에 저장하여 상기 암호화된 데이터를 저장 또는 전송 처리하는 단계; 를 포함하여 구성되는 것을 특징으로 하는 사용자 입력 정보에 대한 메모리 해킹 방지 방법. Acquiring encrypted data obtained through encryption of the encryption module and storing the encrypted data in an encrypted form to store or transmit the encrypted data; Memory hacking prevention method for the user input information, characterized in that comprises a. 제 6항에 있어서,The method of claim 6, 상기 데이터 검증단계는 상기 평문 데이터를 상기 암호모듈로 암호화하여 암호화된 데이터를 얻는 단계;The data verifying step may include encrypting the plain text data with the encryption module to obtain encrypted data; 상기 평문 데이터의 암호화된 데이터를 상기 암호모듈로 복호화하여 복호화된 데이터를 얻는 단계; 및Decrypting the encrypted data of the plain text data with the encryption module to obtain decrypted data; And 상기 평문 데이터와 상기 복호화된 데이터가 동일한지 비교하는 단계;를 포함하여 구성되는 것을 특징으로 하는 사용자 입력 정보에 대한 메모리 해킹 방지 방법.And comparing the plain text data and the decoded data with each other. 2. 제 6항 또는 제 7항에 있어서,The method according to claim 6 or 7, 상기 데이터 비교단계에서 상기 평문 데이터와 상기 복호화된 데이터가 동일 하면 상기 데이터 처리단계를 수행하고, 상기 평문 데이터와 상기 복호화된 데이터가 동일하지 않으면 메모리 해킹 방지 시스템을 종료하는 단계를 수행하는 것을 특징으로 하는 사용자 입력 정보에 대한 메모리 해킹 방지 방법.And performing the data processing step when the plain text data and the decoded data are the same in the data comparing step, and terminating a memory hacking prevention system when the plain text data and the decoded data are not the same. How to prevent memory hacks for user input information. 제 6항에 있어서,The method of claim 6, 상기 데이터 입력 인터페이스 보안 컨트롤러는 공개 영역과 보호 영역으로 구성되며,The data input interface security controller is composed of a public area and a protection area, 상기 공개 영역은 일반 컨트롤러에서 제공하는 수단들인 인터페이스 처리 수단; 및 상기 보호영역과 상기 암호모듈의 연동에 의해 얻어지는 암호화된 데이터를 입력받는 수단인 암호화된 데이터 획득 수단; 을 포함하여 구성되는 것을 특징으로 하는 사용자 입력 정보에 대한 메모리 해킹 방지 방법.The public area comprises interface processing means which are means provided by a general controller; And encrypted data obtaining means, which is means for receiving encrypted data obtained by interworking the protection area with the encryption module. Memory hacking prevention method for the user input information, characterized in that comprises a. 제 9항에 있어서, The method of claim 9, 상기 보호 영역은 상기 데이터 입력 인터페이스 보안 컨트롤러를 통해 입력된 평문 데이터를 상기 암호모듈과 연동하여 암호화하는 암호모듈 연동 데이터 암호 수단;The protection area includes encryption module interlocking data encryption means for encrypting the plain text data input through the data input interface security controller in conjunction with the encryption module; 상기 암호모듈 연동 데이터 암호 수단를 통해 암호화된 데이터를 상기 암호모듈과 연동하여 복호화하는 암호모듈 연동 데이터 복호 수단; 및 Encryption module interlocking data decrypting means for decrypting the data encrypted by the encryption module interlocking data encryption means in conjunction with the encryption module; And 상기 데이터 입력 인터페이스 보안 컨트롤러를 통해 입력된 평문 데이터와 복호화된 데이터가 동일한 데이터인지 검증하는 데이터 검증 수단; 을 포함하여 구 성되는 것을 특징으로 하는 사용자 입력 정보에 대한 메모리 해킹 방지 방법.Data verification means for verifying whether the plain text data and the decrypted data input through the data input interface security controller are the same data; Memory hacking prevention method for the user input information, characterized in that is configured to include. 제 6항에 있어서,The method of claim 6, 상기 암호모듈은 소프트웨어 암호모듈 또는 하드웨어 암호모듈로 구성되며,The cryptographic module is composed of a software cryptographic module or a hardware cryptographic module, 상기 소프트웨어 암호모듈은 응용프로그램 형태로 암호기능, 키 관리기능 및 복호기능을 제공하는 것을 특징으로 하는 사용자 입력 정보에 대한 메모리 해킹 방지 방법.The software encryption module prevents memory hacking on user input information, characterized by providing an encryption function, a key management function, and a decryption function in the form of an application program. 제 6항에 있어서,The method of claim 6, 상기 암호모듈은 소프트웨어 암호모듈 또는 하드웨어 암호모듈로 구성되며,The cryptographic module is composed of a software cryptographic module or a hardware cryptographic module, 상기 하드웨어 암호모듈은 스마트카드 또는 USB의 형태로 암호기능, 키 관리 기능 및 복호기능을 제공하며, 사용자 PC에 하드웨어 암호모듈 드라이버를 설치해야 하는 것을 특징으로 하는 사용자 입력 정보에 대한 메모리 해킹 방지 방법.The hardware encryption module provides an encryption function, a key management function, and a decryption function in the form of a smart card or USB, and a method for preventing memory hacking on user input information, characterized in that a hardware encryption module driver must be installed in a user PC. 제 6항에 있어서,The method of claim 6, 상기 키 설정 단계에서 서버 및 단말의 프로그램인 다른 대상과 연동할 경우에는 상기 암호모듈의 키 관리 기능인 키 교환을 통해 키를 설정하는 것을 특징으로 하는 사용자 입력 정보에 대한 메모리 해킹 방지 방법.When interlocking with another object that is a program of the server and the terminal in the key setting step, the memory hacking prevention method for the user input information, characterized in that for setting the key through the key exchange function, the key management function of the encryption module. 제 6항 또는 제 13항에 있어서,The method of claim 6 or 13, 상기 데이터 저장 또는 전송단계에서 서버 및 단말의 프로그램인 다른 대상과 연동할 경우, 암호화된 데이터를 수신한 대상은 상기 키 설정 단계에서 교환된 키를 사용하여 암호화된 데이터를 복호화하는 것을 특징으로 하는 사용자 입력 정보에 대한 메모리 해킹 방지 방법.In the case of interworking with the other object which is a program of the server and the terminal in the data storage or transmission step, the user receiving the encrypted data decrypts the encrypted data using the key exchanged in the key setting step. How to prevent memory hacking on input information.
KR1020070106042A 2007-10-22 2007-10-22 Proofing memory hacking on user input information KR20090040607A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070106042A KR20090040607A (en) 2007-10-22 2007-10-22 Proofing memory hacking on user input information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070106042A KR20090040607A (en) 2007-10-22 2007-10-22 Proofing memory hacking on user input information

Publications (1)

Publication Number Publication Date
KR20090040607A true KR20090040607A (en) 2009-04-27

Family

ID=40763929

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070106042A KR20090040607A (en) 2007-10-22 2007-10-22 Proofing memory hacking on user input information

Country Status (1)

Country Link
KR (1) KR20090040607A (en)

Similar Documents

Publication Publication Date Title
US9760721B2 (en) Secure transaction method from a non-secure terminal
EP2991267B1 (en) Apparatus for providing puf-based hardware otp and method for authenticating 2-factor using same
TWI486045B (en) Method and system for on-screen authentication using secret visual message
US6138239A (en) Method and system for authenticating and utilizing secure resources in a computer system
US8644516B1 (en) Universal secure messaging for cryptographic modules
US7644278B2 (en) Method for securely creating an endorsement certificate in an insecure environment
EP1500226B1 (en) System and method for storage and retrieval of a cryptographic secret from a plurality of network enabled clients
US8909932B2 (en) Method and apparatus for security over multiple interfaces
EP1866873B1 (en) Method, system, personal security device and computer program product for cryptographically secured biometric authentication
US20100161966A1 (en) Mutual authentication apparatus and method in downloadable conditional access system
US20240143796A1 (en) Protecting data from brute force attack
US8953805B2 (en) Authentication information generating system, authentication information generating method, client apparatus, and authentication information generating program for implementing the method
RU2584500C2 (en) Cryptographic authentication and identification method with real-time encryption
CN110868291B (en) Data encryption transmission method, device, system and storage medium
JP2007336506A (en) Device for authentication using intrinsic random number generating element or pseudo random number generating element, authentication apparatus, and authentication method
US9215070B2 (en) Method for the cryptographic protection of an application
US7076062B1 (en) Methods and arrangements for using a signature generating device for encryption-based authentication
CN111295654A (en) Method and system for securely transferring data
US20120124378A1 (en) Method for personal identity authentication utilizing a personal cryptographic device
TWI476629B (en) Data security and security systems and methods
CN116244750A (en) Secret-related information maintenance method, device, equipment and storage medium
KR20140071775A (en) Cryptography key management system and method thereof
JP3868218B2 (en) Content-restricted content display method and apparatus
KR101947408B1 (en) Puf-based hardware device for providing one time password, and method for 2-factor authenticating using thereof
CN108985079B (en) Data verification method and verification system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application