KR102408211B1 - 호스트 기기의 작업에 대한 증적 자료 수집 장치 및 그 장치의 제어 방법 - Google Patents

호스트 기기의 작업에 대한 증적 자료 수집 장치 및 그 장치의 제어 방법 Download PDF

Info

Publication number
KR102408211B1
KR102408211B1 KR1020200143617A KR20200143617A KR102408211B1 KR 102408211 B1 KR102408211 B1 KR 102408211B1 KR 1020200143617 A KR1020200143617 A KR 1020200143617A KR 20200143617 A KR20200143617 A KR 20200143617A KR 102408211 B1 KR102408211 B1 KR 102408211B1
Authority
KR
South Korea
Prior art keywords
usb
data
security stick
security
stick
Prior art date
Application number
KR1020200143617A
Other languages
English (en)
Other versions
KR20220058164A (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 KR1020200143617A priority Critical patent/KR102408211B1/ko
Publication of KR20220058164A publication Critical patent/KR20220058164A/ko
Application granted granted Critical
Publication of KR102408211B1 publication Critical patent/KR102408211B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • G06F2212/2146Solid state disk being detachable, e.g.. USB memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3812USB port controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 호스트(host) 기기 내부의 정보 유출을 방지하고, 상기 호스트 기기가 수행한 작업에 대한 증적 자료를 수집하는 장치에 대한 것으로, 전자기기와, 적어도 하나의 USB 기기 및, 연결된 USB 기기의 타입을 판별함과 함께 상기 전자기기와 논리적 연결을 수행하여 마우스와 키보드 이외의 USB 기기가 상기 전자기기에 연결되는 것을 차단하며, 상기 판별 결과에 따라 상기 USB 기기와 상기 전자기기 사이의 논리적 연결이 형성되는 경우, 연결된 USB 기기로부터 입력되는 입력 데이터를 상기 전자기기에 전달함과 동시에, 상기 입력 데이터를 저장하는 보안 스틱을 포함하는 것을 특징으로 한다.

Description

호스트 기기의 작업에 대한 증적 자료 수집 장치 및 그 장치의 제어 방법{APPARATUS FOR COLLECTING TRACE DATA ABOUT OPERATION OF HOST DEVICE AND CONTROLLING METHOD THEREOF}
본 발명은 호스트(host) 기기 내부의 정보 유출을 방지하고, 상기 호스트 기기가 수행한 작업에 대한 증적 자료를 수집하는 장치 및 그 장치의 제어 방법에 대한 것이다.
USB(Universal Serial Bus) 프로토콜은 광범위하게 사용하고 있는 시스템 인터페이스로, 컴퓨터(e.g., PC)와 주변기기간 고속 데이터통신을 위해 개발된 규격이다. 상기 주변기기는 USB를 지원하는 기기(이하 USB 기기로 칭함)로, USB 메모리(휴대용 저장장치), 마우스, 키보드, 프린터, 스캐너, 웹캠 등을 포함할 수 있다.
USB 표준개발기구(USB Implementers Forum : USB-IF)에서는 컴퓨터 본체와 USB기기를 이어줄 때 사용하는 USB 인터페이스를 정의하고 있다. 상기 USB 인터페이스는 접속 시 바로 컴퓨터에서 USB 기기의 연결을 감지하는 플러그 앤 플레이(Plug and Play : PnP) 기능과 전원이 켜진 상태에서도 USB 기기의 연결, 분리 및 교환이 가능한 핫 스와핑(Hot swapping) 기능을 지원하고 있다. 또한, USB 인터페이스는 USB 허브를 사용할 경우 하나의 호스트(host) 기기, 예를 들어 컴퓨터에 최대 127개의 USB 기기를 연결할 수 있어(컨트롤 당 최대 127개의 포트 확장 가능) 포트의 확장이 가능하다.
이처럼 하나의 호스트 기기에 다수의 USB 기기 연결이 가능해짐에 따라, 점차 USB 기기들의 관리가 어려워지는 추세에 있으며, 이에 따라 호스트 기기의 정보 보안 문제 역시 크게 우려되고 있는 상황이다.
이러한 호스트 기기의 정보 보안 문제에 대한 대응으로, 호스트 기기에 USB 메모리와 같은 저장 장치가 연결되지 않도록 하는 방화벽 프로그램을 설치함으로써, USB 메모리의 연결을 호스트 기기가 제한하는 방법 등이 등장하였다.
그러나 요즈음에는 정보통신 기술의 발달로 인하여, 직접 메모리를 연결하여 내부 정보를 유출하는 방식 외에, 키보드 또는 마우스 등 통상적인 입출력 기기를 USB 방식으로 호스트 기기에 연결하고, 연결된 입출력 기기를 통해 호스트 기기를 제어하여 내부의 정보를 임의의 서버 등에 전송함으로써, 저장 장치를 사용하지 않고서도 기밀 정보를 유출하는 방법이 등장하고 있다. 따라서 연결된 USB 기기를 통해 호스트 기기 내부의 정보가 유출되는 것을 방지하는 것뿐만 아니라, 유출된 내부 정보 및, 내부 정보가 유출된 경로를 추적할 수 있는 증적 자료의 확보가 중요한 화두로 떠오르고 있다.
그런데 이처럼 증적 자료를 확보하는 기존의 방식은, 로그(log) 정보 등 호스트 기기에서 구동 기록을 확보하는 방식이었다. 그러나 이러한 로그 정보 등의 경우, 단순 접속 기록에 불과할 뿐 자세한 호스트 기기의 작업 내역을 파악하기 어려우며, 이에 따라 증적 자료로서 활용도가 떨어진다는 문제가 있다. 또한 상기 입출력 기기를 통한 호스트 기기의 조작으로 인해 저장된 구동 기록이 파괴되거나 또는 조작될 가능성이 있다는 문제가 있다.
더욱이, 정보 유출을 시도하는 자가 정보 유출 시도가 검출되었음을 알게 되는 경우, 이를 감추기 위해 호스트 기기를 파괴하거나 또는 구동 기록을 조작할 가능성이 있으므로, 올바른 증적 자료의 확보를 위해서는 정보 유출을 시도하는 자가 인지하지 못하는 상태에서 상기 정보 유출을 위해 시도된 호스트 기기의 구동 기록이 요구된다. 그러나 호스트 기기에 설치된 프로그램 또는 애플리케이션을 통해 증적 자료를 수집하는 경우, 호스트 기기의 구동 기록을 통해 유출자가 이를 인지할 가능성이 높고, 유출자가 인지하는 경우 올바른 증적 자료의 확보가 어렵다는 문제가 있다.
본 발명은 전술한 문제를 해결하기 위한 것으로, 본 발명은 호스트 기기와 별도로, 상기 호스트 기기의 작업에 대한 증적 자료를 확보할 수 있는 증적 자료 수집 장치 및 그 장치의 제어 방법을 제공하는 것을 그 목적으로 한다.
또한 본 발명은 정보 유출을 시도하는 자가, 인지하지 못하는 상태에서 상기 정보 유출을 위해 시도된 호스트 기기의 구동 기록을 증적 자료로 확보할 수 있는 증적 자료 수집 장치 및 그 장치의 제어 방법을 제공하는 것을 그 목적으로 한다.
상술한 목적을 달성하기 위한 본 발명의 실시 예에 따른 증적 자료 수집 장치는, 전자기기와, 적어도 하나의 USB 기기 및, 연결된 USB 기기의 타입을 판별함과 함께 상기 전자기기와 논리적 연결을 수행하여 마우스와 키보드 이외의 USB 기기가 상기 전자기기에 연결되는 것을 차단하며, 상기 판별 결과에 따라 상기 USB 기기와 상기 전자기기 사이의 논리적 연결이 형성되는 경우, 연결된 USB 기기로부터 입력되는 입력 데이터를 상기 전자기기에 전달함과 동시에, 상기 입력 데이터를 저장하는 보안 스틱을 포함하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 보안 스틱은, 상기 논리적 연결이 형성되는 시각을 상기 입력 데이터의 수신이 시작된 수신 시작 시각 정보로 검출하고, 상기 입력 데이터를 상기 수신 시작 시각 정보와 연관하여 저장하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 입력 데이터는, USB 프로토콜에 따른 패킷 데이터이며, 상기 보안 스틱은, 저장된 적어도 하나의 패킷 데이터로부터 비트열을 추출하고, 상기 추출된 비트열이 상기 저장된 입력 데이터에 대응되도록, 상기 수신 시작 시각 정보에 연관하여 상기 추출된 비트열을 더 저장하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 보안 스틱은, 상기 추출된 비트열과 상기 입력 데이터를 메모리의 서로 다른 영역 또는 서로 다른 메모리에 저장하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 보안 스틱은, 소정 형상의 본체와, 상기 본체의 일측에 형성되며, 적어도 하나의 USB 기기와 연결될 수 있는 USB 리셉터클(receptacle) 및, 상기 본체의 타측에 형성되며, 전자기기의 USB 포트에 연결될 수 있도록 형성된 USB 플러그(plug)를 포함하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 보안 스틱은, 상기 입력 데이터를 저장하는 보조 메모리를 더 포함하며, 상기 보조 메모리는, 상기 보조 메모리가 삽입될 수 있도록 형성된 상기 본체의 삽입홈을 통해 탈착 가능하도록 형성되는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 본체는, 상기 USB 기기가 연결될 때 호스트(host)로 동작하여 USB 기기와의 직렬 인터페이스 연결 및 데이터 전달을 수행하는 제1 USB 컨트롤러와, 상기 보안 스틱이 전자기기에 연결될 때, 슬레이브(slave)로 동작하여 상기 전자기기와의 직렬 인터페이스 연결 및 데이터 전달을 수행하는 제2 USB 컨트롤러 및, 상기 제1, 제2 USB 컨트롤러 사이에서 USB 기기를 식별하여 마우스 또는 키보드외의 USB 기기를 필터링하고 상기 제1, 제2 USB 컨트롤러 간의 논리적 엔드 포인트를 구성하는 필터링부를 포함하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 전자기기는, 상기 보안 스틱의 연결 이벤트에 인터럽트되는 칩 운영체계만 내장하고, 상기 USB 기기의 연결 이벤트에 인터럽트되는 칩 운영체계는 내장하지 않는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 보안 스틱은, USB 기기의 연결 이벤트에 의해 인터럽트되어 실행되는 칩 운영 체계를 확인하고, 기저장된 인터럽트 번호를 근거로 현재 발생된 인터럽트의 종류를 인식하여 현재 삽입된 USB 기기의 타입을 판단하며, 판단된 USB 기기의 종류에 따라 상기 입력 데이터를 구분하여 저장하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 적어도 하나의 USB 기기는, 수신기를 통해 연결되는 무선 통신 방식을 통해 상기 전자기기에 연결되는 무선 USB 기기이며, 상기 보안 스틱은, 상기 수신기와 연결되며, 상기 수신기를 통해 상기 무선 USB 기기와 연결되는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 보안 스틱은, 상기 전자기기에 구비되는 메인보드(mainboard)와 일체형으로 형성되는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 USB 리셉터클과 상기 본체는, 상기 메인보드의 USB 포트(port)를 형성하며, 상기 본체의 USB 출력 핀들이 상기 메인보드에 직접 연결되어, 상기 USB 포트에 연결된 USB 기기로부터 수신되는 입력 데이터가, 상기 제2 USB 컨트롤러를 통해 상기 USB 플러그 없이 상기 메인보드로 전달되는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 USB 리셉터클은, 상기 메인보드의 USB 포트(port)를 형성하며, 상기 제1 USB 컨트롤러와 제2 USB 컨트롤러, 및 상기 필터링부는, 상기 USB 포트에 연결되는 메인보드의 일 영역에 형성되는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 USB 리셉터클과 상기 본체는, 상기 메인보드의 USB 포트(port)를 형성하며, 상기 USB 포트는, 상기 메인보드에 형성된 USB 슬롯과 결합 가능하도록, 상기 USB 슬롯에 삽입될 수 있는 복수의 핀들을 포함하는 USB 커넥터를 통해 상기 메인보드와 연결되는 것을 특징으로 한다.
상술한 목적을 달성하기 위한 본 발명의 실시 예에 따른 증적 자료 수집 장치의 제어 방법은, 전자기기의 USB 포트에 보안스틱의 USB 플러그가 연결되는 단계와, 상기 보안스틱의 USB 리셉터클에 USB 기기의 플러그가 연결되는 단계와, 상기 USB 기기 연결 시, 상기 보안스틱에서 상기 USB 기기의 연결 이벤트에 의해 실행되는 칩 운영 체계를 근거로 상기 USB 기기의 종류를 식별하는 단계와, 상기 식별 결과에 따라, 기 설정된 USB 기기에 한하여 논리적 엔드 포인트(endpoint)를 구성하여 상기 USB 기기와 상기 전자기기 사이의 논리적 연결을 형성하는 단계 및, 상기 논리적 연결이 형성되는 경우, 연결된 USB 기기로부터 입력되는 데이터를 저장 및 저장된 USB 데이터를 상기 전자기기로 전달하는 단계를 포함하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 데이터를 저장 및 전달하는 단계는, 상기 논리적 연결이 형성된 시각을 검출하는 단계와, 상기 USB 기기로부터 입력되는 데이터들을 상기 검출된 시각에 따라 그룹화하여 저장하는 단계와, 상기 그룹화된 데이터들로부터 비트열 정보를 추출하는 단계 및, 상기 추출된 비트열 정보가 상기 그룹화된 데이터들에 대응되도록, 상기 비트열 정보를 상기 검출된 시각에 연관하여 저장하는 단계를 포함하며, 상기 비트열 정보는, 상기 USB 기기로부터 입력된 데이터들과 별개로 저장되는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 비트열 정보를 저장하는 단계는, 서로 대응하는 상기 그룹화된 데이터들과 상기 비트열 정보 중 적어도 하나를 암호화하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명에 따른 증적 자료 수집 장치 및 그 장치의 제어 방법에 대해 설명하면 다음과 같다.
본 발명의 실시 예들 중 적어도 하나에 의하면, 본 발명은 USB 입출력 기기와 호스트 기기 사이에서, 상기 USB 입출력 기기로부터 호스트 기기의 조작을 위해 입력되는 데이터를 증적 자료로 저장함으로써, 호스트 기기와 별개로 증적 자료를 수집할 수 있다. 따라서 상기 정보 유출을 위해 시도한 호스트 기기의 조작 이력이, 정보 유출을 시도하는 자가 인지하지 못하는 상태에서 증적 자료로 확보될 수 있다는 효과가 있다.
또한 본 발명의 실시 예들 중 적어도 하나에 의하면, 본 발명은 특정 USB 기기의 연결 이벤트에만 인터럽트(interrupt)되도록 함으로써, 허용되지 않은 종류의 USB 기기의 연결을 차단하여, 별도의 호스트 기기의 프로그램 없이도 USB 메모리 연결에 따른 호스트 기기 내부의 정보 유출을 방지할 수 있다는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 보안 스틱이, USB 기기와 전자기기 사이를 연결하는 도면이다.
도 2는 본 발명의 실시 예에 따른 보안 스틱의 구조를 도시한 블록도이다.
도 3은 본 발명의 실시 예에 따른 보안 스틱에서, 수집된 패킷들로부터 추출된 비트열의 예를 도시한 예시도이다.
도 4a는 통상적인 USB 키보드에서 각 키별로 할당된 스캔 코드의 예를 도시한 예시도이다.
도 4b는 상기 도 3의 비트열의 예로부터, 키보드의 키 입력을 추정한 예를 도시한 예시도이다.
도 5는 본 발명의 실시 예에 따른 증적 자료 수집 장치가 연결된 USB 기기로부터 입력되는 데이터를 전자기기로 전달함과 동시에 상기 입력 데이터를 증적 자료로 수집하는 동작 과정을 도시한 흐름도이다.
도 6은 본 발명의 실시 예에 따른 보안 스틱에서, 수신된 패킷으로부터 비트열을 추출하여 저장하는 동작 과정을 도시한 흐름도이다.
도 7은 본 발명의 실시 예에 따른 보안 스틱의 PCB 기판을 도시한 도면이다.
도 8은 본 발명의 실시 예에 따른 보안 스틱의 PCB 기판에, USB 기기와 연결되는 리셉터클 및 호스트 기기와 연결되는 플러그가 부착된 상태를 나타낸 도면이다.
도 9a와 도 9b는 케이스가 부착된 본 발명의 실시 예에 따른 보안 스틱의 외형을 나타낸 도면이다.
도 9c는 본 발명의 실시 예에 따른 보안 스틱에 보조 메모리가 탈착되는 예를 도시한 도면이다.
도 10a와 도 10b는 본 발명의 실시 예에 따른 보안 스틱이 컴퓨터의 USB 단자와 연결되어 상기 컴퓨터와 일체형으로 구성되는 예를 도시한 예시도이다.
도 11은 본 발명의 실시 예에 따른 증적 자료 수집 장치가, 메인보드와 일체형으로 형성되는 예를 도시한 예시도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 동일하거나 유사한 구성요소에는 동일한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 그리고 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
먼저 본 발명의 실시 예에 따른 증적 자료 수집 장치는, 전자기기와 USB 기기 사이에 배치되는 보안 스틱(security stick)(100)을 구비할 수 있으며, 상기 보안 스틱(100)은 상기 전자기기와 USB 기기 사이를 연결하며, 상기 USB 기기로부터 입력되는 입력 데이터를 상기 전자기기로 전달할 수 있도록 형성될 수 있다.
여기서 전자기기는, USB 기기와 연결되는 호스트 기기로서, 네트워크에 연결 가능한 고정 단말기와 이동 단말기를 포함할 수 있다. 상기 고정 단말기는 개인용 컴퓨터(PC) 및 랩톱 컴퓨터를 포함할 수 있으며, 상기 이동 단말기는 스마트폰, 노트북, 셋톱박스 및 맥 북을 포함할 수 있다. 또한 상기 전자기기는 로컬망인 사내 인트라넷 및 인터넷망에 연결되는 기기이거나, 랜(LAN)망을 통해 적어도 하나 이상의 서버에 연결되는 기기일 수 있다.
상기 보안 스틱(100)은, 상기 전자기기에서 사용 가능한 복수의 USB 기기 중에서 특정 USB 기기만 선택적으로 식별하여 사용할 수 있도록 제어(필터링)함으로써, 상기 전자기기 내부의 정보 유출을 방지하고 IT 자산을 보호할 수 있도록, 전자기기에서 사용 가능한 복수의 USB 기기 중에서 특정 USB기기만 선택적으로 식별하여 사용할 수 있도록 제어(필터링)할 수 있다. 여기서 상기 복수의 USB기기는 USB 메모리, 키보드, 마우스 및 USB 용 프린터를 포함할 수 있으며, 상기 특정 USB기기는 키보드 및 마우스를 포함할 수 있다.
이를 위해 상기 보안 스틱(100)은 특정 USB 기기의 연결 이벤트에만 인터럽트(interrupt)되는 칩 운영 체계(e,g.,예제 프로그램)를 내장하여 다른 USB기기가 전자기기에 연결되는 것을 차단할 수 있다. 이에 반해 상기 전자기기(300)는 상기 보안 스틱(100)의 연결 이벤트에 인터럽트되는 칩 운영체계만 내장하고, USB 기기의 연결 이벤트에 인터럽트되는 칩 운영 체계는 내장하지 않을 수 있다.
도 1은 이러한 본 발명의 실시 예에 따른 보안 스틱(100)이, USB 기기(200)와 전자기기(300) 사이에 배치되어, 상기 USB 기기(200)가 상기 보안 스틱(100)을 통해 전자기기(300)에 연결되는 구조를 도시한 도면이다. 그리고 도 2는 본 발명의 실시 예에 따른 보안 스틱(100)의 구조를 도시한 블록도이다.
먼저 도 1을 참조하여 살펴보면, 본 발명의 실시 예에 따른 보안 스틱(100)은, 통상적으로 전자기기(300)와 주변 기기가 연결될 수 있도록 형성된 인터페이스를 통해 연결될 수 있도록 형성될 수 있다. 일 예로 상기 보안 스틱(100)은 전자기기(300)의 USB 인터페이스를 통해 상기 전자기기(300)에 연결될 수 있도록, 전자기기(300)의 USB 포트(port)에 삽입될 수 있는 USB 플러그(plug)를 포함할 수 있다. 또한 상기 USB 기기와 USB 인터페이스를 통해 연결될 수 있도록, 상기 USB 기기의 USB 플러그가 삽입될 수 있는 적어도 하나의 USB 리셉터클(receptacle)을 포함할 수 있다.
여기서 상기 보안 스틱(100)은 하나 이상의 USB 리셉터클을 통해 하나 이상의 USB 기기(200)에 연결되도록 형성될 수 있다. 그리고 USB 플러그를 통해 전자기기(300)에 연결되어, 연결된 복수의 USB 기기와 상기 전자기기(300) 사이를 연결할 수 있다. 이 경우 보안 스틱(100)은 연결된 USB 기기 중에서 키보드 및 마우스와 같은 특정 USB 기기에 대해서만 전자기기(300)에 파이프(pipe) 방식으로 연결할 수 있다.
한편 보안 스틱(100)은 USB 통신 규격에 따라 전자기기(300)와 연결되도록 형성될 수 있다. 따라서 보안 스틱(100)은 USB v2.0 및 v3.0을 지원할 수 있으며, High, Full 및 Low 전송 속도(모드)를 지원할 수 있다. 이러한 보안 스틱(100)의 지원 규격은 현재 지원되는 USB 프로토콜에 따른 것으로, 본 발명이 이에 한정되는 것이 아님은 물론이며, USB 프로토콜의 변화에 따라 얼마든지 변경될 수 있다.
한편 상기 보안 스틱(100)은 칩의 애플리케이션(application)인 반도체 회로 구성에 필요한 정보와 함께 특정 USB 기기를 위한 임베디드 OS(Embedded OS) 즉 칩 운영 체계(Chip Operation System :COS)인 예제 프로그램을 선택적으로 저장할 수 있다.
일 실시 예로, 본 발명에 따른 전자기기(300)에는 USB 기기의 연결 이벤트에 인터럽트되는 칩 운영 체계가 내장되지 않을 수 있다. 반면, 보안 스틱(100)에는 특정 USB 기기, 예를 들면 마우스와 키보드 중 적어도 하나의 예제 프로그램(COS)만 제공하고 USB 메모리(또는 USB용 프린터)를 위한 예제 프로그램은 제공하지 않을 수 있다. 이 경우 보안 스틱(100)의 칩에는 USB 메모리를 위한 예제 프로그램은 구현되지 않기 때문에, 파이프 방식에 의거, 상기 USB 메모리로부터의 입력(또는 데이터)이 보안 스틱(100)을 통해 전자기기(300)로 전달되지 않는다. 따라서 USB 메모리 및 프린터는 전자기기(300)에서 사용할 수 없게 된다.
상기 보안 스틱(100)은 파이프 방식으로 키보드 및 마우스와 같은 USB 기기(200)와 전자기기(300)를 연결하며, 전자기기(300)의 입력방식과 동일한 인터럽트 방식으로 마우스 및 키보드의 입력을 관리한다. 여기서 파이프 방식이란 한쪽에서 데이터가 들어가고 다른 한쪽에서는 들어간 데이터가 흘러나오는 소프트웨어의 방식을 의미한다.
이와 같이, 본 발명은 전자기기(300)에는 보안 스틱(100)의 연결 이벤트에 트리거되는 프로그램만 구비하고, 보안 스틱(100)에는 키보드 및 마우스의 연결 이벤트에 트리거되는 프로그램을 구비하여, 전자기기(300)는 보안 스틱(100)의 연결만을 식별하고, 보안 스틱(100)는 키보드 및 마우스의 연결만을 식별하도록 한다. 즉, 종래에는 전자기기(300)에 USB 기기의 연결 이벤트에 의해 트리거되는 모든 예제 프로그램(자동 실행 기능)을 구현하였지만, 본 발명은 전자기기(300)에 USB 기기의 연결 이벤트에 의해 트리거되는 그 어떠한 예제 프로그램(자동실행기능)도 구현하지 않고, 오직 보안 스틱(100)의 연결 이벤트에 의해 트리거되는 예제 프로그램만 구현될 수 있다.
따라서 USB 메모리가 보안 스틱(100)을 통해 전자기기(300)에 연결된다 하더라도 전자기기(300)는 보안 스틱(100)만 식별할 뿐 USB 메모리를 전혀 인식하지 못할 수 있다. 따라서 종래처럼 USB 메모리를 전자기기(300)에 연결하자마자 자동으로 전자기기(300)의 커맨드 프롬프트나 터미널을 실행시켜 악성코드를 감염시키거나 USB 메모리를 이용한 정보 유출을 원천적으로 차단할 수 있다.
도 2는 본 발명의 실시 예에 따른 보안 스틱(100)의 세부 구성도이다. 이하 설명의 편의를 위하여 전자기기(300)는 컴퓨터를 예로 들어 설명하기로 한다.
도 2를 참조하면, 본 발명의 실시 예에 따른 보안 스틱(100)은 2개의 USB 컨트롤러(10, 12)와 필터링부(11)를 포함할 수 있다. 그 중에서 제1 USB 컨트롤러(10)는 USB 기기(200)가 연결될 때 호스트(host)로 동작하여 USB 기기(200)와의 직렬 인터페이스 연결 및 데이터 전달을 수행할 수 있다. 그리고 제2 USB 컨트롤러(12)는 보안 스틱(100)이 컴퓨터(300)에 연결될 때 슬레이브(slave)로 동작하여 컴퓨터(300)와의 직렬 인터페이스 연결 및 데이터 전달을 수행한다.
상기 필터링부(11)는 칩의 반도체 회로 구성에 필요한 정보를 저장하는 어플리케이션과, 보안 스틱(100)의 펌웨어 즉, 칩 운영 체계(Chip Operation System :COS)인 예제 프로그램을 저장하는 ROM과, 스택과 힙을 저장하는 RAM, 그리고 논리적 인터페이스를 구성하는 드라이버와, 마우스 및 키보드가 보안 스틱(100)에 연결될 때 인터럽트되어 드라이버를 통해 상기 어플리케이션의 정보 및 ROM에 저장된 예제 프로그램을 구동하여 논리적 엔드 포인트(endpoint)를 구성하는 CPU를 포함할 수 있다.
따라서 상기 필터링부(11)는 보안 스틱(100)에 연결된 USB기기(200)를 식별하여 키보드 또는 마우스 일 때만 상기 마우스 및 키보드로부터의 입력(또는 데이터)을 컴퓨터(300)로 전달하여 논리적 엔드 포인트를 구성할 수 있다. 즉, 필터링부(11)는 마우스 및 키보드가 보안 스틱(100)에 연결될 때 인터럽트되어 예제 프로그램을 구동한 후 파이프 방식에 따라 제1 USB 컨트롤러(10)를 통해 입력된 마우스 및 키보드의 데이터를 제2 USB 컨트롤러(12)를 통해 컴퓨터(300)로 전달하는 논리적 엔드 포인트를 구성한다.
한편 상기 CPU는 논리적 엔드 포인트가 구성되는 경우, 상기 제1 USB 컨트롤러(10)를 통해 입력된 마우스 및 키보드의 데이터를 증적 자료로 저장할 수 있다. 여기서 증적 자료로 저장되는 마우스 및 키보드의 데이터는 키보드 및 마우스로부터 입력되는 패킷(Packet) 데이터일 수 있다. 이 경우 CPU는 패킷들을 수신된 순서에 따라 순차적으로 저장할 수 있다.
또한 CPU는 수신된 적어도 하나의 패킷으로부터 추출된 데이터들을 더 저장할 수도 있다. 예를 들어 CPU는 USB 프로토콜에 따라 수신된 데이터 패킷들로부터 실제 컴퓨터(300)에 전달되는 데이터들, 즉 페이로드(payload)에 해당하는 데이터들을 추출하고 추출된 데이터들의 비트열을 저장할 수 있다. 이 경우 저장되는 비트열은 키보드로부터 입력되는 패킷들로부터 추출된 스캔 코드들에 대응하는 비트열일거나, 또는 마우스로부터 입력되는 포인터의 이동 방향 및 거리값, 그리고 휠 및 마우스 버튼의 입력값에 대응하는 비트열일 수 있다.
여기서 상기 비트열들은, 상기 수신된 패킷들과 별개로 저장될 수 있다. 즉, CPU는 수신되는 패킷들과 별개로, 상기 수신된 패킷들로부터 비트열들을 추출하여 저장할 수 있으며, CPU는 비트열이 저장될 때에, 상기 비트열을 추출한 패킷들, 즉 연관된 패킷들의 정보를 함께 저장함으로써, 저장된 비트열과 패킷들의 관계를 명시할 수 있다.
여기서 상기 연관된 패킷들의 정보는 상기 패킷들이 저장된 시각 정보일 수 있다. 즉, CPU는 연결된 키보드 및 마우스로부터 패킷들이 수신될 때에 시각을 검출하고 검출된 시각에 따라 패킷들을 저장하고 상기 추출된 비트열을 저장함으로써 상기 저장된 비트열과 저장된 패킷들의 관계를 명시할 수 있다. 이를 위해 상기 필터링부(11)는 현재 시각을 계측하기 위한 디지털 클락(digital clock)(도시되지 않음)을 더 포함할 수 있으며, 상기 디지털 클락은 CPU의 클럭으로부터 시간을 계측하도록 형성된 것일 수 있다. 한편 필터링부(11)는 지속적인 시각 정보 계측을 위한 전원을 공급하는 배터리를 더 포함할 수 있으며, 상기 배터리는 보안 스틱(100)이 컴퓨터(300)에 연결될 때에 상기 컴퓨터(300)로부터 입력되는 전원으로 충전이 가능하도록 형성될 수 있다. 한편 상기 시각 정보는 상기 디지털 클락으로부터 검출되는 실제 시각에 대한 정보를 의미하거나, 또는 저장되는 패킷들이 수집된 시간을 유추할 수 있는 정보를 의미할 수 있다. 일 예로 상기 시각 정보는 그룹화된 패킷들이 저장된 시간적 순서를 나타내는 정보를 의미할 수도 있다.
한편 CPU는 상기 그룹화되어 저장된 패킷들 각각의 페이로드로부터 비트열을 추출하고 추출된 비트열들을 상기 패킷들이 수신된 순서에 따라 순차적으로 배열할 수 있다. 그리고 순차적으로 배열된 비트열들을, 해당 비트열을 추출한 패킷 그룹에 대응하는 비트열(이하 비트열 정보)로 더 저장할 수 있다.
도 3은 이러한 본 발명의 실시 예에 따른 보안 스틱(100)에서, 수집된 패킷들로부터 추출된 비트열, 즉 비트열 정보의 예를 도시한 예시도이다.
본 발명의 실시 예에 따른 보안 스틱(100)이 저장한 비트열 정보는, 상기 비트열 정보를 추출한 패킷 그룹에 대응하도록 저장될 수 있다. 따라서 상기 비트열 정보를 추출한 패킷 그룹의 명칭과 동일한 이름으로 저장될 수 있으며, 이는 상기 패킷 그룹이 저장된 시각을 나타낼 수 있다.
이 경우 도 3을 참조하여 살펴보면, 비트열 정보는 '20201020140522'라는 이름으로 저장된 상태임을 알 수 있다. 여기서 앞 4자리, 즉 '2020'은 연도를, 다음 4자리는 '1020'은 날짜를, 그리고 다음 6자리 '140522'는 저장 시각을 의미하는 것일 수 있다. 즉, 도 3에서 도시된 비트열 정보는 2020년 10월 20일 14시 05분 22초를 기점으로 기 설정된 단위 시간동안 제1 USB 컨트롤러(10)로부터 수신된 패킷들로부터 추출된 비트열 정보임을 나타낼 수 있다. 상기 도 3에서 도시된 비트열 정보의 저장 명칭에 포함된 시각 정보는 본 발명의 실시 예에 따른 일 예일 뿐, 본 발명이 이에 한정되는 것이 아님은 물론이다.
한편 이와 같은 비트열은 전자기기(300)의 작업 내역을 나타내는 증적 자료로 사용될 수 있다. 일 예로 수집된 패킷들의 비트열이 상기 도 3에서 보이고 있는 바와 같고, 현재 연결된 USB 기기(200)가 키보드인 경우라면, 상기 수집된 비트열은 키보드로부터 입력되는 스캔 코드들의 집합일 수 있다. 한편 키보드의 경우 도 4a에서 보이고 있는 바와 같이 각각의 키마다 할당된 스캔 코드가 서로 다르므로, 컴퓨터(300)로 입력된 스캔 코드들을 알 수 있다면, 연결된 USB 키보드를 통해 컴퓨터(300)에 입력된 명령들을 검출할 수 있으며 검출된 명령들을 통해 상기 컴퓨터(300)의 구체적인 작업 내용을 판별할 수 있다.
일 예로, 도 3에서 보인 비트열의 경우, 하나의 패킷으로부터 추출되는 비트열은 비트열의 시작을 알리는 스타트 비트(bit), 스캔 코드를 포함하는 데이터 비트, 패리티(parity) 비트, 비트열의 끝을 알리는 스톱 비트 섹션으로 이루어지는 11개의 비트로 구성될 수 있다. 이 경우 스타트 비트는 0, 스톱 비트는 1의 값을 가질 수 있으며, 패리티 비트는 데이터 비트 중 1의 개수가 짝수일 때에 0, 홀수일 때에 1의 값을 가질 수 있다.
한편 키보드로부터 입력된 비트열은 16진수로서, 키가 입력될 때 발생되는 메이크(make) 코드, 키의 눌림이 해제될 때 발생하는 브레이크(break) 코드가 하나의 키 입력을 구성할 수 있다. 이 경우 브레이크 코드는 특수키가 아닌 일반 키의 경우, 메이크 코드에 F0의 값을 더 가지는 형태로 나타날 수 있다. 이를 참조하여 상기 도 3에서 나타낸 비트열들에 대응하는 스캔 코드들에 따라 컴퓨터(300)에 입력된 키들을 살펴보면, 도 4b에서 보이고 있는 바와 같이 'a(1C)', '@ (shift(12)+2(1E))', 'a(1C)', '.(49)', 'c(21)', 'o(44)', 'm(3A)'임을 알 수 있다.
이에 따라 상기 도 3에서 보이고 있는 비트열 정보는 2020년 10월 20일 14시 05분 22초로부터 기 설정된 단위 시간(예를 들어 10초) 동안, 키보드를 통해 'a@a.com'이라는 문자열이 컴퓨터(300)로 입력되었음을 나타낼 수 있다. 이 경우 상기 비트열은 키보드의 사용자가 'a@a.com'이라는 인터넷 주소로 접속을 시도한 증적 자료가 될 수 있다. 즉, 상기 추출된 비트열은 키보드를 통한 컴퓨터(300)의 조작에 대한 증적 자료 및 컴퓨터(300)가 수행한 작업에 대한 증적 자료로 활용될 수 있다.
한편 상기 그룹화된 패킷들과 상기 비트열 정보는 동일한 그룹명, 즉 패킷들이 수신된 시각에 대응하는 별개의 정보로서 각각 저장될 수 있다. 이 경우 CPU는 비트열 정보와 그룹화된 패킷들 중 적어도 하나를 암호화하여 저장할 수 있으며, 암호화된 정보는 그렇지 않은 정보의 무결성을 입증하는 입증 자료로 사용될 수 있다.
한편, 본 발명의 실시 예에 따른 증적 자료 수집 장치의 보안 스틱(100)은, 상기 비트열 정보와 그룹화된 패킷들을 메모리의 서로 다른 영역에 저장할 수 있다. 이 경우 상기 메모리의 서로 다른 영역은 서로 간에 구분되는 별개의 영역으로서, 상호 독립적인 영역일 수 있다.
일 예로 본 발명의 실시 예에 따른 증적 자료 수집 장치의 보안 스틱(100)은 보조 메모리(Secondary Memory)를 포함할 수 있다. 이 경우 상기 필터링부(11)의 메모리는 상기 RAM과 ROM을 포함하는 주 메모리(Main memory)와 상기 보조 메모리로 구분될 수 있다. 그리고 상기 비트열 정보와 그룹화된 패킷 중 적어도 하나는 상기 주 메모리에 저장되고, 다른 하나는 상기 보조 메모리에 저장될 수 있다. 또한 상기 보조 메모리는 상기 보안 스틱(100)으로부터 탈착 가능하도록 형성될 수 있다.
한편 CPU는 연결된 키보드 및 마우스로부터 패킷들이 수신되는 경우, 기 설정된 단위 시간마다 수신되는 패킷들을 그룹핑하여 저장할 수 있다. 일 예로 상기 기 설정된 단위 시간이 10초인 경우, CPU는 패킷들의 수신이 시작된 시각을 시작 시각으로 이후 10초 동안 수신된 패킷들을 그룹화하여 저장할 수 있으며, 상기 그룹화된 패킷들에 대응하는 시각 정보가 그룹명으로 설정될 수 있다.
그리고 기 설정된 단위 시간이 경과하는 경우, CPU는 시각 정보를 다시 검출하고 다시 상기 단위 시간동안 수신되는 패킷들을 하나의 그룹으로 그룹화할 수 있다. 그리고 검출된 시각 정보에 연관하여 저장할 수 있다. 일 예로 상기 단위 시간이 10초인 경우, 상기 CPU는 도 3의 비트열 정보로부터 10초가 경과될 때(즉 2020년 10월 20일 14시 05분 32초) 다시 시각 정보를 검출할 수 있으며, 검출된 시각 정보(예를 들어 '20201020140532')를 포함하는 이름으로 상기 단위 시간 동안 수신된 패킷들을 그룹화 및 저장할 수 있다. 또한 그룹화된 패킷들로부터 비트열 정보를 추출하고 추출된 비트열 정보를, 상기 검출된 시각 정보를 포함하는 이름으로 저장할 수 있다.
도 5는 이러한 본 발명의 실시 예에 따른 증적 자료 수집 장치가 연결된 USB 기기로부터 입력되는 데이터를 전자기기로 전달함과 동시에 상기 입력 데이터를 증적 자료로 수집하는 동작 과정을 도시한 흐름도이다.
도 5를 참조하여 살펴보면, 보안 스틱(100)의 USB 플러그가 컴퓨터(300)의 USB 포트에 삽입되면, 컴퓨터(300)는 인터럽트 방식(또는 트리거 방식)에 의거하여 보안 스틱(100)이 연결되었음을 백그라운드로 감지할 수 있다. 그리고 보안 스틱(100)의 USB 리셉터클에 USB 기기(200)의 플러그가 삽입되면 필터링부(11)는 USB 기기(200)의 연결을 감지할 수 있다(S300).
그러면 필터링부(11)가 현재 연결된 USB 기기(200)의 타입을 판별할 수 있다(S302). 상기 USB 기기(200)의 타입은 USB 기기(200)가 연결되는 이벤트에 의해 인터럽트되어 예제 프로그램이 동작되는지 아닌지에 근거하여 결정할 수 있다. 예를 들면 USB 기기(200) 연결 이벤트에 의해 예제 프로그램이 구동되면 필터링부(11)는 현재 USB 리셉터클에 마우스 및 키보드가 연결되었음을 인식할 수 있고, 상기 예제 프로그램이 구동되지 않으면 마우스 및 키보드 이외의 USB 기기, 예를 들면 USB 메모리 등이 연결되었음을 인식할 수 있다.
한편 S302 단계의 판별 결과, 보안 스틱(100)의 USB 리셉터클에 마우스 및 키보드가 연결되었음이 인지되지 않는 경우라면, 필터링부(11)는 도 3의 과정을 종료할 수 있다. 따라서 마우스 및 키보드 이외의 USB 기기가 연결되는 경우, 컴퓨터(300)와의 연결이 차단될 수 있다.
반면 S302 단계의 판별 결과, 보안 스틱(100)의 USB 리셉터클에 마우스 및 키보드가 연결되었음이 인지되면, 필터링부(11)는 저장된 인터럽트 번호를 참조하여 상기 발생된 인터럽트의 종류를 인식함으로써 마우스 또는 키보드를 확인할 수 있다. 그리고 필터링부(11)는 파이프 방식으로 제1, 제2 USB 컨트롤러(10, 12)간 연결을 제어하여 논리적 엔드 포인트를 형성한다. 즉, 제1 USB 컨트롤러(10)는 USB 기기(200)의 호스트(host)로 동작하여, USB 기기(200)와의 직렬 인터페이스 연결을 수행하고, 제2 USB 컨트롤러(12)는 컴퓨터(300)의 슬레이브로 동작하여 컴퓨터(300)와의 직렬 인터페이스 연결을 수행할 수 있다.
한편 상기 보안 스틱(100)을 경유하여 USB 기기(200)와 컴퓨터(300)가 연결되는 경우, 보안 스틱(100)은 상기 USB 기기(200), 즉 마우스 및 키보드로부터 입력되는 데이터를 수신할 수 있다. 그리고 수신된 데이터를 저장할 수 있다(S304). 그리고 저장된 마우스 및 키보드의 입력 데이터를 호스트 기기, 즉 컴퓨터(300)에 전달할 수 있다(S306).
즉 본 발명의 실시 예에 따르면, 키보드 및 마우스의 입력 데이터가 보안 스틱(100)에 저장되고, 저장된 입력 데이터가 상기 컴퓨터(300)로 입력될 수 있다. 따라서 컴퓨터(300)를 조작하기 위해 입력되는 모든 키보드 및 마우스의 입력 데이터가 보안 스틱(100)에 저장될 수 있다.
더욱이 본 발명의 실시 예에 따른 보안 스틱(100)은 컴퓨터(300)에 대해 슬레이브로 동작함으로써 상기 컴퓨터(300)와 별개로 구동될 수 있다. 즉, 상기 보안 스틱(100)에서 키보드 및 마우스 입력 데이터의 저장은 컴퓨터(300)의 구동과 별개로 이루어지며, 단방향 전송 방식과 유사하게 키보드 및 마우스의 입력 데이터들이 컴퓨터(300)로만 전달될 수 있을 뿐, 반대 방향으로 데이터가 전송되지 않을 수 있다. 따라서 보안 스틱(100)이 저장한 입력 데이터들, 즉 수집된 증적 자료와 관련된 정보들이 컴퓨터(300)로 전달되지 않을 수 있다. 따라서 마우스 및 키보드를 사용하여 정보 유출을 시도하는 자(정보 유출자)가 있는 경우, 상기 정보 유출자가 인지하지 못하는 상태에서 상기 정보 유출자가 입력한 마우스 및 키보드의 입력 데이터가 증적 자료로 수집될 수 있다.
한편 상기 S306 단계를 통해 보안 스틱(100)에 저장된 마우스 및 키보드의 입력 데이터가 컴퓨터(300)로 전달되면, 필터링부(11)는 USB 기기(200)와의 연결이 해지되었는지 여부를 검출할 수 있다(S308). 그리고 USB 기기(200)와의 연결이 해지되지 않은 경우라면 다시 S304 단계로 진행하여, 상기 S304 단계 내지 S306 단계에 이르는 과정을 반복수행한다. 그러나 USB 기기(200)와의 연결이 해지된 경우라면, 도 3의 과정을 종료할 수 있다. 그리고 새로운 USB 기기가 연결되면 상기 도 3의 과정을 다시 시작할 수 있다.
한편 상술한 설명에 따르면, 본 발명의 실시 예에 따른 보안 스틱(100)은 연결된 마우스 및 키보드로부터 수신된 입력 데이터를 패킷 상태 그대로 저장할 수 있을 뿐만 아니라, 상기 수신된 패킷으로부터 실제 전달되는 데이터에 해당하는 페이로드(비트열)를 추출하여 더 저장할 수 있음을 언급한 바 있다.
도 6은 이처럼 본 발명의 실시 예에 따른 보안 스틱(100)에서, 수신된 패킷으로부터 비트열을 더 추출하여 저장하는 동작 과정을 도시한 흐름도이다. 이하의 설명에서, 마우스 및 키보드는 본 발명의 실시 예에 따른 보안 스틱(100)과 USB 방식으로 연결되는 것으로, 상기 마우스 및 키보드를 통해 입력되는 데이터는 USB 프로토콜에 따른 패킷 데이터일 수 있다. 따라서 이하의 패킷은 상기 USB 프로토콜에 따른 패킷 데이터임을 가정하기로 한다.
도 6을 참조하여 살펴보면, 상기 보안 스틱(100)은, 상기 도 3의 S302 단계를 통해, 제1, 제2 USB 컨트롤러(10, 12)간 연결을 제어하여 논리적 엔드 포인트를 형성할 수 있다. 따라서 제1 USB 컨트롤러(10)가 USB 기기(200)와의 직렬 인터페이스 연결을 형성 및, 제2 USB 컨트롤러(12)가 컴퓨터(300)와 직렬 인터페이스 연결을 형성하면, 연결된 USB 기기(200)로부터 입력되는 패킷들을 수신할 수 있다.
여기서 상기 보안 스틱(100)의 필터링부(11)는, 상기 USB 기기(200)로부터 패킷들이 입력되는 시각을 수신 시작 시각으로 검출할 수 있다(S600). 그리고 수신된 패킷들을 검출된 수신 시작 시각과 연관하여 저장할 수 있다(S602). 이 경우 필터링부(11)는, 논리적 엔드 포인트 형성을 통해 USB 기기(200)와 전자기기(300) 사이의 논리적 연결이 형성된 시각을 패킷들이 수신이 시작된 시각으로 검출할 수 있다.
그리고 필터링부(11)는, 상기 수신 시작 시각으로부터 기 설정된 단위 시간동안 수신된 패킷들을 그룹화할 수 있다. 그리고 그룹화된 패킷들을 상기 수신 시작 시각을 포함하는 명칭으로 저장할 수 있다. 이 경우 상기 기 설정된 단위 시간이 만기되면 필터링부(11)는 상기 S600 단계 내지 S602 단계를 다시 수행할 수 있으며, 이 경우 상기 S600 단계에서 검출되는 수신 시작 시각은, 이전에 검출된 수신 시작 시각으로부터 기 설정된 단위 시간이 경과한 시점의 시각일 수 있다. 한편 상기 S600 단계 내지 S602 단계는 상기 기 설정된 단위 시간마다 반복적으로 수행될 수 있으며, 단계들이 반복 수행될 때마다 패킷들이 그룹화되어 저장될 수 있다.
한편 그룹화된 패킷들이 저장되면, 필터링부(11)는 저장된 각 그룹의 패킷들 중, 데이터 패킷에 해당하는 패킷들을 검출할 수 있다(S604). 이를 위해 필터링부(11)는 저장된 패킷들의 패킷 ID에 근거하여 데이터 패킷에 해당하는 패킷들을 검출할 수 있다. 여기서 필터링부(11)는 복수의 그룹화된 패킷들이 저장된 상태인 경우, 각 그룹별로 데이터 패킷들을 검출할 수 있다.
한편 상기 S604 단계에서 데이터 패킷들이 추출되는 경우, 필터링부(11)는 추출된 데이터 패킷들을 패킷들이 수신된 순서에 따라 정렬할 수 있다(S606). 그리고 정렬된 데이터 패킷들 각각으로부터 페이로드에 대응하는 비트열을 추출할 수 있다(S608). 그리고 추출된 비트열들을 상기 데이터 패킷들이 정렬된 순서에 따라 순차적으로 배열하고, 비트열들이 순차적으로 배열된 정보를 해당 그룹의 패킷 데이터들에 대한 비트열 정보로 저장할 수 있다(S610).
따라서 하나의 그룹으로 그룹핑된 패킷들의 데이터 패킷들로부터 추출된 비트열들은, 하나의 비트열 정보로 저장될 수 있다. 이 경우 비트열 정보는 그룹화된 패킷들의 그룹명, 즉 패킷들의 수신이 시작된 시각의 정보가 명칭으로 포함되도록 저장될 수 있다(S610). 따라서 패킷 상태로 저장된 키보드 또는 마우스의 입력 데이터들과 해당 입력 데이터로부터 추출된 비트열들이, 상기 입력 데이터들의 수신이 시작된 시각에 따라 서로 연관될 수 있다.
한편 상기 S610 단계는 추출된 비트열 정보 또는 그룹화된 패킷들 중 적어도 하나를 기 설정된 암호화 방식에 따라 암호화하는 단계를 더 포함할 수 있다. 이 경우 보다 바람직하게는 상기 그룹화된 패킷들이 암호화될 수 있으며, 암호화된 패킷들은 상기 S610 단계에서 저장된 비트열 정보에 대한 무결성 입증 자료로서 활용될 수 있다.
한편 상술한 도 6의 과정들 중 S604 단계 내지 S610 단계는, 수신된 패킷들이 저장되는 것과 동시에, 저장되는 패킷들에 대해 실시간으로 이루어지는 과정일 수 있으나, 기 저장된 패킷들에 대해 수행되는 과정일 수도 있다.
즉, 상기 필터링부(11)는, 먼저 연결된 USB 기기들로부터 입력되는 데이터들을 저장하는 S600 단계 내지 S602 단계에 이르는 과정만을 수행할 수 있다. 그리고 연결된 USB 기기들이 유휴 상태인 경우, 즉 연결된 USB 기기들의 패킷들이 일정 시간 이상 수신되지 않는 경우, 기 저장된 패킷들에 대하여 상기 도 6의 과정들 중 S604 단계 내지 S610 단계를 수행할 수도 있음은 물론이다.
한편 도 7은 이러한 본 발명의 실시 예에 따른 보안 스틱(100)의 PCB 기판을 도시한 도면이다. 그리고 도 8은 본 발명의 실시 예에 따른 보안 스틱(100)의 PCB 기판에, USB 기기와 연결되는 리셉터클 및, 호스트 기기, 즉 컴퓨터(300)와 연결되는 플러그가 부착된 상태를 나타낸 도면이다.
도 7 및 도 8을 참조하면, 본 발명의 실시 예에 따른 보안 스틱(100)은 바디(body, 본체)를 형성하는 PCB 기판(101)을 중심으로 좌측 단부에는 USB 기기(200)의 플러그가 삽입될 수 있는 USB 리셉터클(102)이 구비되고, 우측 단부에는 컴퓨터(300)의 USB 포트(미도시)에 삽입될 수 있는 USB 플러그(103)가 구비될 수 있다.
따라서 USB 플러그(103)가 컴퓨터(300)의 USB 포트에 삽입되면 컴퓨터(300)는 인터럽트 방식에 의거하여 보안 스틱(100)이 연결되었음을 감지할 수 있다. 이후 보안 스틱(100)의 USB 리셉터클(102)에 USB 기기(200)의 플러그가 삽입되면, 보안 스틱(100)의 CPU는 USB 기기(200)의 타입을 식별하고, 상기 식별된 USB 기기(200)의 타입에 따라 선택적으로 논리적 엔드 포인트를 구성할 수 있다.
한편 상기 보안 스틱(100)은 하나 이상의 USB 리셉터클(102)(멀티 리셉터클)을 포함할 수 있다. 이 경우 하나 이상의 USB 리셉터클(102)이 측면에 더 구비될 수 있다.
상기 USB 기기(200)의 타입은 인터럽트 방식에 의해 예제 프로그램이 동작되는지 아닌지에 근거하여 결정할 수 있다. 예를 들면 마우스 및 키보드가 보안 스틱(100)에 연결될 때는 인터럽트가 발생되어 예제 프로그램이 구동되기 때문에, 보안 스틱(100)의 CPU는 ROM에 저장된 인터럽트 번호를 참조하여 상기 발생된 인터럽트의 종류를 인식함으로써 마우스 및 키보드를 확인할 수 있다.
한편 도 9a와 도 9b는 케이스가 부착된 본 발명의 실시 예에 따른 보안 스틱(100)의 외형을 나타낸 도면이다.
도 9a와 도 9b를 참조하여 살펴보면, 본 발명의 실시 예에 따른 증적 자료 수집 장치의 보안 스틱(100)은 PCB 기판 일 측에 하나의 USB 리셉터클(102)이 구비되고, 상기 PCB 기판의 타측에 하나의 USB 플러그(103)가 구비될 수 있다.
이 경우 USB 리셉터클(102)은 도 9a에 도시된 바와 같이 본체 내부에 형성될 수 있다. 또는 도 9b에 도시된 바와 같이 본체 외부로 돌출되도록 형성될 수 있다.
한편 상술한 설명에 따르면 본 발명의 실시 예에 따른 보안 스틱(100)은 보조 메모리를 더 포함할 수 있으며, 상기 보조 메모리는 상기 보안 스틱(100)에 탈착 가능하도록 형성될 수 있다.
도 9c는 이처럼 보조 메모리가 탈착 가능하도록 형성된 보안 스틱(100)의 예를 도시한 것이다.
도 9c의 도면을 참조하여 살펴보면, 본 발명의 실시 예에 따른 보안 스틱(100)의 케이스는 보조 메모리(105)가 삽입될 수 있는 삽입홈(106)을 포함할 수 있다. 그리고 삽입홈(106)은 PCB 기판(101)과 연결되는 복수의 단자를 포함하며, 상기 복수의 단자는 상기 삽입홈(106)에 삽입되는 보조 메모리(105)의 단자들과 결합되도록 형성될 수 있다.
따라서 도 9c의 도면 하단에 도시된 바와 같이 보조 메모리(105)가 삽입홈(106)에 삽입되는 경우, 보조 메모리(105)는 PCB 기판(101)과 연결될 수 있으며, 필터링부(11)에 구비된 CPU의 제어에 따라, USB 리셉터클(102)로부터 수신되는 데이터, 즉 패킷들 또는 상기 패킷들로부터 추출된 비트열 정보 중 적어도 하나가 상기 보조 메모리(105)에 저장될 수 있다.
한편 본 발명의 실시 예에 따른 보안 스틱(100)은 컴퓨터(300)에 탈착되는 형태뿐만 아니라 컴퓨터(300)와 일체형으로 구성될 수도 있다. 상기 컴퓨터(300)와 일체형으로 내장된다는 의미는 보안 스틱(100)이 컴퓨터(300)의 내부에서 연결되어 밖에서 볼 때 보안 스틱(100)의 USB 리셉터클(102)만 보이는 형태를 말한다. 이러한 구조는 제조 당시 형성되거나, 컴퓨터(300)의 포트가 터치될 때 외부로 슬라이드되는 구조를 채택하여 상기 슬라이드된 포트에 보안 스틱(100)의 USB 플러그(103)를 연결하여 다시 밀어 넣는 형태일 수도 있다.
도 10a 및 도 10b는 이처럼 보안 스틱(100)이 컴퓨터(300)와 일체형으로 구성되는 경우를 나타내는 실시 예이다.
본 발명의 실시 예에 따른 보안 스틱(100)은, 컴퓨터(e.g., PC)(300)가 PCI 슬롯(slot)을 지원하는 경우 도 10a에 도시된 바와 같이 PCI 슬롯에 장착될 수 있다. 상기 PCI 슬롯에 장착된 보안 스틱(100)은 USB 플러그(103)가 컴퓨터(300)의 메인보드에 연결되고, USB 리셉터클(102)은 PCI 슬롯 외부로 노출되도록 형성될 수 있다.
다른 실시예로, 컴퓨터(e.g., PC)(300)가 PCI 슬롯을 지원하지 않는 경우, 본 발명의 실시 예에 따른 보안 스틱(100)은 도 10b에 도시된 바와 같이, 상기 컴퓨터(300)의 일 측면에 장착될 수 있다. 상기 일 측면은 컴퓨터(300)의 전면 및 상면 중 어느 하나일 수 있다. 이처럼 상기 보안 스틱(100)이 컴퓨터(300)의 일 측에 장착되는 경우, 보안 스틱(100)의 USB 플러그(103)는 접속 포트 및 케이블을 통해 컴퓨터(300)의 메인보드에 연결될 수 있으며, USB 리셉터클(102)은 상기 컴퓨터(300)의 일 측면에서 외부로 노출되도록 형성될 수 있다.
도 11은 본 발명의 실시 예에 따른 증적 자료 수집 장치가, 전자기기(300)에 구비되는 메인보드(mainboard)(1290)와 일체형으로 형성되는 예를 도시한 예시도이다.
도 11을 참조하여 살펴보면, 본 발명의 실시 예에 따른 증적 자료 수집 장치는 컴퓨터에 장착되는 메인보드(1290)에서 외부 USB 기기의 USB 플러그들과 연결될 수 있도록 형성되는 USB 포트(1200)로 형성될 수 있다. 이 경우 본 발명의 실시 예에 따른 보안 스틱(100)에서, USB 리셉터클(102)과 PCB 기판(101)에 대응하는 바디부(1210)가 상기 메인보드(1290)의 USB 포트(1200)를 형성할 수 있다. 그리고 상기 PCB 기판(101)의 USB 출력 핀(V Bus, D+, D-, GND)들이 USB 플러그(103) 없이 메인보드(1290)에 직접 연결될 수 있으며, USB 포트(1200)를 통해 연결된 USB 기기로부터 입력되는 데이터를 메인보드(1290)로 전달하도록 형성될 수 있다. 이 경우 상기 PCB 기판(101)의 제2 USB 컨트롤러(12)가 메인보드(1290)에 직접 연결될 수 있다.
여기서 상기 바디부(1210)는 필터링부(11)와 주 메모리 및, 보조 메모리를 포함할 수 있다. 그리고 증적 자료 수집 장치는 상기 USB 포트(1200)를 통해 연결된 USB 기기의 입력 데이터들을, 상기 주 메모리 및 보조 메모리 중 적어도 하나에 저장할 수 있다. 그리고 저장된 입력 데이터들을 상기 메인보드(1290)로 전달할 수 있다. 이 경우 상기 입력 데이터들은 상기 USB 기기로부터 입력되는 패킷 형태의 데이터들일 수 있다.
뿐만 아니라 상기 증적 자료 수집 장치는 상기 패킷 형태의 데이터들로부터 추출된 비트열 정보를 더 저장할 수 있다. 이 경우 상기 비트열 정보와 상기 패킷 형태의 데이터들은 서로 다른 메모리에 저장되거나, 또는 동일한 메모리의 구분되는 서로 다른 영역에 저장될 수 있다.
한편 본 발명의 다른 실시 예로서, 상기 바디부(1210)는 메인보드(1290)의 일 구성 요소로 형성될 수도 있다. 이 경우 본 발명의 실시 예에 따른 보안 스틱(100)에서 USB 리셉터클(102)이 상기 메인보드(1290)의 USB 포트(1200)로 형성될 수 있으며, 상기 보안 스틱(100)의 PCB 기판(101)이 상기 USB 리셉터클(102)과 연결되는 메인보드(1290)의 일 영역(1220)에 형성될 수 있다.
또한 본 발명의 실시 예에 따른 증적 자료 수집 장치는, 메인보드(1290)에 형성된 USB 슬롯(1250)에 연결되는 형태로 형성될 수도 있다.
이 경우 본 발명의 실시 예에 따른 증적 자료 수집 장치는, USB 리셉터클(102)과 PCB 기판(101)을 포함하는 바디부(1250), 그리고 케이블(1270)을 통해 연결되는 USB 커넥터(1260)를 포함하여 형성될 수 있다.
여기서 상기 USB 리셉터클(102)과 상기 바디부(1250)는 메인보드(1290)의 USB 포트(1230)를 형성할 수 있다. 그리고 상기 USB 커넥터(1260)는 메인보드(1290)에 형성된 USB 슬롯(1250)에 결합가능하도록 형성될 수 있다. 일 예로 상기 USB 커넥터(1260)는 상기 USB 슬롯(1250)에 삽입될 복수의 핀들을 포함할 수 있다.
또한 상기 USB 커넥터(1260)와 상기 USB 포트(1230) 사이는 케이블(1270)을 통해 연결될 수 있다. 여기서 상기 케이블(1270)은 USB 프로토콜에 따른 데이터들을 전송하기 위한 USB 케이블일 수 있다.
이러한 구조를 통해, 본 발명의 다른 실시 예에 따른 증적 자료 수집 장치는, USB 포트(1200)를 통해 USB 기기가 연결될 때 연결된 USB 기기로부터 수신되는 입력 데이터들을 수신할 수 있다. 그리고 수신된 입력 데이터들을 저장하고, 저장된 입력 데이터들을 USB 커넥터(1260)를 통해 메인보드(1290)에 전달할 수 있다.
이 경우 상기 증적 자료 수집 장치에 저장되는 입력 데이터들은 USB 프로토콜에 따른 패킷 형태의 데이터들일 수 있다. 또한 상기 증적 자료 수집 장치는 상기 패킷 데이터들로부터 비트열 정보를 더 추출할 수 있으며 추출된 비트열 정보를 상기 패킷 형태의 데이터들과 별개로 더 저장할 수도 있다.
한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시할 수 있다. 특히 본 발명의 실시 예에서는 수신된 패킷들을 시간에 따라 그룹화하여 저장하는 예를 설명하였고, 저장된 패킷들로부터 비트열을 추출하여 상기 패킷들과 별개로 저장하는 구성을 설명하였다.
여기서 본 발명의 실시 예에 따른 증적 자료 수집 장치의 보안 스틱(100)은 수신된 패킷을, 해당 패킷을 전송한 USB 기기에 따라 구분하여 저장할 수도 있다. 일 예로 각 USB 기기로부터 전송되는 패킷에는 HID(Human Interface Device) 정보가 포함될 수 있으며, 상기 필터링부(11)의 Driver는 HID 클래스 드라이버(HID Class Driver)를 포함할 수 있다.
그러면 필터링부(11)는 HID 클래스 드라이버를 통해, 패킷에 포함된 HID로부터 해당 패킷이 마우스로부터 입력된 것인지 또는 키보드로부터 입력된 것인지 여부를 검출할 수 있다. 따라서 필터링부(11)는 검출 결과에 따라 수신된 패킷을 키보드 또는 마우스로 구분하여 저장할 수 있다.
그리고 필터링부(11)는 키보드 또는 마우스의 패킷으로 구분된 패킷들을 상기 도 6에서 도시한 과정에 따라 패킷이 수신된 시각에 따라 그룹화하여 저장할 수 있다. 그리고 그룹화된 각 패킷들로부터 비트열들을 추출하여 비트열 정보로 저장할 수 있다. 이러한 경우 키보드에서 수신된 패킷들로부터 추출된 비트열 정보 및 마우스에서 수신된 패킷들로부터 추출된 비트열 정보가 각각 저장될 수 있다.
상술한 바와 같이, 본 발명은 USB 기기와 전자기기 사이에 배치되며, 상기 전자기기에는 보안 스틱(100)의 연결 이벤트에 트리거되는 프로그램을 구비하고 상기 보안 스틱(100)에는 마우스 및 키보드의 연결 이벤트에 트리거되는 프로그램을 구비함으로써, USB 메모리의 이용을 원천적으로 차단할 수 있다. 따라서 종래 USB 메모리를 이용한 내부 정보의 유출 및 악성코드 감염을 방지함에 의해 IT 자산을 보호할 수 있는 장점이 있다. 특히 본 발명을 사용할 경우에는 물리적인 USB 포트 제어가 가능하고 USB 기기(키보드, 마우스, 메모리)의 식별 및 관리가 가능하기 때문에 중요 기밀정보 유출을 차단하는 DLP(Data Loss Protection) 및 매체제어 등의 정보보안 솔루션과의 협업이 가능할 것으로 기대한다.
더욱이 본 발명은 USB 기기로부터 입력된 데이터를 호스트 기기에 전달함과 동시에 상기 입력된 데이터를 저장할 수 있다. 여기서 본 발명은 마우스 및 키보드가 보안 스틱(100)에 연결될 때 인터럽트되어 예제 프로그램을 구동한 후 파이프 방식에 따라 제1 USB 컨트롤러(10)를 통해 입력된 마우스 및 키보드의 데이터를 제2 USB 컨트롤러(12)를 통해 호스트 기기로 전달하는 논리적 엔드 포인트를 구성하도록 형성됨으로써, 단방향 통신과 유사하게 USB 기기로부터 호스트 기기 방향으로만 데이터를 전달할 수 있다. 따라서 본 발명의 실시 예에 따른 보안 스틱(100)은 호스트 기기와 별개로 상기 호스트 기기에 전달되는 입력 데이터들을 저장할 수 있으며, 이에 따라 USB 기기를 조작하는 사용자가 인지하지 못하는 상태에서 상기 USB 기기로부터 입력되는 데이터들이 보안 스틱(100)에 수집될 수 있다.
또한 본 발명의 실시 예에 따른 보안 스틱(100)에는 호스트 기기를 조작하기 위해 마우스 및 키보드로부터 입력되는 정보들이 저장될 수 있다. 그러므로 보안 스틱(100)에 저장된 정보들은 호스트 기기의 조작에 대응하는 구체적인 정보가 될 수 있으며, 차후 호스트 기기의 작업 내용을 추정할 수 있는 증적 자료로서 활용될 수 있다.
뿐만 아니라, 본 발명의 실시 예에 따른 보안 스틱(100)은 입력되는 정보들을, 데이터들, 즉 패킷들이 입력되는 시각과 연동하여 저장하고, 상기 패킷들로부터 추출되는 비트열 정보를 더 저장할 수 있다. 여기서 상기 비트열 정보는 상기 저장된 패킷들에 대응하는 정보로서, 상기 패킷들이 입력된 시각과 동일한 시각 정보를 포함하여 저장될 수 있다. 뿐만 아니라 보안 스틱(100)은 상기 비트열 정보와 상기 패킷들을 서로 별개의 저장 영역에 상호독립적으로 저장할 수 있으며, 어느 하나를 암호화하여 저장할 수 있다. 이 경우 상기 암호화된 정보는 다른 정보의 무결성을 입증하기 위한 정보로 사용될 수 있다.
한편 상술한 설명에서는 USB 기기가 본 발명의 실시 예에 따른 보안 스틱(100)의 USB 리셉터클(102)에 직접 연결되는 유선 연결의 예를 주로 설명하였으나, 본 발명은 블루투스 등 무선으로 연결되는 USB 기기에도 얼마든지 적용될 수 있음은 물론이다.
일 예로 상기 무선 USB 기기인 무선 키보드 및 무선 마우스의 경우, USB 무선 수신기가 무선 통신 방식으로 상기 무선 키보드 및 무선 마우스와 연결될 수 있다. 그리고 상기 USB 무선 수신기가, 전자기기(300)의 USB 포트에 장착되어, 상기 무선 키보드 및 무선 마우스로부터 수신되는 입력 데이터를 전자기기(300)에 전송하도록 형성될 수 있다.
이 경우 상기 USB 무선 수신기는 본 발명의 실시 예에 따른 보안 스틱(100)의 USB 리셉터클(102)과 연결될 수 있다. 그러면 필터링부(11)의 CPU는 USB 무선 수신기를 통해 입력되는 무선 키보드 및 무선 마우스의 입력 데이터에 근거하여 현재 연결된 기기가 키보드 또는 마우스라고 판별할 수 있다. 그리고 제1 USB 컨트롤러(10)는 상기 무선 키보드 및 무선 마우스와 연결되는 직렬 인터페이스를, 제2 USB 컨트롤러(20)는 전자기기(300)와의 직렬 인터페이스를 형성하여, 상기 무선 키보드 및 무선 마우스와 상기 전자기기 사이의 논리적 연결을 형성할 수 있다. 따라서 상기 무선 키보드 및 무선 마우스로부터 입력되는 입력 데이터가 상기 보안 스틱(100)으로 입력될 수 있으며, 보안 스틱(100)은 상기 무선 키보드 및 무선 마우스로부터입력되는 입력 데이터를 저장함과 동시에 상기 입력 데이터를 전자기기(300)로 전달할 수 있다.
한편 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석 되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100 : 보안 스틱
10 : 제1 USB 컨트롤러 20 : 제2 USB 컨트롤러
11 : 필터링부 101 : PCB 기판
102 : USB 리셉터클 103 : USB 플러그
200 : USB 기기 300 : 전자기기

Claims (17)

  1. 전자기기;
    적어도 하나의 USB 기기; 및,
    연결된 USB 기기의 타입을 판별함과 함께 상기 전자기기와 논리적 연결을 수행하여 마우스와 키보드 이외의 USB 기기가 상기 전자기기에 연결되는 것을 차단하며,
    상기 판별 결과에 따라 상기 USB 기기와 상기 전자기기 사이의 논리적 연결이 형성되는 경우, 연결된 USB 기기로부터 입력되는 입력 데이터를 상기 전자기기에 전달함과 동시에, 상기 입력 데이터의 전달과 별개로 상기 입력 데이터를 내부에 저장하는 보안 스틱을 포함하며,
    상기 보안 스틱은,
    상기 입력 데이터로부터 기 설정된 일부의 데이터를 추출 및, 상기 입력 데이터와 상기 추출된 일부의 데이터를 서로 다른 상기 보안 스틱 내부의 저장 공간에 저장하는 것을 특징으로 하는 증적 자료 수집 장치.
  2. 제1항에 있어서, 상기 보안 스틱은,
    지속적인 시각 정보 계측을 위한 디지털 클럭을 더 포함하며,
    상기 디지털 클럭을 통해, 상기 보안 스틱 자체적으로 상기 USB 기기로부터 상기 입력 데이터의 수신 시각을 지속적으로 검출 및, 기 설정된 단위 시간마다 상기 USB 기기로부터 수신되는 입력 데이터를 그룹화하고, 상기 그룹화된 입력 데이터를 상기 입력 데이터의 수신 시각에 연관하여 저장하는 것을 특징으로 하는 증적 자료 수집 장치.
  3. 제2항에 있어서,
    상기 입력 데이터는,
    USB 프로토콜에 따른 패킷 데이터이며,
    상기 보안 스틱은,
    저장된 적어도 하나의 패킷 데이터로부터 비트열을 추출하고, 상기 추출된 비트열이 상기 저장된 입력 데이터에 대응되도록, 상기 입력 데이터의 수신 시각에 연관하여 상기 추출된 비트열을 저장하는 것을 특징으로 하는 증적 자료 수집 장치.
  4. 제3항에 있어서, 상기 보안 스틱은,
    상기 추출된 비트열과 상기 입력 데이터를 메모리의 서로 다른 영역 또는 서로 다른 메모리에 저장하는 것을 특징으로 하는 증적 자료 수집 장치.
  5. 제1항에 있어서, 상기 보안 스틱은,
    소정 형상의 본체;
    상기 본체의 일측에 형성되며, 적어도 하나의 USB 기기와 연결될 수 있는 USB 리셉터클(receptacle); 및,
    상기 본체의 타측에 형성되며, 전자기기의 USB 포트에 연결될 수 있도록 형성된 USB 플러그(plug)를 포함하는 것을 특징으로 하는 증적 자료 수집 장치.
  6. 제5항에 있어서,
    상기 보안 스틱은,
    상기 입력 데이터를 저장하는 보조 메모리를 더 포함하며,
    상기 보조 메모리는,
    상기 보조 메모리가 삽입될 수 있도록 형성된 상기 본체의 삽입홈을 통해 탈착 가능하도록 형성되는 것을 특징으로 하는 증적 자료 수집 장치.
  7. 제5항에 있어서, 상기 본체는,
    상기 USB 기기가 연결될 때 호스트(host)로 동작하여 USB 기기와의 직렬 인터페이스 연결 및 데이터 전달을 수행하는 제1 USB 컨트롤러;
    상기 보안 스틱이 전자기기에 연결될 때, 슬레이브(slave)로 동작하여 상기 전자기기와의 직렬 인터페이스 연결 및 데이터 전달을 수행하는 제2 USB 컨트롤러; 및
    상기 제1, 제2 USB 컨트롤러 사이에서 USB 기기를 식별하여 마우스 또는 키보드외의 USB 기기를 필터링하고 상기 제1, 제2 USB 컨트롤러 간의 논리적 엔드 포인트를 구성하는 필터링부를 포함하는 것을 특징으로 하는 증적 자료 수집 장치.
  8. 제1항에 있어서, 상기 전자기기는,
    상기 보안 스틱의 연결 이벤트에 인터럽트되는 칩 운영체계만 내장하고, 상기 USB 기기의 연결 이벤트에 인터럽트되는 칩 운영체계는 내장하지 않는 것을 특징으로 하는 증적 자료 수집 장치.
  9. 제1항에 있어서, 상기 보안 스틱은,
    USB 기기의 연결 이벤트에 의해 인터럽트되어 실행되는 칩 운영 체계를 확인하고, 기저장된 인터럽트 번호를 근거로 현재 발생된 인터럽트의 종류를 인식하여 현재 삽입된 USB 기기의 타입을 판단하며,
    판단된 USB 기기의 종류에 따라 상기 입력 데이터를 구분하여 저장하는 것을 특징으로 하는 증적 자료 수집 장치.
  10. 제1항에 있어서,
    상기 적어도 하나의 USB 기기는,
    수신기를 통해 연결되는 무선 통신 방식을 통해 상기 전자기기에 연결되는 무선 USB 기기이며,
    상기 보안 스틱은,
    상기 수신기와 연결되며, 상기 수신기를 통해 상기 무선 USB 기기와 연결되는 것을 특징으로 하는 증적 자료 수집 장치.
  11. 제7항에 있어서, 상기 보안 스틱은,
    상기 전자기기에 구비되는 메인보드(mainboard)와 일체형으로 형성되는 것을 특징으로 하는 증적 자료 수집 장치.
  12. 제11항에 있어서,
    상기 USB 리셉터클과 상기 본체는,
    상기 메인보드의 USB 포트(port)를 형성하며,
    상기 본체의 USB 출력 핀들이 상기 메인보드에 직접 연결되어, 상기 USB 포트에 연결된 USB 기기로부터 수신되는 입력 데이터가, 상기 제2 USB 컨트롤러를 통해 상기 USB 플러그 없이 상기 메인보드로 전달되는 것을 특징으로 하는 증적 자료 수집 장치.
  13. 제11항에 있어서,
    상기 USB 리셉터클은,
    상기 메인보드의 USB 포트(port)를 형성하며,
    상기 제1 USB 컨트롤러와 제2 USB 컨트롤러, 및 상기 필터링부는,
    상기 USB 포트에 연결되는 메인보드의 일 영역에 형성되는 것을 특징으로 하는 증적 자료 수집 장치.
  14. 제11항에 있어서,
    상기 USB 리셉터클과 상기 본체는,
    상기 메인보드의 USB 포트(port)를 형성하며,
    상기 USB 포트는,
    상기 메인보드에 형성된 USB 슬롯과 결합 가능하도록, 상기 USB 슬롯에 삽입될 수 있는 복수의 핀들을 포함하는 USB 커넥터를 통해 상기 메인보드와 연결되는 것을 특징으로 하는 증적 자료 수집 장치.
  15. 전자기기의 USB 포트에 보안스틱의 USB 플러그가 연결되는 단계;
    상기 보안스틱의 USB 리셉터클에 USB 기기의 플러그가 연결되는 단계;
    상기 USB 기기 연결 시, 상기 보안스틱에서 상기 USB 기기의 연결 이벤트에 의해 실행되는 칩 운영 체계를 근거로 상기 USB 기기의 종류를 식별하는 단계;
    상기 식별 결과에 따라, 기 설정된 USB 기기에 한하여 논리적 엔드 포인트(endpoint)를 구성하여 상기 USB 기기와 상기 전자기기 사이의 논리적 연결을 형성하는 단계; 및,
    상기 논리적 연결이 형성되는 경우, 연결된 USB 기기로부터 입력되는 데이터를 상기 보안스틱이 저장 및, 상기 보안 스틱이 상기 USB 기기로부터 입력되는 데이터를 상기 전자기기로 전달하는 단계를 포함하며,
    상기 데이터를 저장 및 전달하는 단계는,
    상기 보안 스틱이 상기 USB 기기에서 입력되는 데이터로부터, 기 설정된 일부의 데이터를 추출하는 단계; 및,
    상기 보안 스틱이, 상기 입력되는 데이터와 상기 추출된 일부의 데이터를. 상기 보안 스틱 내부의 서로 다른 저장 공간에 저장하는 단계를 포함하는 것을 특징으로 하는 증적 자료 수집 장치의 제어 방법.
  16. 제15항에 있어서, 상기 데이터를 저장 및 전달하는 단계는,
    상기 보안 스틱이, 상기 논리적 연결을 검출하는 단계;
    상기 논리적 연결이 형성되면, 상기 보안 스틱이 상기 USB 기기로부터 데이터가 입력되는 동안 상기 USB 기기로부터 상기 입력되는 데이터들이 수신되는 시각을 지속적으로 검출하는 단계;
    검출되는 시각에 따라, 상기 보안 스틱이 기 설정된 단위 시간마다 상기 USB 기기로부터 입력되는 데이터들을 그룹화하여 저장하는 단계;
    상기 그룹화된 데이터로부터 비트열 정보를 추출하는 단계; 및,
    상기 추출된 비트열 정보와 상기 그룹화된 데이터가 서로 매칭되도록, 상기 보안 스틱이 상기 비트열 정보를 상기 검출된 시각에 연관하여 저장하는 단계를 포함하는 것을 특징으로 하는 증적 자료 수집 장치의 제어 방법.
  17. 제16항에 있어서, 상기 비트열 정보를 저장하는 단계는,
    서로 대응하는 상기 그룹화된 데이터들과 상기 비트열 정보 중 적어도 하나를 암호화하는 단계를 더 포함하는 것을 특징으로 하는 증적 자료 수집 장치의 제어 방법.
KR1020200143617A 2020-10-30 2020-10-30 호스트 기기의 작업에 대한 증적 자료 수집 장치 및 그 장치의 제어 방법 KR102408211B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200143617A KR102408211B1 (ko) 2020-10-30 2020-10-30 호스트 기기의 작업에 대한 증적 자료 수집 장치 및 그 장치의 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200143617A KR102408211B1 (ko) 2020-10-30 2020-10-30 호스트 기기의 작업에 대한 증적 자료 수집 장치 및 그 장치의 제어 방법

Publications (2)

Publication Number Publication Date
KR20220058164A KR20220058164A (ko) 2022-05-09
KR102408211B1 true KR102408211B1 (ko) 2022-06-13

Family

ID=81582384

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200143617A KR102408211B1 (ko) 2020-10-30 2020-10-30 호스트 기기의 작업에 대한 증적 자료 수집 장치 및 그 장치의 제어 방법

Country Status (1)

Country Link
KR (1) KR102408211B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4234153B2 (ja) * 2006-01-10 2009-03-04 致伸科技股▲ふん▼有限公司 無線カーソル制御装置
KR100963886B1 (ko) * 2009-09-14 2010-06-15 (주)융스그룹 멀티형 유에스비 젠더 조립체
KR101631655B1 (ko) * 2015-12-29 2016-06-20 주식회사 상록수 정보 보안 장치 및 그 제어방법
KR101644925B1 (ko) * 2016-07-13 2016-08-12 주식회사 알지비솔루션 보안 usb 동글
KR101781971B1 (ko) * 2016-07-25 2017-09-26 한국전자통신연구원 데이터 보안을 위한 토글키 차단 방법 및 이를 이용한 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102033980B1 (ko) * 2017-10-31 2019-10-18 주식회사 알지비솔루션 보안 usb 동글을 이용하는 데이터 송수신 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4234153B2 (ja) * 2006-01-10 2009-03-04 致伸科技股▲ふん▼有限公司 無線カーソル制御装置
KR100963886B1 (ko) * 2009-09-14 2010-06-15 (주)융스그룹 멀티형 유에스비 젠더 조립체
KR101631655B1 (ko) * 2015-12-29 2016-06-20 주식회사 상록수 정보 보안 장치 및 그 제어방법
KR101644925B1 (ko) * 2016-07-13 2016-08-12 주식회사 알지비솔루션 보안 usb 동글
KR101781971B1 (ko) * 2016-07-25 2017-09-26 한국전자통신연구원 데이터 보안을 위한 토글키 차단 방법 및 이를 이용한 장치

Also Published As

Publication number Publication date
KR20220058164A (ko) 2022-05-09

Similar Documents

Publication Publication Date Title
KR100881938B1 (ko) 다중 스마트 카드 세션을 관리하는 시스템 및 방법
CN101479737B (zh) 用于验证附件的方法和系统
CN101984575B (zh) 一种保护移动终端软件的方法和装置
AU2007245146B2 (en) Communication protocol for device authentication
US7987364B2 (en) Method of detecting and authenticating connection target for wireless communication apparatus
US20060068760A1 (en) System and method for pairing dual mode wired/wireless devices
CN1968095B (zh) 登录本地机的方法和装置
EP2068535A1 (en) Portable telephone and access control method
CN106447855A (zh) 一种基于摇一摇开锁的方法及终端设备
US20100268946A1 (en) System and method for generating secured authentication image files for use in device authentication
CN107798224A (zh) 一种终端控制方法及装置、用户终端
TWI588676B (zh) 裝置配對方法
CN107835162B (zh) 软件数字许可服务器给予软件开发商软件数字许可签发权限的方法及软件数字许可服务器
US20080130553A1 (en) Electronic apparatus and wireless connection control method
CN103488953B (zh) 一种应用于多功能设备的智能切换方法
CN103824014A (zh) 一种局域网内的usb端口设备的隔离认证及监控方法
US8171149B2 (en) Communication system, terminal device, and method of controlling terminal devices in communication system
US7986967B2 (en) Wireless communication system and method
KR102408211B1 (ko) 호스트 기기의 작업에 대한 증적 자료 수집 장치 및 그 장치의 제어 방법
US20080199057A1 (en) Portable storage device with fingerprint identification function
CN109102436B (zh) 基于usb3.0协议ts1训练序列的ip软核产权保护与侵权鉴定方法
CN109214144B (zh) 基于usb3.2协议ts2训练序列的ip软核产权保护与侵权鉴定方法
CN101917713A (zh) 一种无线网络组网方法
CN109165482B (zh) 基于usb3.1协议ts1训练序列的ip软核产权保护与侵权鉴定方法
WO2022035021A1 (ko) 생체정보를 이용한 로그인방법, 장치 및 프로그램

Legal Events

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