[go: up one dir, main page]

KR100928467B1 - 클립보드 보안 시스템 및 방법 - Google Patents

클립보드 보안 시스템 및 방법 Download PDF

Info

Publication number
KR100928467B1
KR100928467B1 KR1020090007885A KR20090007885A KR100928467B1 KR 100928467 B1 KR100928467 B1 KR 100928467B1 KR 1020090007885 A KR1020090007885 A KR 1020090007885A KR 20090007885 A KR20090007885 A KR 20090007885A KR 100928467 B1 KR100928467 B1 KR 100928467B1
Authority
KR
South Korea
Prior art keywords
clipboard
data
security
trust
information
Prior art date
Application number
KR1020090007885A
Other languages
English (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 KR1020090007885A priority Critical patent/KR100928467B1/ko
Application granted granted Critical
Publication of KR100928467B1 publication Critical patent/KR100928467B1/ko
Priority to JP2011547810A priority patent/JP2012517047A/ja
Priority to US13/147,287 priority patent/US9147050B2/en
Priority to PCT/KR2010/000621 priority patent/WO2010087678A2/ko
Priority to EP10736069.5A priority patent/EP2393033B1/en

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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1064Restricting content processing at operating system level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

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

Abstract

본 발명은 컴퓨터 활용 시 빈번하게 사용되는 클립보드를 통한 데이터 전송의 보안성을 높일 수 있도록 한 클립보드 보안 시스템 및 방법에 관한 것으로, 보안이 필요한 응용프로그램이나 문서와 같은 데이터 복사 및 추출이 가능한 객체를 대상으로 하는 클립보드의 데이터 전달 내용을 암호화하여 신뢰할 수 있는 보안 객체들 사이에서는 클립보드를 이용하여 데이터를 전달할 수 있으나 보안 객체로부터 클립보드에 저장된 데이터를 신뢰할 수 없는 객체로는 전달할 수 없거나 혹은 암호화된 상태로 전달하도록 하여 클립보드를 통한 보안 데이터의 유출을 효과적으로 방지할 수 있으면서도 클립보드를 이용한 작업 효율은 그대로 유지할 수 있는 뛰어난 효과가 있다.
클립보드, 응용 프로그램, 객체, 복사, 붙여넣기, 암호화, 보안

Description

클립보드 보안 시스템 및 방법{CLIPBOARD SECURITY SYSTEM AND METHOD THEREOF}
본 발명은 클립보드 보안 시스템 및 방법에 관한 것으로, 특히 컴퓨터 활용 시 빈번하게 사용되는 클립보드를 통한 데이터 전송의 보안성을 높일 수 있도록 한 클립보드 보안 시스템 및 방법에 관한 것이다.
다양한 운영체제에서 임의의 프로그램 데이터를 다른 곳으로 전달하기 위한 목적으로 클립보드 혹은 그와 유사한 공간을 제공하고 있으며, 이는 컴퓨터 이용 시 가장 빈번하게 사용되는 운영체제 기능 중 하나로 꼽히고 있다.
이러한 클립보드를 통한 데이터의 전달은 기본적으로 보안이 전혀 고려되고 있지 않으므로 운영체제에서 실행되는 모든 프로그램은 클립보드에 저장된 데이터를 이용할 수 있다.
도 1은 운영체제가 제공하는 클립보드로 데이터를 저장한 후 이를 요청하여 추출하는 상황을 보인 것으로, 실행중인 응용프로그램들은 클립보드(1)에 자유롭게 데이터를 평문으로 저장하고 추출하여 활용할 수 있음을 알 수 있다.
예를 들어, 응용프로그램 2(5)에서 저장한 데이터를 응용프로그램 1(4)에서 편집 중인 문서 2(3)에서 추출하여 붙여 넣을 수 있고, 응용프로그램 1(4)에서 편집 중인 문서 2(3)에서 저장한 데이터를 문서 1(2)에서 추출하여 붙여 넣을 수 있으며, 문서 1(2)에서 저장한 데이터를 다시 문서 1(2)에서 추출하여 붙여 넣을 수 있다.
이러한 클립보드 상의 데이터는 해당 데이터 포맷을 활용할 수 있는 임의의 프로그램 간 자유롭게 전달되어 이용될 수 있기 때문에 단순 텍스트, 서식이 있는 텍스트, 그림은 물론이고, 특정한 포맷을 가지는 정보들까지도 해당 정보를 이용할 수 있는 기능을 가지는 프로그램 간 전달이 가능하게 된다.
클립보드에 의한 프로그램 간 정보 전달은 운영체제의 멀티태스킹 기능을 적절하게 활용하는 효율적인 방법임에는 틀림없으나, 중요한 데이터에 대한 보안 필요성이 높아짐에 따라 클립보드를 통한 독립적 프로그램들 간 전송되는 데이터를 보호할 필요성이 대두되게 되었다.
예를 들어, 보안 문서를 관리하면서 해당 문서 내용의 유출을 방지하기 위하여 해당 문서의 사본을 만들 수 없게 하거나 해당 문서를 다른 저장 장소로 옮기거나 외부로 전송할 수 없도록 철저히 관리하는 기능을 도입했다 하더라도, 해당 보안 문서의 내용을 클립보드를 이용하여 제한이 없는 일반 문서로 전송하여 유출할 수 있고, 클립보드에 저장된 내용을 인가받지 않은 누군가가 엿볼 수도 있다.
따라서 클립보드를 통한 데이터 전송을 관리하여 보안성을 높일 필요가 있 다.
비록, 클립보드를 확장하여 복수의 임시 저장 정보를 관리하도록 하는 어플리케이션(예를 들어, 매킨토시의 스크랩북, 윈도우즈의 클립보드 확장 어플리케이션들(매니 페이스트(Many Paste), 멀티 클립보드, 클립 트레이, 트레이 텍스트 등))이 존재하고 있으나, 이러한 어플리케이션들은 주로 복수의 평문을 저장하고 이들 중 원하는 것을 선택하여 활용할 수 있도록 하는 기능을 제공하고 있을 뿐, 보안에 관련된 기능은 제공하고 있지 못하며, 디지털 저작권 관리(Digital Rights Management, 이하 DRM이라 칭함) 시스템의 도입으로 특정한 콘텐츠가 제공될 경우 사본 생성을 방지하기 위해 클립보드 기능을 차단하는 관리가 이루어지고 있으나 이 역시 단순한 클립보드 기능의 차단에 불과하여 클립보드를 통한 컴퓨터 작업 능률을 극히 낮추게 된다.
즉, 운영체제의 기본 기능인 클립보드는 문서 작업, 그림 작업, 프로그램 작업, 프레젠테이션 작업 등 각종 컴퓨터 활용 작업에 대단히 자주 사용되는 기능이기 때문에 이를 차단할 경우 작업 능률이 크게 낮아지게 되므로 기본적인 클립보드 사용을 허용한 상태에서 보안이 필요한 데이터에 대한 클립보드 전달을 효과적으로 통제할 수 있어야 한다.
한편, 이러한 클립보드 이용을 통제하기 위하여 클립보드의 이용을 통합 관리하는 수단을 적용하는 경우도 있었지만 신뢰성이 낮아 정보 유출을 차단하기 위한 본격적인 보안용으로는 사용이 어려운 한계가 있다. 즉, 기존의 클립보드 관리 수단은 정보의 흐름을 통제하여 보안이 필요한 정보를 신뢰할 수 없는 곳으로 전달 하지 못하도록 차단하도록 구성되며, 이러한 구성에서는 클립보드에 대한 모든 정보 흐름을 빠짐없이 감시해야하며, 만일 이러한 정보 제어가 한 곳이라도 실패할 경우에는 정보 유출이 발생하게 되며 다양한 상황이 발생되는 단말의 특성상 신뢰성이 낮다.
따라서 클립보드의 자유로운 이용과, 보안 내용의 통제 신뢰성 및 정보 유출 차단에 대한 명시적 신뢰성이 보장되는 클립보드 보안 방식이 절실하다.
클립보드의 사용을 허용한 상태에서 보안이 필요한 데이터를 효과적으로 통제하기 위하여 새롭게 제안하는 본 발명 실시예들의 목적은 보안이 필요한 응용프로그램이나 문서와 같은 데이터 복사 및 추출이 가능한 객체를 대상으로 하는 클립보드의 데이터 전달 내용을 암호화하여 신뢰할 수 있는 보안 객체들 사이에서는 클립보드를 이용하여 데이터를 전달할 수 있으나 보안 객체로부터 클립보드에 저장된 데이터를 신뢰할 수 없는 객체로는 전달할 수 없거나 혹은 암호화된 상태로 전달하도록 하여 보안 데이터의 유출을 방지할 수 있도록 한 클립보드 보안 시스템 및 방법을 제공하는 것이다.
본 발명 실시예들의 다른 목적은 클립보드 관리부를 구성하여 신뢰할 수 있는 객체로부터 제공되는 데이터를 암호화하여 클립보드에 저장하고, 신뢰할 수 있는 객체로부터 요구되는 클립보드 데이터를 복호화하여 제공할 수 있도록 한 클립보드 보안 시스템 및 방법을 제공하는 것이다.
본 발명 실시예들의 또 다른 목적은 보안이 필요한 정보를 비밀키로 관리하는 DRM부가 적용된 단말에서 신뢰 객체들 간의 클립보드 이용 데이터의 암호화 및 복호화 과정에 필요한 신뢰성 파악 및 비밀키 확보를 상기 DRM부를 이용하여 수행하도록 하여 보안성과 적용 편의성을 높일 수 있도록 한 클립보드 보안 시스템 및 방법을 제공하는 것이다.
본 발명 실시예들의 또 다른 목적은 신뢰할 수 있는 객체들의 클립보드 사용 과 신뢰할 수 없는 객체들의 클립보드 사용을 모두 감시하여 보안이 필요한 데이터는 암호화하여 클립보드에 적용하고, 신뢰할 수 있는 객체에게는 복호화한 평문을 제공하며, 신뢰할 수 없는 객체에게는 암호화된 데이터를 전달하는 대신 클립보드가 비어 있음을 통지하도록 함으로써, 클립보드 사용 통제와 안정성 확보를 기대할 수 있도록 한 클립보드 보안 시스템 및 방법을 제공하는 것이다.
본 발명 실시예들의 또 다른 목적은 보안 데이터 암호화 시 암호화 관련 정보와 위변조 방지 정보를 생성하여 해당 정보를 통한 클립보드 관리가 가능하도록 하여 안전성과 독립성을 높이고, 클립보드 관리부를 API나 후킹 혹은 이들의 결합을 포함하는 다양한 방식으로 구현하도록 하여 보안성과 안정성을 높일 수 있도록 한 클립보드 보안 시스템 및 방법을 제공하는 것이다.
본 발명 실시예들의 또 다른 목적은 화면 캡처를 통한 클립보드 정보 저장 시 보안 대상 객체의 실행 여부나 노출 여부에 따라 상기 보안 대상 객체가 신뢰하는 객체로만 해당 정보의 전달이 가능하도록 통제하여 화면 캡처에 따른 데이터 유출을 방지할 수 있도록 한 클립보드 보안 시스템 및 방법을 제공하는 것이다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 클립보드 보안 시스템은 운영체제의 기본 기능으로 어플리케이션 독립적으로 데이터를 저장 및 추출하여 전달하는 클립보드를 관리하는 클립보드 보안 시스템으로서, 클립보드에 데이터를 저장하고자 하는 객체에 따라 저장하고자 하는 데이터를 선별적으로 암호화하여 클립보드에 저장하고, 클립보드에 저장된 암호화된 데이터를 추출하고자 하는 객체에 따라 암호화된 데이터를 복호화하여 평문으로 전달하며, 상기 암호화된 데이터의 변조 여부 확인을 위한 위변조 방지 인증 코드를 적용하는 클립보드 관리부를 포함하여 이루어진다.
상기 객체는 보안이 필요한 신뢰할 수 있는 객체와 보안이 필요하지 않은 신뢰할 수 없는 객체를 포함하며, 상기 신뢰할 수 있는 객체는 상기 클립보드 관리부에 데이터를 저장하거나 추출하고자 할 경우 신뢰 식별자를 제공하거나, 상기 클립보드 관리부가 상기 객체로부터 신뢰 식별자를 획득한다.
상기 클립보드 보안 시스템은 신뢰 식별자에 대응하는 비밀키를 제공하는 DRM(Digital Rights Management)부를 더 포함하며, 상기 클립보드 관리부는 상기 DRM부에 상기 객체로부터 얻은 신뢰 식별자를 제공하여 비밀키를 획득한 후 이를 이용하여 상기 데이터를 암호화 혹은 복호화할 수 있다.
상기 클립보드 관리부는 상기 객체의 실행에 따라 동작하는 API(Application Programming Interface) 방식이나 모든 종류의 객체 실행을 감시하는 후킹(hooking) 방식으로 동작할 수 있다.
상기 클립보드 관리부는 상기 암호화된 데이터를 추출하고자 하는 객체가 신뢰할 수 없는 객체인 경우 클립보드가 비었음을 나타내는 정보를 제공할 수 있다.
상기 클립보드 관리부는 화면 캡처시 보안이 필요한 객체의 실행 또는 노출 여부에 따라 상기 캡처 된 영상 데이터를 상기 보안이 필요한 객체로부터 제공된 데이터처럼 암호화하여 클립보드에 저장할 수 있다.
본 발명의 다른 실시예에 따른 클립보드 보안 시스템은 데이터를 저장 및 제 공하는 클립보드와; 클립보드에 데이터를 저장 및 추출하며, 신뢰 정보를 제공하는 신뢰 객체와; 상기 신뢰 객체의 상기 신뢰 정보를 근거로 저장하고자 하는 데이터를 암호화하여 상기 클립보드에 저장하고, 상기 신뢰 정보를 근거로 추출하고자 하는 암호화된 데이터를 복호화하여 상기 신뢰 객체에 제공하는 클립보드 관리부를 포함하여 이루어진다.
본 발명의 또 다른 실시예에 따른 클립보드 보안 방법은 보안이 필요한 신뢰 객체의 클립보드 이용을 관리하는 클립보드 관리부를 통한 클립보드 보안 방법으로서, 보안이 요구되는 신뢰 객체로부터 신뢰 정보와 데이터를 수신하는 데이터 수신 단계와; 상기 수신 단계에서 수신한 데이터를 암호화하여 클립보드에 저장하는 저장 단계와; 신뢰 객체로부터 데이터 추출 요청 정보와 신뢰 정보를 수신하여 상기 클립보드에 암호화된 데이터를 복호화하는 복호화 단계와; 상기 복호화된 데이터를 상기 데이터 추출 요청 신뢰 객체에 평문으로 전달하는 데이터 추출 단계를 포함하여 이루어진다.
상기 데이터 수신 단계 또는 상기 복호화 단계는 수신된 신뢰 정보를 신뢰 정보에 따라 보안용 비밀키를 제공하는 별도로 마련된 DRM부에 전달하여 비밀키를 획득한 후 이를 이용하여 데이터를 암호화 또는 복호화하는 단계를 포함할 수 있다.
본 발명 실시예에 따른 클립보드 보안 시스템 및 방법은 보안이 필요한 응용 프로그램이나 문서와 같은 데이터 복사 및 추출이 가능한 객체를 대상으로 하는 클립보드의 데이터 전달 내용을 암호화하여 신뢰할 수 있는 보안 객체들 사이에서는 클립보드를 이용하여 데이터를 전달할 수 있으나 보안 객체로부터 클립보드에 저장된 데이터를 신뢰할 수 없는 객체로는 전달할 수 없거나 혹은 암호화된 상태로 전달하도록 하여 클립보드를 통한 보안 데이터의 유출을 효과적으로 방지할 수 있으면서도 클립보드를 이용한 작업 효율은 그대로 유지할 수 있는 뛰어난 효과가 있다.
본 발명 실시예에 따른 클립보드 보안 시스템 및 방법은 클립보드 관리부를 구성하여 신뢰할 수 있는 객체로부터 제공되는 데이터를 암호화하여 클립보드에 저장하고, 신뢰할 수 있는 객체가 요구하는 클립보드 데이터를 복호화하여 제공하도록 함으로써, 신뢰할 수 없는 객체가 클립보드 내부의 정보를 확보하더라도 그 내용을 확인할 수 없도록 하여 보안성을 높일 수 있는 효과가 있다.
본 발명 실시예에 따른 클립보드 보안 시스템 및 방법은 보안이 필요한 정보를 비밀키로 관리하는 DRM부가 적용된 단말에서 신뢰 객체들 간의 클립보드 이용 데이터의 암호화 및 복호화 과정에 필요한 신뢰성 파악 및 비밀키 획득을 상기 DRM부를 이용하여 처리함으로써 보안성과 적용 편의성을 높일 수 있는 효과가 있다.
본 발명 실시예에 따른 클립보드 보안 시스템 및 방법은 보안 데이터 암호화 시 암호화 관련 정보와 위변조 방지 정보를 생성하여 해당 정보를 통한 클립보드 관리가 가능하도록 하여 안전성과 독립성을 높이고, 클립보드 관리부를 API나 후킹 혹은 이들의 결합을 포함하는 다양한 방식으로 구현하도록 하여 보안성과 안정성을 높일 수 있는 효과가 있다.
본 발명 실시예에 따른 클립보드 보안 시스템 및 방법은 화면 캡처를 통한 클립보드 정보 저장 시 보안 대상 객체의 실행 여부나 노출 여부에 따라 상기 보안 대상 객체가 신뢰하는 객체로만 해당 정보의 전달이 가능하도록 통제하여 화면 캡처에 따른 데이터 유출을 방지할 수 있는 효과가 있다.
상기한 바와 같은 본 발명을 첨부된 도면들과 실시예들을 통해 상세히 설명하도록 한다.
도 2는 본 발명의 동작을 설명하기 위해 클립보드를 사용할 수 있는 대상을 명확히 하기 위한 개념도로서, 클립보드를 사용할 수 있는 대상은 각종 응용 프로그램들과, 해당 응용 프로그램들이 관리하는 개별 문서들, 편집 창들을 비롯한 다양한 서브 윈도우들 등 그 종류가 다양하기 때문에 이들을 통칭하여 본 실시예에서는 '객체'라는 용어를 사용하도록 한다. 일반적으로 전산학에서 객체란 저장 공간이나 할당된 공간을 의미하거나 자료 혹은 명령을 포함하는 개념으로 사용되고 있으나, 일반적인 관점에서 객체란 독립적인 인식의 대상이나 동작을 실천하는 대상을 의미하므로, 본 실시예에서는 클립보드에 데이터를 저장할 수 있거나, 클립보드로부터 데이터를 추출하여 붙여 넣을 수 있는 동작을 실천하는 독립적 대상을 의미하는 것으로 간주한다.
즉, 객체 1(6)은 클립보드(8)에 데이터를 저장할 수 있고, 객체 2(7)는 상기 클립보드에 저장된 데이터를 추출하여 붙여 넣을 수 있다. 상기 객체1 및 2(6, 7)는 응용프로그램, 문서, 서브 윈도우 등 다양한 대상이 될 수 있다.
이렇게 다양한 객체들로부터 불특정하게 제공되는 데이터를 저장하고, 역시 다양한 객체들로부터 불특정하게 요청되어 데이터가 추출되는 클립보드는 이러한 편의성만큼 보안에 취약하게 되는데, 이를 방지하기 위해서는 데이터 저장과 추출 과정에 대한 통제가 필요하게 된다.
도 3은 본 발명의 실시예에 따른 클립보드 보안 시스템의 개념을 보인 것으로, 도시한 바와 같이 보안이 요구되는 신뢰 객체인 객체 1(11)이 클립보드에 저장하는 평문 데이터를 암호화하여 클립보드(200)에 저장하고, 상기 객체 1(11)과 같이 보안이 요구되며 객체 1(11)이 신뢰할 수 있는 객체 2(12)가 클립보드(200)에 저장된 데이터의 추출을 요청할 경우 상기 암호화되어 저장된 데이터를 복호화하여 상기 객체 2(12)에 제공하는 클립보드 관리부(100)를 포함하여 구성된다.
상기 객체 1(11)이 신뢰할 수 없는 객체 3(13)은 상기와 같은 과정으로 상기 클립보드(200)에 저장된 암호화된 데이터의 추출을 요청하여 해당 암호화된 데이터를 획득할 수 있으나, 해당 데이터는 암호화된 상태이므로 이를 이용할 수 없게 된다.
즉, 신뢰관계에 있는 객체들 사이의 클립보드 이용 시에는 클립보드 관리부(100)가 평문을 암호화하고, 복호화하여 평문으로 전환함으로써 각 객체들 입장에서는 일반적인 클립보드 사용과 동일한 결과를 얻게 되지만, 실질적으로 클립보드에 저장되는 데이터는 암호화된 것이기 때문에 비 신뢰 객체는 클립보드로부터 보안이 필요한 객체로부터 저장된 데이터를 얻을 수 있더라도 이를 활용할 수 없게 된다. 따라서 단말의 환경이 어떻게 변화되고 시스템 동작 상태가 어떻게 변화되더라도 보안이 필요한 데이터는 암호화된 상태로 클립보드에 저장되기 때문에 해당 데이터의 내용이 유출될 가능성을 원천적으로 차단할 수 있게 된다.
이러한 구성을 이용할 경우 안전한 데이터 전송을 위해 모든 객체들의 클립보드 입출력을 감시하지 않아도 되므로 관리가 용이해지는 장점이 있다.
여기서, 객체 1(11)이 객체 2(12)를 신뢰한다는 것은 객체 1(11)이 제공한 데이터를 암호화한 암호화 데이터를 객체 2(12)가 복호화할 수 있음을 의미하며, 일반적인 신뢰 객체는 보안이 필요한 데이터를 이용하고 있는 객체로서 클립보드에 데이터를 저장할 경우 암호화하여 저장해야하고, 암호화되어 저장된 데이터 중 신뢰관계 객체로부터 제공된 암호화 데이터인 경우 복호화를 통해 평문 데이터를 얻을 수 있는 객체라는 것을 의미한다. 반면에 비신뢰 객체는 보안이 필요하지 않은 데이터를 이용하는 객체를 의미한다. 따라서 실제 구현 시 신뢰 객체는 클립보드 관리부(100)에 신뢰 객체임을 나타내는 정보나 신뢰를 식별할 수 있는 정보(예를 들어, 기업체의 경우 기업 고유 번호, 특정 이용자 집단의 경우 해당 집단의 고유 번호 등)를 제공하거나 클립보드 관리부(100)가 해당 정보를 확인할 수 있어야 한다(예를 들어, 해당 객체(어플리케이션)의 등록 사용자 정보 등).
도 4는 사용자 편의성을 높이고 시스템 운영 안정성을 높이기 위하여 비 신뢰 객체가 암호화된 데이터를 클립보드로부터 추출할 경우 클립보드에 데이터가 없는 것처럼 클립보드 관리부(110)가 처리하도록 하는 경우를 보인 것이다.
도 3과 같이 암호화된 데이터가 비신뢰 객체에 추출되어 복사될 경우, 암호화된 문자열이 붙여넣기 되거나 데이터 형식 오류가 나타날 수 있고, 그 외의 예상하지 못한 증상이 발생할 수 있어 안정성이 낮아지고 사용자는 잘못 붙인 정보를 지우거나 오류를 해소하는 등의 불편이 발생할 수 있다.
따라서 도시한 바와 같이 신뢰할 수 있는 객체 1과 객체 2(21, 22) 사이에서 클립보드(200)를 이용한 데이터 전송이 이루어질 경우 데이터를 암호화 및 복호화하는 클립보드 관리부(110)가 암호화된 데이터를 클립보드(200)로부터 추출하고자 하는 비 신뢰 객체인 객체 3(23)에게 암호화된 데이터를 제공해야하는 경우에는 암호화된 데이터를 제공하는 대신 클립보드가 비어 있음을 나타내는 정보를 제공하도록 구성할 수 있다. 이를 위하여 별도의 관리부를 더 구성할 수도 있고, 신뢰 객체를 관리하는 클립보드 관리부와 비신뢰 객체를 관리하는 클립보드 관리부를 구분하여 구성할 수도 있다.
도 5는 앞서 설명한 클립보드 보안 시스템이 DRM(Digital Rights Management) 시스템에 적용, 연동되거나 혹은 DRM 수단을 채용하는 경우의 구체적인 동작 과정을 보인 개념도로서, 신뢰 객체의 신뢰성 판단과, 암호화 및 복호화에 필요한 키(key)를 DRM부(300)를 통해서 수행하는 경우를 보인 것이다. 여기서 상기 DRM부(300)는 단말에 구성되거나 네트워크로 연결된 원격 서버에 구성될 수도 있으며, 일반적으로 알려져 있는 키(대칭키, 비밀키, 공개키 등의 암호화 및 복호화 키)의 관리와 신뢰 정보의 관리에 대한 보안성이 확립되어 있어, 이를 활용하거나 연동할 경우 보안성을 극히 높일 수 있다. 물론, 도시된 DRM부(300)가 본 실시예에 서 제공하는 기능이 클립보드 관리부(120)에 내장되어 클립보드 보안 시스템 전용 구성이 이루어질 수도 있다.
도시한 바와 같이 신뢰 객체 1(31)과 신뢰 객체 2(32)가 있을 경우, 신뢰 객체 1(31)이 평문 데이터를 클립보드에 저장하고자 할 때, 클립보드 관리부(120)가 해당 데이터와 상기 객체 1(31)의 신뢰 정보(신뢰관계를 나타내는 정보로서, 예를 들어 기업의 경우 기업 고유 정보와 같은 일종의 신뢰 식별자)를 획득하여 상기 수신 데이터를 암호화하면서 암호화에 관련된 정보를 생성하여 상기 암호화된 데이터에 함께 클립보드(200)에 저장한다. 이때, 상기 암호화에 관련된 정보 중 노출되면 안 되는 정보는 암호화되어 상기 암호화된 데이터에 포함된다. 그리고 객체 2(32)가 상기 클립보드(200)에 데이터 추출을 요청할 경우 클립보드 관리부(120)는 상기 암호화된 데이터와 관련 암호화 정보를 상기 클립보드(200)로부터 획득하여 상기 객체 2(32)로부터 획득한 신뢰정보를 근거로 신뢰 관계를 확인한 후 암호화된 데이터를 복호화하여 평문 데이터를 상기 객체 2(32)에 제공한다.
이러한 과정에서 상기 암호화 정보와 객체의 신뢰관계 확인은 상기 클립보드 관리부(120)가 자체적으로 수행할 수 있으나, 도시된 바와 같이 보안 기능이 뛰어난 DRM부(300)가 존재하여 보안 정보를 통제하기 위한 비밀키와 보안이 필요한 객체들에 대한 신뢰 정보를 관리할 경우 신뢰 여부나 객체 간 신뢰관계를 상기 DRM부(300)를 통해 확인한 후 그 결과로 비밀키(혹은, 특정 암호/복호화 관련 키나 정보)를 얻을 수 있다.
즉, 도시된 클립보드 관리부(120)는 객체 1(31)로부터 신뢰 정보를 획득하여 이를 DRM부(300)에 제공하여 신뢰 여부와 그에 따른 비밀키를 획득한 후 이를 이용하여 상기 데이터를 암호화하여 클립보드(200)에 저장하며, 객체 2(32)로부터 신뢰 정보를 획득하여 이를 DRM부(300)에 제공하여 신뢰 여부와 그에 따른 비밀키를 획득한 후 이를 이용하여 상기 클립보드(200)에 저장된 암호화된 데이터를 복호화할 수 있다.
상기 암호화 정보로는 다양한 정보들이 생성될 수 있는데, 예를 들어, 데이터의 암호화 여부를 평문으로 나타내기 위한 암호화 식별자, 신뢰 관계 확인을 위해 필요한 부가정보로서 객체의 신뢰성을 나타내는 신뢰 식별 정보, 그리고 해당 암호화된 정보의 위조나 변조를 방지하기 위한 인증 코드를 포함할 수 있다. 이 중에서 상기 암호화 식별자를 제외한 정보들은 노출되지 않아야 하므로 암호화되는 데이터와 동일 혹은 상이한 방식으로 암호화되어 상기 암호화된 데이터에 포함될 수 있다.
상기 위조나 변조를 방지하기 위한 인증 코드를 생성하기 위해서는 키 값이 필요하다. 상기 키 값은 예를 들어 단말에 포함된 네트워크 카드의 MAC 주소, 적용 중앙 처리 장치의 일련 번호 등과 같이 단말의 고유 정보를 이용하거나 상기 DRM부에서 획득한 비밀키를 이용할 수 있다. 이를 통해 클립보드로부터 획득한 암호화된 데이터가 클립보드에 원래 저장된 값과 일치함을 보장할 수 있도록 한다.
결국, 클립보드에 저장되는 보안이 필요한 데이터는 어떻게 유출되더라도 안전하기 때문에 흐름 관리의 부담이 경감되고, 보안의 신뢰성을 유지할 수 있으며, 클립보드 관리부가 복수로 존재하거나 클립보드 관리부에 문제가 발생하여 다시 실 행되는 등의 상황이 발생할 경우에도 클립보드에 저장된 암호화 정보를 통해 복호화가 가능하므로 클립보드 보안 시스템의 안정성은 항상 유지될 수 있게 된다.
도 6은 클립보드 관리부를 그 기능에 따라 구분한 경우를 보인 예로서, 단일한 기능부로서 클립보드 관리부가 신뢰 객체 간의 암호화 데이터 전달 및 비신뢰 객체로 암호화된 클립보드 내용이 전달되지 않도록 하는 도 4의 예와 달리 비신뢰 객체로 암호화된 클립보드 내용이 전달되지 않도록 하는 기능을 클립보드 보조 관리부(135)가 수행하도록 하여 암호화 및 복호화를 실시하는 클립보드 관리부(130)와 구분 구성한 경우를 보인 것이다.
도시한 바와 같이 신뢰 객체(41)가 제공하는 평문 데이터를 암호화하여 클립보드(200)에 저장하고 암호화된 데이터를 신뢰 객체에 복호화하여 평문으로 제공하는 기능을 클립보드 관리부(130)가 전담하도록 하여 신뢰 객체에 대한 클립보드 데이터 흐름은 클립보드 관리부(130)가 처리하도록 한다. 한편, 비신뢰 객체(42)와 클립보드(200) 사이의 데이터 흐름은 클립보드 보조 관리부(135)가 처리하도록 하여 평문인 경우 그대로 클립보드(200)에 저장하도록 하고 추출 역시 그대로 이루어지도록 하며(즉, 바이패스), 클립보드(200)에 저장된 데이터가 암호화된 것이라면(예를 들어, 클립보드에 저장된 데이터에 평문 암호화 식별자가 존재하는 경우) 클립보드가 비어있음을 나타내는 정보를 비신뢰 객체(42)에 전달하도록 한다.
상기 클립보드 관리부(130)와 클립보드 보조 관리부(135)는 기능적으로는 구분되지만 실질적으로는 단일 모듈로서 동작 모드에 따라 구분될 수도 있다.
도 7 및 도 8은 상기 클립보드 관리부가 객체와 클립보드 사이에서 데이터 전달 내용을 관리하기 위한 클립보드 관리부의 구성 및 설치 방식을 설명하기 위한 것으로, 도 7은 클립보드 관리부의 로드나 실행을 위해 클립보드 관리부를 설치하는 프로그램을 별도로 다운로드 혹은 복사하여 단말에 설치함으로써, 클립보드 관리부가 객체의 동작 단위가 되는 응용 프로그램마다 로드되어 클립보드와의 데이터 전송을 관리하는 경우를 보인 것으로, API(Application Programming Interface)를 이용하는 경우이다.
즉, 클립보드 관리 프로그램(400)을 별도 획득하여 단말에 설치하고, 보안이 필요한 응용 프로그램(즉, 신뢰 응용 프로그램)이 실행 시 상기 클립보드 관리부(141)를 명시적으로 호출하도록 구성함으로써, 보안이 필요한 응용 프로그램의 실행 마다 개별적인 클립보드 관리부들이 호출되어 동작하는 방식이다.
도시된 바와 같이 응용 프로그램 1(51)이 실행될 때 클립보드 관리 프로그램(400)이 제공하는 클립보드 관리부(141)를 호출하며, 클립보드(200)에 대한 데이터 저장이 필요할 때 상기 클립보드 관리부(141)를 통해 암호화된 데이터를 클립보드(200)에 저장하도록 한다. 한편, 응용프로그램 2(52) 역시 상기 응용프로그램 1(51)과 같이 클립보드 관리부(142)를 호출하며, 상기 클립보드(200)에 저장된 암호화 데이터 추출을 원할 경우 상기 클립보드 관리부(142)가 해당 데이터를 복호화하여 응용프로그램 2(52)에 전달하게 된다.
즉 각 클립보드 관리부는 신뢰 관계 확인을 통한 보안 유지가 필요한 객체들마다(특히, 어플리케이션마다) 별도 구성되어 동작된다.
한편, 이러한 응용프로그램에 의한 명시적 호출방식 외에 응용프로그램의 수정 없이 모든 객체들을 감시하는 후킹 방식을 이용할 수 있는데, 이는 도 8과 같은 방식으로 동작할 수 있다.
도시된 바와 같이 클립보드 관리 프로그램(410)을 별도 설치하여 실행시키면, 이는 그 후에 실행되는 객체들(주로 응용 프로그램)(61, 62)마다 감시 모듈(411, 412)을 주입한다. 상기 감시 모듈(411, 412)은 DLL 형태로 각 응용 프로그램에 주입되며, 해당 감시 모듈(411, 412)이 클립보드 관리부(151, 152)를 각각 로드하여 데이터 암호화 및 복호화를 수행하게 된다.
이때, 상기 감시 모듈(411, 412)은 주입된 객체들의 신뢰 여부(즉, 보안 필요성 여부)에 따라 신뢰할 수 있는 객체의 경우 암호화와 복호화를 수행하는 클립보드 관리부를 로드하고, 비신뢰 객체의 경우 암호화된 클립보드 내용이 비었음을 통지하는 클립보드 보조 관리부 혹은 클립보드 관리부의 모드를 상기 기능을 수행하도록 하여 클립보드 관리부를 로드할 수 있다.
한편, 상기 도 7과 도 8을 동시에 적용하여 소정의 객체는 명시적으로 API로 구현된 클립보드 관리부를 호출하고, 다른 객체는 후킹 방식에 의해 구현된 클립보드 관리부를 호출할 수도 있다.
도 9 및 도 10은 도 5에 예시한 DRM부를 이용한 클립보드 보안 시스템 구성의 동작 과정을 보인 신호 흐름도로서, 도시된 예에서 DRM부(300)를 사용하지 않을 경우 해당 기능은 클립보드 관리부에서 대신 수행될 수 있음에 주의한다.
먼저, 도 9는 신뢰 객체(70)로부터 데이터를 수신하여 이를 암호화하여 클립 보드(200)에 저장하는 클립보드 관리부(160)의 동작 과정을 보인 것으로, 도시한 바와 같이 신뢰 객체(70)가 클립보드(200)에 데이터를 저장하고자 할 경우 클립보드 관리부(160)사 저장할 데이터와 해당 신뢰 객체(70)의 신뢰 정보를 획득한다. 상기 신뢰 정보는 신뢰 객체(70)가 명시적으로 제공하거나, 상기 클립보드 관리부(160)가 상기 신뢰 객체로부터 추출할 수 있다. 상기 클립보드 관리부(160)는 상기 신뢰 정보를 획득하여 이를 DRM부(300)에 전달하여 신뢰 정보에 대응되는 키를 획득하는데, 만일 DRM부(300)를 이용하지 않을 경우 내부적으로 신뢰 정보에 대응되는 키를 구비할 수 있다.
상기 얻어진 키를 이용하여 데이터를 암호화하고, 상기 암호화에 필요한 각종 정보를 통해 암호화 정보를 생성하게 된다. 상기 암호화 정보에는 암호화되었음을 알 수 있도록 평문으로 삽입하는 암호화 식별자와, 위변조 방지를 위한 인증 코드 및 신뢰관계 확인을 위한 신뢰 정보를 포함하며, 상기 인증 코드와 신뢰 정보는 상기 키를 이용하거나 혹은 별도의 자체 키를 이용하여 암호화 한 후 상기 암호화된 데이터에 포함시켜 클립보드(200)에 저장한다. 이때, 신속한 암호화 여부 확인을 위해 상기 암호화 식별자가 상기 암호화된 데이터의 앞부분에 평문으로 삽입될 수 있다.
즉, 이렇게 클립보드(200)에 저장되는 암호화된 정보를 통해서 암호화 여부를 알 수 있고, 암호화된 것을 알았을 경우 그로부터 신뢰 정보와 위변조 방지 인증 코드를 확보하여 복호화 여부와 필요한 기본 정보를 알 수 있게 되므로 암호화된 데이터에 대한 복호화가 가능해진다. 이를 위해 암호화를 수행한 클립보드 관리 부(160)가 더 이상 필요하지 않게 되며, 다른 클립보드 관리부가 클립보드 내용을 확인할 경우 적절한 복호화가 가능한 독립성을 확보할 수 있다.
도 10은 암호화 정보를 저장한 클립보드(200)의 데이터를 추출하는 과정을 보인 것으로, 도시한 경우에도 DRM부(300)를 이용한 예를 보인 것이나 해당 구성의 기능은 클립보드 관리부(170)에 포괄될 수도 있다.
먼저, 신뢰 객체(80)가 클립보드(200)에 데이터 추출을 요청하는 경우 이를 클립보드 관리부(170)가 확인하여 신뢰정보를 상기 신뢰객체(80)로부터 획득한다. 그리고 상기 클립보드 관리부(170)가 클립보드(200)에 데이터 추출을 요청하여 암호화된 정보를 수신한다.
상기 클립보드 관리부(170)는 수신된 암호화 정보를 확인하여 평문 암호화 식별자를 통해 수신된 정보가 암호화된 것임을 확인하게 되고, 위변조 방지 인증 코드를 이용하여 수신된 암호화 정보가 클립보드의 원래 저장된 값과 일치하는 지를 확인한다.
상기 과정에서 이상이 없다면 신뢰 식별 정보를 확인하게 되는데, 상기 신뢰 객체(80)로부터 얻은 신뢰 정보와 상기 암호화된 데이터로부터 추출한 신뢰 정보(신뢰 식별 정보)를 이용하여 상기 신뢰 객체들 사이의 신뢰 관계를 확인한다. 즉, 상기 신뢰 정보는 동일할 수도 있고, 서로 다를 수도 있으며, 서로 다른 경우 일방 혹은 양방 신뢰 관계나 혹은 비신뢰 관계를 확인할 수 있다.
만일 데이터에서 추출된 신뢰 정보와 신뢰 객체(80)에서 획득한 신뢰 정보를 통해 신뢰 관계가 확인되면, 해당 신뢰 객체(80)에서 획득한 신뢰 정보를 상기 DRM 부(300)에 제공하여 대응되는 키를 획득하게 된다. 해당 작업은 클립보드 관리부(170)에서 이루어질 수도 있다.
상기 클립보드 관리부(170)는 상기 DRM부(300)를 통해 얻은 키를 이용하여 암호화된 데이터를 복호화한 후 평문 데이터를 신뢰 객체(80)로 전달한다.
구체적으로 도시하지는 않았지만, 클립보드 관리부가 비신뢰 객체로부터 데이터 추출 요청 신호를 수신할 경우에는 신뢰 정보를 얻지 못하거나 신뢰 정보를 얻더라도 암호화된 데이터에서 추출한 신뢰 정보와의 신뢰 관계가 비신뢰 관계가 되기 때문에 암호화된 데이터를 복호화하지 않고 클립보드에 데이터가 없음을 나타내는 신호를 상기 비신뢰 객체로 전달하는 방식으로 동작하게 된다. 물론, 이러한 동작은 클립보드 보조 관리부에서 수행될 수 있다.
도 11 및 도 12는 클립보드 보안 시스템의 동작 과정을 나타낸 순서도로서, 도 11은 데이터를 암호화하여 클립보드에 저장하는 과정을 보인 것이고, 도 12는 암호화되어 클립보드에 저장된 데이터를 복호화하여 추출하는 과정을 보인 것이다.
도 11은 도시한 바와 같이 먼저 사용자가 수동으로 클립보드 관리 프로그램을 설치하거나, 혹은 자동으로 클립보드 관리 프로그램이 설치되어 실행되는 과정으로부터 시작한다.
이후 객체의 기본이 되는 어플리케이션이 동작하게 되면 클립보드 관리부가 명시적 혹은 후킹 방식으로 로드되어 어플리케이션의 동작을 감시한다.
상기 어플리케이션에서 클립보드로 데이터를 저장하고자 할 경우, 상기 클립보드 관리부가 이를 감지하여 해당 어플리케이션의 신뢰 여부를 파악하고, 신뢰 객 체인 경우 해당 데이터를 암호화하면서 관련 암호화 정보를 생성하여 함께 클립보드에 저장한다. 만일 비신뢰 객체인 경우 평문 데이터를 그대로 클립보드에 저장한다.
도 12는 도시한 바와 같이 클립보드 관리부가 로드된 상태에서, 객체가 클립보드의 데이터 추출을 요청하면, 클립보드 관리부는 클립보드 데이터를 수신하여 해당 데이터가 암호화된 것인지를 평문 암호화 식별자를 통해 확인한다. 만일 암호화되지 않은 것이라면 요청한 객체에 그대로 전달한다.
만일 클립보드 데이터가 암호화된 것이라면 위변조 방지 인증 코드를 확인하여 변형되지 않은 것임을 확인하고, 확인될 경우 데이터 추출을 요청한 객체의 신뢰 정보와 암호화된 데이터에 포함된 신뢰 정보 사이의 신뢰 관계가 신뢰인지 확인하여 신뢰 관계가 있다면 해당 암호화된 데이터를 복호화하여 평문 데이터로 만들어 상기 데이터를 요청한 객체에 전달한다.
만일, 위변조 방지 인증 코드 확인 시 문제가 발생하거나 객체들 간 신뢰 관계가 비신뢰 관계이거나 혹은 데이터 추출을 요청한 객체가 신뢰 정보를 제공하지 못할 경우 클립보드에 데이터가 없음을 나타내는 정보를 상기 데이터 추출을 요청한 객체에 전달한다.
이를 통해서 독립적이고 안전한 신뢰 관계 객체 간 데이터 전달과 비신뢰 객체에 대한 안전한 클립보드 내용 전달이 가능해지게 된다.
한편, 앞서 설명한 내용은 실질적인 객체로부터 데이터가 클립보드에 저장되는 과정을 설명하는 것으로 보안이 필요한 객체의 데이터가 평문으로 무단 유출되 지 않도록 하여 보안 신뢰성을 높일 수 있도록 한 것이다. 하지만, 단말기의 동작 화면을 하드 카피하는 화면 캡처의 경우 신뢰 객체의 내부 정보 일부를 클립보드를 통해 무단으로 확보할 수 있게 된다. 따라서 이를 차단하기 위해서 기본적으로 화면 캡처의 경우 보안이 요구되는 신뢰 객체가 실행중이거나 화면에 노출될 경우 전문 화면 캡처 프로그램의 동작을 차단할 수 있다. 하지만, 'Print Screen' 키를 이용한 기본적인 화면 캡처의 경우 문서 작업 등에서 자주 이용되는 기능이기 때문에 이를 단순히 차단하는 것은 작업 능률을 낮추는 요인이 될 수 있다. 따라서 이러한 화면 캡처를 통해 영상 데이터가 클립보드에 저장될 경우 신뢰 객체의 실행 여부나 화면 노출 여부를 고려하여 해당 신뢰 객체가 데이터 저장을 요청하는 경우로 간주함으로써 해당 캡처 데이터가 암호화되어 저장되고 신뢰 객체에만 복호화되어 전달될 수 있도록 할 수 있어 화면 캡처 기능을 사용할 수 있도록 하면서도 보안이 요구되는 객체의 데이터가 유출되지 않도록 할 수 있다.
이상에서는 본 발명에 따른 바람직한 실시예들에 대하여 도시하고 또한 설명하였다. 그러나 본 발명은 상술한 실시예에 한정되지 아니하며, 특허 청구의 범위에서 첨부하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능할 것이다.
도 1은 일반적인 클립보드 이용 방식을 설명한 개념도.
도 2는 클립보드와 이용 객체와의 관계를 나타낸 개념도.
도 3은 본 발명의 실시예에 따른 클립보드 보안 시스템의 동작 방식을 설명한 구성도.
도 4는 본 발명의 실시예에 따른 확장 클립보드 보안 시스템의 동작 방식을 설명한 구성도.
도 5는 본 발명의 실시예에 따른 DRM부 연계 클립보드 보안 시스템의 동작 방식을 설명한 구성도.
도 6은 본 발명의 실시예에 따른 클립보드 관리부 구분 방식의 동작을 설명한 구성도.
도 7은 본 발명의 실시예에 따른 클립보드 관리부의 동작 방식을 설명한 개념도.
도 8은 본 발명의 실시예에 따른 클립보드 관리부의 동작 방식을 설명한 개념도.
도 9 및 도 10은 본 발명의 실시예에 따른 클립보드 보안 시스템의 동작 과정을 설명하는 신호 흐름도.
도 11 및 도 12는 본 발명의 실시예에 따른 클립보드 보안 시스템의 동작 과정을 설명하는 순서도.
** 도면의 주요 부분에 대한 부호의 설명 **
11~42: 객체 51~62: 응용 프로그램
100~152: 클립보드 관리부 200: 클립보드
300: DRM부

Claims (24)

  1. 운영체제의 기본 기능으로 어플리케이션 독립적으로 데이터를 저장 및 추출하여 전달하는 클립보드를 관리하는 클립보드 보안 시스템으로서,
    클립보드에 데이터를 저장하고자 하는 객체에 따라 저장하고자 하는 데이터를 선별적으로 암호화하여 클립보드에 저장하고, 클립보드에 저장된 암호화된 데이터를 추출하고자 하는 객체에 따라 암호화된 데이터를 복호화하여 평문으로 전달하며, 상기 암호화된 데이터의 변조 여부 확인을 위한 위변조 방지 인증 코드를 적용하는 클립보드 관리부를 포함하는 것을 특징으로 하는 클립보드 보안 시스템.
  2. 청구항 1에 있어서, 상기 객체는 보안이 필요한 신뢰할 수 있는 객체와 보안이 필요하지 않은 신뢰할 수 없는 객체를 포함하며,
    상기 신뢰할 수 있는 객체는 상기 클립보드 관리부에 데이터를 저장하거나 추출하고자 할 경우 신뢰 식별자를 제공하거나, 상기 클립보드 관리부가 상기 객체로부터 신뢰 식별자를 획득하는 것을 특징으로 하는 클립보드 보안 시스템.
  3. 청구항 1에 있어서, 상기 클립보드 보안 시스템은 신뢰 식별자에 대응하는 암복호화 키를 제공하는 DRM(Digital Rights Management)부를 더 포함하며,
    상기 클립보드 관리부는 상기 DRM부에 상기 객체로부터 얻은 신뢰 식별자를 제공하여 암복호화 키를 수신한 후 이를 이용하여 상기 데이터를 암호화 혹은 복호화하는 것을 특징으로 하는 클립보드 보안 시스템.
  4. 청구항 1에 있어서, 상기 클립보드 관리부는 상기 객체의 실행에 따라 동작하는 API(Application Programming Interface) 방식이나 모든 종류의 객체 실행을 감시하는 후킹(hooking) 방식 중 적어도 하나의 방식으로 동작하는 것을 특징으로 하는 클립보드 보안 시스템.
  5. 삭제
  6. 청구항 1에 있어서, 상기 클립보드 관리부는 상기 암호화된 데이터를 추출하고자 하는 객체가 신뢰할 수 없는 객체인 경우 클립보드가 비었음을 나타내는 정보를 제공하는 것을 특징으로 하는 클립보드 보안 시스템.
  7. 청구항 1에 있어서, 상기 클립보드 관리부는 화면 캡처시 보안이 필요한 객체의 실행 또는 노출 여부에 따라 상기 캡처 된 영상 데이터를 상기 보안이 필요한 객체로부터 제공된 데이터처럼 암호화하여 클립보드에 저장하는 것을 특징으로 하는 클립보드 보안 시스템.
  8. 데이터를 저장 및 제공하는 클립보드와;
    클립보드에 데이터를 저장 및 추출하며, 신뢰 정보를 제공하는 신뢰 객체와;
    상기 신뢰 객체의 상기 신뢰 정보를 근거로 저장하고자 하는 데이터를 암호화하여 상기 클립보드에 저장하고, 상기 신뢰 정보를 근거로 추출하고자 하는 암호화된 데이터를 복호화하여 상기 신뢰 객체에 평문으로 제공하는 클립보드 관리부를 포함하되,
    상기 클립보드 관리부는 신뢰 정보를 제공하지 않는 일반적인 비신뢰 객체의 평문 저장 및 추출을 통한 클립보드 사용을 허용하며,
    상기 암호화된 데이터를 상기 비신뢰 객체가 추출하고자 할 경우 암호화된 정보를 제공하거나 클립보드가 비어있음을 통보하는 것을 특징으로 하는 클립보드 보안 시스템.
  9. 삭제
  10. 청구항 8에 있어서, 상기 신뢰 객체의 신뢰 정보에 따라 보안용 키를 제공하는 DRM부를 더 포함하며,
    상기 클립보드 관리부는 상기 신뢰 객체로부터 획득한 신뢰 정보를 상기 DRM부에 제공하여 보안용 키를 획득한 후 이를 데이터 암호화 및 복호화에 이용하는 것을 특징으로 하는 클립보드 보안 시스템.
  11. 청구항 8에 있어서, 상기 클립보드 관리부는 상기 신뢰 객체의 명시적 호출에 의해 실행되는 것을 특징으로 하는 클립보드 보안 시스템.
  12. 청구항 8에 있어서, 상기 클립보드 관리부는 독립적으로 설치되는 클립보드 관리부의 실행에 따라 상기 신뢰 객체를 포함하는 실행되는 모든 객체에 삽입된 감시모듈의 후킹에 의해 로드되는 것을 특징으로 하는 클립보드 보안 시스템.
  13. 청구항 12에 있어서, 상기 클립보드 관리부는 상기 신뢰 객체의 명시적 호출과 상기 후킹에 의한 로드 중 하나 이상의 방식이 혼용되어 실행되는 것을 특징으로 하는 클립보드 보안 시스템.
  14. 청구항 8에 있어서, 상기 클립보드 관리부는 데이터 암호화 시 위변조 방지 인증 코드를 적용하고,
    암호화된 데이터 복호화 전에 상기 위변조 방지 인증 코드를 통해 수신된 데이터의 변조 여부를 확인하는 것을 특징으로 하는 클립보드 보안 시스템.
  15. 청구항 8에 있어서, 상기 클립보드 관리부는 데이터 암호화 시 상기 신뢰 정보와 암호화 여부를 확인할 수 있는 평문 암호화 식별자를 암호화 정보로서 생성하여 암호화된 데이터와 함께 상기 클립보드에 저장하는 것을 특징으로 하는 클립보드 보안 시스템.
  16. 청구항 8에 있어서, 상기 클립보드 관리부는 화면 캡처 시 상기 신뢰 객체의 실행 또는 노출 여부에 따라 상기 캡처된 영상 데이터를 신뢰할 수 있는 객체로부터 제공된 데이터처럼 암호화하여 클립보드에 저장하는 것을 특징으로 하는 클립보드 보안 시스템.
  17. 보안이 필요한 신뢰 객체의 클립보드 이용을 관리하는 클립보드 관리부를 통한 클립보드 보안 방법으로서,
    보안이 요구되는 신뢰 객체로부터 신뢰 정보와 데이터를 수신하는 데이터 수신 단계와;
    상기 수신 단계에서 수신한 데이터를 암호화하면서 위변조 방지 인증 코드를 적용하여 클립보드에 저장하는 저장 단계와;
    상기 신뢰 객체로부터 데이터 추출 요청 정보와 신뢰 정보를 수신하여 상기 클립보드로부터 암호화된 데이터를 획득한 후 상기 위변조 방지 인증 코드를 통해 암호화된 데이터의 변조 여부를 확인한 후 변조되지 않은 암호화 데이터만 복호화하는 복호화 단계와;
    상기 복호화된 데이터를 상기 데이터 추출 요청 신뢰 객체에 평문으로 전달하는 데이터 추출 단계를 포함하는 것을 특징으로 하는 클립보드 보안 방법.
  18. 청구항 17에 있어서, 상기 데이터 수신 단계 또는 상기 복호화 단계는 수신된 신뢰 정보를 신뢰 정보에 따라 보안용 키를 제공하는 별도로 마련된 DRM 시스템에 전달하여 보안용 키를 획득한 후 이를 이용하여 데이터를 암호화 또는 복호화하는 단계를 포함하는 것을 특징으로 하는 클립보드 보안 방법.
  19. 청구항 17에 있어서, 상기 복호화 단계는 보안이 요구되지 않는 비신뢰 객체로부터 데이터 추출 요청 정보를 수신할 경우 클립보드에 저장된 데이터를 그대로 추출하여 전달하는 단계를 포함하는 것을 특징으로 하는 클립보드 보안 방법.
  20. 청구항 19에 있어서, 상기 복호화 단계는 암호화된 클립보드 내용을 비신뢰 객체에 전달할 경우 클립보드가 비어있음을 나타내는 정보를 제공하는 단계를 포함하는 것을 특징으로 하는 클립보드 보안 방법.
  21. 청구항 17에 있어서, 상기 데이터 수신 단계 이전에 상기 클립보드 관리부가 운영체제에 설치되어 객체와 클립보드 사이의 데이터 통신 내용을 감시하는 단계를 포함하는 것을 특징으로 하는 클립보드 보안 방법.
  22. 삭제
  23. 청구항 17에 있어서, 상기 저장 단계는 수신한 데이터와 신뢰 정보를 암호화함과 아울러 암호화 여부를 확인할 수 있는 평문 암호화 식별자를 생성하여 추가하는 단계를 더 포함하고,
    상기 복호화 단계는 상기 클립보드에 저장된 데이터에 포함된 평문 암호화 식별자를 통해 암호화 여부를 확인하여 신뢰 정보 확인 및 복호화 과정을 수행하는 단계를 더 포함하는 것을 특징으로 하는 클립보드 보안 방법.
  24. 청구항 17에 있어서, 상기 저장 단계는 화면 캡처에 의한 영상 데이터가 수신될 경우 상기 신뢰 객체의 실행 또는 노출 여부에 따라 상기 캡처된 영상 데이터를 신뢰 객체로부터 데이터가 수신된 것으로 간주하여 처리하는 단계를 더 포함하는 것을 특징으로 하는 클립보드 보안 방법.
KR1020090007885A 2009-02-02 2009-02-02 클립보드 보안 시스템 및 방법 KR100928467B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020090007885A KR100928467B1 (ko) 2009-02-02 2009-02-02 클립보드 보안 시스템 및 방법
JP2011547810A JP2012517047A (ja) 2009-02-02 2010-02-02 クリップボード保安システム及び方法
US13/147,287 US9147050B2 (en) 2009-02-02 2010-02-02 System and method for clipboard security
PCT/KR2010/000621 WO2010087678A2 (ko) 2009-02-02 2010-02-02 클립보드 보안 시스템 및 방법
EP10736069.5A EP2393033B1 (en) 2009-02-02 2010-02-02 System and method for clipboard security

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090007885A KR100928467B1 (ko) 2009-02-02 2009-02-02 클립보드 보안 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR100928467B1 true KR100928467B1 (ko) 2009-11-25

Family

ID=41605422

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090007885A KR100928467B1 (ko) 2009-02-02 2009-02-02 클립보드 보안 시스템 및 방법

Country Status (5)

Country Link
US (1) US9147050B2 (ko)
EP (1) EP2393033B1 (ko)
JP (1) JP2012517047A (ko)
KR (1) KR100928467B1 (ko)
WO (1) WO2010087678A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023674A1 (ko) 2010-08-20 2012-02-23 주식회사 파수닷컴 Drm 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
WO2020013354A1 (ko) * 2018-07-10 2020-01-16 엘지전자 주식회사 차량용 방화벽의 동작 방법

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7610345B2 (en) * 2005-07-28 2009-10-27 Vaporstream Incorporated Reduced traceability electronic message system and method
US9282081B2 (en) 2005-07-28 2016-03-08 Vaporstream Incorporated Reduced traceability electronic message system and method
JP5646382B2 (ja) * 2011-03-28 2014-12-24 Kddi株式会社 コンテンツ編集装置、コンテンツ編集方法及びコンテンツ編集プログラム
US8874935B2 (en) 2011-08-30 2014-10-28 Microsoft Corporation Sector map-based rapid data encryption policy compliance
EP2815345B1 (en) * 2012-02-17 2022-08-03 Irdeto B.V. Digital rights management
US8448260B1 (en) * 2012-05-25 2013-05-21 Robert Hansen Electronic clipboard protection
US8972750B2 (en) * 2012-12-19 2015-03-03 Adobe Systems Incorporated Method and apparatus for securing transfer of secure content to a destination
US9866382B2 (en) * 2012-12-21 2018-01-09 Mobile Iron, Inc. Secure app-to-app communication
WO2014100756A1 (en) 2012-12-21 2014-06-26 Mobile Iron, Inc. Secure mobile app connection bus
CN104903861B (zh) * 2013-01-08 2020-03-10 黑莓有限公司 剪贴板管理
US9305174B2 (en) 2013-04-09 2016-04-05 Robert Hansen Electronic clipboard protection
US20140344570A1 (en) 2013-05-20 2014-11-20 Microsoft Corporation Data Protection For Organizations On Computing Devices
GB201321768D0 (en) 2013-12-10 2014-01-22 Ibm Desktop redaction and masking
US10615967B2 (en) 2014-03-20 2020-04-07 Microsoft Technology Licensing, Llc Rapid data protection for storage devices
US9825945B2 (en) * 2014-09-09 2017-11-21 Microsoft Technology Licensing, Llc Preserving data protection with policy
US9853812B2 (en) 2014-09-17 2017-12-26 Microsoft Technology Licensing, Llc Secure key management for roaming protected content
US9900295B2 (en) 2014-11-05 2018-02-20 Microsoft Technology Licensing, Llc Roaming content wipe actions across devices
US9853820B2 (en) 2015-06-30 2017-12-26 Microsoft Technology Licensing, Llc Intelligent deletion of revoked data
US9900325B2 (en) 2015-10-09 2018-02-20 Microsoft Technology Licensing, Llc Passive encryption of organization data
EP3491772B1 (en) * 2016-07-29 2022-06-01 Permanent Privacy Ltd. Applications in connection with secure encryption
KR101893950B1 (ko) * 2018-02-06 2018-08-31 주식회사 이스트시큐리티 랜부팅 환경 기반 파일 보안 및 중앙화를 위한 장치, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
CN111539010B (zh) * 2020-06-16 2023-09-01 北京明朝万达科技股份有限公司 剪贴板控制方法、装置、电子设备及计算机可读存储介质
US11768955B2 (en) * 2020-12-15 2023-09-26 Citrix Systems, Inc. Mitigating insecure digital storage of sensitive information

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020005401A (ko) * 2000-07-03 2002-01-17 최승열 통합 내부정보 유출 방지 시스템

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11249965A (ja) * 1998-02-27 1999-09-17 Toshiba Corp コンピュータシステム及び同システムに適用するコピー制限方法
KR100521338B1 (ko) * 1998-08-21 2005-12-21 삼성전자주식회사 멀티-클립보드 기능을 위한 복수 개의 핫키를 갖는 컴퓨터 시스템 및 동작 방법
US7950066B1 (en) * 2001-12-21 2011-05-24 Guardian Data Storage, Llc Method and system for restricting use of a clipboard application
JP2005148913A (ja) * 2003-11-12 2005-06-09 Hitachi Ltd ファイル監視装置
JP4350549B2 (ja) * 2004-02-25 2009-10-21 富士通株式会社 デジタル著作権管理のための情報処理装置
JP2006155155A (ja) * 2004-11-29 2006-06-15 Fujitsu Ltd 情報漏洩防止装置、方法およびそのプログラム
US20070011469A1 (en) * 2005-07-11 2007-01-11 Simdesk Technologies Secure local storage of files
US20070016771A1 (en) * 2005-07-11 2007-01-18 Simdesk Technologies, Inc. Maintaining security for file copy operations
US20070011749A1 (en) * 2005-07-11 2007-01-11 Simdesk Technologies Secure clipboard function
JP4208085B2 (ja) * 2005-08-30 2009-01-14 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーションプログラムの制御方法およびその装置
US7725737B2 (en) * 2005-10-14 2010-05-25 Check Point Software Technologies, Inc. System and methodology providing secure workspace environment
TWI405094B (zh) * 2005-11-28 2013-08-11 Ibm 防止未授權獲取資訊之系統及其方法
WO2007103752A2 (en) * 2006-03-01 2007-09-13 Jr Jones Company Safety gaff
CN101114319A (zh) * 2006-07-28 2008-01-30 上海山丽信息安全有限公司 剪切板信息保护装置和方法
JP2008217449A (ja) * 2007-03-05 2008-09-18 Toshiba Corp 遠隔制御装置、遠隔制御方法、及び遠隔制御プログラム
JP2008226196A (ja) * 2007-03-16 2008-09-25 Hitachi Software Eng Co Ltd 情報漏洩防止装置
JP5047664B2 (ja) * 2007-03-29 2012-10-10 株式会社エヌ・ティ・ティ・データ 電子文書管理装置、コンピュータプログラム、及び電子文書管理方法
JP5181139B2 (ja) * 2008-06-30 2013-04-10 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータプログラム、共有オブジェクト制御装置及び共有オブジェクト制御方法
JP5040859B2 (ja) * 2008-08-28 2012-10-03 富士通株式会社 情報漏洩防止プログラムおよび情報漏洩防止方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020005401A (ko) * 2000-07-03 2002-01-17 최승열 통합 내부정보 유출 방지 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023674A1 (ko) 2010-08-20 2012-02-23 주식회사 파수닷컴 Drm 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
WO2020013354A1 (ko) * 2018-07-10 2020-01-16 엘지전자 주식회사 차량용 방화벽의 동작 방법

Also Published As

Publication number Publication date
EP2393033A4 (en) 2012-07-04
EP2393033A2 (en) 2011-12-07
EP2393033B1 (en) 2017-06-28
US20120226913A1 (en) 2012-09-06
US9147050B2 (en) 2015-09-29
JP2012517047A (ja) 2012-07-26
WO2010087678A2 (ko) 2010-08-05
WO2010087678A3 (ko) 2010-11-04

Similar Documents

Publication Publication Date Title
KR100928467B1 (ko) 클립보드 보안 시스템 및 방법
JP5783650B2 (ja) ファイルを安全に管理するための方法、セキュリティ保護された装置、システム、及びコンピュータ・プログラム製品
US9569627B2 (en) Systems and methods for governing content rendering, protection, and management applications
US20100229242A1 (en) Program execution control system, program execution control method and computer program for program execution control
US20180307855A1 (en) Access management system, file access system, encrypting apparatus and program
CN105740725B (zh) 一种文件保护方法与系统
US6785812B1 (en) Secure and controlled electronic document distribution arrangement
JP2010537270A (ja) 暗黙型自己インストールセキュリティ環境のための仮想トークン
CN108734018B (zh) 认证方法、装置、系统和计算机可读存储介质
US20180285583A1 (en) File encrypting apparatus, file decrypting apparatus, system and program
JP2003330365A (ja) コンテンツ配布/受信方法
CN104318135A (zh) 一种基于可信执行环境的Java代码安全动态载入方法
EP2449503A2 (en) Method for remotely controlling and monitoring the data produced on desktop on desktop software
JP4847301B2 (ja) コンテンツ保護システム,コンテンツ保護用デバイスおよびコンテンツ保護方法
US20130125196A1 (en) Method and apparatus for combining encryption and steganography in a file control system
US20200304317A1 (en) Secure file
CN110490542B (zh) 签章文件生成方法、签章文件传输方法和系统
JP2009059008A (ja) ファイル管理システム
US7500109B2 (en) System and method for secure authentication of external software modules provided by third parties
KR100420735B1 (ko) 워터마킹 및 암호화 기술을 이용한 메일 송수신 시스템 및그 방법
US8312431B1 (en) System and computer readable medium for verifying access to signed ELF objects
US10140431B2 (en) File management system and user terminal in file management system
CN101958791B (zh) 模块加解密方法
KR101532763B1 (ko) 어플리케이션 불법복제 방지 시스템 및 방법
KR101057743B1 (ko) 외부 사용자 문서배포 보안 시스템

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20090202

PA0201 Request for examination
A302 Request for accelerated examination
PA0302 Request for accelerated examination

Patent event date: 20090212

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

Patent event date: 20090202

Patent event code: PA03021R01I

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20090424

Patent event code: PE09021S01D

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20090825

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20091027

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20091118

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20091119

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20121109

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20121109

Start annual number: 4

End annual number: 6

FPAY Annual fee payment

Payment date: 20151103

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20151103

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20160901

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20160901

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20171117

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20171117

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20181112

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20181112

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20191114

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20191114

Start annual number: 11

End annual number: 11

PR1001 Payment of annual fee

Payment date: 20201116

Start annual number: 12

End annual number: 12

PR1001 Payment of annual fee

Payment date: 20211111

Start annual number: 13

End annual number: 13

PR1001 Payment of annual fee

Payment date: 20221107

Start annual number: 14

End annual number: 14

PR1001 Payment of annual fee

Payment date: 20240913

Start annual number: 16

End annual number: 16