KR101064143B1 - Drm 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체 - Google Patents

Drm 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체 Download PDF

Info

Publication number
KR101064143B1
KR101064143B1 KR1020100080938A KR20100080938A KR101064143B1 KR 101064143 B1 KR101064143 B1 KR 101064143B1 KR 1020100080938 A KR1020100080938 A KR 1020100080938A KR 20100080938 A KR20100080938 A KR 20100080938A KR 101064143 B1 KR101064143 B1 KR 101064143B1
Authority
KR
South Korea
Prior art keywords
clipboard
data
identification information
read
management system
Prior art date
Application number
KR1020100080938A
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 KR1020100080938A priority Critical patent/KR101064143B1/ko
Priority to JP2013524766A priority patent/JP5570664B2/ja
Priority to US13/818,043 priority patent/US9098713B2/en
Priority to PCT/KR2011/000514 priority patent/WO2012023674A1/ko
Priority to EP11818275.7A priority patent/EP2608100B1/en
Application granted granted Critical
Publication of KR101064143B1 publication Critical patent/KR101064143B1/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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/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
    • 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

Abstract

DRM 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체가 개시된다. 식별정보 관리부는 신뢰 객체에 의한 클립보드에의 데이터 저장 요청시 클립보드에 저장될 데이터에 부여된 제1식별정보를 사전에 설정되어 있는 제2식별정보로 변경하고, 신뢰 객체가 클립보드에 저장되어 있는 데이터의 추출을 요청하는 경우에 추출이 요청된 읽기대상 데이터의 식별정보에 대응하는 제2식별정보를 출력한다. 데이터 보호부는 클립보드에 저장될 데이터를 암호화하여 출력하고, 클립보드로부터 독출된 암호화된 데이터를 복호하여 출력한다. 제어부는 암호화된 보안 데이터를 클립보드에 기록하도록 클립보드 관리 시스템에 요청하고, 신뢰 객체로부터 클립보드에 저장되어 있는 데이터의 추출 요청이 입력되면 클립보드 관리 시스템에 읽기대상 데이터의 식별정보에 대응하는 제2식별정보를 전달하여 클립보드로부터 암호화된 보안 데이터를 독출하여 제공할 것을 요청한다. 본 발명에 따르면, 비신뢰 객체의 데이터 읽기 요청시에는 클립보드 관리 시스템에 의해 데이터의 읽기 동작을 수행함으로써 비신뢰 객체에 의한 보안 데이터에 대한 접근 자체를 차단할 수 있다.

Description

DRM 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체{System for protecting data stored in clipboard in digital rights management environment and recording medium storing program for executing method of the same in computer}
본 발명은 DRM 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체에 관한 것으로, 보다 상세하게는, DRM 시스템에서 클립보드를 이용하여 허용된 권한을 벗어나는 정보의 유출을 방지하기 위한 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체에 관한 것이다.
클립보드(Clipboard)는 동일한 어플리케이션 또는 서로 다른 어플리케이션에서 구동하는 파일 내 임의 데이터를 복사하거나 붙여넣기 할 때 데이터가 임시로 저장되는 메모리 공간이다. 이러한 클립보드를 이용한 데이터의 복사 및 추출은 마이크로소프트사의 윈도우즈나 애플의 매킨토시와 같은 운영체계에서 기본적으로 제공되는 기능이다. 클립보드를 이용한 데이터의 복사 및 추출 기능은 디지털 저작권 관리(Digital Rights Management : DRM)가 적용되는 시스템에서 데이터의 유출을 방지하기 위한 관리해야 하는 대상 중 하나이다. 예를 들어, DRM이 적용된 문서에 대해 사용자에게 허용된 권한을 넘어서는 임의의 데이터 이동, DRM 시스템 내부에서의 데이터 이동 등이 시도되면, DRM이 적용된 문서와 관련된 데이터의 이동을 차단할 필요가 있다.
도 1은 마이크로소프트사의 윈도우즈 시스템에서 클립보드에 정보를 저장하는 과정을 도시한 도면이다.
도 1을 참조하면, 클립보드에의 정보 저장은 어플리케이션, 시스템 및 전역 메모리의 상호 작용을 통해 이루어진다. 먼저 어플리케이션이 GlobalAlloc() 함수를 이용하여 시스템으로 전역 메모리의 할당을 요청하면(S100), 시스템은 Handle() 함수를 이용하여 어플리케이션에 이에 대한 핸들을 제공한다(S105). 다음으로 어플리케이션은 GlobalLock() 함수를 이용하여 시스템에 전역 메모리의 고정을 요청하고(S110), 시스템은 이에 응답하여 할당된 전역 메모리의 포인터를 반환한다(S115). 다음으로 어플리케이션은 반환된 포인터를 이용하여 할당된 전역 메모리에 데이터를 복사한다(S120). 다음으로 어플리케이션은 OpenClipboard(), EmptyClipboard(), SetClipboardData(), CloseClipboard() 등의 함수를 순차적으로 이용하여 시스템에 클립보드 데이터의 기록을 요청하며(S125 내지 S140), 최종적으로 GlobalUnlock() 함수를 이용하여 시스템에 전역 메모리의 해제를 요청한다(S145). 도 2에는 클립보드에 저장되는 데이터가 도시되어 있다.
도 3은 마이크로소프트사의 윈도우즈 시스템에서 클립보드로부터 데이터를 가져오는 과정을 도시한 도면이다.
도 3을 참조하면, 클립보드로부터 정보를 가져오는 동작은 IsClipboardFormatAvailable() 함수를 이용하여 현재의 클립보드에 어플리케이션에서 처리 가능한 클립보드 포맷이 존재하는지 여부를 확인하는 것으로부터 시작한다(S300). 다음으로 어플리케이션은 OpenClipboard() 함수를 이용하여 시스템에 클립보드 열기를 요청한다(S305). 이어서 어플리케이션은 GetClipboardData() 함수를 이용하여 시스템에 클립보드에 저장되어 있는 데이터의 제공을 요청하며(S310), 이에 응답하여 시스템은 시스템은 Handle() 함수를 이용하여 어플리케이션에 이에 대한 핸들을 제공한다(S315). 다음으로 어플리케이션은 GlobalLock() 함수를 이용하여 시스템에 전역 메모리의 고정을 요청하고(S320), 시스템은 이에 응답하여 할당된 전역 메모리의 포인터를 반환한다(S325). 다음으로 어플리케이션은 반환된 포인터를 이용하여 할당된 전역 메모리로부터 데이터를 독출한다(S330). 다음으로 어플리케이션은 GlobalUnlock() 함수를 이용하여 시스템에 전역 메모리의 해제를 요청하고(S335), CloseClipboard() 함수를 이용하여 시스템에 클립보드의 닫기를 요청한다(S340).
도 1 내지 도 3을 참조하여 설명한 바와 같이 클립보드에 대한 데이터의 저장 및 추출은 어플리케이션과 시스템 사이에서 클립보드와 관련된 API 함수를 통해 이루어지며, 이 과정에서 클립보드에 저장되어 있는 데이터가 유출될 가능성이 존재한다. 본 출원인은 이러한 클립보드 데이터의 유출을 방지하기 위해 클립보드에 저장될 데이터 또는 객체 중에서 DRM이 적용된 데이터 또는 객체를 암호화하여 클립보드에 저장하는 기법을 제시한 바 있으며, 이는 한국특허등록번호 제10-0928467호로 등록된 바 있다. 이러한 출원인의 특허발명은 다양한 객체 중에서 디지털 저작권 관리(Digital Rights Management : DRM)가 적용된 객체인 신뢰 객체에 의한 클립보드에의 데이터 저장 및 읽기시에는 데이터를 암호화 및 복호화함으로써 DRM이 적용되지 않은 객체인 비신뢰 객체에 의한 접근을 방지하는 구성을 가지고 있다. 이때 객체는 클립보드로부터 데이터를 추출하여 붙여 넣을 수 있는 동작을 수행하는 독립적인 대상으로서, 일차적으로 각각의 어플리케이션에 대응하는 프로세스를 의미하나, 각각의 프로세스에 의해 관리되는 문서, 서브 윈도우, 문서 내의 이미지/텍스트/동영상 등이 될 수 있다. 이하의 설명에서도 객체는 동일한 의미로 사용된다. 그러나 출원인의 특허발명은 비신뢰 객체로부터 클립보드에 저장되어 있는 암호화된 데이터에 대한 접근 자체를 차단하고 있지 아니하므로, 비신뢰 객체에 의한 클립보드 데이터의 요청시 비신뢰 객체에 암호화된 데이터를 제공하게 된다. 이 경우 비신뢰 객체에 따라 암호화된 데이터의 출력시 프로그램이 다운되거나 예기치않은 상황이 발생하는 문제가 존재한다.
본 발명이 이루고자 하는 기술적 과제는, DRM 환경에서 클립보드를 통한 DRM이 적용된 데이터의 유출을 방지함과 동시에 DRM이 적용되지 않은 데이터에 대한 클립보드의 자유로운 이용을 보장할 수 있는 시스템을 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는, DRM 환경에서 클립보드를 통한 DRM이 적용된 데이터의 유출을 방지함과 동시에 DRM이 적용되지 않은 데이터에 대한 클립보드의 자유로운 이용을 보장할 수 있는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 DRM 환경에서의 클립보드 보호 시스템에 대한 바람직한 실시예는, 운영체제의 기본 기능으로 어플리케이션과 독립적으로 데이터를 저장 및 추출하여 전달하는 클립보드 관리 시스템과 연동하여 클립보드에 저장된 데이터를 보호하는 클립보드 보호 시스템에 있어서, 상기 클립보드에 데이터를 저장하고자 하는 객체가 신뢰할 수 있는 신뢰 객체인 경우에 상기 클립보드에 저장될 데이터에 부여된 제1식별정보를 사전에 설정되어 있는 제2식별정보로 변경하여 관리하고, 상기 신뢰 객체가 상기 클립보드에 저장되어 있는 데이터의 추출을 요청하는 경우에 추출이 요청된 읽기대상 데이터의 식별정보에 대응하는 제2식별정보를 검색하여 출력하는 식별정보 관리부; 상기 클립보드에 저장될 데이터를 암호화하여 출력하고, 상기 클립보드로부터 독출된 암호화된 데이터를 복호하여 출력하는 데이터 보호부; 및 상기 암호화된 보안 데이터를 상기 클립보드에 기록하도록 상기 클립보드 관리 시스템에 요청하고, 상기 신뢰객체로부터 상기 클립보드에 저장되어 있는 데이터의 추출 요청이 입력되면 상기 클립보드 관리 시스템에 상기 읽기대상 데이터의 식별정보에 대응하는 제2식별정보를 전달하여 상기 클립보드로부터 암호화된 보안 데이터를 독출하여 제공할 것을 요청하는 제어부;를 구비한다.
상기의 다른 기술적 과제를 달성하기 위한, 본 발명에 따른 기록매체는, 운영체제의 기본 기능으로 어플리케이션과 독립적으로 데이터를 저장 및 추출하여 전달하는 클립보드 관리 시스템과 연동하여 클립보드에 저장된 데이터를 보호하는 클립보드 보호 방법을 컴퓨터에서 실행시키기 위한 기록매체로서, (a) 상기 클립보드에 데이터를 저장하고자 하는 객체가 신뢰할 수 있는 신뢰 객체인 경우에 상기 클립보드에 저장될 데이터에 부여된 제1식별정보를 사전에 설정되어 있는 제2식별정보로 변경하는 단계; (b) 상기 클립보드에 저장될 데이터를 암호화하는 단계; (c) 상기 데이터에 대응하는 제2식별정보와 상기 암호화된 데이터를 상기 클립보드 관리 시스템에 제공하여 상기 클립보드에 기록하도록 요청하는 단계; (d) 상기 신뢰 객체로부터 상기 클립보드에 기록되어 있는 데이터에 대한 읽기 요청이 입력되면 상기 클립보드 관리 시스템에 추출이 요청된 읽기 대상 데이터의 식별정보의 존재여부에 대한 확인을 요청하는 단계; (e) 상기 클립보드 관리 시스템으로부터 읽기대상 데이터의 식별정보가 존재함을 알리는 응답이 입력되면 상기 클립보드 관리 시스템에 상기 클립보드로부터 상기 읽기대상 데이터를 독출하여 상기 신뢰 객체에게 제공할 것을 요청하고, 상기 클립보드 관리 시스템으로부터 읽기대상 데이터의 식별정보가 존재하지 않음을 알리는 응답이 입력되면 상기 클립보드 관리 시스템에 상기 읽기대상 데이터의 식별정보에 대응하는 제2식별정보를 전달하여 상기 클립보드로부터 암호화된 보안 데이터를 독출하여 제공할 것을 요청하는 단계; 및 (f) 상기 클립보드로부터 독출된 암호화된 데이터를 복호하여 상기 신뢰 객체에게 제공하는 단계;를 가지는 클립보드 보호 방법을 컴퓨터에서 실행시키기 위한 프로그램을 보유한다.
본 발명에 따른 DRM 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체에 의하면, 신뢰 객체에 의한 클립보드에의 데이터 저장 요청시 데이터의 식별정보의 변환 및 데이터의 암호화를 수행한 후 클립보드에 저장하고, 비신뢰 객체의 데이터 읽기 요청시에는 기존의 클립보드 관리 시스템에 의해 데이터의 읽기 동작을 수행함으로써 비신뢰 객체에 의한 보안 데이터에 대한 접근 자체를 차단할 수 있다. 그리고 신뢰 객체의 데이터 읽기 요청시에는 클립보드 관리 시스템이 관리하는 매핑 테이블과 클립보드 보호 시스템이 관리하는 매핑 테이블로부터 읽기 요청된 데이터의 식별정보와 변환된 식별정보를 모두 검색하여 데이터의 존재여부를 확인함으로써, 에러없이 데이터에 대한 읽기 동작을 수행할 수 있다.
도 1은 마이크로소프트사의 윈도우즈 시스템에서 클립보드에 정보를 저장하는 과정을 도시한 도면,
도 2는 클립보드에 저장되는 데이터를 도시한 도면,
도 3은 마이크로소프트사의 윈도우즈 시스템에서 클립보드로부터 데이터를 가져오는 과정을 도시한 도면,
도 4는 본 발명에 따른 DRM 환경에서의 객체, 클립보드 보호 시스템, 클립보드 관리 시스템 및 클립보드 사이의 관계를 도시한 도면,
도 5는 본 발명에 따른 클립보드 보호 시스템에 대한 바람직한 제1실시예의 구성을 도시한 도면,
도 6은 본 발명에 따른 클립보드 보호 시스템(400)에 의해 식별정보 변환 및 데이터 암호화가 적용된 이후에 클립보드(420)에 저장되는 데이터를 도시한 도면,
도 7은 본 발명에 따른 클립보드 보호 시스템(400)에 의해 클립보드(420)에 저장되는 보안 데이터와 키정보를 도시한 도면,
도 8은 본 발명에 따른 클립보드 보호 시스템(400)에 의해 클립보드(420)에 저장되는 보안 데이터, 키정보 및 부가 데이터를 도시한 도면,
도 9는 본 발명에 따른 클립보드 보호 방법에 있어서 데이터를 클립보드에 저장하는 과정을 도시한 도면,
도 10은 본 발명에 도 9에 도시된 데이터 식별정보의 변환 및 데이터의 암호화와 관련된 제1실시예의 수행과정을 도시한 도면,
도 11은 본 발명에 도 9에 도시된 데이터 식별정보의 변환 및 데이터의 암호화와 관련된 제2실시예의 수행과정을 도시한 도면,
도 12는 본 발명에 따른 클립보드 보호 방법에 있어서 클립보드에 저장되어 있는 데이터의 읽기 동작과 관련된 제1실시예의 수행과정을 도시한 도면, 그리고,
도 13은 본 발명에 따른 클립보드 보호 방법에 있어서 클립보드에 저장되어 있는 데이터의 읽기 동작과 관련된 제2실시예의 수행과정을 도시한 도면이다.
이하에서 첨부된 도면들을 참조하여 본 발명에 따른 DRM 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체의 바람직한 실시예에 대해 상세하게 설명한다.
도 4는 본 발명에 따른 DRM 환경에서의 객체, 클립보드 보호 시스템, 클립보드 관리 시스템 및 클립보드 사이의 관계의 구성을 도시한 도면이다.
도 4를 참조하면, 본 발명에 따른 클립보드 보호 시스템(400)은 신뢰 객체와 클립보드 관리 시스템(410) 사이에 위치하여 DRM이 적용되는 신뢰 객체로부터 입력되는 클립보드(420)에의 데이터 저장 및 읽기 동작을 수행한다. 클립보드 관리 시스템(410)은 운영시스템에서 기본적으로 제공하는 클립보드 기능을 수행하기 위한 구성요소로서, DRM이 적용되지 않은 비신뢰 객체 및 클립보드 보호 시스템(400)에 의한 클립보드 사용요청(즉, 클립보드에의 데이터 저장 요청 및 클립보드로부터의 데이터 읽기 요청)에 따른 동작을 수행한다. 본 발명에 따른 클립보드 보호 시스템(400)은 기본적으로 API 후킹 함수에 의해 구현된다. 나아가 본 발명에 따른 클립보드 보호 시스템(400)은 클립보드 보호 기능을 구현한 소프트웨어가 로딩된 컴퓨터와 같은 정보처리장치를 의미할 수 있다. 도 4에 도시된 시스템에 있어서 신뢰 객체와 비신뢰 객체의 구분은 DRM을 처리하는 DRM 모듈(미도시)에 의해 수행되며, 클립보드 보호 시스템(400)은 DRM모듈의 처리결과를 기초로 신뢰 객체와 비신뢰 객체를 식별한다.
도 4에 도시된 바와 같이 비신뢰 객체에 의한 클립보드 접근은 운영시스템이 제공하는 클립보드 관리 시스템(410)에 의해 수행되며, 신뢰 객체에 의한 클립보드 접근은 클립보드 보호 시스템(400)에 의해 수행된다. 만약 클립보드 보호 시스템(400)이 API 후킹 함수로 구현되면, 클립보드 보호 시스템(400)은 DRM 모듈의 구동시 또는 운영 시스템의 구동시 함께 구동된다. 또한 클립보드(420)에 접근하고자 하는 객체가 신뢰 객체인지 비신뢰 객체인지 여부에 대한 확인은 기본적으로 DRM 모듈에 의해 수행되나, 이러한 확인기능은 클립보드 보호 시스템(400)에 의해 수행될 수도 있다. 나아가 클립보드 보호 시스템(400)은 신뢰 객체에 의한 클립보드 접근시 클립보드(420)와 관련된 함수(특히, SetClipboardData()와 GetClipboardData() 함수)를 후킹하여 필요한 과정을 수행한 후 클립보드 관리 시스템(410)에 처리결과를 전달한다.
클립보드 관리 시스템(410)은 객체로부터 입력된 클립보드(420)에 데이터의 저장을 지시하는 함수(예를 들면, 윈도우즈 운영시스템에서 제공하는 SetClipboardData())에 포함되어 있는 데이터 식별정보 또는 클립보드 보호 시스템(400)으로부터 입력된 클립보드(420)에의 데이터 저장 함수에 포함되어 있는 데이터 식별정보에 연계시켜 클립보드(420)에 데이터를 저장한다. 이때 객체로부터 입력된 식별정보는 클립보드(420)에 저장되는 데이터에 대해 객체가 부여한 데이터 형식에 대한 식별자로서 운영 시스템에서 기본적으로 제공하는 CF_TEXT, CF_OEMTEXT, CF_UNICODETEXT 등과 같은 표준 클립보드 포맷(Standard Clipboard Format)이거나 사용자가 임의로 작성하여 등록한 사용자 등록 클립보드 포맷(Registered Clipboard Format)이다. 그리고 클립보드 보호 시스템(400)으로부터 입력된 식별정보는 클립보드 보호 시스템(400)이 객체로부터 입력된 클립보드(420)에의 데이터 저장 함수에 포함되어 있는 데이터 식별정보를 사용자 등록 클립보드 포맷으로 변환한 식별정보이다. 한편 클립보드 관리 시스템(410)은 객체 또는 클립보드 보호 시스템(400)으로부터 입력된 클립보드(420)로부터 데이터의 읽기를 지시하는 함수(예를 들면, 윈도우즈 운영 시스템에서 제공하는 IsClipboardDataAvailable()과 GetClipboardData())에 포함되어 있는 식별정보를 기초로 클립보드(420)로부터 읽기대상 데이터를 독출하여 객체 또는 클립보드 보호 시스템(400)에 제공한다.
도 5는 본 발명에 따른 클립보드 보호 시스템에 대한 바람직한 실시예의 구성을 도시한 도면이다.
도 5를 참조하면, 본 발명에 따른 클립보드 보호 시스템에 대한 바람직한 실시예(400)는 식별정보 관리부(510), 데이터 보호부(520) 및 제어부(530)로 구성된다.
식별정보 관리부(510)는 클립보드(420)에 저장될 보안 데이터에 고유하게 부여된 제1식별정보를 사전에 설정되어 있는 제2식별정보로 변경한다. 이때 제1식별정보는 운영 시스템에서 클립보드 데이터의 형식에 따라 기본적으로 제공하는 CF_TEXT, CF_OEMTEXT, CF_UNICODETEXT 등과 같은 표준 클립보드 포맷이거나 사용자가 임의로 작성하여 등록한 사용자 등록 클립보드 포맷이다. 식별정보 관리부(510)는 이와 같은 제1식별정보를 클립보드 보호 시스템(400)에서 고유하게 설정된 별도의 식별정보인 제2식별정보로 변환한다. 이때 클립보드 관리 시스템(410)이 제2식별정보를 인식하기 위해서는 제2식별정보는 사용자 등록 클립보드 포맷의 형태를 가져야 한다. 또한 식별정보 관리부(510)는 클립보드(420)에 기록되어 있는 데이터에 대한 읽기 요청이 입력되면, 읽기대상 데이터의 식별정보에 대응하는 제2식별정보를 출력한다. 한편 식별정보 관리부(510)는 제1식별정보와 제2식별정보 사이의 대응관계를 별도의 매핑 테이블에 기록하여 관리할 수 있다. 이는 클립보드(420)에 저장되는 데이터가 복수 개(즉, 보안 데이터와 키정보, 보안데이터와 로케일 데이터 등)인 경우에 각각의 데이터에 대응하는 제1식별정보와 제2식별정보를 구분하기 위함이다. 이와 같이 매핑 테이블을 생성하는 경우에 식별정보 관리부(510)는 제어부(530)로부터 입력된 제1식별정보에 대응하는 제2식별정보를 검색하여 제어부(530)에 제공하는 기능을 수행한다.
일예로, DRM이 적용된 마이크로소프트사의 워드 프로그램은 신뢰 객체에 해당된다. 만약 마이크로소프트사의 워드 프로그램이 실행되어 특정한 문서가 열린 상태에서 사용자가 문서 내의 특정한 텍스트에 대한 복사를 요청하면, 워드 프로그램은 클립보드 관리 시스템(410)과의 사이에서 도 1에 도시된 절차에 따라 해당 데이터를 클립보드(420)에 저장하는 동작을 수행한다. 이 과정에서 본 발명에 따른 클립보드 보호 시스템(400)은 워드 프로그램이 클립보드(420)에 데이터를 저장하기 위해 출력한 SetClipboardData() 함수를 후킹하여 식별정보의 변환 및 데이터를 암호화한 후 결과를 클립보드 관리 시스템(410)으로 출력한다. 이때 클립보드 보호 시스템(400)이 SetClipboardData() 함수의 변수로서 설정하는 값은 변환된 제2식별정보와 암호화된 데이터가 저장되어 있는 전역 메모리의 핸들이다. 그리고 워드 프로그램이 출력한 클립보드 관련 함수의 후킹은 워드 프로그램의 구동 또는 운영 시스템의 구동에 동기되어 동작하도록 설정된 후킹 함수에 의해 수행되거나 제어부(530)에 의해 수행될 수 있다. 일단 SetClipboardData() 함수가 후킹되면, 식별정보 관리부(510)는 SetClipboardData() 함수의 변수인 데이터 식별정보(예를 들면, 표준 클립보드 포맷인 CF_TEXT)를 고유하게 설정되어 있는 별도의 식별정보(예를 들면, 사용자 등록 클립보드 포맷인 DRM_CR_TEXT)로 변환한다.
한편 DRM이 적용된 어플리케이션인 마이크로소프트사의 워드 프로그램이 실행되어 특정한 문서가 열린 상태에서 사용자가 클립보드(420)에 저장되어 있는 데이터의 읽기를 요청하면, 워드 프로그램은 클립보드 관리 시스템(410)과의 사이에서 도 2에 도시된 절차에 따라 클립보드로부터 해당 데이터를 읽어오는 동작을 수행한다. 이 과정에서 본 발명에 따른 클립보드 보호 시스템(400)은 워드 프로그램이 클립보드(420)에 필요한 데이터가 존재하는지 여부를 확인하기 위해 출력한 IsClipboardData() 함수를 후킹한 후 클립보드 관리 시스템(410)에 동일한 함수를 출력한다. 만약 클립보드 관리 시스템(410)으로부터 해당 데이터가 존재한다는 응답이 입력되면, 클립보드 보호 시스템(400)은 워드 프로그램이 클립보드(420)로부터 데이터를 읽어 오기 위해 출력한 GetClipboardData() 함수를 후킹하지 않거나, 후킹한 후에 그대로 클립보드 관리 시스템(410)으로 출력한다. 이와 달리 클립보드 관리 시스템(410)으로부터 해당 데이터가 존재하지 않는다는 응답이 입력되면, 클립보드 보호 시스템(400)은 워드 프로그램이 클립보드(420)로부터 데이터를 읽어 오기 위해 출력한 GetClipboardData() 함수를 후킹한다. 이어서 식별정보 관리부(510)는 GetClipboardData() 함수의 변수인 식별정보를(예를 들면, 표준 클립보드 포맷인 CF_TEXT)를 고유하게 설정되어 있는 별도의 식별정보(예를 들면, 사용자 등록 클립보드 포맷인 DRM_CR_TEXT)로 변환한다.
데이터 보호부(520)는 클립보드(420)에 저장될 보안 데이터를 암호화하여 출력하고, 클립보드(420)로부터 독출된 암호화된 데이터를 복호하여 출력한다. 이러한 데이터 보호부(520)는 DRM 모듈(미도시)와 연계되어 동작한다. 즉, 데이터 보호부(520)가 데이터를 암호화하거나 복호화가기 위해 필요한 암호키는 DRM 모듈로부터 얻는다. 한편 암호키에 대한 정보는 클립보드(420)에 저장되는 데이터에 추가되어 클립보드(420)에 저장될 수 있다.
제어부(530)는 본 발명에 따른 클립보드 보호 시스템(400)의 전반적인 동작을 제어한다. 즉, 제어부(530)는 신뢰 객체에 의한 클립보드(420)에의 데이터 저장 요청에 관련된 API 함수(즉, SetClipboardData())와 클립보드(420)로부터의 데이터 읽기 요청에 관련된 함수(즉, IsClipboardDataAbailable()과 GetClipboardData())를 후킹하고, 식별정보 관리부(510)와 데이터 보호부(520)의 동작을 제어한다. 특히, 제어부(530)는 신뢰 객체에 의해 클립보드(420)로부터의 데이터 읽기 요청시 신뢰 객체가 출력한 IsClipboardData() 함수를 후킹한 후 클립보드 관리 시스템(410)에 그대로 전달하고, 클립보드 관리 시스템(410)으로부터의 응답 상태(즉, 해당 데이터의 존재 또는 비존재)에 따라 상이한 절차를 수행한다. 만약 클립보드 관리 시스템(410)으로부터 해당 데이터가 존재한다는 응답이 입력되면, 제어부(530)는 신뢰 객체가 클립보드(420)로부터 데이터를 읽어 오기 위해 출력한 GetClipboardData() 함수를 그대로 클립보드 관리 시스템(410)에 전달한다. 이와 달리 클립보드 관리 시스템(410)으로부터 해당 데이터가 존재하지 않는다는 응답이 입력되면, 제어부(530)는 식별정보 관리부(510)에 후킹한 GetClipboardData() 함수의 변수인 식별정보에 해당하는 제2식별정보의 제공을 요청한다. 그리고 식별정보 관리부(510)로부터 제공된 제2식별정보를 클립보드 관리 시스템(410)에 전달하여 클립보드(420)에 저장되어 있는 데이터의 독출을 요청한다. 도 6에는 본 발명에 따른 클립보드 보호 시스템(400)에 의해 식별정보 변환 및 데이터 암호화가 적용된 이후에 클립보드(420)에 저장되는 데이터가 도시되어 있다.
한편 본 발명에 따른 클립보드 보호 시스템(400)은 데이터의 보호를 위해 식별정보의 변환 및 데이터의 암호화를 수행하여 클립보드(420)에 저장하는 동작에 더해 암호화된 데이터의 복호화를 위해 별도의 키정보를 추가적으로 클립보드(420)에 저장할 수 있다. 이러한 키정보는 암호화 키 자체이거나 암호화 키를 획득할 수 있는 정보가 될 수 있다. 예를 들어, PKI 기반의 암호화가 적용될 경우에는 인증서의 식별명(Distinguished Name) 또는 인증서 아이디이고, 키 풀을 이용하는 경우에는 암호키의 풀 아이디이며, Diffe-Helman 및 이를 응용한 키 교환 방식의 암호화가 적용될 경우에는 키 생성 팩터이다. 따라서 클립보드 보호 시스템(400)은 DRM 모듈로부터 얻은 키정보에 대해 사전에 설정되어 있는 제2식별정보를 부여한 후 키정보를 클립보드(420)에 저장한다. 이러한 키정보의 획득은 별도의 키관리부(미도시)에 의해 수행되거나 데이터 보호부(530)에 의해 수행되며, 키정보의 저장은 데이터 보호부(530)에 의해 수행된다. 도 7에는 본 발명에 따른 클립보드 보호 시스템(400)에 의해 클립보드(420)에 저장되는 보안 데이터와 키정보가 도시되어 있다.
또한 본 발명에 따른 클립보드 보호 시스템(400)은 데이터의 보호를 위해 식별정보의 변환 및 데이터의 암호화를 수행하여 클립보드(420)에 저장하는 동작에 더해 포맷 변환된 부가적인 데이터를 클립보드(420)에 저장할 수 있다. 일반적으로 운영시스템은 시스템에서 사용되는 형식의 식별정보를 갖는 데이터가 입력되는 경우에 이에 더해 다른 형식의 식별정보를 갖는 데이터를 추가적으로 생성하여 클립보드(420)에 함께 저장한다. 예를 들어 CF_TEXT 형태의 데이터가 입력되면 클립보드 관리 시스템(410)은 CF_TEXT 정보를 기반으로 CF_LOCALE, CF_OEMTEXT 및 CF_UNICODETECT 형식의 데이터를 자동으로 생성하여 클립보드(420)에 저장한다. 그런데 보안 데이터를 암호화하면 이와 같은 자동 변환기능이 지원되지 않는다. 따라서 데이터의 보호기능을 유지하면서 운영시스템에서 제공하는 기본적인 변환기능을 구현하기 위해 클립보드 보호 시스템(400)은 암호화되기 전의 보안 데이터를 다른 형태의 데이터로 변환하고, 해당 데이터에 대해 사전에 설정되어 있는 제2식별정보를 부여한 후 암호화하여 클립보드(420)에 저장한다. 이러한 데이터의 변환 및 저장은 별도로 구비된 부가 데이터 생성부(미도시)에 의해 수행되거나 데이터 보호부(530)에 의해 수행된다. 도 8에는 본 발명에 따른 클립보드 보호 시스템(400)에 의해 클립보드(420)에 저장되는 보안 데이터, 키정보 및 부가 데이터가 도시되어 있다.
도 9는 본 발명에 따른 클립보드 보호 방법에 있어서 데이터를 클립보드에 저장하는 과정을 도시한 도면이다.
도 9를 참조하면, 어플리케이션으로부터 클립보드(410)에의 데이터 저장이 요청되면(S900), DRM 모듈은 데이터의 저장을 요청한 어플리케이션이 신뢰 객체인지 비신뢰 객체인지 확인한다(S910). 만약 해당 어플리케이션이 신뢰 객체로 확인되면, 클립보드 보호 시스템(400)은 데이터 식별정보의 변환 및 데이터의 암호화를 수행한다(S920). 그리고 클립보드 관리 시스템(410)은 식별정보 변환 및 데이터 암호화가 수행된 결과를 입력받아 클립보드(420)에 저장한다(S930). 이와 달리 해당 어플리케이션이 신뢰 객체로 확인되면, 클립보드 보호 시스템(400)을 거치지 않고 클립보드 관리 시스템(410)에 의해 곧바로 클립보드(420)에 데이터가 저장된다(S930).
도 10은 본 발명에 도 9에 도시된 데이터 식별정보의 변환 및 데이터의 암호화와 관련된 제1실시예의 수행과정을 도시한 도면이다. 도 10에 도시된 제1실시예는 신뢰 객체에 의한 모든 데이터에 대해 식별정보의 변환 및 데이터의 암호화를 수행하는 경우이다.
도 10을 참조하면, 클립보드에 저장될 데이터가 입력되면(S1000), 클립보드 보호 시스템(400)은 클립보드에 저장될 보안 데이터에 고유하게 부여된 제1식별정보(예를 들면, CF_TEXT)를 사전에 설정되어 있는 제2식별정보(예를 들면, DRM_CR_TEXT)로 변경한 후 제1식별정보와 제2식별정보의 대응관계가 기록된 매핑 테이블을 생성한다(S1010). 다음으로 클립보드 보호 시스템(400)은 보안 데이터에 대해 설정되어 있는 DRM 정보에 기초하여 DRM 모듈로부터 보안용 키를 획득한다(S1020). 다음으로 클립보드 보호 시스템(400)은 보안용 키에 의해 클립보드(420)에 저장될 보안 데이터를 암호화한다(S1030). 다음으로 클립보드 보호 시스템(400)은 제2식별정보와 암호화된 보안 데이터를 클립보드 관리 시스템(410)으로 전달하고, 클립보드 관리 시스템(410)은 전달받은 제2식별정보에 연계하여 암호화된 보안 데이터를 클립보드(420)에 기록한다(S1040).
도 11은 본 발명에 도 9에 도시된 데이터 식별정보의 변환 및 데이터의 암호화와 관련된 제2실시예의 수행과정을 도시한 도면이다. 도 10에 도시된 제2실시예는 신뢰 객체에 의한 데이터 중에서 보호가 필요한 보안 데이터에 대해서만 식별정보의 변환 및 데이터의 암호화를 수행하는 경우이다.
도 11을 참조하면, 클립보드(420)에 저장될 데이터가 입력되면(S1100), 클립보드 보호 시스템(400)은 해당 데이터가 보호가 요구되는 보안 데이터인지 확인한다(S1110). 일예로 마이크로소프트사의 워드 프로그램에 대해 DRM이 적용되는 경우에 워드 프로그램에 로딩된 문서 중에서 DRM이 적용된 문서와 DRM이 적용되지 않은 문서가 모두 존재할 수 있다. 이 경우 DRM이 적용된 문서는 보안 데이터로 분류되고, DRM이 적용되지 않은 문서는 비보안 데이터로 분류된다. 만약 입력된 데이터가 보안 데이터로 확인되면, 클립보드 보호 시스템(400)은 클립보드에 저장될 보안 데이터에 고유하게 부여된 제1식별정보(예를 들면, CF_TEXT)를 사전에 설정되어 있는 제2식별정보(예를 들면, DRM_CR_TEXT)로 변경한 후 제1식별정보와 제2식별정보의 대응관계가 기록된 매핑 테이블을 생성하여 관리한다(S1120). 다음으로 클립보드 보호 시스템(400)은 보안 데이터에 대해 설정되어 있는 DRM 정보에 기초하여 DRM 모듈로부터 보안용 키를 획득한다(S1130). 다음으로 클립보드 보호 시스템(400)은 보안용 키에 의해 클립보드(420)에 저장될 보안 데이터를 암호화한다(S1140). 다음으로 클립보드 보호 시스템(400)은 제2식별정보와 암호화된 보안 데이터를 클립보드 관리 시스템(410)으로 전달하고, 클립보드 관리 시스템(410)은 전달받은 제2식별정보에 연계하여 암호화된 보안 데이터를 클립보드(420)에 기록한다(S1150). 이와 달리 입력된 데이터가 비보안 데이터로 확인되면, 클립보드 보호 시스템(400)은 비보안 데이터의 식별정보와 비보안 데이터를 클립보드 관리 시스템(410)으로 전달한다. 그리고 클립보드 관리 시스템(410)은 전달받은 식별정보에 연계하여 평문의 비보안 데이터를 클립보드(420)에 기록한다(S1160).
도 12는 본 발명에 따른 클립보드 보호 방법에 있어서 클립보드에 저장되어 있는 데이터의 읽기 동작과 관련된 제1실시예의 수행과정을 도시한 도면이다.
도 12를 참조하면, 어플리케이션으로부터 클립보드에 저장되어 있는 데이터의 읽기 요청이 입력되면(S1200), DRM 모듈은 해당 어플리케이션이 신뢰 객체인지 여부를 확인한다(S1205). 만약 신뢰 객체로 확인되면, 클립보드 보호 시스템(400)은 클립보드 관리 시스템(410)에 읽기 요청된 읽기대상 데이터의 식별정보가 존재하는지를 확인한다(S1210). 이에 대해 클립보드 관리 시스템(410)으로부터 읽기 대상 데이터의 식별정보가 존재한다는 응답이 입력되면(S1215), 클립보드 보호 시스템(400)은 읽기대상 데이터의 식별정보를 클립보드 관리 시스템(410)에 전달하고, 클립보드 관리 시스템(410)은 클립보드(420)에 저장되어 있는 평문의 데이터를 어플리케이션에 제공한다(S1245). 이와 달리 클립보드 관리 시스템(410)으로부터 읽기 대상 데이터의 식별정보가 존재하지 않는다는 응답이 입력되면(S1215), 클립보드 보호 시스템(400)은 읽기 요청된 데이터의 식별정보를 제2식별정보로 변환한 후 읽기대상 데이터에 대응하는 제2식별정보가 존재하는지를 확인한다(S1220). 만약 읽기대상 데이터에 대응하는 제2식별정보가 존재하지 않으면(S1225), 클립보드 보호 시스템(400)은 어플리케이션에 "데이터 없음" 메시지를 출력한다(S1250). 이와 달리 읽기대상 데이터에 대응하는 제2식별정보가 존재하면(S1225), 클립보드 보호 시스템(400)은 클립보드 관리 시스템(410)에 제2식별정보를 전달하여 클립보드(400)로부터 제2식별정보에 대응하는 데이터의 독출을 요청하고, 클립보드 관리 시스템(410)으로부터 전달된 데이터를 복호화하여 어플리케이션에 제공한다(S1230).
한편 S1205단계에서 데이터의 읽기를 요청한 어플리케이션이 비신뢰 객체로 확인되면, 클립보드 보호 시스템(400)은 읽기대상 데이터의 식별정보를 클립보드 관리 시스템(410)에 전달하고, 클립보드 관리 시스템(410)은 읽기 대상 데이터에 대응하는 식별정보가 존재하는지 여부를 확인한다(S1235). 만약 읽기대상 데이터에 대응하는 식별정보가 존재하면(S1240), 클립보드 관리 시스템(410)은 클립보드(420)로부터 읽기대상 데이터를 독출하여 어플리케이션에 제공한다(S1245). 이와 달리 읽기대상 데이터의 식별정보가 존재하지 않으면(S1240), 클립보드 관리 시스템(410)은 어플리케이션에 "데이터 없음" 메시지를 출력한다(S1250).
도 13은 본 발명에 따른 클립보드 보호 방법에 있어서 클립보드에 저장되어 있는 데이터의 읽기 동작과 관련된 제2실시예의 수행과정을 도시한 도면이다.
도 13을 참조하면, 어플리케이션으로부터 클립보드(420)에 저장되어 있는 데이터의 읽기 요청이 입력되면(S1300), 클립보드 보호 시스템(400)은 클립보드 관리 시스템(410)에 읽기 요청된 읽기대상 데이터의 식별정보가 존재하는지 여부를 확인한다(S1305). 이에 응답하여 클립보드 관리 시스템(410)은 읽기대상 데이터에 대응하는 식별정보가 존재하는지를 확인한 결과를 클립보드 보호 시스템(400)으로 전달한다. 만약 읽기대상 데이터에 대응하는 식별정보가 존재하면(S1310), 클립보드 보호 시스템(400)은 읽기대상 데이터의 식별정보를 클립보드 관리 시스템(410)에 전달하여 데이터의 읽기를 요청하고, 클립보드 관리 시스템(410)은 클립보드(420)로부터 읽기대상 데이터를 독출하여 어플리케이션에 제공한다(S1340). 이와 달리 읽기대상 데이터에 대응하는 식별정보가 존재하지 않으면(S1310), 클립보드 보호 시스템(400)은 DRM모듈을 통해 해당 어플리케이션이 신뢰 객체인지 여부를 확인한다(S1315). 만약 비신뢰 객체로 확인되면, 클립보드 보호 시스템(400)은 어플리케이션에 "데이터 없음" 메시지를 출력한다(S1335). 이와 달리 신뢰 객체로 확인되면, 클립보드 보호 시스템(400)은 읽기 요청된 데이터의 식별정보를 제2식별정보로 변환한 후 읽기대상 데이터에 대응하는 제2식별정보가 존재하는지를 확인한다(S1320). 만약 읽기대상 데이터에 대응하는 제2식별정보가 존재하면(S1325), 클립보드 보호 시스템(400)은 클립보드 관리 시스템(410)에 제2식별정보를 전달하여 클립보드(400)로부터 제2식별정보에 대응하는 데이터의 독출을 요청하고, 클립보드 관리 시스템(410)으로부터 전달된 데이터를 복호화하여 어플리케이션에 제공한다(S1330). 이와 달리 읽기대상 데이터에 대응하는 제2식별정보가 존재하지 않으면(S1325), 클립보드 보호 시스템(400)은 어플리케이션에 "데이터 없음" 메시지를 출력한다(S1335).
이상에서 설명한 본 발명에 따른 클립보드 보호 시스템 및 방법은 신뢰 객체에 의한 클립보드에의 데이터 저장 요청시 데이터의 식별정보의 변환 및 데이터의 암호화를 수행한 후 클립보드에 저장한다. 그리고 비신뢰 객체의 데이터 읽기 요청시에는 기존의 클립보드 관리 시스템에 의해 데이터의 읽기 동작을 수행함으로써 보안 데이터에 대한 접근 자체를 차단할 수 있다. 이와 달리 신뢰 객체의 데이터 읽기 요청시에는 클립보드 관리 시스템이 관리하는 매핑 테이블과 클립보드 보호 시스템이 관리하는 매핑 테이블로부터 읽기 요청된 데이터의 식별정보와 변환된 식별정보를 모두 검색하여 데이터의 존재여부를 확인함으로써, 에러없이 데이터에 대한 읽기 동작을 수행할 수 있다. 한편 상술한 실시예는 객체의 종류(즉, 신뢰 객체와 비신뢰 객체)에 따라 상이한 동작을 수행하나, 이와 달리 신뢰 객체가 관리하는 하위 객체(예를 들면, 마이크로소프트사의 워드 프로그램에서 로딩된 문서들)들에 대해서도 본 발명이 적용될 수 있다. 이때 신뢰 객체 여부 및 하위 객체의 신뢰 여부(즉, DRM 적용여부)에 대한 확인과정을 순차적으로 또는 동시에 수행한 후 신뢰 객체의 하위 객체의 신뢰성이 인정되는 경우에 한하여 식별정보의 변환 및 데이터의 암호화를 수행하고, 신뢰 객체의 하위 객체에 의한 데이터의 읽기 요청인 경우에 한하여 클립보드 관리 시스템이 관리하는 매핑 테이블과 클립보드 보호 시스템이 관리하는 매핑 테이블로부터 읽기 요청된 데이터의 식별정보와 변환된 식별정보를 모두 검색하여 데이터의 존재여부를 확인한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.

Claims (15)

  1. 운영체제의 기본 기능으로 어플리케이션과 독립적으로 데이터를 저장 및 추출하여 전달하는 클립보드 관리 시스템과 연동하여 클립보드에 저장된 데이터를 보호하는 클립보드 보호 시스템에 있어서,
    상기 클립보드에 데이터를 저장하고자 하는 객체가 신뢰할 수 있는 신뢰 객체인 경우에 상기 클립보드에 저장될 데이터에 부여된 제1식별정보를 사전에 설정되어 있는 제2식별정보로 변경하여 관리하고, 상기 신뢰 객체가 상기 클립보드에 저장되어 있는 데이터의 추출을 요청하는 경우에 추출이 요청된 읽기대상 데이터의 식별정보에 대응하는 제2식별정보를 출력하는 식별정보 관리부;
    상기 클립보드에 저장될 데이터를 암호화하여 출력하고, 상기 클립보드로부터 독출된 암호화된 데이터를 복호하여 출력하는 데이터 보호부; 및
    상기 암호화된 보안 데이터를 상기 제2식별정보와 연계하여 상기 클립보드에 기록하도록 상기 클립보드 관리 시스템에 요청하고, 상기 신뢰객체로부터 상기 클립보드에 저장되어 있는 데이터의 추출 요청이 입력되면 상기 클립보드 관리 시스템에 상기 읽기대상 데이터의 식별정보에 대응하는 제2식별정보를 전달하여 상기 클립보드로부터 암호화된 보안 데이터를 독출하여 제공할 것을 요청하는 제어부;를 포함하는 것을 특징으로 하는 클립보드 보호 시스템.
  2. 제 1항에 있어서,
    상기 제어부는 상기 클립보드 관리 시스템로부터 상기 읽기대상 데이터의 식별정보의 존재여부에 대한 확인 요청에 대응하여 상기 읽기대상 데이터가 존재하지 않음을 알리는 응답이 입력되면 상기 식별정보 관리부에 상기 읽기대상 데이터의 식별정보를 제공하여 상기 읽기대상 데이터의 식별정보에 대응하는 제2식별정보의 제공을 요청하고, 상기 식별정보 관리부로부터 제공받은 상기 읽기대상 데이터의 식별정보에 대응하는 제2식별정보를 상기 클립보드 관리 시스템에 전달하여 상기 클립보드로부터 암호화된 보안 데이터의 제공을 요청하는 것을 특징으로 하는 클립보드 보호 시스템.
  3. 제 1항 또는 제 2항에 있어서,
    상기 제1식별정보는 상기 신뢰 객체가 클립보드에 저장하고자 하거나 클립보드로부터 추출하고자 하는 데이터에 대해 부여한 데이터 형식에 대한 식별자로서 운영체제에서 기본적으로 제공하는 표준 클립보드 포맷(Standard Clipboard Format) 및 사용자가 임의로 작성하여 등록한 사용자 등록 클립보드 포맷(Registered Clipboard Format) 중 어느 하나인 것을 특징으로 하는 클립보드 보호 시스템.
  4. 제 3항에 있어서,
    상기 제2식별정보는 상기 식별정보 관리부에 의해 상기 제1식별정보에 대해 고유하게 부여되는 데이터 형식에 대한 식별자로서 상기 사용자 등록 클립보드 포맷과 동일한 형식을 가지는 것을 특징으로 하는 클립보드 보호 시스템.
  5. 제 1항 또는 제 2항에 있어서,
    상기 신뢰 객체는 디지털 저작권 관리(Digital Rights Management : DRM)가 적용되는 객체인 것을 특징으로 하는 클립보드 보호 시스템.
  6. 제 5항에 있어서,
    상기 제어부는 상기 신뢰 객체가 관리하는 하위 객체 중에서 DRM이 적용된 하위 객체의 데이터 저장 요청시에 상기 식별정보 관리부에 상기 제1식별정보를 제공하여 식별정보의 변환 및 데이터의 암호화가 수행된 후 상기 클립보드에 저장되도록 제어하는 것을 특징으로 하는 클립보드 보호 시스템.
  7. 제 5항에 있어서,
    상기 제어부는 상기 신뢰 객체가 관리하는 하위 객체 중에서 DRM이 적용된 하위 객체의 데이터 추출 요청시에 상기 클립보드 관리 시스템에 상기 읽기대상 데이터의 식별정보에 대응하는 제2식별정보를 전달하여 상기 클립보드로부터 암호화된 보안 데이터의 제공을 요청하는 것을 특징으로 하는 클립보드 보호 시스템.
  8. 제 5항에 있어서,
    상기 데이터에 대해 설정되어 있는 DRM 정보에 기초하여 보안용 키를 제공하는 DRM부를 더 포함하며,
    상기 데이터 보호부는 상기 데이터로부터 획득한 DRM 정보를 상기 DRM부에 제공하여 보안용 키를 획득하여 상기 데이터에 대한 암호화 및 복호화를 수행하는 것을 특징으로 하는 클립보드 보호 시스템.
  9. 운영체제의 기본 기능으로 어플리케이션과 독립적으로 데이터를 저장 및 추출하여 전달하는 클립보드 관리 시스템과 연동하여 클립보드에 저장된 데이터를 보호하는 클립보드 보호 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서,
    (a) 상기 클립보드에 데이터를 저장하고자 하는 객체가 신뢰할 수 있는 신뢰 객체인 경우에 상기 클립보드에 저장될 데이터에 부여된 제1식별정보를 사전에 설정되어 있는 제2식별정보로 변경하는 단계;
    (b) 상기 클립보드에 저장될 데이터를 암호화하는 단계;
    (c) 상기 데이터에 대응하는 제2식별정보와 상기 암호화된 데이터를 상기 클립보드 관리 시스템에 제공하여 상기 클립보드에 기록하도록 요청하는 단계;
    (d) 상기 신뢰 객체로부터 상기 클립보드에 기록되어 있는 데이터에 대한 읽기 요청이 입력되면 상기 클립보드 관리 시스템에 추출이 요청된 읽기 대상 데이터의 식별정보의 존재여부에 대한 확인을 요청하는 단계;
    (e) 상기 클립보드 관리 시스템으로부터 읽기대상 데이터의 식별정보가 존재함을 알리는 응답이 입력되면 상기 클립보드 관리 시스템에 상기 클립보드로부터 상기 읽기대상 데이터를 독출하여 상기 신뢰 객체에게 제공할 것을 요청하고, 상기 클립보드 관리 시스템으로부터 읽기대상 데이터의 식별정보가 존재하지 않음을 알리는 응답이 입력되면 상기 클립보드 관리 시스템에 상기 읽기대상 데이터의 식별정보에 대응하는 제2식별정보를 전달하여 상기 클립보드로부터 암호화된 보안 데이터를 독출하여 제공할 것을 요청하는 단계; 및
    (f) 상기 클립보드로부터 독출된 암호화된 데이터를 복호하여 상기 신뢰 객체에게 제공하는 단계;를 더 포함하는 것을 특징으로 하는 기록매체.
  10. 삭제
  11. 제 9항에 있어서,
    상기 신뢰 객체는 디지털 저작권 관리(Digital Rights Management : DRM)가 적용된 객체인 것을 특징으로 하는 기록매체.
  12. 제 11항에 있어서,
    상기 신뢰 객체가 관리하는 하위 객체 중에서 DRM이 적용된 하위 객체의 데이터 저장 요청시에 상기 (a)단계 내지 상기 (c)단계를 수행하는 것을 특징으로 하는 기록매체.
  13. 제 9항에 있어서,
    상기 제1식별정보는 상기 신뢰 객체가 클립보드에 저장하고자 하거나 클립보드로부터 추출하고자 하는 데이터에 대해 부여한 데이터 형식에 대한 식별자로서 운영체제에서 기본적으로 제공하는 표준 클립보드 포맷(Standard Clipboard Format) 및 사용자가 임의로 작성하여 등록한 사용자 등록 클립보드 포맷(Registered Clipboard Format) 중 어느 하나인 것을 특징으로 하는 기록매체.
  14. 제 13항에 있어서,
    상기 제2식별정보는 상기 제1식별정보에 대해 고유하게 부여되는 데이터 형식에 대한 식별자로서 상기 사용자 등록 클립보드 포맷과 동일한 형식을 가지는 것을 특징으로 하는 기록매체.
  15. 제 9항에 있어서,
    상기 (b)단계는,
    (b1) 상기 데이터에 대해 설정되어 있는 DRM 정보에 기초하여 보안용 키를 획득하는 단계; 및
    (b2) 상기 보안용 키에 의해 상기 클립보드에 저장될 데이터를 암호화하는 단계;를 포함하는 것을 특징으로 하는 기록매체.
KR1020100080938A 2010-08-20 2010-08-20 Drm 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체 KR101064143B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020100080938A KR101064143B1 (ko) 2010-08-20 2010-08-20 Drm 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
JP2013524766A JP5570664B2 (ja) 2010-08-20 2011-01-25 Drm環境におけるクリップボード保護システム及びその方法をコンピュータで実行させるためのプログラム
US13/818,043 US9098713B2 (en) 2010-08-20 2011-01-25 Clipboard protection system in DRM environment and recording medium in which program for executing method in computer is recorded
PCT/KR2011/000514 WO2012023674A1 (ko) 2010-08-20 2011-01-25 Drm 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
EP11818275.7A EP2608100B1 (en) 2010-08-20 2011-01-25 Clipboard protection system in drm environment and recording medium in which program for executing method in computer is recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100080938A KR101064143B1 (ko) 2010-08-20 2010-08-20 Drm 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체

Publications (1)

Publication Number Publication Date
KR101064143B1 true KR101064143B1 (ko) 2011-09-15

Family

ID=44957237

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100080938A KR101064143B1 (ko) 2010-08-20 2010-08-20 Drm 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체

Country Status (5)

Country Link
US (1) US9098713B2 (ko)
EP (1) EP2608100B1 (ko)
JP (1) JP5570664B2 (ko)
KR (1) KR101064143B1 (ko)
WO (1) WO2012023674A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022196931A1 (ko) * 2021-03-15 2022-09-22 삼성전자주식회사 클립보드 제어 방법 및 그 방법을 수행하는 전자 장치

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101064143B1 (ko) * 2010-08-20 2011-09-15 주식회사 파수닷컴 Drm 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
US10387034B2 (en) 2015-09-03 2019-08-20 Microsoft Technology Licensing, Llc Modifying captured stroke information into an actionable form
US10210383B2 (en) 2015-09-03 2019-02-19 Microsoft Technology Licensing, Llc Interacting with an assistant component based on captured stroke information
HUE16774544T1 (hu) * 2016-07-29 2020-02-28 Permanent Privacy Ltd Biztonságos titkosításhoz kapcsolódó alkalmazások
US10627993B2 (en) 2016-08-08 2020-04-21 Microsoft Technology Licensing, Llc Interacting with a clipboard store
WO2018141108A1 (en) * 2017-02-06 2018-08-09 Qualcomm Incorporated Low peak-to-average power ratio precoded reference signal design for multiple-input, multiple-output transmissions
US11893262B2 (en) 2022-03-25 2024-02-06 Dropbox, Inc. Generating and maintaining a batch action clipboard for web-based platforms

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100943318B1 (ko) * 2007-08-21 2010-02-19 소프트캠프(주) 클립보드 보안방법

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504818A (en) * 1991-04-19 1996-04-02 Okano; Hirokazu Information processing system using error-correcting codes and cryptography
GB2283589A (en) * 1993-11-02 1995-05-10 Ibm Dynamic data exchange over a computer network
GB2288041A (en) * 1994-03-23 1995-10-04 Ibm Object linking and embedding over a computer network.
US5467472A (en) * 1994-04-15 1995-11-14 Microsoft Corporation Method and system for generating and maintaining property sets with unique format identifiers
DE69531119T2 (de) * 1994-12-13 2003-12-04 Microsoft Corp Datentransfer mit erweitertem Format für die Zwischenablage
JPH08339321A (ja) * 1995-06-13 1996-12-24 Hitachi Ltd ファイル管理システム、及びネットワークシステム
US6505300B2 (en) * 1998-06-12 2003-01-07 Microsoft Corporation Method and system for secure running of untrusted content
US6298446B1 (en) * 1998-06-14 2001-10-02 Alchemedia Ltd. Method and system for copyright protection of digital images transmitted over networks
KR100521338B1 (ko) * 1998-08-21 2005-12-21 삼성전자주식회사 멀티-클립보드 기능을 위한 복수 개의 핫키를 갖는 컴퓨터 시스템 및 동작 방법
US6976165B1 (en) * 1999-09-07 2005-12-13 Emc Corporation System and method for secure storage, transfer and retrieval of content addressable information
US7421507B2 (en) * 2000-02-16 2008-09-02 Apple Inc. Transmission of AV/C transactions over multiple transports method and apparatus
KR100390086B1 (ko) * 2000-07-03 2003-07-04 사파소프트 주식회사 통합 내부정보 유출 방지 시스템
US7124303B2 (en) * 2001-06-06 2006-10-17 Sony Corporation Elementary stream partial encryption
US20030093351A1 (en) * 2001-11-14 2003-05-15 Alvin Sarabanchong Method and system for valuation of financial instruments
US7080083B2 (en) * 2001-12-21 2006-07-18 Kim Hong J Extensible stylesheet designs in visual graphic environments
US7950066B1 (en) * 2001-12-21 2011-05-24 Guardian Data Storage, Llc Method and system for restricting use of a clipboard application
US6725289B1 (en) * 2002-04-17 2004-04-20 Vmware, Inc. Transparent address remapping for high-speed I/O
JP4222774B2 (ja) * 2002-05-20 2009-02-12 株式会社エヌ・ティ・ティ・ドコモ 携帯端末およびプログラムの起動方法
US7539940B2 (en) * 2002-10-09 2009-05-26 Microsoft Corporation System and method for converting between text formatting or markup language formatting and outline structure
KR100497376B1 (ko) * 2002-12-24 2005-06-28 삼성전자주식회사 다중클립보드 실행장치 및 다중클립보드 실행방법
US7320069B1 (en) * 2003-02-14 2008-01-15 Novell, Inc. Selective encryption of media data
US20040210846A1 (en) * 2003-04-21 2004-10-21 Olsen Gregory P. Transparent network clipboard sharing
US7469343B2 (en) * 2003-05-02 2008-12-23 Microsoft Corporation Dynamic substitution of USB data for on-the-fly encryption/decryption
JP4759513B2 (ja) * 2003-06-02 2011-08-31 リキッド・マシンズ・インコーポレーテッド 動的、分散的および協働的な環境におけるデータオブジェクトの管理
US7515717B2 (en) * 2003-07-31 2009-04-07 International Business Machines Corporation Security containers for document components
US20050066335A1 (en) * 2003-09-23 2005-03-24 Robert Aarts System and method for exposing local clipboard functionality towards external applications
WO2005043360A1 (en) * 2003-10-21 2005-05-12 Green Border Technologies Systems and methods for secure client applications
DE10350083A1 (de) * 2003-10-27 2005-06-23 Siemens Ag Verfahren zum Übertragen von verschlüsselten Nutzdatenobjekten
CN100454276C (zh) * 2004-06-15 2009-01-21 索尼株式会社 信息管理设备和信息管理方法
KR100677344B1 (ko) * 2004-07-29 2007-02-02 엘지전자 주식회사 권리객체 처리를 위한 메시지 및 이를 이용한 권리객체 처리 방법 및 시스템
JP4673588B2 (ja) 2004-08-11 2011-04-20 株式会社東芝 情報機器遠隔操作システムおよび情報機器
CN101057476B (zh) * 2004-08-17 2014-01-08 肖分析有限公司 用实时路由网络递送个人化内容的方法和装置
JP2006155155A (ja) * 2004-11-29 2006-06-15 Fujitsu Ltd 情報漏洩防止装置、方法およびそのプログラム
KR100681696B1 (ko) * 2004-11-29 2007-02-15 주식회사 안철수연구소 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법
DE102004062203B4 (de) * 2004-12-23 2007-03-08 Infineon Technologies Ag Datenverarbeitungseinrichtung, Telekommunikations-Endgerät und Verfahren zur Datenverarbeitung mittels einer Datenverarbeitungseinrichtung
US20060156400A1 (en) * 2005-01-06 2006-07-13 Gbs Laboratories Llc System and method for preventing unauthorized access to computer devices
US7984513B1 (en) * 2005-02-09 2011-07-19 Liquid Machines, Inc. Method and system for using a rules engine for enforcing access and usage policies in rights-aware applications
US20070011749A1 (en) * 2005-07-11 2007-01-11 Simdesk Technologies Secure clipboard function
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
JP4208085B2 (ja) * 2005-08-30 2009-01-14 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーションプログラムの制御方法およびその装置
US7689925B2 (en) * 2005-09-13 2010-03-30 Microsoft Corporation Copy and paste extensibility
US7725737B2 (en) * 2005-10-14 2010-05-25 Check Point Software Technologies, Inc. System and methodology providing secure workspace environment
US20070150685A1 (en) * 2005-12-28 2007-06-28 Gbs Laboratories Llc Computer architecture for providing physical separation of computing processes
KR20070120413A (ko) 2006-06-19 2007-12-24 엘지전자 주식회사 디알엠 상호 호환 시스템의 컨텐츠 처리 방법 및 컨텐츠신뢰 상태 관리 시스템
US8656461B2 (en) * 2006-07-28 2014-02-18 Microsoft Corporation Copy-paste trust system
US8453066B2 (en) * 2006-11-06 2013-05-28 Microsoft Corporation Clipboard augmentation with references
US9218500B2 (en) * 2007-02-26 2015-12-22 Secure Islands Technologies Ltd. System and method for automatic data protection in a computer network
US8060887B2 (en) * 2007-03-30 2011-11-15 Uranus International Limited Method, apparatus, system, and medium for supporting multiple-party communications
US8438653B2 (en) * 2007-04-10 2013-05-07 Microsoft Corporation Strategies for controlling use of a resource that is shared between trusted and untrusted environments
US8825999B2 (en) * 2007-10-20 2014-09-02 Blackout, Inc. Extending encrypting web service
KR100930018B1 (ko) * 2007-12-07 2009-12-07 주식회사 마크애니 디지털 정보 보안 시스템, 커널 드라이버 장치 및 디지털정보 보안 방법
US8495482B2 (en) * 2008-05-19 2013-07-23 Zac Inc., Llc Methods, systems, and computer readable media for automatically and securely citing and transferring electronically formatted information and for maintaining association between the cited or transferred information and back-end information
JP5181139B2 (ja) * 2008-06-30 2013-04-10 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータプログラム、共有オブジェクト制御装置及び共有オブジェクト制御方法
JP5040859B2 (ja) * 2008-08-28 2012-10-03 富士通株式会社 情報漏洩防止プログラムおよび情報漏洩防止方法
KR100928467B1 (ko) * 2009-02-02 2009-11-25 주식회사 파수닷컴 클립보드 보안 시스템 및 방법
US8243983B2 (en) * 2009-08-14 2012-08-14 Microsoft Corporation Graphically encoded data copy and paste
KR101064143B1 (ko) * 2010-08-20 2011-09-15 주식회사 파수닷컴 Drm 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
KR20120050742A (ko) * 2010-11-11 2012-05-21 삼성에스디에스 주식회사 커널 네이티브 에이피아이의 후킹 처리를 통한 디지털 저작권 관리 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100943318B1 (ko) * 2007-08-21 2010-02-19 소프트캠프(주) 클립보드 보안방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022196931A1 (ko) * 2021-03-15 2022-09-22 삼성전자주식회사 클립보드 제어 방법 및 그 방법을 수행하는 전자 장치

Also Published As

Publication number Publication date
US20130151864A1 (en) 2013-06-13
WO2012023674A1 (ko) 2012-02-23
EP2608100A4 (en) 2017-06-07
JP5570664B2 (ja) 2014-08-13
US9098713B2 (en) 2015-08-04
EP2608100A1 (en) 2013-06-26
JP2013539109A (ja) 2013-10-17
EP2608100B1 (en) 2018-07-25

Similar Documents

Publication Publication Date Title
KR101064143B1 (ko) Drm 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
US8661259B2 (en) Deduplicated and encrypted backups
US11232222B2 (en) Access management system, access management method and program
EP3103048B1 (en) Content item encryption on mobile devices
US20080235521A1 (en) Method and encryption tool for securing electronic data storage devices
KR101373557B1 (ko) 클라우드 컴퓨팅 환경에서 암호화를 위한 사용자 단말 장치 및 암호화 방법
JPWO2009107351A1 (ja) 情報セキュリティ装置および情報セキュリティシステム
US9563789B1 (en) Separate cryptographic keys for protecting different operations on data
CN110188555B (zh) 一种磁盘数据保护方法、系统及相关组件
US20080313473A1 (en) Method and surveillance tool for managing security of mass storage devices
US8131787B2 (en) Information, transformation and reverse transformation processing
KR102328057B1 (ko) 단말 정보에 기반하여 문서 파일의 암호화가 수행되도록 지원하는 문서 보안 서비스 서버 및 그 동작 방법
US10397205B2 (en) Recording data and using the recorded data
JP5511925B2 (ja) アクセス権付き暗号化装置、アクセス権付き暗号システム、アクセス権付き暗号化方法およびアクセス権付き暗号化プログラム
KR20100106110A (ko) 시큐어 부트 데이터(Secure Boot Data) 통합 관리 시스템, 시큐어 부트 데이터 통합 관리를 위한 메타데이터 생성 및 검증 방법, 이를 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는기록매체.
US9405934B2 (en) Hiding sensitive data in plain text environment
JP4338185B2 (ja) ファイルの暗号化・復号方法
JP5175494B2 (ja) 暗号化コンテンツ編集方法およびコンテンツ管理装置
KR101474744B1 (ko) 신뢰 보안 플랫폼 모듈(mtm)을 이용한 usim 데이터 관리 장치 및 그 방법
KR102326100B1 (ko) 안전한 안드로이드 앱 생성 및 안드로이드 플랫폼에서의 앱 설치/실행을 위한 시스템 및 방법
JP4899196B2 (ja) データ管理システム、端末コンピュータ、管理コンピュータ、データ管理方法及びそのプログラム
CN114329651A (zh) 数据保护实现方法、装置、计算机设备及存储介质
CN115499228A (zh) 一种密钥保护方法、装置、设备、存储介质
JP2015026392A (ja) ファイルの安全確保システム及び情報処理機器
JP2005092729A (ja) 電子文書の保護方法、電子文書編集装置、電子文書編集プログラム

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170904

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190828

Year of fee payment: 9