KR20150128252A - Mitm 공격 방지 장치 및 방법 - Google Patents

Mitm 공격 방지 장치 및 방법 Download PDF

Info

Publication number
KR20150128252A
KR20150128252A KR1020140055316A KR20140055316A KR20150128252A KR 20150128252 A KR20150128252 A KR 20150128252A KR 1020140055316 A KR1020140055316 A KR 1020140055316A KR 20140055316 A KR20140055316 A KR 20140055316A KR 20150128252 A KR20150128252 A KR 20150128252A
Authority
KR
South Korea
Prior art keywords
screen
security
input
unit
server
Prior art date
Application number
KR1020140055316A
Other languages
English (en)
Other versions
KR101634785B1 (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 KR1020140055316A priority Critical patent/KR101634785B1/ko
Priority to PCT/KR2014/007619 priority patent/WO2015170801A1/ko
Publication of KR20150128252A publication Critical patent/KR20150128252A/ko
Application granted granted Critical
Publication of KR101634785B1 publication Critical patent/KR101634785B1/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

MITM 공격 방지 장치 및 방법을 제시한다. 제시된 장치는 클라이언트를 통해 서버와 연결된 스크린에 포함되는 MITM 공격 방지 장치로서, 서버와 공유하는 키를 저장하는 키 저장부, 클라이언트를 통해 입력되는 데이터를 키를 근거로 복호화하여 화면상에 출력하는 복호화부, 복호화부에서의 복호화 정상 여부를 근거로 화면의 화면보안 온 또는 경고를 행하는 화면보안 표시부, 사용자로부터의 보안이 필요한 입력 데이터를 키를 근거로 암호화하여 출력하는 암호화부, 및 복호화부에서의 복호화가 정상임에 따라 화면보안 온 상태로 하여 복호화부 및 암호화의 결과를 각각 출력되게 하고 복호화부에서의 복호화가 비정상임에 따라 화면보안 표시부를 제어하여 그에 상응하는 표시를 행하는 제어부를 포함한다.

Description

MITM 공격 방지 장치 및 방법{Apparatus and method for preventing MITM attack}
본 발명은 MITM 공격 방지 장치 및 방법에 관한 것으로, 보다 상세하게는 서버/클라이언트 모델에서의 클라이언트를 스크린 수준으로까지 확장하여 MITM(man in the middle) 공격을 효과적으로 방지하도록 하는 장치 및 방법에 관한 것이다.
온라인쇼핑몰, 온라인 금융거래, 전자민원 등의 개인화된 서비스는 비대면 상태인 인터넷상에서 이루어지기 때문에 온라인 사용자 인증 기술이 필수적이다.
온라인 사용자 인증을 안전하게 제공하기 위해서 서비스 제공자는 각종 비밀 정보(예컨대, 패스워드, 공인인증서, 보안카드, OTP, TAN 등)를 사용자와 공유, 암호 프로토콜 이용, 보안 프로그램 설치 등의 방법을 동원하고 있다.
다시 말해서, 온라인 사용자 인증(이하 사용자 인증)의 보안요소는 크게 세 부분으로 나누어 볼 수 있다. 첫 번째 부분은 서비스 제공자와 사용자 사이에 공유된 비밀 정보(패스워드, 공인인증서, 보안카드, OTP 등, 이하 "공유된 비밀"이라 함)이고, 두 번째 부분은 암호 프로토콜이고, 세 번째 부분은 클라이언트에 설치되는 보안 프로그램이다.
공유된 비밀은 사용자를 인증하기 위한 증거로 사용되고, 암호 프로토콜은 서비스 제공자와 사용자 사이에 안전한 채널을 보장하기 위해 사용되고, 보안 프로그램은 클라이언트에서 발생할 수 있는 보안 위협에 대응하기 위해서 사용된다.
암호 프로토콜은 암호키가 노출되지 않으면 공격자로부터 안전하다. 하지만 보안 프로그램은 알려진 악성코드에 대해서 보안 서비스가 제공되도록 제작되었기 때문에 알려지지 않은 악성코드에 대해서는 보안성을 기대할 수 없다.
공유된 비밀은 키보드 및 마우스와 같은 입력장치를 통해 클라이언트에 입력되고 암호 프로토콜의 암호키도 클라이언트 내에 존재한다. 악성코드는 클라이언트의 모든 자원을 획득할 수 있다고 가정되었으므로 그러한 입력된 값과 암호키를 획득할 수 있는 악성코드의 모든 경로를 차단하기가 쉽지 않다.
즉, 현재의 사용자 인증은 클라이언트가 안전하다는 가정하에 만들어졌지만, 현실에서는 그 가정이 적용되지 않을 수 있기 때문에 안전하다고 볼 수 없다.
관련 선행기술로는, 화면중 개인정보 등이 표시되는 부분에 대한 보안을 제공하는 내용이 대한민국 등록특허 제10-1230055호에 기재되었다. 그러나, 대한민국 등록특허 제10-1230055호의 내용은 소프트웨어 수준의 화면보안이다.
다른 관련 선행기술로는, 터치 스크린 조작시 일반기능 설정이 아닌 보안인쇄 작업과 같은 비밀기능 설정시에는 손가락 조작이 아닌 신체 이외의 입력도구를 사용한 조작 입력만을 허용함으로써 손가락 조작에 의한 지문 흔적 및 조작 흔적으로 인한 비밀정보의 유출 가능성을 배제하도록 하는 내용이 대한민국 공개특허 제10-2009-0013567호에 기재되었다. 대한민국 공개특허 제10-2009-0013567호는 특별한 입력 장치를 요구한다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로, 서버/클라이언트 모델에서의 클라이언트를 스크린 수준으로까지 확장하여 클라이언트 수준에서 발생하는 MITM 공격에 대응할 수 있도록 하는 MITM 공격 방지 장치 및 방법을 제공함에 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시양태에 따른 MITM 공격 방지 장치는, 클라이언트를 통해 서버와 연결된 스크린에 포함되는 MITM 공격 방지 장치로서,
상기 서버와 공유하는 키를 저장하는 키 저장부; 상기 클라이언트를 통해 입력되는 데이터를 상기 키를 근거로 복호화하여 화면상에 출력하는 복호화부; 상기 복호화부에서의 복호화 정상 여부를 근거로 상기 화면의 화면보안 온 또는 경고를 행하는 화면보안 표시부; 사용자로부터의 보안이 필요한 입력 데이터를 상기 키를 근거로 암호화하여 출력하는 암호화부; 및 상기 복호화부에서의 복호화가 정상임에 따라 화면보안 온 상태로 하여 상기 복호화부 및 상기 암호화의 결과를 각각 출력되게 하고, 상기 복호화부에서의 복호화가 비정상임에 따라 상기 화면보안 표시부를 제어하여 그에 상응하는 표시를 행하는 제어부;를 포함한다.
이때, 상기 키는 상기 서버로부터 직접 제공받거나, 비밀 정보를 근거로 생성될 수 있다.
이때, 상기 비밀 정보는 패스워드, 보안카드, 공인인증서, OTP, TAN 중의 어느 하나일 수 있다.
이때, 상기 비밀 정보는 상기 화면상의 가상 스크린을 터치하여 입력될 수 있다.
이때, 상기 비밀 정보는 상기 스크린에 설치된 입력단자에 연결된 키보드 및 마우스를 통해 입력될 수 있다.
이때, 상기 비밀 정보는 상기 스크린에 설치된 카메라를 통해 입력될 수 있다.
이때, 상기 화면보안 표시부는 발광소자를 포함하고, 상기 화면보안 표시부는 상기 복호화부에서의 복호화가 정상이면 상기 화면보안 온을 의미하는 녹색광을 출력할 수 있다.
이때, 상기 화면보안 표시부는 발광소자를 포함하고, 상기 화면보안 표시부는 상기 복호화부에서의 복호화가 비정상이면 적색광을 출력하여 경고할 수 있다.
이때, 상기 화면보안 온 상태일 때 상기 화면에 표시되는 화면보안 패턴을 저장하는 화면보안 패턴 저장부;를 추가로 포함할 수 있다.
이때, 상기 제어부는 상기 클라이언트로부터의 데이터에 상기 화면보안 패턴이 포함되었으면 상기 화면보안 표시부를 통해 경고할 수 있다.
한편, 본 발명의 바람직한 실시양태에 따른 MITM 공격 방지 방법은, 클라이언트를 통해 서버와 연결된 스크린에 포함되는 MITM 공격 방지 장치에서의 MITM 공격 방지 방법으로서,
상기 클라이언트를 통해 입력되는 데이터를 수신하는 단계; 상기 데이터를 상기 서버와 공유하고 있는 키를 근거로 복호화하는 단계; 및 상기 복호화하는 단계에서의 복호화 정상 여부를 근거로 상기 스크린의 화면의 화면보안 온 또는 경고를 행하는 단계;를 포함한다.
이때, 상기 화면보안 온일 때 기저장된 화면보안 패턴을 상기 화면에 표시하는 단계;를 추가로 포함할 수 있다.
이때, 상기 클라이언트로부터의 데이터에 상기 화면보안 패턴이 포함되었으면 이를 경고하는 단계;를 추가로 포함할 수 있다.
이러한 구성의 본 발명에 따르면, 기존 서버/클라이언트 모델에서의 클라이언트를 보안성이 보장될 수 있도록 스크린(예컨대, 모니터) 수준으로까지 확장함으로써, 클라이언트에 존재하는 악성코드가 화면에 저장된 암호키에 접근이 불가능하게 된다.
이로 인해, 서버와 스크린 사이에 암호통신의 보안성이 보장된다. 이는 암호기법의 보안성이 높더라도 악성코드로 인해 보안성이 무너질 수 있는 서버/클라이언트 모델과 다르다.
도 1은 본 발명이 적용되는 서버/스크린 모델을 예시한 도면이다.
도 2는 본 발명의 실시예에 따른 MITM 공격 방지 장치의 구성도이다.
도 3은 본 발명의 실시예에 따른 MITM 공격 방지 방법의 일 예를 설명하는 플로우차트이다.
도 4 내지 도 7은 도 3의 설명에 채용되는 도면이다.
도 8은 도 1에 도시된 스크린에서 수신된 키보드로부터의 입력을 서버로 전송하기까지의 과정을 설명하는 플로우차트이다.
도 9는 본 발명의 실시예에 따른 MITM 공격 방지 방법의 다른 예를 설명하는 플로우차트이다.
도 10은 도 9의 설명에 채용되는 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 발명은 클라이언트에 악성코드가 설치될 수 있다는 가정에서도 온라인에서 사용자를 안전하게 인증하기 위해서 서버/클라이언트 모델 대신에 서버/스크린 모델을 제안한다.
도 1은 본 발명이 적용되는 서버/스크린 모델을 예시한 도면이다.
클라이언트(20)(예컨대, PC) 수준의 MITM(man in the middle) 공격에 대한 취약점을 극복하기 위해서는, 서버(10)/클라이언트(20) 모델에서의 클라이언트(20)를 스크린(출력단말; 예컨대, 모니터)(30) 수준으로까지 확장하는 작업이 필요하다.
네트워크의 보안성을 신뢰할 수 없으므로 양 단말인 서버(10)와 클라이언트(20)가 암호통신을 하는 것처럼, 네트워크와 클라이언트(20)의 보안성을 신뢰할 수 없으므로 서버(10)와 스크린(30) 사이에 암호통신을 하도록 구성하였다.
도 1에서, 클라이언트(20)는 서버(10)와 스크린(30)의 화면 사이에서 암호화된 입·출력 데이터를 전달하는 역할만을 담당한다. 다만, 클라이언트(20)는 암호화된 화면 데이터를 스크린(30)의 화면에 전달할 때는 특정한 신호를 함께 전송하여 화면 단말에 화면보안 동작 여부를 사용자에게 알릴 수 있어야 한다.
도 1에서와 같이 스크린(30) 수준에 이르기까지 암호구간을 확장하는 것은 HCI(Human-Computer Interaction; 인간-컴퓨터 상호작용)와도 관련이 깊다. 사용자가 서버(10)가 제공하는 온라인 서비스(예컨대, 온라인쇼핑몰, 온라인 금융거래, 전자민원 등)를 이용할 때, 클라이언트(20)는 서버(10)와 사용자의 입·출력 데이터를 전달해주는 도구라는 것을 기억해야 한다. HCI 관점에서, 클라이언트(20)는 모니터 출력을 통해 사용자에게 정보를 전달하고 사용자가 키보드/마우스를 통해 입력한 값을 서버(10)로 전달된다. 이때, 클라이언트(20)가 악성코드에 감염되었다면 출력과 입력 모두 신뢰할 수 없게 된다. 즉, 서버(10)와 사용자 사이에 위치한 클라이언트(20)가 HCI 데이터를 변조하여 서버(10)와 사용자를 모두 속이는 MITM 공격에 악용될 수 있다.
따라서, 도 1에서와 같이 출력장치인 모니터와 입력장치인 키보드/마우스 수준에서 암호기술이 구현되면 클라이언트(20) 수준에서 발생하는 MITM 공격에 대응할 수 있게 된다.
도 2는 본 발명의 실시예에 따른 MITM 공격 방지 장치의 구성도로서, 도 1에 도시된 스크린(30)의 내부 구성도라고 이해하면 된다.
스크린(30)은 수신부(41), 암호키 생성부(42), 암호키 저장부(43), 복호화부(44), 화면(45), 화면보안 표시부(46), 암호화부(47), 송신부(48), 화면보안 패턴 저장부(49), 및 제어부(50)를 포함한다.
수신부(41)는 서버(10)로부터 제공되는 보안이 요구되는 화면 데이터(즉, 암호화된 데이터)(예를 들어, 인터넷 계좌 이체 화면, 거래 금액 내역을 확인하기 위한 화면 데이터 등)를 수신한다.
수신부(41)는 서버(10)로부터의 암호키를 교환 또는 공유할 수 있다. 이는 서버(10)와 스크린(30)이 암호키를 가지기 위해 키 교환/공유 프로토콜을 사용하기 때문이다. 한편, 수신부(41)는 외부로부터의 비밀 정보(즉, 암호키를 생성하기 위한 소스(source))를 수신할 수 있다. 물론, 수신부(41)는 클라이언트(20)에서의 MITM 공격 데이터(즉, 사용자를 속이기 위해 만들어진 암호화된 데이터)를 수신할 수도 있다.
한편, 수신부(41)는 사용자로부터 제공되는 보안이 필요한 입력 데이터를 수신한다. 여기서, 보안이 필요한 입력 데이터는 키보드 및/또는 마우스를 통해 입력될 수 있다.
암호키 생성부(42)는 수신부(41)를 통해 수신한 비밀 정보를 근거로 암호키를 생성한다. 여기서, 비밀 정보는 패스워드, 보안카드, 공인인증서, OTP(One Time Password), TAN(Transaction Authentication Number) 등이 될 수 있다. 패스워드나 보안카드, 공인인증서는 유통과정에서 노출될 수 있는 소지가 있으므로, OTP와 같이 복제가 어려운 비밀 정보를 사용하는 것이 안전하다. 암호키 생성부(42)는 암호화 알고리즘을 내장하고 있다고 보면 된다.
암호키 저장부(43)는 암호키 생성부(42)에서 생성된 암호키를 저장한다. 또한, 암호키 저장부(43)는 서버(10)로부터의 암호키를 저장할 수 있다. 결국, 암호키 저장부(43)내의 암호키는 서버(10)와 공유한다고 볼 수 있다. 암호키는 본 발명의 특허청구범위에 기재된 키의 일 예가 될 수 있다.
복호화부(44)는 수신부(41)에 수신된 서버(10)로부터의 보안이 요구되는 화면 데이터를 복호화한다. 한편, 복호화부(44)는 수신부(41)에 수신된 클라이언트(20)에서의 MITM 공격 데이터를 복호화할 것이다. 복호화부(44)는 복호화 알고리즘을 내장하고 있다고 보면 된다.
여기서, 복호화부(44)는 서버(10)로부터의 보안이 요구되는 화면 데이터를 복호화할 때에는 암호키 저장부(43)에 저장되어 있는 암호키(즉, 서버(10)와 공유하고 있는 암호키)를 근거로 복호화를 수행하므로 정상적인 복호화가 이루어질 것이다. 그러나, 복호화부(44)가 클라이언트(20)에서의 MITM 공격 데이터를 복호화할 때에는 암호키 저장부(43)에 저장되어 있는 암호키와 MITM 공격 데이터의 암호키가 서로 다르므로 제대로 된 복호화가 이루어지지 않을 것이다.
화면(45)은 복호화부(44)에서 복호화된 화면 데이터를 디스플레이한다.
화면보안 표시부(46)는 화면보안 여부를 표시한다. 예를 들어, 화면보안 표시부(46)는 발광소자(LED)와 같은 표시소자를 통해 시각적인 표시를 행함으로써 사용자에게 화면보안의 온/오프 상태를 알려준다. 여기서, 화면보안이 오프(OFF)일 때에는 발광소자가 아무런 광도 출력하지 않고, 화면보안이 온(ON)일 때에는 발광소자가 녹색광을 출력하게 할 수 있다. 그리고, 발광소자는 하나 이상이면 된다. 화면보안 표시부(46)는 화면(45)과는 분리되어 스크린(30)에 설치될 수 있다.
악의의 공격자가 클라이언트(20)를 통해 서버(10)에서의 보안이 요구되는 화면 데이터와 유사한 데이터를 만들어 스크린(30)에게로 전송하였다고 하더라도 스크린(30)에 저장된 암호키를 모르기 때문에 비정상적인 화면 데이터(즉, MITM 공격 데이터)를 만들어 보낼 것이다. 결국, 복호화부(44)가 클라이언트(20)에서의 MITM 공격 데이터(암호화된 데이터)를 복호화하게 되면 제대로 된 복호화가 이루어지지 않게 되므로, 화면보안 표시부(46)는 이러한 경우를 표시할 수 있다. 예를 들어, 발광소자에서 적색광이 출력되게 하여 복호화가 제대로 되지 않았음을 표시할 수 있다.
한편, 화면보안 표시부(46)는 화면보안 상태일 때 화면보안 패턴 저장부(49)의 화면보안 패턴을 화면(45)에 함께 표시할 수 있다. 이때의 화면보안 패턴은 발광소자로 표시하는 것이 아니라 화면(45)의 테두리를 따라 녹색띠가 형성되는 형태를 취하는 것으로 할 수 있다. 또한, 클라이언트(20)가 스크린(30)에 보낸 데이터에 화면보안 패턴이 포함되어 있는 경우는 비정상적인 상태(즉, 악성코드가 탐지된 경우로 볼 수 있음)이므로, 화면보안 표시부(46)는 이를 표시할 수 있다.
암호화부(47)는 수신부(41)에 수신된 보안이 필요한 입력 데이터를 암호화한다. 이때, 암호화부(47)는 암호키 저장부(43)에 저장되어 있는 암호키를 근거로 암호화한다.
송신부(48)는 암호화부(47)에서 암호화된 입력 데이터를 서버(10)에게로 보낸다.
화면보안 패턴 저장부(49)는 화면보안 상태에서 화면(45)에 출력되어야 하는 화면보안 패턴을 저장한다.
제어부(50)는 스크린(30)의 내부 구성에 대한 제어를 담당한다. 즉, 제어부(50)는 수신부(41)를 통해 암호키를 수신하게 되면 이를 암호키 저장부(43)에 저장한다. 제어부(50)는 수신부(41)를 통해 비밀 정보를 수신하게 되면 이를 암호키 생성부(42)에게로 보낸다. 제어부(50)는 수신부(41)를 통해 보안이 요구되는 화면 데이터를 수신하게 되면 이를 복호화부(44)에게로 보낸다. 제어부(50)는 수신부(41)를 통해 보안이 필요한 입력 데이터를 수신하게 되면 이를 암호화부(47)에게로 보낸다. 제어부(50)는 화면보안 여부를 판단하여 그 결과를 화면보안 표시부(46)에게로 보내고, 악성코드를 탐지한 경우에는 그 사실을 화면보안 표시부(46)에게로 보낸다.
도 3은 본 발명의 실시예에 따른 MITM 공격 방지 방법의 일 예를 설명하는 플로우차트이고, 도 4 내지 도 7은 도 3의 설명에 채용되는 도면이다.
스크린(30)은 서버(10)로부터 암호키를 직접 제공받을 수 있지만, 이하의 설명에서는 비밀 정보를 수신하여 암호키를 생성하는 것으로 한다.
즉, 서버(10)가 발급한 비밀 정보를 사용자가 직접 스크린(30)에 입력할 수 있다. 그에 따라, 스크린(30)의 수신부(41)는 입력되는 비밀 정보를 수신한다(S10). 여기서, 스크린에 비밀 정보를 입력하는 방법을 예시하여 보면 도 4 ~ 도 6과 같다. 도 4는 스크린(30)에 터치스크린 기능이 있는 경우이다. 도 4에서, 화면(45)상의 가상 스크린(51)을 사용자가 터치하여 비밀 정보를 입력할 수 있다. 도 5는 스크린(30)에 USB 또는 PS/2 와 같은 입력단자가 있는 경우이다. 도 5에서, 입력단자에 키보드 및 마우스 등의 입력장치(52)를 연결하여 비밀 정보를 입력할 수 있다. 도 6은 스크린(30)에 카메라(53)가 있는 경우이다. 도 6에서, 카메라(53)가 비밀 정보를 직접 촬영하여 입력하거나, OCR 판독을 통해 비밀 정보를 입력할 수 있다. 한편, 카메라(53)가 다차원 코드(예컨대, QR 코드)를 촬영하고 촬영 정보에서 비밀 정보를 얻어내어 입력할 수 있다.
이와 같이 비밀 정보를 수신하게 되면 해당 비밀 정보는 암호키 생성부(42)에게로 보내진다. 암호키 생성부(42)는 수신한 비밀 정보를 이용하여 암호키를 생성하고, 생성된 암호키를 암호키 저장부(43)에 저장시킨다(S12).
물론, 이미 암호키가 암호키 저장부(43)에 존재한다면 상술한 S10, S12의 동작은 필요없을 것이다.
이후, 서버(10)가 보안이 요구되는 화면 데이터를 네트워크를 통해 스크린(30)에게로 보낸다. 그에 따라, 스크린(30)의 수신부(41)는 보안이 요구되는 화면 데이터를 수신한다(S14).
그에 따라, 스크린(30)의 제어부(50)는 보안이 요구되는 화면 데이터(예를 들어, 인터넷 계좌 이체 화면, 거래 금액 내역을 확인하기 위한 화면 데이터 등; 암호화된 데이터)를 복호화부(44)에게로 보낸다. 복호화부(44)는 보안이 요구되는 화면 데이터를 복호화한다.
그런데, 서버(10)가 공유된 암호키를 이용하여 암호화시킨 화면 데이터를 보낸다고 하더라도 악의의 공격자는 파밍 등의 기법을 이용하여 정교하게 사용자를 속일려고 할 것이다. 악의의 공격자가 클라이언트(20)를 통해 서버(10)에서의 보안이 요구되는 화면 데이터와 유사한 데이터를 만들어 스크린(30)에게로 전송하였다고 하더라도 스크린(30)에 저장된 암호키를 모르기 때문에 비정상적인 화면 데이터(즉, MITM 공격 데이터)를 만들어 보낼 것이다. 결국, 복호화부(44)는 클라이언트(20)에서의 MITM 공격 데이터(암호화된 데이터)를 복호화하게 되면 제대로 된 복호화가 이루어지지 않게 된다.
이와 같이 복호화가 정상적으로 이루어지지 않은 경우(S16에서 "No")에는 복호화부(44)는 이를 제어부(50)에게 알린다. 그에 따라, 제어부(50)는 화면보안 표시부(46)를 통해 적색광을 출력하는 경고를 행한다(S18). 물론, 제어부(50)는 화면보안 표시부(46)를 통한 경고와 함께 화면(45) 전체를 흑색으로 하여 아무것도 볼 수 없는 상태로 하여도 된다.
반대로, 복호화가 정상적으로 이루어진 경우(S16에서 "Yes")에는 복호화부(44)는 이를 제어부(50)에게 알린다. 그에 따라, 제어부(50)는 화면보안 온(ON) 상태인 것으로 판단하고 화면보안 표시부(46)를 통해 화면보안 온(ON)을 표시한다(S20). 예를 들어, 초기에는 도 7의 (a)에서와 같이 발광소자(54)가 소등되어 있는 상태인 화면보안 오프(OFF) 상태로 있다가, 화면보안 온(ON) 상태가 되면 도 7의 (b)에서와 같이 발광소자(54)가 녹색광을 출력하도록 점등시킨다.
그리고, 복호화부(44)는 복호화된 화면 데이터를 화면(45)에 표시한다(S22).
만약, 서버(10)가 일반 화면 데이터(즉, 보안이 요구되지 않는 화면 데이터이고 암호화되지 않은 화면 데이터)를 전송하는 경우에는 스크린(30)의 제어부(50)는 화면보안 오프(OFF) 상태로 결정하여 화면보안을 종료한다. 즉, 보안이 요구되는 화면이 종료되면 일반 화면으로 돌아간다고 보면 된다.
도 8은 도 1에 도시된 스크린에서 수신된 키보드로부터의 입력을 서버로 전송하기까지의 과정을 설명하는 플로우차트이다.
스크린(30)이 키보드 및 마우스와 연결된 것으로 가정하고 설명한다.
사용자가 키보드를 통해 보안이 필요한 입력 데이터를 입력하게 되면 수신부(41)는 보안이 필요한 입력 데이터를 수신한다(S30).
이어, 제어부(50)는 보안이 필요한 입력 데이터를 암호화부(47)에게로 인가한다.
그에 따라, 암호화부(47)는 보안이 필요한 입력 데이터를 암호키 저장부(43)에 저장되어 있는 암호키를 근거로 암호화한다(S32).
암호화된 입력 데이터는 송신부(48)를 통해 서버(10)에게로 전송된다(S34).
상술한 S30 ~ S34는 앞서 설명한 도 3에서의 S22 이후에 행해지는 것으로 볼 수도 있다. 즉, 보안이 요구되는 화면 데이터가 복호화되어 화면(45)에 디스플레이되면 사용자는 그 화면 데이터를 보고서 그에 상응하는 입력 데이터(즉, 보안이 필요한 입력 데이터)를 입력한다. 입력된 입력 데이터는 암호화되어 서버(10)에게로 보내지는 것이다.
여기서, 입력된 데이터는 화면보안이 동작중일 때에만 암호화되어 서버(10)에게로 전달된다고 할 수 있다. 이와 같은 S30 ~ S34의 동작이 행해지고 있는 동안에는 화면보안 온(ON) 상태이므로, 도 7의 (b)에서와 같이 발광소자(54)가 녹색광을 출력하고 있을 것이다.
도 9는 본 발명의 실시예에 따른 MITM 공격 방지 방법의 다른 예를 설명하는 플로우차트이고, 도 10은 도 9의 설명에 채용되는 도면이다.
먼저, 스크린(30)은 클라이언트(20)를 통해 소정의 화면 데이터를 수신한다(S40).
이후, 스크린(30)의 제어부(50)는 수신된 화면 데이터가 화면보안 패턴을 포함하고 있는지를 판단한다.
만약, 화면보안 패턴이 포함된 경우(S42에서 "Yes") 제어부(50)는 현재 입력된 화면 데이터는 악의적인 공격자가 보낸 MITM 공격 데이터(예컨대, 악성코드)인 것으로 판단한다(S44).
이와 같이 악성코드를 탐지한 경우에는 악성코드 탐지를 화면(46)에 표시한다(S46). 예를 들어, 도 10의 (a)에서와 같이 화면보안 오프(OFF) 상태에서 정상적인 화면보안 온(ON) 상태로 변화되는 경우에는 도 10의 (b)와 같이 화면(45)의 테두리를 따라 녹색띠가 형성되는 화면보안 패턴을 출력하게 된다. 이와 같은 상태에서, 악성코드가 탐지된 경우에는 도 10의 (c)와 같이 스크린(30)은 화면(45)의 테두리를 따라 적색띠가 형성되도록 한다. 이때, "악성코드가 탐지되었습니다", "중요 정보를 입력하지 마세요" 등과 같은 문자를 함께 표시할 수 있다.
즉, 화면보안 패턴은 스크린(30)에서만 생성하여 표출시킬 수 있는데, 악의의 공격자가 클라이언트(20)를 통해 화면보안 패턴을 만들어 화면 데이터와 함께 입력하게 되면 스크린(30)에서는 클라이언트(20)로부터의 화면 데이터에 특정한 신호(즉, 화면보안 패턴)가 포함되었음을 알 수 있으므로 MITM 공격 데이터가 입력된 것으로 판단할 수 있다.
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10 : 서버 20 : 클라이언트
30 : 스크린 41 : 수신부
42 : 암호키 생성부 43 : 암호키 저장부
44 : 복호화부 45 : 화면
46 : 화면보안 표시부 47 : 암호화부
48 : 송신부 49 : 화면보안 패턴 저장부
50 : 제어부

Claims (20)

  1. 클라이언트를 통해 서버와 연결된 스크린에 포함되는 MITM 공격 방지 장치로서,
    상기 서버와 공유하는 키를 저장하는 키 저장부;
    상기 클라이언트를 통해 입력되는 데이터를 상기 키를 근거로 복호화하여 화면상에 출력하는 복호화부;
    상기 복호화부에서의 복호화 정상 여부를 근거로 상기 화면의 화면보안 온 또는 경고를 행하는 화면보안 표시부;
    사용자로부터의 보안이 필요한 입력 데이터를 상기 키를 근거로 암호화하여 출력하는 암호화부; 및
    상기 복호화부에서의 복호화가 정상임에 따라 화면보안 온 상태로 하여 상기 복호화부 및 상기 암호화의 결과를 각각 출력되게 하고, 상기 복호화부에서의 복호화가 비정상임에 따라 상기 화면보안 표시부를 제어하여 그에 상응하는 표시를 행하는 제어부;를 포함하는 것을 특징으로 하는 MITM 공격 방지 장치.
  2. 청구항 1에 있어서,
    상기 키는 상기 서버로부터 직접 제공받거나, 비밀 정보를 근거로 생성되는 것을 특징으로 하는 MITM 공격 방지 장치.
  3. 청구항 2에 있어서,
    상기 비밀 정보는 패스워드, 보안카드, 공인인증서, OTP, TAN 중의 어느 하나인 것을 특징으로 하는 MITM 공격 방지 장치.
  4. 청구항 2에 있어서,
    상기 비밀 정보는 상기 화면상의 가상 스크린을 터치하여 입력되는 것을 특징으로 하는 MITM 공격 방지 장치.
  5. 청구항 2에 있어서,
    상기 비밀 정보는 상기 스크린에 설치된 입력단자에 연결된 키보드 및 마우스를 통해 입력되는 것을 특징으로 하는 MITM 공격 방지 장치.
  6. 청구항 2에 있어서,
    상기 비밀 정보는 상기 스크린에 설치된 카메라를 통해 입력되는 것을 특징으로 하는 MITM 공격 방지 장치.
  7. 청구항 1에 있어서,
    상기 화면보안 표시부는 발광소자를 포함하고,
    상기 화면보안 표시부는 상기 복호화부에서의 복호화가 정상이면 상기 화면보안 온을 의미하는 녹색광을 출력하는 것을 특징으로 하는 MITM 공격 방지 장치.
  8. 청구항 1에 있어서,
    상기 화면보안 표시부는 발광소자를 포함하고,
    상기 화면보안 표시부는 상기 복호화부에서의 복호화가 비정상이면 적색광을 출력하여 경고하는 것을 특징으로 하는 MITM 공격 방지 장치.
  9. 청구항 1에 있어서,
    상기 화면보안 온 상태일 때 상기 화면에 표시되는 화면보안 패턴을 저장하는 화면보안 패턴 저장부;를 추가로 포함하는 것을 특징으로 하는 MITM 공격 방지 장치.
  10. 청구항 9에 있어서,
    상기 제어부는 상기 클라이언트로부터의 데이터에 상기 화면보안 패턴이 포함되었으면 상기 화면보안 표시부를 통해 경고하는 것을 특징으로 하는 MITM 공격 방지 장치.
  11. 클라이언트를 통해 서버와 연결된 스크린에 포함되는 MITM 공격 방지 장치에서의 MITM 공격 방지 방법으로서,
    상기 클라이언트를 통해 입력되는 데이터를 수신하는 단계;
    상기 데이터를 상기 서버와 공유하고 있는 키를 근거로 복호화하는 단계; 및
    상기 복호화하는 단계에서의 복호화 정상 여부를 근거로 상기 스크린의 화면의 화면보안 온 또는 경고를 행하는 단계;를 포함하는 것을 특징으로 하는 MITM 공격 방지 방법.
  12. 청구항 11에 있어서,
    상기 키는 상기 서버로부터 직접 제공받거나, 비밀 정보를 근거로 생성되는 것을 특징으로 하는 MITM 공격 방지 방법.
  13. 청구항 12에 있어서,
    상기 비밀 정보는 패스워드, 보안카드, 공인인증서, OTP, TAN 중의 어느 하나인 것을 특징으로 하는 MITM 공격 방지 방법.
  14. 청구항 12에 있어서,
    상기 비밀 정보는 상기 화면상의 가상 스크린을 터치하여 입력되는 것을 특징으로 하는 MITM 공격 방지 방법.
  15. 청구항 12에 있어서,
    상기 비밀 정보는 상기 스크린에 설치된 입력단자에 연결된 키보드 및 마우스를 통해 입력되는 것을 특징으로 하는 MITM 공격 방지 방법.
  16. 청구항 12에 있어서,
    상기 비밀 정보는 상기 스크린에 설치된 카메라를 통해 입력되는 것을 특징으로 하는 MITM 공격 방지 방법.
  17. 청구항 11에 있어서,
    상기 스크린의 화면의 화면보안 온 또는 경고를 행하는 단계는 상기 복호화가 정상이면 발광소자를 구동시켜 상기 화면보안 온을 의미하는 녹색광을 출력하는 것을 특징으로 하는 MITM 공격 방지 방법.
  18. 청구항 11에 있어서,
    상기 스크린의 화면의 화면보안 온 또는 경고를 행하는 단계는 상기 복호화가 비정상이면 발광소자를 구동시켜 적색광을 출력하여 경고하는 것을 특징으로 하는 MITM 공격 방지 방법.
  19. 청구항 11에 있어서,
    상기 화면보안 온일 때 기저장된 화면보안 패턴을 상기 화면에 표시하는 단계;를 추가로 포함하는 것을 특징으로 하는 MITM 공격 방지 방법.
  20. 청구항 19에 있어서,
    상기 클라이언트로부터의 데이터에 상기 화면보안 패턴이 포함되었으면 이를 경고하는 단계;를 추가로 포함하는 것을 특징으로 하는 MITM 공격 방지 방법.
KR1020140055316A 2014-05-09 2014-05-09 Mitm 공격 방지 장치 및 방법 KR101634785B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140055316A KR101634785B1 (ko) 2014-05-09 2014-05-09 Mitm 공격 방지 장치 및 방법
PCT/KR2014/007619 WO2015170801A1 (ko) 2014-05-09 2014-08-18 Mitm 공격 방지 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140055316A KR101634785B1 (ko) 2014-05-09 2014-05-09 Mitm 공격 방지 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20150128252A true KR20150128252A (ko) 2015-11-18
KR101634785B1 KR101634785B1 (ko) 2016-06-29

Family

ID=54392640

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140055316A KR101634785B1 (ko) 2014-05-09 2014-05-09 Mitm 공격 방지 장치 및 방법

Country Status (2)

Country Link
KR (1) KR101634785B1 (ko)
WO (1) WO2015170801A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100284482B1 (ko) * 1998-10-10 2001-03-15 구자홍 데이터 암호화 방법
JP2009124311A (ja) * 2007-11-13 2009-06-04 Kddi Corp 相互認証システム、相互認証方法およびプログラム
JP2009223375A (ja) * 2008-03-13 2009-10-01 Ntt Communications Kk 悪性Webサイト判定装置、悪性Webサイト判定システム、それらの方法、プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101210411B1 (ko) * 2011-02-15 2012-12-10 동서대학교산학협력단 공인인증서와 키수열발생기로 생성되는 otp를 이용한 트렌젝션보호 시스템 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100284482B1 (ko) * 1998-10-10 2001-03-15 구자홍 데이터 암호화 방법
JP2009124311A (ja) * 2007-11-13 2009-06-04 Kddi Corp 相互認証システム、相互認証方法およびプログラム
JP2009223375A (ja) * 2008-03-13 2009-10-01 Ntt Communications Kk 悪性Webサイト判定装置、悪性Webサイト判定システム、それらの方法、プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
정보보호학회논문지(제 84면 내지 99면)(2011.12) *

Also Published As

Publication number Publication date
WO2015170801A1 (ko) 2015-11-12
KR101634785B1 (ko) 2016-06-29

Similar Documents

Publication Publication Date Title
US11856104B2 (en) Methods for secure credential provisioning
JP7257561B2 (ja) コンピュータに実装される方法、ホストコンピュータ、コンピュータ読み取り可能な媒体
JP5981610B2 (ja) 電子取引用のネットワーク認証方法
RU158940U1 (ru) Токен строгой аутентификации с визуальным выводом подписей инфраструктуры открытых ключей (pki)
KR101878149B1 (ko) 패스워드의 보안 입력 및 처리 장치, 시스템 및 방법
EP3092769B1 (en) Authentication system and method
AU2022100184A4 (en) System for and method of authenticating a component of an electronic device
KR20130131682A (ko) 웹 서비스 사용자 인증 방법
US20110202772A1 (en) Networked computer identity encryption and verification
US9674166B2 (en) Method for securing a request for executing a first application, by a second application
JP6378424B1 (ja) 無欠性及び保安性が強化された使用者認証方法
KR101856530B1 (ko) 사용자 인지 기반 암호화 프로토콜을 제공하는 암호화 시스템 및 이를 이용하는 온라인 결제 처리 방법, 보안 장치 및 거래 승인 서버
KR101754519B1 (ko) 일회용 키를 이용하여 키보드를 통해 입력된 데이터를 보호하기 위한 키보드 보안 시스템 및 방법
KR102308248B1 (ko) 양자난수 기반의 양자암호화칩이 탑재된 비화게이트웨이 및 이를 이용한 IoT디바이스간 비화통신 서비스 제공방법
KR101634785B1 (ko) Mitm 공격 방지 장치 및 방법
KR101271464B1 (ko) 이중 인증 시스템의 비밀키 암호화 방법
US20240005820A1 (en) Content encryption and in-place decryption using visually encoded ciphertext
WO2011060738A1 (zh) 一种确认cpu卡内数据的方法
Nyang et al. Decryptable to Your Eyes: Visualization of Security Protocols at the User Interface
KR20160099767A (ko) 상호인증 및 결제정보의 분할을 통한 보안 결제 방법, 디지털 시스템, 및 결제인증 시스템
KR20160099766A (ko) 코드분할과 복호화 키의 분리점유를 통한 보안 결제 방법, 디지털 시스템, 및 결제인증 시스템
KR20100120835A (ko) 보안 입력 장치 및 이를 이용한 보안 방법
KR20140142440A (ko) 지정 pc(유,무선)과 2채널을 통한 보안 인증

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant