KR100989895B1 - apparatus and method for securing on-line payment - Google Patents

apparatus and method for securing on-line payment Download PDF

Info

Publication number
KR100989895B1
KR100989895B1 KR1020080063906A KR20080063906A KR100989895B1 KR 100989895 B1 KR100989895 B1 KR 100989895B1 KR 1020080063906 A KR1020080063906 A KR 1020080063906A KR 20080063906 A KR20080063906 A KR 20080063906A KR 100989895 B1 KR100989895 B1 KR 100989895B1
Authority
KR
South Korea
Prior art keywords
virtual
interface
operating system
message
video
Prior art date
Application number
KR1020080063906A
Other languages
Korean (ko)
Other versions
KR20100003875A (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 KR1020080063906A priority Critical patent/KR100989895B1/en
Publication of KR20100003875A publication Critical patent/KR20100003875A/en
Application granted granted Critical
Publication of KR100989895B1 publication Critical patent/KR100989895B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 운영체제와는 독립되는 사용자 인터페이스를 제공함으로써, 운영체제를 통한 해킹으로부터 사용자의 온라인 결제정보를 안전하게 지킬 수 있도록 한 결제정보 보안 방법 및 이를 수행하는 컴퓨터 장치에 관한 것이다.The present invention relates to a payment information security method and a computer device for performing the same, by providing a user interface independent of the operating system, to securely protect the user's online payment information from hacking through the operating system.

또한, 본 발명의 결제정보 보안 기능을 갖는 컴퓨터 장치는 사용자 입력에 대하여 이벤트를 발생하는 사용자 입력 인터페이스; 이미지 데이터를 아날로그 신호로 변환하여 모니터로 출력하고, 비디오 오버레이를 수행하는 비디오 인터페이스; 상기 사용자 입력 인터페이스의 이벤트를 접수하여 그에 상응하는 메시지를 발생하고, 상기 메시지의 처리 결과에 따른 화면이 출력되도록 상기 비디오 인터페이스를 제어하는 운영체제; 및 상기 운영체제의 메시지를 후킹하고, 가상키보드를 모니터로 출력하도록 하고 온라인 결제를 수행하는 가상 결제프로그램에 상기 후킹한 메시지가 관련되어 있는 경우에는 상기 운영체제를 대신하여 상기 후킹한 메시지를 상기 가상 결제프로그램에 전달하며, 상기 가상 결제프로그램에 의해 생성되는 이미지 정보의 표시에 대해서 상기 운영체제를 대신하여 상기 비디오 인터페이스를 제어하는 가상 인터페이스 모듈을 포함하여 이루어진다.In addition, the computer device having the payment information security function of the present invention includes a user input interface for generating an event for the user input; A video interface for converting image data into an analog signal, outputting the same to a monitor, and performing a video overlay; An operating system configured to receive an event of the user input interface, generate a corresponding message, and control the video interface to output a screen according to a processing result of the message; Hooking the message of the operating system, outputting the virtual keyboard to a monitor, and if the hooked message is related to a virtual payment program that performs online payment, the hooked message on behalf of the operating system; And a virtual interface module for controlling the video interface on behalf of the operating system for display of image information generated by the virtual payment program.

해킹, 보안, 운영체제, 가상키보드, 오버레이, 후킹, API, 로그인 Hacking, Security, Operating System, Virtual Keyboard, Overlay, Hooking, API, Login

Description

결제정보 보안 방법 및 이를 수행하는 컴퓨터 장치{apparatus and method for securing on-line payment}Method of securing payment information and computer device performing the same {apparatus and method for secure on-line payment}

본 발명은 결제정보 보안 방법 및 이를 수행하는 컴퓨터 장치에 관한 것으로, 특히 운영체제와는 독립되는 사용자 인터페이스를 제공함으로써, 운영체제를 통한 해킹으로부터 사용자의 온라인 결제정보를 안전하게 지킬 수 있도록 한 결제정보 보안 방법 및 이를 수행하는 컴퓨터 장치에 관한 것이다.The present invention relates to a payment information security method and a computer device for performing the same, and in particular, by providing a user interface independent of the operating system, the payment information security method to secure the user's online payment information from hacking through the operating system and A computer device for doing this.

오늘날, 퍼스널 컴퓨터(PC)의 보급 확대 및 인터넷의 확산은 인터넷 사용의 대중화를 불러 왔다. 그리고, 최근 들어서는 ADSL 수준의 품질과 비용으로 정지 또는 저속 이동 중에도 고속 인터넷 접속할 수 있는 무선 인터넷 서비스인 '휴대인터넷'(WiBro 또는 WiMax)의 상용화는 인터넷의 이용 범위를 넓히는데 일조하고 있다. 즉, 온라인 상에서 구현되는 가상 세계는 언제 어디서나 각종 정보를 쉽고 빠르게 공유할 수 있는 하나의 거대한 정보의 바다가 되고 있다.Today, the proliferation of personal computers (PCs) and the spread of the Internet have led to the popularization of Internet use. In recent years, the commercialization of 'Wireless Internet' (WiBro or WiMax), a wireless Internet service that provides high-speed Internet access even during stationary or low-speed travel at an ADSL level of quality and cost, has helped to widen the range of use of the Internet. In other words, the virtual world implemented on-line becomes a huge sea of information that can easily and quickly share a variety of information anytime, anywhere.

이와 같은 인터넷의 대중화에 따라 각종 금융이나 상품 거래가 인터넷을 통해 활발하게 이루어지고 있다. 그러나, 그 이면을 보면 남의 컴퓨터 시스템에 침입하여 정보를 빼내 가는 해킹도 갈수록 지능화되어가고 있는 실정이다. 특히, 사용 자정보를 빼내 가는 해킹은 그로 인한 전자 상거래의 질서가 파괴될 수 있다는 측면에서 가장 심각하다고 할 수 있다.According to such popularization of the Internet, various financial and product transactions are actively performed through the Internet. However, behind the scenes, hacking into other computer systems and extracting information is becoming increasingly intelligent. In particular, hacking to extract user information can be said to be the most serious in that the e-commerce order can be destroyed.

이에 따라, 컴퓨터에는 네트워크를 통한 외부로부터의 해킹을 방지하는 각종 보안 프로그램 예를 들어, 사용자가 키보드를 이용해 입력하는 중요 데이터를 암호화하는 키보드보안 프로그램이 설치되어 있다.Accordingly, the computer is provided with various security programs for preventing hacking from the outside through the network, for example, a keyboard security program for encrypting important data input by the user using the keyboard.

한편, 주지되어 있는 바와 같이, 운영체제는 응용 프로그램들이 컴퓨터 내의 하드웨어 즉, 메모리나 인터페이스(예, 키보드, 모니터, 랜카드 등)에 연결될 수 있도록 하는 것이다. 다시 말해, 컴퓨터에 설치되는 각종 응용 프로그램 즉, 보안 프로그램은 운영체제의 기반 하에 그 기능을 수행하는 것이다.On the other hand, as is well known, an operating system allows applications to be connected to hardware in a computer, i.e., memory or an interface (e.g., keyboard, monitor, LAN card, etc.). In other words, various applications installed on a computer, that is, a security program, perform their functions on the basis of an operating system.

그렇다면, 운영체제가 알고 있는 사용자 정보에 대한 액세스 권한이 해킹 프로그램에 주어진다면, 그 어떤 보안 프로그램에 의해서도 사용자의 정보를 안전하게 지킬 수 있다고는 보장할 수 없다.If so, if a hacking program is given access to user information known by the operating system, there is no guarantee that any security program can keep the user's information secure.

결국, 종래 보안 프로그램에 따르면, 키보드를 통해 입력되는 사용자 정보가 해킹 위험으로부터 자유롭지 못하다고 하는 문제점이 있었다. 물론, 마우스를 이용하여 사용자 정보를 간접적으로 입력할 수 있도록 한 가상키보드 프로그램에 의해 사용자 정보가 보호될 수는 있다. 그러나, 이러한 가상키보드에 의한 인터페이스 화면도 운영체제에 의해 출력되는 것이기 때문에, 화면 캡처를 통한 해킹으로부터 결코 자유로울 수가 없다는 것이다.After all, according to the conventional security program, there is a problem that the user information input through the keyboard is not free from the risk of hacking. Of course, the user information can be protected by a virtual keyboard program that allows the user to input the user information indirectly using a mouse. However, since the interface screen by the virtual keyboard is also output by the operating system, it can never be free from hacking through screen capture.

본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 운영체제로부터 독립하여 화면 출력을 수행할 수 있는 가상 인터페이스를 제공하고 사용자가 가상 인터페이스를 이용하여 온라인 결제를 수행할 수 있도록 함으로써, 외부의 시스템에서 운영체제를 통한 화면 해킹을 한다 하여도 화면에 출력되는 사용자의 결제정보는 화면 해킹으로부터 안전할 수 있도록 한 결제정보 보안 방법 및 이를 수행하는 컴퓨터 장치를 제공하는데 그 목적이 있다.The present invention has been made to solve the above-described problem, by providing a virtual interface that can perform the screen output independently from the operating system and by allowing the user to perform online payment using the virtual interface, in an external system It is an object of the present invention to provide a payment information security method and a computer device for performing the same, so that the user's payment information output on the screen is secured from the screen hack even when the screen is hacked through the operating system.

전술한 목적을 달성하기 위해 본 발명은 사용자 입력에 대하여 이벤트를 발생하는 사용자 입력 인터페이스; 이미지 데이터를 아날로그 신호로 변환하여 모니터로 출력하고, 비디오 오버레이를 수행하는 비디오 인터페이스; 상기 사용자 입력 인터페이스의 이벤트를 접수하여 그에 상응하는 메시지를 발생하고, 상기 메시지의 처리 결과에 따른 화면이 출력되도록 상기 비디오 인터페이스를 제어하는 운영체제; 및 상기 운영체제의 메시지를 후킹하고, 가상키보드를 모니터로 출력하도록 하고 온라인 결제를 수행하는 가상 결제프로그램에 상기 후킹한 메시지가 관련되어 있는 경우에는 상기 운영체제를 대신하여 상기 후킹한 메시지를 상기 가상 결제프로그램에 전달하며, 상기 가상 결제프로그램에 의해 생성되는 이미지 정보의 표시에 대해서 상기 운영체제를 대신하여 상기 비디오 인터페이스를 제어하는 가상 인터페이스 모듈을 포함하여 이루어지는 결제정보 보안 기능을 갖는 컴퓨터 장치를 제공한다.The present invention provides a user input interface for generating an event for the user input to achieve the above object; A video interface for converting image data into an analog signal, outputting the same to a monitor, and performing a video overlay; An operating system configured to receive an event of the user input interface, generate a corresponding message, and control the video interface to output a screen according to a processing result of the message; Hooking the message of the operating system, outputting the virtual keyboard to a monitor, and if the hooked message is related to a virtual payment program that performs online payment, the hooked message on behalf of the operating system; And a virtual interface module for controlling the video interface on behalf of the operating system with respect to the display of the image information generated by the virtual payment program.

전술한 구성에서, 상기 가상 인터페이스 모듈은 상기 가상 인터페이스 모듈은 상기 비디오 인터페이스를 제어하여, 상기 가상 인터페이스 응용 프로그램에 의해 생성되는 이미지 정보에 따른 가상 인터페이스 화면을 모니터상에서 최상단에 표시하도록 하는 것이 바람직하다.In the above-described configuration, the virtual interface module preferably controls the virtual interface module to display the virtual interface screen according to the image information generated by the virtual interface application program on the top of the monitor.

상기 가상 인터페이스 모듈은 응용 프로그램 인터페이스(API)를 이용하여 상기 운영체제의 메시지를 후킹하는 것이 바람직하다.The virtual interface module preferably hooks a message of the operating system using an application program interface (API).

또한, 본 발명은 비디오 오버레이를 수행하는 비디오 인터페이스를 포함하여 이루어진 컴퓨터상에서 가상 인터페이스 모듈에 의해 수행되며, 운영체제의 메시지를 후킹하는 (a) 단계; 상기 (a) 단계에서 후킹한 메시지가 가상키보드를 모니터로 출력하도록 하고 온라인 결제를 수행하는 가상 결제프로그램과 관련되어있는지를 판단하는 (b) 단계; 상기 (b) 단계의 판단 결과, 상기 후킹한 메시지가 상기 가상 결제프로그램과 관련되어 있는 경우에는 상기 운영체제를 대신하여 상기 후킹한 메시지를 상기 가상 결제프로그램에 전달하는 (c) 단계; 및 상기 가상 결제프로그램에 의해 생성되는 이미지 정보의 표시에 대해서 상기 운영체제를 대신하여 상기 비디오 인터페이스를 제어하는 (d) 단계를 포함하여 이루어지는 결제정보 보안 방법을 제공한다.In addition, the present invention is performed by a virtual interface module on a computer comprising a video interface for performing a video overlay, hooking a message of the operating system (a); (B) determining whether the message hooked in step (a) is related to the virtual payment program for outputting the virtual keyboard to the monitor and performing online payment; (C) transferring the hooked message to the virtual payment program on behalf of the operating system if the hooked message is related to the virtual payment program as a result of the determination of step (b); And (d) controlling the video interface on behalf of the operating system for displaying image information generated by the virtual payment program.

전술한 구성에서, 상기 결제정보 보안 방법은 상기 비디오 인터페이스를 제어하여, 상기 가상 인터페이스 응용 프로그램에 의해 생성되는 이미지 정보에 따른 가상 인터페이스 화면을 모니터상에서 최상단에 표시하도록 하는 것이 바람직하다.In the above configuration, it is preferable that the payment information security method controls the video interface to display the virtual interface screen according to the image information generated by the virtual interface application program on the top of the monitor.

상기 (a) 단계의 메시지 후킹은 응용 프로그램 인터페이스(API)를 이용하여 이루어지는 것이 바람직하다.Message hooking in step (a) is preferably performed using an application program interface (API).

본 발명의 결제정보 보안 방법 및 이를 수행하는 컴퓨터 장치에 따르면, 운영체제와는 독립적으로 비디오 인터페이스를 제어하여 가상 인터페이스 화면을 출력하고 이러한 가상 인터페이스 화면을 이용하여 사용자로부터 온라인 결제 정보를 입력받음으로써, 외부에서 컴퓨터를 해킹한다 하여도 가상 인터페이스 화면은 모니터링할 수 없기 때문에 결제 정보의 보안이 이루어지는 효과가 있다.According to the payment information security method of the present invention and a computer device for performing the same, by controlling the video interface independently of the operating system to output a virtual interface screen and by using the virtual interface screen to receive online payment information from the user, Even if the computer is hacked, the virtual interface screen cannot be monitored, so the payment information is secured.

이하에는 첨부한 도면을 참조하여 본 발명의 바람직한 실시예에 따라 결제정보 보안 방법 및 이를 수행하는 컴퓨터 장치에 대해서 상세하게 설명한다.Hereinafter, a payment information security method and a computer device performing the same will be described in detail with reference to the accompanying drawings.

우선, 본 발명의 결제정보 보안 방법은 데스크톱이나 노트북 컴퓨터에 의해 수행될 수 있는바, 공지되어 있는 컴퓨터의 기능 및 구성은 도 1을 참조로 하여 개략적으로 설명한다.First, the payment information security method of the present invention can be performed by a desktop or notebook computer, the function and configuration of a known computer will be schematically described with reference to FIG.

도 1은 본 발명의 일 실시예에 따른 결제정보 보안 기능을 갖는 컴퓨터 장치의 블록 구성도이다.1 is a block diagram of a computer device having a payment information security function according to an embodiment of the present invention.

도 1에 도시한 바와 같이, 본 발명의 결제정보 보안 기능을 갖는 컴퓨터 장치(이하, '결제정보 보안 장치')는 중앙처리유닛(CPU)(100), 시스템 버스(300), 주기억 유닛(main memory unit)(400), 주변장치(peripheral device), 및 주변장치와 중앙처리유닛(100)를 연결하는 여러 종류의 인터페이스를 포함하여 이루어질 수 있다.As shown in FIG. 1, a computer device having a payment information security function (hereinafter, 'payment information security device') of the present invention includes a central processing unit (CPU) 100, a system bus 300, and a main memory unit (main). memory unit 400, a peripheral device, and various types of interfaces connecting the peripheral device and the central processing unit 100.

전술한 구성에서, 주기억유닛(400)은 바이오스(BIOS)(412)가 저장되는 ROM(410) 및 운영체제(421), 각종 응용 프로그램 및 각종 데이터를 중앙처리유닛(100)에게 제공하고, 중앙처리유닛(100)에 의한 처리 결과를 보관하는 RAM(420)으로 구성될 수 있다. In the above-described configuration, the main memory unit 400 provides the central processing unit 100 with the ROM 410 and the operating system 421 in which the BIOS 412 is stored, various application programs, and various data. It may be configured as a RAM 420 for storing the processing result by the unit 100.

주변장치는 출력유닛, 입력유닛, 보조기억유닛(secondary memory unit) 및 인터넷(544)과의 연결을 위한 네트워크 연결유닛(542)을 포함하여 이루어질 수 있다. 여기서, 출력유닛에는 모니터(600), 스피커(532) 및 프린터(534) 등이 대표적이고, 입력유닛에는 키보드(522), 마우스(524) 및 스캐너 등이 대표적이며, 보조기억유닛에는 하드디스크(510), 플로피디스크(514) 및 광디스크(518) 등이 대표적이며, 네트워크 연결유닛(542)에는 모뎀이나 랜카드가 대표적이다.The peripheral device may include an output unit, an input unit, a secondary memory unit, and a network connection unit 542 for connection with the Internet 544. Here, a monitor 600, a speaker 532, a printer 534, etc. are representative for the output unit, and a keyboard 522, a mouse 524, a scanner, etc. are representative for the input unit, and a hard disk (for the auxiliary storage unit). 510, floppy disk 514, optical disk 518 and the like are representative, and the network connection unit 542 is a typical modem or LAN card.

여기서, 하드디스크(510)에는 운영체제(421), 운영체제(421)에 의해 화면 리소스를 할당받는 일반 응용 프로그램(422), 운영체제(421)와는 독립적으로 비디오 인터페이스(200)를 제어하는 가상 인터페이스 모듈(426) 및 운영체제(421)가 아닌 가상 인터페이스 모듈(426)에 의해 화면 리소스를 할당받는 가상 인터페이스 응용 프로그램(424)이 저장될 수 있다.Here, the hard disk 510 includes a virtual interface module that controls the video interface 200 independently of the operating system 421, the general application program 422 assigned with screen resources by the operating system 421, and the operating system 421 ( 426 and a virtual interface application 424 allocated with screen resources by the virtual interface module 426 rather than the operating system 421 may be stored.

구체적으로, 본 발명의 특징인 가상 인터페이스 처리모듈(426)은 가상 인터페이스 응용 프로그램(424)의 수행에 따른 화면 출력에 있어서 운영체제(421)와는 별개로 비디오 인터페이스(200)를 제어하는, 또 하나의 화면 출력을 위한 운영체제 가 되는 것이다.Specifically, the virtual interface processing module 426, which is a feature of the present invention, controls the video interface 200 separately from the operating system 421 in the screen output according to the execution of the virtual interface application program 424. It will be an operating system for screen output.

또한, 운영체제(421)는 컴퓨터 시스템이 부팅되면서 하드디스크(510)에서 RAM(420)으로 로딩되어 기동되는 것이다. 예를 들어, 운영체제(421)는 그래픽유저인터페이스(GUI)와 멀티태스킹 환경을 지원하는 윈도우즈가 될 수 있다.In addition, the operating system 421 is loaded into the RAM 420 from the hard disk 510 and started as the computer system is booted. For example, the operating system 421 may be a Windows that supports a Graphical User Interface (GUI) and a multitasking environment.

또한, 일반 응용 프로그램(422)이나 가상 인터페이스 응용 프로그램(424) 혹은 가상 인터페이스 모듈(426)은 실행 과정에서 RAM(420)에 로딩되어 동작되는 것이다.In addition, the general application program 422, the virtual interface application program 424, or the virtual interface module 426 may be loaded and operated in the RAM 420 during execution.

인터페이스는 모니터(600)와 연결되는 비디오 인터페이스(200), 하드디스크(510)와 연결되는 HDD 인터페이스(500), 자기디스크 드라이브(512)나 광디스크 드라이브(516)와 연결되는 드라이브 인터페이스(510), 키보드(522) 및 마우스(524)와 연결되는 입력 인터페이스(520), 스피커(532)나 프린터(534)와 연결되는 출력 인터페이스(530) 및 네트워크 연결유닛(542)과 연결되는 네트워크 인터페이스(540)를 포함하여 이루어질 수 있다.The interface may include a video interface 200 connected with the monitor 600, a HDD interface 500 connected with the hard disk 510, a drive interface 510 connected with the magnetic disk drive 512 or an optical disk drive 516, An input interface 520 connected to the keyboard 522 and a mouse 524, an output interface 530 connected to the speaker 532 or the printer 534, and a network interface 540 connected to the network connection unit 542. It may be made, including.

종종, 그래픽 카드로 불리는 비디오 인터페이스(200)는 그래픽 처리 유닛(Graphic processor unit)(210), 비디오 메모리(220), 램댁(RAMDAC; Random Access Memory Digital to Analog Convert)(240) 및 모니터(600)에 연결된 출력 포트(230)를 포함하여 이루어질 수 있다.Video interface 200, often referred to as a graphics card, includes a graphics processor unit 210, video memory 220, random access memory digital to analog convert (RAMDAC) 240, and monitor 600. It may include an output port 230 connected to.

여기서, 그래픽 처리 유닛(210)은 중앙처리유닛(100)의 그래픽 작업으로 인해 생기는 병목 현상을 해결하기 위한 그래픽 가속 기능을 하는 것으로서, 비디오 인터페이스(200)의 동작의 제어와 그래픽 데이터의 연산 처리를 담당한다.Here, the graphics processing unit 210 serves as a graphics acceleration function for solving the bottleneck caused by the graphics work of the central processing unit 100, and controls the operation of the video interface 200 and the processing of the graphic data. In charge.

또한, 그래픽 처리 유닛(210)은 상기한 그래픽 가속 기능을 이용하여 비디오 오버레이(video overlay; 이하 '오버레이'라고 한다)를 수행하게 된다. 여기서, 오버레이는 주지되어 있는 바와 같이, 여러 개의 이미지를 중첩하여 표시하는 것으로서 이미지를 분할한 후 이를 각각 모니터(600)에 출력하는 것을 의미한다.In addition, the graphic processing unit 210 performs a video overlay (hereinafter, referred to as an “overlay”) using the graphic acceleration function described above. Here, as is well known, the overlay means displaying a plurality of images by overlapping them, and splitting the images and outputting them to the monitor 600.

또한, 비디오 메모리(200)는 모니터(600)에 나타낼 영상 정보를 일시적으로 저장하는 프레임 버퍼 역할을 수행하는 것이다. 프레임 버퍼의 각 기억단위는 화면의 픽셀에 하나씩 대응하는 것이므로, 비디오 메모리(200) 용량이 클수록 해상도가 높아지게 된다.In addition, the video memory 200 serves as a frame buffer for temporarily storing image information to be displayed on the monitor 600. Since each storage unit of the frame buffer corresponds to one pixel on the screen, the larger the capacity of the video memory 200, the higher the resolution.

또한, 램댁(240)은 비디오 메모리(200)에 저장되어 있는 디지털 정보를 아날로그 정보로 변환하여 모니터(600)로 출력하는 것이다.In addition, the RAM DAC 240 converts digital information stored in the video memory 200 into analog information and outputs the analog information to the monitor 600.

다음으로, 본 발명의 특징적인 양상에 따른 가상 인터페이스 모듈(426)의 기능 및 구성에 대해 도 2 내지 도 4를 참조로 하여 상세하게 설명한다.Next, the function and configuration of the virtual interface module 426 according to the characteristic aspect of the present invention will be described in detail with reference to Figs.

도 2는 본 발명의 일 실시예에 따른 결제정보 보안 장치에 의해 표시되는 화면을 보인 도면이다.2 is a view showing a screen displayed by the payment information security device according to an embodiment of the present invention.

도 2에 도시한 바와 같이, 비디오 메모리(220)는 운영체제(421)나 일반 응용 프로그램(422)의 화면 표시를 위해 할당된 영역으로서 일반 화면 데이터(224)가 저장되는 일반 영역(222) 및 가상 인터페이스 응용 프로그램(424)의 화면 표시를 위해 할당된 영역으로서 가상 인터페이스 화면 데이터(228)가 저장되는 오버레이 영역(226)으로 구분될 수 있다.As shown in FIG. 2, the video memory 220 is an area allocated for screen display of the operating system 421 or the general application program 422, and a general area 222 and a virtual area in which the general screen data 224 is stored. An area allocated for screen display of the interface application 424 may be divided into an overlay area 226 in which the virtual interface screen data 228 is stored.

비디오 인터페이스(200)는 운영체제(421)의 제어에 따라, 일반 영역(222)에 저장된 일반 화면 데이터(224) 이를 테면, 바탕 화면 데이터(612)와 일반 응용 프로그램 화면 데이터(614)를 모니터(600)로 제공하는 것이다.The video interface 200 monitors the general screen data 224 stored in the general area 222, such as the desktop data 612 and the general application screen data 614, under the control of the operating system 421. ) To provide.

또한, 비디오 인터페이스(200)는 가상 인터페이스 모듈(426)의 제어에 따라, 모니터(600)의 화면 일부가 가상 인터페이스 응용 프로그램(424)의 화면으로 치환될 수 있도록 오버레이 영역(226)에 저장된 가상 인터페이스 화면 데이터(228)를 모니터(600)로 제공하는 것이다. 이에 따라, 모니터(600)에는 가상 인터페이스 모듈(426)에 의한 가상 인터페이스 화면(616)이 최상단에 표시될 수 있다.In addition, the video interface 200 may control a virtual interface stored in the overlay area 226 so that a part of the screen of the monitor 600 may be replaced with the screen of the virtual interface application 424 under the control of the virtual interface module 426. The screen data 228 is provided to the monitor 600. Accordingly, the virtual interface screen 616 by the virtual interface module 426 may be displayed on the top of the monitor 600.

즉, 본 발명의 특징적인 양상에 따른 가상 인터페이스 모듈(426)은 비디오 메모리(220)의 오버레이 영역(226)을 이용하여 운영체제(421)와는 독립적으로 가상 인터페이스 화면(616)을 제공한다. 다시 말해, 비디오 메모리(220)의 오버레이 영역(226)은 가상 인터페이스 화면을 표시하기 위한 독립된 비디오 출력 채널로 사용되는 것이다. 여기서, 가상인터페이스 화면(616)은 가상 인터페이스 배경 이미지(616a), 데이터 입력을 위한 입력 박스(616b), 화면 제어를 위한 컨트롤 박스(616c) 및 가상 키보드 박스(616d) 등과 같은 화면 구성이 될 수 있다.That is, the virtual interface module 426 according to the characteristic aspect of the present invention provides the virtual interface screen 616 independently of the operating system 421 using the overlay area 226 of the video memory 220. In other words, the overlay area 226 of the video memory 220 is used as an independent video output channel for displaying the virtual interface screen. Here, the virtual interface screen 616 may be a screen configuration such as a virtual interface background image 616a, an input box 616b for data input, a control box 616c for screen control, and a virtual keyboard box 616d. have.

결국, 운영체제(421)는 가상 인터페이스 화면(616)으로 무엇이 출력되는지 알 수 없다. 다시 말해, 가상 인터페이스 응용 프로그램은 운영체제(421)의 입장에서 보면, 비활성 상태로 동작하는 것이다. 따라서, 사용자가 프린트 스크린을 한다거나 외부 네트워크에서 운영체제(421)로 모니터(600)로 출력되는 화면을 요청하는 경우, 운영체제(421)는 일반 화면 데이터(612, 614)만을 제공해 줄 뿐이다.As a result, the operating system 421 may not know what is output on the virtual interface screen 616. In other words, the virtual interface application program operates in an inactive state from the perspective of the operating system 421. Therefore, when a user performs a print screen or requests a screen output from the external network to the operating system 421 to the monitor 600, the operating system 421 only provides general screen data 612 and 614.

도 3은 본 발명의 일 실시예에 따른 결제정보 보안 장치에 있어서 본 발명의 특징적인 양상에 따른 가상 인터페이스 모듈의 기능 및 구성을 설명하기 위한 블록 구성도이다.3 is a block diagram illustrating a function and configuration of a virtual interface module according to a characteristic aspect of the present invention in a payment information security device according to an embodiment of the present invention.

도 3에 도시한 바와 같이, 일반 응용프로그램(422)의 수행에 따른 일반 화면 데이터(224)는 일반 영역(224)을 제어하는 비디오 드라이버(427)를 통하여 모니터(600)로 출력된다. 보다 구체적으로 설명하자면, 먼저 일반 응용프로그램(422)은 모니터로 출력할 이미지 정보를 생성한다. 그러면, 운영체제(421) 이를 테면, 윈도우즈는 GDI(Graphics Device Interface)를 활용하여 이미지 정보를 DDI(Display Device interface)로 전달하게 된다. 이에, DDI는 우선순위에 따라 이미지 정보를 비디오 드라이버(427)로 전달하게 된다. 결국, 그래픽 처리 유닛(210)은 비디오 드라이버(427)로부터 받은 이미지 정보를 일반 영역(222)에 저장하게 된다.As shown in FIG. 3, the general screen data 224 according to the execution of the general application program 422 is output to the monitor 600 through the video driver 427 controlling the general area 224. More specifically, first, the general application program 422 generates image information to be output to the monitor. Then, the operating system 421, for example, Windows transfers the image information to the display device interface (DDI) by using a graphics device interface (GDI). Accordingly, the DDI transfers the image information to the video driver 427 according to the priority. As a result, the graphic processing unit 210 stores the image information received from the video driver 427 in the general area 222.

반면, 도 3에 도시한 바와 같이, 가상 인터페이스 응용 프로그램(424)의 수행에 따른 가상 인터페이스 화면 데이터(228)는 오버레이 영역(226)을 제어하는 오버레이 드라이버(428)를 통하여 모니터(600)로 출력된다. 보다 구체적으로 설명하자면, 먼저 가상 인터페이스 응용 프로그램(424)은 모니터로 출력할 이미지 정보를 생성한다. 그러면, 가상 인터페이스 모듈(426)은 운영체제(421)를 통하지 않고 비디오 인터페이스(200)에 직접 제어할 수 있도록 한 응용 프로그램 인터페이스(application program interface; API)를 이용하여, 가상 인터페이스 응용 프로그램(424)로부터 받은 이미지 정보를 오버레이 드라이버(428)로 전달하게 된다. 결국, 그래픽 처리 유닛(210)은 오버레이 드라이버(428)로부터 받은 이미지 정보를 오버레이 영역(228)에 저장하게 된다. 여기서, 가상 인터페이스 모듈(426)은 비디 오 인터페이스(200)를 직접 제어하고 비디오 인터페이스(200)의 그래픽 가속 기능을 사용할 수 있는 API로서, 이를 테면, DirectDraw, DirectShow, OpenGL 혹은 Glide SDK를 사용할 수 있다. 또한, 가상 인터페이스 응용 프로그램(424)은 본 발명의 특징적인 양상에 따라, 웹 사이트 등에 로그인하기 위한 가상 로그인 프로그램, 온라인 쇼핑몰 등에서 결제를 위한 가상 결제 프로그램 혹은 금융 사이트 등에서 인터넷 뱅킹을 위한 가상 인터넷 뱅킹 프로그램이 될 수 있다.On the other hand, as shown in FIG. 3, the virtual interface screen data 228 according to the execution of the virtual interface application 424 is output to the monitor 600 through the overlay driver 428 controlling the overlay area 226. do. More specifically, first, the virtual interface application 424 generates image information to be output to the monitor. The virtual interface module 426 then uses the application program interface (API), which allows direct control to the video interface 200 without going through the operating system 421, from the virtual interface application 424. The received image information is transmitted to the overlay driver 428. As a result, the graphics processing unit 210 stores the image information received from the overlay driver 428 in the overlay area 228. Here, the virtual interface module 426 is an API that can directly control the video interface 200 and use the graphic acceleration function of the video interface 200. For example, the virtual interface module 426 may use DirectDraw, DirectShow, OpenGL, or Glide SDK. . In addition, the virtual interface application 424 is a virtual login program for logging in to a website, etc., a virtual payment program for payment in an online shopping mall, or a virtual internet banking program for internet banking in a financial site, etc., according to a characteristic aspect of the present invention. This can be

한편, 도 3에 도시한 바와 같이 본 발명의 가상 인터페이스 모듈(426)은 메시지 처리모듈(426b) 및 비디오 인터페이스 제어모듈(426a)을 포함하여 이루어질 수 있다.Meanwhile, as shown in FIG. 3, the virtual interface module 426 of the present invention may include a message processing module 426b and a video interface control module 426a.

운영체제(421)는 사용자 입력 인터페이스(520)나 네트워크 인터페이스(540) 혹은 그 밖의 다른 인터페이스에서 발생되는 이벤트를 접수하여 그에 상응하는 메시지를 발생하는 것이다.The operating system 421 receives an event generated by the user input interface 520, the network interface 540, or another interface and generates a corresponding message.

그러면, 메시지 처리모듈(426b)은 운영체제(421)에서 발생되는 메시지를 후킹(hooking)하고, 후킹한 메시지가 가상 인터페이스 응용 프로그램(424)과 관련되어 있는 경우에는 이를 가상 인터페이스 응용 프로그램(424)이나 비디오 인터페이스 제어모듈(426a)로 전달하고 반면, 가상 인터페이스 응용 프로그램(424)의 관련 메시지가 아닌 경우에는 이를 다시 운영체제(421)로 바이패스(bypass)하는 것이다.Then, the message processing module 426b hooks a message generated by the operating system 421, and if the hooked message is associated with the virtual interface application 424, the message processing module 426b or the message is processed. If it is not related to the message of the virtual interface application 424, it is passed back to the operating system 421.

또한, 가상 인터페이스 응용 프로그램(424)은 메시지 처리모듈(426b)로부터 전달받은 메시지에 따라 이미지 정보를 생성하여 비디오 인터페이스 제어모듈(426b)에게 제공하는 것이다.In addition, the virtual interface application program 424 generates image information according to the message received from the message processing module 426b and provides it to the video interface control module 426b.

또한, 비디오 인터페이스 제어모듈(426a)은 메시지 처리모듈(426b)의 처리 결과에 의거하여 오버레이 드라이버(428)를 제어하고, 가상 인터페이스 응용 프로그램(424)에서 생성된 이미지 정보를 비디오 인터페이스(200)로 제공하는 것이다.Also, the video interface control module 426a controls the overlay driver 428 based on the processing result of the message processing module 426b, and transfers the image information generated by the virtual interface application program 424 to the video interface 200. To provide.

도 4는 본 발명의 일 실시예에 따른 결제정보 보안 방법을 개략적으로 설명하기 위한 블록 구성도인바, 설명의 주체는 가상 인터페이스 모듈(426)임을 밝혀둔다.4 is a block diagram for schematically illustrating a payment information security method according to an embodiment of the present invention, and the subject of the description is a virtual interface module 426.

도 4에 도시한 바와 같이, 먼저 단계 S100에서는 마우스(524) 등을 이용한 사용자의 가상 인터페이스 실행 명령(이벤트)에 의해 동작을 개시하게 된다.As shown in FIG. 4, in operation S100, an operation is started by a user's virtual interface execution command (event) using a mouse 524 or the like.

다음으로, 단계 S110에서는 비디오 인터페이스(200)가 오버레이를 지원하는지, 오버레이가 지원된다면 사용 가능한 오버레이 리소스가 남아 있는지를 판단한다.Next, in step S110, it is determined whether the video interface 200 supports the overlay or if the overlay resource is available, if the overlay is supported.

단계 S110에서의 판단 결과 오버레이의 생성이 가능하다면, 단계 S120으로 진행하여 오버레이를 생성한다. 오버레이를 생성하는 것은 예를 들어, DirectX의 DirectDraw나 DirectShow, OpenGL 등의 지원 라이브러리를 이용할 수 있다.If it is possible to generate the overlay as a result of the determination in step S110, the flow proceeds to step S120 to generate the overlay. Creating overlays can be done using DirectX's DirectDraw, DirectShow, or OpenGL support libraries, for example.

반면, 단계 S110에서의 판단 결과, 비디오 인터페이스(200)가 오버레이 기능을 지원하지 않거나 지원하더라도 오버레이 리소스가 남아있지 않다면, 운영체제(421)의 제어에 의해 오버레이 오류메시지가 출력되고 가상 인터페이스 모듈(426)의 동작이 종료된다(단계 S130 및 단계 S140).On the other hand, if it is determined in step S110 that the overlay resource is not left even if the video interface 200 does not support or support the overlay function, the overlay error message is output by the control of the operating system 421 and the virtual interface module 426 Is terminated (step S130 and step S140).

오버레이의 생성 이후, 단계 S150에서는 운영체제(421)의 전역 후킹을 설정한다. 예들 들어, 윈도우즈의 경우에는 API 이를 테면, DirectDraw를 이용하여 전 역 후킹의 설정이 가능하다. 전역 후킹이 설정되면, 시스템에서 발생되는 모든 이벤트에 대한 메시지는 가상 인터페이스 모듈(426)에 의해 최우선으로 접수된다. 여기서, 유저모드(application) 단에서 전역 후킹을 하기 위한 프로그램 소스는 예를 들어 아래와 같다.After generation of the overlay, in step S150, global hooking of the operating system 421 is set. For example, in Windows, global hooking can be set using APIs such as DirectDraw. Once global hooking is established, messages for all events occurring in the system are first and foremost received by the virtual interface module 426. Here, the program source for global hooking in the user mode (application) stage is as follows.

#include <windows.h>#include <windows.h>

#pragma data_seg(".kbdata")#pragma data_seg (". kbdata")

HINSTANCE hModule=NULL;HINSTANCE hModule = NULL;

HHOOK hKeyHook=NULL;HHOOK hKeyHook = NULL;

HWND hWndBeeper=NULL;HWND hWndBeeper = NULL;

#pragma data_seg()#pragma data_seg ()

#pragma comment (linker, "/SECTION:.kbdata,RWS")#pragma comment (linker, "/SECTION:.kbdata,RWS")

// KeyDown, KeyUp 이벤트 발생시 처리되는 후킹 프로시져// Hooking procedure handled when KeyDown, KeyUp event occurs

LRESULT CALLBACK KeyHookProc(int nCode, WPARAM wParam, LPARAM lParam)LRESULT CALLBACK KeyHookProc (int nCode, WPARAM wParam, LPARAM lParam)

{{

if(nCode == HC_ACTION)  if (nCode == HC_ACTION)

{ {

////////////////////////////////////////////////////////////////////////

switch(wParam)        switch (wParam)

{        {

case WM_SYSKEYDOWN: 키다운 이벤트인가?            case WM_SYSKEYDOWN: Is this a keydown event?

case WM_SYSKEYUP: 키업 이벤트인가?              case WM_SYSKEYUP: Is this a keyup event?

}}

///////////////////////////////////        /////////////////////////////////////

//윈도우 키 막기  // block window key

If(현재 블록킹상태인가?) {   If (currently blocking?) {

가상인터페이스 처리를 위한 이벤트 전송      Send event for virtual interface processing

키입력정보가 윈도우 메시지 프로시져에게 가는 것을 차단 return FALSE     Block keystrokes from reaching Windows message procedures return FALSE

}   }

블록킹상태가 아니기 때문에 바로 윈도우 이벤트 처리  Window event handling immediately because it is not blocking

return CallNextHookEx(hKeyHook,nCode,wParam,lParam); // Next 이벤트 채인으로 정보 전달 return CallNextHookEx (hKeyHook, nCode, wParam, lParam); // pass information to next event chain

}}

extern "C" __declspec(dllexport) void InstallHook(HWND hWnd)extern "C" __declspec (dllexport) void InstallHook (HWND hWnd)

{{

hWndBeeper=hWnd; hWndBeeper = hWnd;

hKeyHook=SetWindowsHookEx((WH_KEYBOARD,KeyHookProc,hModule,NULL);//WH_KEYBOARD의 이벤트에 대하여 SetWindowsHookEx 함수로 후킹 설정hKeyHook = SetWindowsHookEx ((WH_KEYBOARD, KeyHookProc, hModule, NULL); // Set hooking with SetWindowsHookEx function for events of WH_KEYBOARD

}}

extern "C" __declspec(dllexport) void UninstallHook()extern "C" __declspec (dllexport) void UninstallHook ()

{{

UnhookWindowsHookEx(hKeyHook);  UnhookWindowsHookEx (hKeyHook);

}}

BOOL WINAPI DllMain(HINSTANCE hInst, DWORD fdwReason, LPVOID lpRes)BOOL WINAPI DllMain (HINSTANCE hInst, DWORD fdwReason, LPVOID lpRes)

{{

switch (fdwReason) { switch (fdwReason) {

case DLL_PROCESS_ATTACH: case DLL_PROCESS_ATTACH:

hModule=hInst; //DII 파일의 최초 로딩시 DII Instance 핸들 저장  hModule = hInst; // store DII instance handle when first loading DII file

break;  break;

case DLL_PROCESS_DETACH: case DLL_PROCESS_DETACH:

break;  break;

} }

return TRUE; return TRUE;

}}

다음으로, 커널(kernel) 단의 전역 후킹 소스는 예를 들어 아래와 같다.Next, the global hooking source of the kernel stage is as follows.

#pragma PAGEDCODE#pragma PAGEDCODE

extern "C" extern "C"

NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath){NTSTATUS DriverEntry (IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath) {

for (int i = 0; i < arraysize(DriverObject->MajorFunction); ++i)    for (int i = 0; i <arraysize (DriverObject-> MajorFunction); ++ i)

// sys 파일의 최초 로딩시 시스템처리 주요함수 설정        // Set main function of system processing at the first loading of sys file

DriverObject->MajorFunction[IRP_MJ_READ] = Ctrl2capDispatchRead; //DriverObject-> MajorFunction [IRP_MJ_READ] = Ctrl2capDispatchRead; //

return STATUS_SUCCESS;    return STATUS_SUCCESS;

} // DriverEntry} // DriverEntry

NTSTATUS AddDevice(IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT pdo){NTSTATUS AddDevice (IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT pdo) {

NTSTATUS status;    NTSTATUS status;

PDEVICE_OBJECT fido;    PDEVICE_OBJECT fido;

status = IoCreateDevice(DriverObject, sizeof(DEVICE_EXTENSION), NULL,    status = IoCreateDevice (DriverObject, sizeof (DEVICE_EXTENSION), NULL,

GetDeviceTypeToUse(pdo), 0, FALSE, &fido);        GetDeviceTypeToUse (pdo), 0, FALSE, &fido);

if (!NT_SUCCESS(status))if (! NT_SUCCESS (status))

{ // can't create device object    {// can't create device object

return status;      return status;

} // can't create device object    } // can't create device object

PDEVICE_EXTENSION pdx = (PDEVICE_EXTENSION) fido->DeviceExtension;    PDEVICE_EXTENSION pdx = (PDEVICE_EXTENSION) fido-> DeviceExtension;

\\Device\\KdbClass 아래 키보드 필터드라이버 위치 적용 // keyboard 필터 드라이버의 설정    Apply the keyboard filter driver location under \\ Device \\ KdbClass // Set the keyboard filter driver

return status;    return status;

} // AddDevice} // AddDevice

// 하위 드라이버로부터 키보드 IRP 이벤트를 받음// Receive keyboard IRP event from subordinate driver

NTSTATUS ReadComplete(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp,IN PVOID Context){NTSTATUS ReadComplete (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) {

PIO_STACK_LOCATION IrpSp;    PIO_STACK_LOCATION IrpSp;

PKEYBOARD_INPUT_DATA KeyData;    PKEYBOARD_INPUT_DATA KeyData;

// 넘어온 IRP를 구조체 정보로 저장    // save passed IRP as structure information

IrpSp = IoGetCurrentIrpStackLocation( Irp );    IrpSp = IoGetCurrentIrpStackLocation (Irp);

if( NT_SUCCESS( Irp->IoStatus.Status ) ) {    if (NT_SUCCESS (Irp-> IoStatus.Status)) {

KeyData = (PKEYBOARD_INPUT_DATA)Irp->AssociatedIrp.SystemBuffer;        KeyData = (PKEYBOARD_INPUT_DATA) Irp-> AssociatedIrp.SystemBuffer;

numKeys = Irp->IoStatus.Information / sizeof(KEYBOARD_INPUT_DATA);         numKeys = Irp-> IoStatus.Information / sizeof (KEYBOARD_INPUT_DATA);

for( i = 0; i < numKeys; i++ ) { // KeyDown, KeyUp이벤트 발생시 처리되는 키이벤트 처리 함수        for (i = 0; i <numKeys; i ++) {// KeyDown, KeyEvent Handling Functions Handled When KeyUp Event Occurs

// KeyData[i].MakeCode -> 키입력 코드값            // KeyData [i] .MakeCode-> key input code value

// KeyData[i].Flags -> 키보드 업인가? 다운인가?// KeyData [i] .Flags-> Keyboard up? Is it down?

//윈도우 키 막기// block window key

If(현재 블록킹상태인가?) {         If (currently blocking?) {

가상인터페이스 처리를 위한 이벤트 전송             Send event for virtual interface processing

키입력정보가 윈도우 메시지 프로시져에게 가는 것을 차단              Block keystrokes from reaching Windows message procedures

KeyData[i].MakeCode=00;KeyData [i]. MakeCode = 00;

}         }

블록킹상태가 아니기 때문에 바로 Bypass         Bypass because it is not blocking

} }

}}

if( Irp->PendingReturned ) {    if (Irp-> PendingReturned) {

IoMarkIrpPending( Irp );        IoMarkIrpPending (Irp);

}    }

return Irp->IoStatus.Status;    return Irp-> IoStatus.Status;

}}

다시 도 4로 돌아가서, 이상과 같이 가상 인터페이스를 위한 초기화 과정이 완료되면, 단계 S160에서는 오버레이 기능을 이용하여 가상 인터페이스 화면(616)을 표시한다.4, when the initialization process for the virtual interface is completed as described above, the virtual interface screen 616 is displayed using the overlay function in step S160.

이어서, 단계 S170에서는 운영체제(421)에서 메시지가 발생되는가를 판단한다.In operation S170, it is determined whether a message is generated by the operating system 421.

단계 S170에서의 판단 결과, 메시지가 접수되면 단계 S180으로 진행하여 현재 접수된 메시지가 가상 인터페이스 관련 메시지인가를 판단하는 필터링 과정을 수행한다.As a result of the determination in step S170, when the message is received, the process proceeds to step S180 to perform a filtering process for determining whether the currently received message is a virtual interface related message.

단계 S180에서의 판단 결과, 가상 인터페이스 관련 메시지로 판단되면 단계 S190으로 진행하여 가상 인터페이스 관련 메시지 처리를 수행한다. 그러나, 가상 인터페이스 관련 메시지가 아닌 경우에는 단계 S200으로 진행하여 활성화된 일반 응용 프로그램(422)으로 메시지를 전송한다.If it is determined in step S180 that the virtual interface related message is determined, the process proceeds to step S190 to perform a virtual interface related message processing. However, if the message is not related to the virtual interface, the flow proceeds to step S200 to transmit the message to the activated general application program 422.

단계 S190에서 메시지 처리모듈(426b)은 필터링된 메시지의 속성값을 가상 인터페이스 표시모듈(426a)로 제공한다. 비디오 인터페이스 제어모듈(426a)은 전달받은 메시지 속성값을 가상 인터페이스 화면(616)에 적절한 화면 표시가 이루어지도록 한다. 또한, 메시지 속성값은 가상 인터페이스 응용 프로그램(424)으로도 전달되어 가상 인터페이스 응용 프로그램(424)의 본래의 프로그램 기능이 수행되도록 한다. 또한, 비디오 인터페이스 제어모듈(426a)은 가상 인터페이스 응용 프로그램(424)으로부터 제공받은 이미지 정보를 가상 인터페이스 화면(616)에 표시되도록 한다.In step S190, the message processing module 426b provides the attribute value of the filtered message to the virtual interface display module 426a. The video interface control module 426a may display the received message attribute value on the virtual interface screen 616. The message attribute value is also passed to the virtual interface application 424 so that the original program function of the virtual interface application 424 is performed. In addition, the video interface control module 426a displays the image information provided from the virtual interface application program 424 on the virtual interface screen 616.

도 5는 본 발명의 일 실시예에 따른 결제정보 보안 방법을 구체적으로 설명하기 위한 흐름도이며, 도 6 및 도 7은 본 발명의 일 실시예에 따른 결제정보 보안 장치에 의해 표시되는 가상 인터페이스 화면을 보인 도면이다.5 is a flowchart illustrating a payment information security method according to an embodiment of the present invention in detail, and FIGS. 6 and 7 illustrate a virtual interface screen displayed by the payment information security device according to an embodiment of the present invention. The figure shown.

도 5에 도시한 바와 같이, 단계 S310에서 네트워크 인터페이스(540)는 인터넷(544)을 통해 접수된 결제 이벤트를 운영체제(421)로 전달하게 된다.As shown in FIG. 5, in operation S310, the network interface 540 delivers the payment event received through the Internet 544 to the operating system 421.

그러면, 운영체제(421)는 결제 이벤트에 의거하여 가상 결제프로그램(424a)과 가상인터페이스모듈(426)을 실행한다(단계 S320 및 단계 S330).Then, the operating system 421 executes the virtual payment program 424a and the virtual interface module 426 based on the payment event (steps S320 and S330).

이에 따라, 단계 S340에서 가상 결제프로그램(424a)는 운영체제(421)에 의해 동작을 개시하는 한편, 모니터를 출력할 결제 이미지 정보를 생성한다.Accordingly, in operation S340, the virtual payment program 424a starts an operation by the operating system 421 and generates payment image information for outputting the monitor.

또한, 단계 S350에서 가상인터페이스모듈(426)은 오버레이 기능이 지원되는지를 확인하기 위해 비디오인터페이스(200)의 오버레이 영역(350)을 확인한다. 이어서, 단계 S360에서는 가상 인터페이스를 위한 오버레이를 생성할 수 있는지 판단한다.In operation S350, the virtual interface module 426 checks the overlay area 350 of the video interface 200 to confirm whether the overlay function is supported. In operation S360, it is determined whether an overlay for the virtual interface can be generated.

단계 S360에서의 판단 결과, 오버레이의 생성이 가능하지 않다면 단계 S370으로 진행하여 오류메시지를 운영체제(421)로 전달한다.As a result of the determination in step S360, if generation of the overlay is not possible, the process proceeds to step S370 to transmit an error message to the operating system 421.

반면, 단계 S360에서의 판단 결과, 오버레이의 생성이 가능하다면 단계 S380으로 진행하여 가상 결제프로그램(424a)에 의해 생성된 결제 이미지 정보를 출력하도록 비디오 인터페이스(200)를 직접 제어한다. 이에 따라, 단계 S390에서 비디오 인터페이스(200)는 가상인터페이스를 표시하게 되는데, 이를 테면 도 6에 도시한 바와 같이 사용자의 신용카드 번호를 가상키보드를 이용하여 입력할 수 있도록 한 것이나, 도 7에 도시한 바와 같이 온라인 결제의 인증을 위한 공인인증서 암호를 가상키보드를 이용하여 입력할 수 있도록 한 가상인터페이스가 모니터(600)를 통해 표시될 것이다. 즉, 사용자는 가상인터페이스모듈(426)에 의해 제공되는 가상인터페이스를 통해 자신의 결제 정보를 마우스를 이용하여 입력하게 되는 것이다.On the other hand, if it is determined in step S360 that the overlay can be generated, the process proceeds to step S380 and directly controls the video interface 200 to output the payment image information generated by the virtual payment program 424a. Accordingly, in step S390, the video interface 200 displays the virtual interface. For example, as shown in FIG. 6, the user can input the credit card number of the user using the virtual keyboard. As described above, a virtual interface for inputting a certificate certificate for authentication of online payment using a virtual keyboard will be displayed through the monitor 600. That is, the user inputs his payment information by using a mouse through the virtual interface provided by the virtual interface module 426.

한편, 단계 S400에서 가상인터페이스모듈(426)은 전역 후킹을 설정한다. 이렇게 되면, 운영체제(421)에서 생성되는 메시지는 가상인터페이스모듈(426)에 최우선적으로 접수된다(단계 S410). 이에 따라, 단계 S420에서 가상인터페이스모 듈(426)은 접수된 메시지가 가상 결제에 관련되어 있는 것인지를 판단한다.Meanwhile, in step S400, the virtual interface module 426 sets up global hooking. In this case, the message generated by the operating system 421 is first and foremost accepted by the virtual interface module 426 (step S410). Accordingly, in step S420, the virtual interface module 426 determines whether the received message is related to the virtual payment.

단계 S420에서의 판단 결과, 가상 결제 메시지가 아닌 경우에는 해당 메시지를 운영체제(421)에 전달한다(단계 S430).As a result of the determination in step S420, if the message is not a virtual payment message, the message is transmitted to the operating system 421 (step S430).

반면에 단계 S420에서의 판단 결과, 가상 결제 메시지인 경우에는 해당 메시지를 가상 결제프로그램(424a)에 전달한다(단계 S440). 그러면, 가상 결제프로그램(424a)은 전달받은 메시지를 처리하여 이미지 정보를 생성하고(단계 S450), 이를 가상인터페이스모듈(426)에 제공한다(단계 S460).On the other hand, if it is determined in step S420 that the virtual payment message is transmitted to the virtual payment program 424a (step S440). Then, the virtual payment program 424a processes the received message to generate image information (step S450), and provides it to the virtual interface module 426 (step S460).

이에 따라, 단계 S470에서 가상인터페이스모듈(426)은 새로운 이미지 정보가 출력되도록 비디오 인터페이스(200)를 제어한다. 이에 따라, 단계 S390에서 비디오 인터페이스(200)는 오버레이 영역(226)에 새롭게 저장되는 이미지를 모니터(600)의 가상 인터페이스 화면(616)에 출력시킨다.Accordingly, in operation S470, the virtual interface module 426 controls the video interface 200 to output new image information. Accordingly, in operation S390, the video interface 200 outputs the image newly stored in the overlay area 226 to the virtual interface screen 616 of the monitor 600.

예를 들어, 도 6 또는 도 7에 도시한 바와 같은 가상 인터페이스의 입력박스를 사용자가 마우스(524)를 이용하여 클릭하게 되면, 운영체제(421)는 이와 관련된 메시지를 생성하게 된다. 그러면, 메시지 처리모듈(426b)은 해당 메시지를 접수하여 비디오 인터페이스 제어모듈(426a)에게 통지한다. 이에 따라, 비디오 인터페이스 제어모듈(426a)은 입력박스에 텍스트 입력을 위한 커서를 표시하도록 비디오 인터페이스(200)를 제어하게 된다. 이 상태에서, 사용자가 다시 마우스(524)를 이용하여 가상키보드를 클릭하게 될 것이다. 결국, 비디오 인터페이스 제어모듈(426a)은 입력박스 내에 해당 가상키보드의 값이 표시되도록 비디오 인터페이스(200)를 제어하게 된다. 여기서, 오버레이 영역(226)에 저장되는 비디오 데이터는 모든 그 래픽 카드에서 지원하는 YUV 포맷으로 변환하여 저장되는 것이 바람직하다.For example, when the user clicks on the input box of the virtual interface as shown in FIG. 6 or 7 using the mouse 524, the operating system 421 generates a message related thereto. Then, the message processing module 426b receives the message and notifies the video interface control module 426a. Accordingly, the video interface control module 426a controls the video interface 200 to display a cursor for text input in the input box. In this state, the user will click on the virtual keyboard again using the mouse 524. As a result, the video interface control module 426a controls the video interface 200 to display the value of the virtual keyboard in the input box. In this case, the video data stored in the overlay area 226 is preferably converted into a YUV format supported by all graphic cards and stored.

한편, 이상의 실시예가 비디오 인터페이스(200)의 오버레이 영역(226)을 이용한 것이라면, 본 발명의 결제정보 보안 장치는 비디오 인터페이스(200)의 미니 포트 기능을 이용하여서도 가상 인터페이스를 구현할 수 있다. 따라서, 아래에서는 첨부된 도 8 내지 도 10을 참조로 하여 미니포트 기능을 이용한 가상 인터페이스에 대해 상세하게 설명하는데, 이상의 실시예와 중복되는 내용은 생략함을 밝혀둔다.Meanwhile, if the above embodiment uses the overlay area 226 of the video interface 200, the payment information security device of the present invention may implement a virtual interface using the miniport function of the video interface 200. Therefore, hereinafter, the virtual interface using the miniport function will be described in detail with reference to FIGS. 8 to 10. However, the description of the virtual interface will be omitted.

도 8은 본 발명의 다른 실시예에 따른 결제정보 보안 장치에 의해 표시되는 화면을 보인 도면이다.8 is a view showing a screen displayed by the payment information security device according to another embodiment of the present invention.

도 8에 도시한 바와 같이, 본 발명의 가상 인터페이스를 구현하기 위한 다른 실시예에서는 모니터(600)의 화면 출력을 위해 두 개의 비디오 출력 채널을 이용한다. 두 개의 비디오 출력 채널은 예를 들어, 일반 비디오 포트와 비디오 미니 포트로 구성될 수 있다. 이와 같은 두 개의 비디오 출력 채널 이용한 방식에서는 가상 인터페이스 화면(616)을 표시하기 위해 비디오 메모리(200)의 일반 영역(222)을 사용한다. 단, 비디오 메모리(220)의 일반 영역(222)을 공통으로 사용하되 그 일부를 가상 인터페이스를 표시하기 위한 독립된 비디오 출력 채널로 사용한다.As shown in FIG. 8, another embodiment for implementing the virtual interface of the present invention uses two video output channels for outputting the screen of the monitor 600. The two video output channels may consist of, for example, a general video port and a video miniport. In such a method using two video output channels, the general area 222 of the video memory 200 is used to display the virtual interface screen 616. However, the general area 222 of the video memory 220 is used in common, but a part thereof is used as an independent video output channel for displaying a virtual interface.

도 9는 본 발명의 다른 실시예에 따른 결제정보 보안 장치에 있어서 본 발명의 특징적인 양상에 따른 가상 인터페이스 모듈의 기능 및 구성을 설명하기 위한 블록 구성도이다.9 is a block diagram illustrating a function and configuration of a virtual interface module according to a characteristic aspect of the present invention in a payment information security device according to another embodiment of the present invention.

도 9에 도시한 바와 같이, 일반 응용프로그램(422)의 수행에 따른 일반 화면 데이터(224)는 일반 영역(224)을 제어하는 비디오 드라이버(427)를 통하여 모니 터(600)로 출력된다.As shown in FIG. 9, the general screen data 224 according to the execution of the general application program 422 is output to the monitor 600 through the video driver 427 that controls the general area 224.

반면, 가상 인터페이스 응용 프로그램(424)의 수행에 따른 가상 인터페이스 화면 데이터(228)는 미니 포트를 구동하는 미니포트 드라이버(429)에 의해 가상 인터페이스 화면(616)이 모니터(600)로 출력된다.In contrast, the virtual interface screen data 228 according to the execution of the virtual interface application program 424 is output to the monitor 600 by the miniport driver 429 driving the miniport.

도 10은 본 발명의 다른 실시예에 따른 결제정보 보안 방법을 개략적으로 설명하기 위한 흐름도인바, 설명의 주체는 가상 인터페이스 모듈(426)임을 밝혀둔다.10 is a flowchart for schematically describing a payment information security method according to another embodiment of the present invention, and the subject of the description is a virtual interface module 426.

도 10에 도시한 바와 같이, 미니 포트 기능을 이용한 가상 인터페이스 처리 모듈(426)의 동작은 상술한 오버레이 기능을 이용한 경우와 동일한 동작 수순을 갖는다. 다만, 가상 인터페이스를 위한 초기화 과정이 조금 상이하다.As shown in FIG. 10, the operation of the virtual interface processing module 426 using the miniport function has the same operation procedure as the case of using the above-described overlay function. However, the initialization process for the virtual interface is slightly different.

즉, 도 10에 도시한 바와 같이, 먼저 단계 S100에서는 마우스(524) 등을 이용한 사용자의 가상 인터페이스 실행 명령(이벤트)에 의해 동작을 개시하게 된다.That is, as shown in Fig. 10, first in step S100, the operation is started by a user's virtual interface execution command (event) using the mouse 524 or the like.

다음으로, 단계 S110에서는 비디오 인터페이스(200)가 미니포트를 지원하는지, 미니포트가 지원된다면 사용 가능한 리소스가 남아 있는지를 판단한다.Next, in step S110, it is determined whether the video interface 200 supports the miniport, and if the miniport is supported, whether the available resources remain.

단계 S110'에서의 판단 결과 미니포트의 생성이 가능하다면, 단계 S120'으로 진행하여 미니포트를 생성한다. 미니 포트를 생성하는 것은 예를 들어, 윈도우 드라이버 개발 키트와 같은 개발 툴을 이용하여 제작하여 사용할 수 있다.If it is possible to generate the miniport as a result of the determination in step S110 ', the flow advances to step S120' to generate a miniport. Creating a miniport can be made and used using development tools such as, for example, the Windows Driver Development Kit.

반면, 단계 S110'에서의 판단 결과, 비디오 인터페이스(200)가 미니포트 기능을 지원하지 않거나 지원하더라도 미니포트를 사용하기 위한 리소스가 남아있지 않다면, 운영체제(421)의 제어에 의해 미니포트 오류메시지가 출력되고 가상 인터페이스 모듈(426)의 동작이 종료된다(단계 S130' 및 단계 S140).On the other hand, if it is determined in step S110 'that the video interface 200 does not support the miniport function or there is no resource for using the miniport, the miniport error message is controlled by the operating system 421. It outputs and the operation | movement of the virtual interface module 426 is complete | finished (step S130 'and step S140).

한편, 인터넷(544)은 주지되어 있는 바와 같이, 전 세계에 산재해 있는 TCP/IP(Transmission Control Protocol/ Internet Protocol)라는 통신규약에 기반이 된 컴퓨터망을 유/무선을 통해 연결하는 네트워크들의 네트워크를 가리키는 것이다. 여기서, 무선으로 인터넷에 접근하는 방식에는 휴대폰 등에 설치되는 무선 인터넷 플랫폼 이를 테면, WAP(Wireless Application Protocol)이나 WIPI(Wireless Internet Platform for Interoperability)을 기반으로 이동통신망을 통해 접근하는 방식이 있고 또한, 노트북 컴퓨터 등에 설치되는 무선 LAN카드를 이용하여 무선접속장치(access point; AP)를 통해 접근하는 무선인터넷과 ADSL(Asymmetric Digital Subscriber Line) 수준의 품질과 비용으로 정지 또는 저속 이동 중에도 고속 인터넷 접속할 수 있는 무선 인터넷 서비스인 와이브로(Wireless Broadband; WiBro) 일명, 휴대인터넷 등이 있다.Meanwhile, as is well known, the Internet 544 is a network of networks that connect computer networks based on a communication protocol called TCP / IP (Transmission Control Protocol / Internet Protocol), which is scattered around the world, via wired / wireless networks. To indicate. Here, the method of accessing the Internet wirelessly includes a wireless Internet platform installed in a mobile phone, for example, a method of accessing through a mobile communication network based on a WAP (Wireless Application Protocol) or a WIPI (Wireless Internet Platform for Interoperability). A wireless LAN card installed in a computer, etc., provides high-speed Internet access even during stationary or low-speed travel at a quality and cost equivalent to the wireless Internet and ADSL (Asymmetric Digital Subscriber Line) access through a wireless access point (AP). Internet service such as WiBro (WiBro), a portable Internet, and the like.

본 발명의 결제정보 보안 방법 및 이를 수행하는 컴퓨터 장치는 전술한 실시 예에 국한되지 않고 본 발명의 기술 사상이 허용하는 범위에서 다양하게 변형하여 실시할 수가 있다.The payment information security method of the present invention and a computer device performing the same can be implemented in various modifications within the scope of the technical idea of the present invention without being limited to the above-described embodiment.

도 1은 본 발명의 일 실시예에 따른 결제정보 보안 장치의 블록 구성도이다.1 is a block diagram of a payment information security device according to an embodiment of the present invention.

도 2는 본 발명의 일 실시예에 따른 결제정보 보안 장치에 의해 표시되는 화면을 보인 도면이다.2 is a view showing a screen displayed by the payment information security device according to an embodiment of the present invention.

도 3은 본 발명의 일 실시예에 따른 결제정보 보안 장치에 있어서 본 발명의 특징적인 양상에 따른 가상 인터페이스 모듈의 기능 및 구성을 설명하기 위한 블록 구성도이다.3 is a block diagram illustrating a function and configuration of a virtual interface module according to a characteristic aspect of the present invention in a payment information security device according to an embodiment of the present invention.

도 4는 본 발명의 일 실시예에 따른 결제정보 보안 방법을 개략적으로 설명하기 위한 블록 구성도이다.4 is a block diagram for schematically illustrating a payment information security method according to an embodiment of the present invention.

도 5는 본 발명의 일 실시예에 따른 결제정보 보안 방법을 구체적으로 설명하기 위한 흐름도이다.5 is a flowchart illustrating a payment information security method according to an embodiment of the present invention in detail.

도 6 및 도 7은 본 발명의 일 실시예에 따른 결제정보 보안 장치에 의해 표시되는 가상 인터페이스 화면을 보인 도면이다.6 and 7 are diagrams showing a virtual interface screen displayed by the payment information security device according to an embodiment of the present invention.

도 8은 본 발명의 다른 실시예에 따른 결제정보 보안 장치에 의해 표시되는 화면을 보인 도면이다.8 is a view showing a screen displayed by the payment information security device according to another embodiment of the present invention.

도 9는 본 발명의 다른 실시예에 따른 결제정보 보안 장치에 있어서 본 발명의 특징적인 양상에 따른 가상 인터페이스 모듈의 기능 및 구성을 설명하기 위한 블록 구성도이다.9 is a block diagram illustrating a function and configuration of a virtual interface module according to a characteristic aspect of the present invention in a payment information security device according to another embodiment of the present invention.

도 10은 본 발명의 다른 실시예에 따른 결제정보 보안 방법을 개략적으로 설명하기 위한 흐름도이다.10 is a flowchart illustrating a payment information security method according to another embodiment of the present invention.

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

100: 중앙처리유닛 200: 비디오 인터페이스100: central processing unit 200: video interface

300: 시스템 버스 400: 주기억 유닛300: system bus 400: main memory unit

421: 운영체제 424: 가상 인터페이스 응용 프로그램421: Operating System 424: Virtual Interface Application

426: 가상 인터페이스 모듈 426a: 비디오 인터페이스 제어모듈426: virtual interface module 426a: video interface control module

426b: 메시지 처리모듈426b: message processing module

Claims (7)

사용자 입력에 대하여 이벤트를 발생하는 사용자 입력 인터페이스;A user input interface for generating an event for the user input; 이미지 데이터를 아날로그 신호로 변환하여 모니터로 출력하고, 비디오 오버레이를 수행하는 비디오 인터페이스;A video interface for converting image data into an analog signal, outputting the same to a monitor, and performing a video overlay; 상기 사용자 입력 인터페이스의 이벤트를 접수하여 그에 상응하는 메시지를 발생하고, 상기 메시지의 처리 결과에 따른 화면이 출력되도록 상기 비디오 인터페이스를 제어하는 운영체제; 및An operating system configured to receive an event of the user input interface, generate a corresponding message, and control the video interface to output a screen according to a processing result of the message; And 상기 운영체제의 메시지를 후킹하고, 가상키보드를 모니터로 출력하도록 하고 온라인 결제를 수행하는 가상 결제프로그램에 상기 후킹한 메시지가 관련되어 있는 경우에는 상기 운영체제를 대신하여 상기 후킹한 메시지를 상기 가상 결제프로그램에 전달하며, 상기 가상 결제프로그램에 의해 생성되는 이미지 정보의 표시에 대해서 상기 운영체제를 대신하여 상기 비디오 인터페이스를 제어하는 가상 인터페이스 모듈을 포함하여 이루어지는 결제정보 보안 기능을 갖는 컴퓨터 장치.If the hooked message is related to a virtual payment program that hooks a message of the operating system, outputs a virtual keyboard to a monitor, and performs online payment, the hooked message is sent to the virtual payment program on behalf of the operating system. And a virtual interface module that transmits and controls the video interface on behalf of the operating system with respect to the display of the image information generated by the virtual payment program. 제 1항에 있어서,The method of claim 1, 상기 가상 인터페이스 모듈은 상기 비디오 인터페이스를 제어하여, 상기 가상 결제프로그램에 의해 생성되는 이미지 정보에 따른 가상 인터페이스 화면을 모니터상에서 최상단에 표시하도록 하는 것을 특징으로 하는 결제정보 보안 기능을 갖는 컴퓨터 장치.And the virtual interface module controls the video interface to display a virtual interface screen according to the image information generated by the virtual payment program on the top of the monitor. 제 1항 및 제 2항 중 어느 한 항에 있어서,The method according to any one of claims 1 and 2, 상기 가상 인터페이스 모듈은 응용 프로그램 인터페이스(API)를 이용하여 상기 운영체제의 메시지를 후킹하는 것을 특징으로 하는 결제정보 보안 기능을 갖는 컴퓨터 장치.And the virtual interface module hooks a message of the operating system using an application program interface (API). 비디오 오버레이를 수행하는 비디오 인터페이스를 포함하여 이루어진 컴퓨터상에서 가상 인터페이스 모듈에 의해 수행되며,Performed by a virtual interface module on a computer comprising a video interface for performing a video overlay, 운영체제의 메시지를 후킹하는 (a) 단계;(A) hooking a message of an operating system; 상기 (a) 단계에서 후킹한 메시지가 가상키보드를 모니터로 출력하도록 하고 온라인 결제를 수행하는 가상 결제프로그램과 관련되어있는지를 판단하는 (b) 단계;(B) determining whether the message hooked in step (a) is related to the virtual payment program for outputting the virtual keyboard to the monitor and performing online payment; 상기 (b) 단계의 판단 결과, 상기 후킹한 메시지가 상기 가상 결제프로그램과 관련되어 있는 경우에는 상기 운영체제를 대신하여 상기 후킹한 메시지를 상기 가상 결제프로그램에 전달하는 (c) 단계; 및(C) transferring the hooked message to the virtual payment program on behalf of the operating system if the hooked message is related to the virtual payment program as a result of the determination of step (b); And 상기 가상 결제프로그램에 의해 생성되는 이미지 정보의 표시에 대해서 상기 운영체제를 대신하여 상기 비디오 인터페이스를 제어하는 (d) 단계를 포함하여 이루어지는 결제정보 보안 방법.And (d) controlling the video interface on behalf of the operating system for the display of image information generated by the virtual payment program. 제 4항에 있어서,The method of claim 4, wherein 상기 비디오 인터페이스를 제어하여, 상기 가상 결제프로그램에 의해 생성되는 이미지 정보에 따른 가상 인터페이스 화면을 모니터상에서 최상단에 표시하도록 하는 것을 특징으로 하는 결제정보 보안 방법.And controlling the video interface to display the virtual interface screen according to the image information generated by the virtual payment program on the top of the monitor. 제 5항에 있어서,The method of claim 5, 상기 (a) 단계의 메시지 후킹은 응용 프로그램 인터페이스(API)를 이용하여 이루어지는 것을 특징으로 하는 결제정보 보안 방법.Message hooking of the step (a) is the payment information security method, characterized in that made using an application program interface (API). 제 4항 내지 제 6항 중 어느 한 항의 결제정보 보안 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.A computer-readable medium having recorded thereon a program for executing the payment information security method according to any one of claims 4 to 6.
KR1020080063906A 2008-07-02 2008-07-02 apparatus and method for securing on-line payment KR100989895B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080063906A KR100989895B1 (en) 2008-07-02 2008-07-02 apparatus and method for securing on-line payment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080063906A KR100989895B1 (en) 2008-07-02 2008-07-02 apparatus and method for securing on-line payment

Publications (2)

Publication Number Publication Date
KR20100003875A KR20100003875A (en) 2010-01-12
KR100989895B1 true KR100989895B1 (en) 2010-10-26

Family

ID=41813569

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080063906A KR100989895B1 (en) 2008-07-02 2008-07-02 apparatus and method for securing on-line payment

Country Status (1)

Country Link
KR (1) KR100989895B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2508431A (en) * 2012-12-03 2014-06-04 Ivan Scott A sign bracket

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040079341A (en) * 2004-04-28 2004-09-14 (주)신엠 Screen sharing method and service method thereof
KR20050111434A (en) * 2004-05-20 2005-11-25 삼성전자주식회사 Display system and management method for virtual workspace thereof
KR20080113881A (en) * 2007-06-26 2008-12-31 문창선 System and method for providing virtual interface

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040079341A (en) * 2004-04-28 2004-09-14 (주)신엠 Screen sharing method and service method thereof
KR20050111434A (en) * 2004-05-20 2005-11-25 삼성전자주식회사 Display system and management method for virtual workspace thereof
KR20080113881A (en) * 2007-06-26 2008-12-31 문창선 System and method for providing virtual interface

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
카달로그 : 보안뉴스 (2008-06-12) *
카달로그 : 보안뉴스 (2008-06-12)*

Also Published As

Publication number Publication date
KR20100003875A (en) 2010-01-12

Similar Documents

Publication Publication Date Title
US11494010B2 (en) Touch support for remoted applications
US8881298B2 (en) System for preventing unauthorized acquisition of information and method thereof
US20180109625A1 (en) Method for cloud based mobile application virtualization
AU2008311755A1 (en) Methods and systems for remoting three dimensional graphical data
JP2003289500A (en) Secure video card method and system
CA2637980A1 (en) Methods and systems for providing access to a computing environment
US20180109624A1 (en) Device and system for cloud based mobile application virtualization
KR100917687B1 (en) System and method for providing virtual interface
US9286088B2 (en) User interface for interaction with virtual machine
CN101326513A (en) Alternative graphics pipe
KR20060063643A (en) Improving operating system performance
KR101146180B1 (en) apparatus for securing user information
KR100989895B1 (en) apparatus and method for securing on-line payment
KR100994990B1 (en) apparatus and method for securing internet banking
KR100994989B1 (en) apparatus and method for securing user information
JP5223802B2 (en) Server-based computing system, server device, client device, and program
KR101057474B1 (en) How to prevent user information leak by screen hack
US9830288B2 (en) System and method for transmitting graphics rendered on a primary computer to a secondary computer
US11893199B2 (en) Systems and methods for viewing incompatible web pages via remote browser instances
CN103065085A (en) System and method for implementing a secure USB application device
WO2023158469A1 (en) Systems and methods for rendering secured content items
CN117234655A (en) Method, device, equipment and medium for running Linux desktop program based on android system

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: 20130905

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee