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

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

Info

Publication number
WO2010087678A2
WO2010087678A2 PCT/KR2010/000621 KR2010000621W WO2010087678A2 WO 2010087678 A2 WO2010087678 A2 WO 2010087678A2 KR 2010000621 W KR2010000621 W KR 2010000621W WO 2010087678 A2 WO2010087678 A2 WO 2010087678A2
Authority
WO
WIPO (PCT)
Prior art keywords
clipboard
data
trust
information
security
Prior art date
Application number
PCT/KR2010/000621
Other languages
English (en)
French (fr)
Other versions
WO2010087678A3 (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 US13/147,287 priority Critical patent/US9147050B2/en
Priority to EP10736069.5A priority patent/EP2393033B1/en
Priority to JP2011547810A priority patent/JP2012517047A/ja
Publication of WO2010087678A2 publication Critical patent/WO2010087678A2/ko
Publication of WO2010087678A3 publication Critical patent/WO2010087678A3/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/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

Definitions

  • the present invention relates to a clipboard security system and method, and more particularly, to a clipboard security system and method for enhancing the security of data transmission through a clipboard frequently used when using a computer.
  • a variety of operating systems provide a clipboard or similar space for the purpose of delivering arbitrary program data to other places, which is one of the most frequently used operating system functions when using a computer. Since the data transfer through the clipboard is not considered security at all, any program running in the operating system can use the data stored in the clipboard.
  • the running applications can freely store the data in the clipboard 1 and extract and utilize the plain text. Can be.
  • data stored in application 2 (5) can be extracted and pasted from document 2 (3) being edited in application 1 (4), and document 2 (3) being edited in application 1 (4).
  • the data stored in the document 1 (2) can be extracted and pasted, and the data stored in the document 1 (2) can be extracted and pasted again in the document 1 (2).
  • data on the clipboard can be freely transferred between any program that can use the data format, the information can be used not only for simple text, formatted text, pictures, but also for information having a specific format. It is possible to transfer between programs having a function.
  • the transfer of information between programs by the clipboard must be an efficient way to properly utilize the multitasking capabilities of the operating system, but as the need for security of sensitive data increases, the need to protect data transferred between independent programs through the clipboard This has risen. For example, even if you manage a secure document and want to prevent the leakage of the document's contents, even if you introduce a feature that prevents you from making a copy of the document, you can not move the document to another storage location or send it externally.
  • the contents of the security document can be transferred to the general document without restriction by using the clipboard, and leaked by someone who is not authorized by the contents stored in the clipboard. Therefore, there is a need to increase security by managing data transfer through the clipboard.
  • applications that extend the clipboard to manage a plurality of temporary stored information e.g., Macintosh scrapbooks, Windows clipboard extension applications (Many Paste, multi-clipboard, clip tray, tray text) Etc.
  • these applications mainly provide a function of storing a plurality of plain texts and selecting and utilizing desired ones, but do not provide a function related to security, and digital rights management (Digital).
  • Digital digital rights Management
  • the clipboard which is a basic function of the operating system, is a function that is frequently used for various computer-use tasks such as document work, picture work, program work, and presentation work. You need to be able to effectively control clipboard delivery for data that needs security in the state.
  • the existing clipboard management means are configured to control the flow of information to prevent the transfer of information that requires security to an untrusted place, and in such a configuration, all information flow to the clipboard must be monitored. If any one of the information control fails, information leakage occurs and the reliability of the terminal having various situations is low. Therefore, there is an urgent need for a clipboard security method that guarantees free use of the clipboard, control reliability of the security content, and explicit reliability of information leakage prevention.
  • an object of the present invention is to provide a clipboard for an object capable of copying and extracting data such as an application or a document requiring security. You can use the clipboard to pass data between trusted secured objects by encrypting the data passing contents of the data, so that data stored on the clipboard from the secured object cannot be transferred to the untrusted object or is encrypted. To provide a clipboard security system and method to prevent the leakage of security data.
  • Another object of the embodiments of the present invention is to configure a clipboard management unit to encrypt the data provided from the trusted object to store in the clipboard, the clip to decrypt and provide the clipboard data required from the trusted object It is to provide a board security system and method.
  • Another object of the embodiments of the present invention by using the DRM unit to determine the reliability and secure the secret key required for the encryption and decryption process of the clipboard use data between the trusted objects in the terminal to which the DRM unit for managing the security information as a secret key It is to provide a clipboard security system and method to enhance security and ease of application by doing so.
  • Another object of the embodiments of the present invention is to monitor both the use of the clipboard of trusted objects and the use of the clipboard of untrusted objects, encrypts data that requires security, applies it to the clipboard, and decrypts the trusted object. It provides a clipboard security system and method that provides plain text and allows untrusted objects to be notified of the clipboard being empty instead of delivering encrypted data, thereby enabling control over clipboard usage and ensuring stability.
  • Still another object of the embodiments of the present invention is to generate encryption-related information and anti-forgery information when secure data is encrypted to enable clipboard management through the corresponding information, thereby increasing safety and independence, and providing a clipboard management unit with API or hooking or the like. It provides a clipboard security system and method that can be implemented in various ways including coupling to increase security and stability.
  • Another object of the embodiments of the present invention is to control the transfer of the information to only the object trusted by the security target object depending on whether the security target object is executed or exposed when storing the clipboard information through the screen capture.
  • the present invention provides a clipboard security system and method for preventing data leakage.
  • the clipboard management unit for storing data in the clipboard or extract data from the clipboard in response to the request of one or more objects.
  • the clipboard management unit comprises: a data encryption unit for encrypting the data requested to be stored according to a trust relationship of an object for storing data in the clipboard and an object for extracting encrypted data stored in the clipboard And a data decryption unit for decrypting the encrypted data according to a trust relationship of the data.
  • the clipboard security system for temporarily storing data and the storage and the clip of the data requested from the object located on the clipboard between the one or more objects and the clipboard Controls the extraction of data from the board and encrypts the data in response to the trust information provided from the object and stores the data in the clipboard or encrypted data stored in the clipboard in response to the trust information provided from the object.
  • a clipboard management unit which decrypts and provides the object to the object.
  • the clipboard security method for managing the use of the clipboard of one or more objects receiving first information including data from a first object, and the first information to the first information; Determining whether trust information corresponding to the first object is included, selectively performing an encryption operation on the received data according to the determination result, and storing the encrypted data on a clipboard. It is characterized by including.
  • the clipboard security system and method according to the embodiment of the present invention encrypts data transmission contents of a clipboard targeting an object capable of copying and extracting data, such as an application or a document that requires security, and encrypts data between trusted security objects.
  • the data can be transferred using the clipboard, but the data stored in the clipboard from the secure object cannot be transferred to an untrusted object or encrypted, so that the data can be effectively prevented from leaking through the clipboard. Work efficiency with the clipboard has an excellent effect that can be maintained.
  • the clipboard security system and method configures a clipboard management unit to encrypt data provided from a trusted object, store the data in a clipboard, and decrypt and provide clipboard data required by a trusted object. By doing so, even if an untrusted object secures information in the clipboard, its contents cannot be checked, thereby increasing security.
  • Clipboard security system and method to determine the reliability and obtain the secret key required for the encryption and decryption process of the clipboard use data between the trusted objects in the terminal to which the DRM unit for managing the information that requires security as a secret key; By using the DRM unit, the security and application convenience can be enhanced.
  • Clipboard security system and method to generate encryption-related information and anti-forgery information when secure data encryption to enable the clipboard management through the information to increase the safety and independence, the clipboard management unit API or Implemented in various ways, including hooking or a combination thereof, has the effect of increasing security and stability.
  • Clipboard security system and method controls the delivery of the information only to the object trusted by the security target object according to whether the security target object is executed or exposed when storing the clipboard information through the screen capture This can prevent data leakage due to screen capture.
  • FIG. 1 is a conceptual diagram illustrating a general clipboard using method.
  • FIG. 2 is a conceptual diagram illustrating a relationship between a clipboard and a use object.
  • 3 and 4 is a configuration diagram illustrating the operation of the clipboard security system according to an embodiment of the present invention.
  • 5, 6 is a configuration diagram illustrating the operation of the extended clipboard security system according to an embodiment of the present invention.
  • FIG. 7 and 8 are diagrams illustrating the operation of the DRM unit linked clipboard security system according to an embodiment of the present invention.
  • FIG. 9 is a configuration diagram illustrating the operation of the clipboard management unit division method according to an embodiment of the present invention.
  • FIG. 10 is a conceptual diagram illustrating an operation method of a clipboard manager according to an exemplary embodiment of the present invention.
  • FIG. 11 is a conceptual diagram illustrating an operation method of a clipboard manager according to an exemplary embodiment of the present invention.
  • 12 and 13 are signal flow diagrams illustrating an operation process of a clipboard security system according to an embodiment of the present invention.
  • FIG. 14 and 15 are flowcharts illustrating an operation process of a clipboard security system according to an embodiment of the present invention.
  • an object refers to a storage space or an allocated space, or is used as a concept including data or commands.
  • an object means an object of independent recognition or an object for practicing an operation. It is considered to mean an independent object that can carry data that can be stored on the clipboard or that can be extracted and pasted from the clipboard.
  • object 1 (6) may store data in the clipboard 8
  • object 2 (7) may extract and paste data stored in the clipboard.
  • the objects 1 and 2 (6, 7) may be various targets such as an application program, a document, a sub window, and the like.
  • Clipboards that store unspecified data from various objects and data are extracted from unspecified objects from various objects are also vulnerable to security as this convenience. Control is needed.
  • FIG. 3 and 4 illustrate a concept of a clipboard security system according to an embodiment of the present invention.
  • the access between the object 1 (11), the object 2 (12), and the clipboard 200 is controlled.
  • the clipboard management unit 100 may be provided in the system.
  • Managing access means that when the object 1 (11) and the object 2 (12) requests the storage of data in the clipboard 200 or the extraction of data from the clipboard 200, the storage / extraction of the data It may be meant to manage the operation.
  • the object 1 (11) which is a trusted object requiring security
  • the clipboard manager 100 encrypts the plain text data and stores the data in the clipboard 200, and the object 1 (11).
  • object 1 (11) requests reliable extraction of data stored in the clipboard 200 by the object 2 (11)
  • the clipboard manager 100 decrypts the encrypted and stored data.
  • Object 3 (13) that is not trusted by Object 1 (11) may obtain the encrypted data by requesting extraction of encrypted data stored in the clipboard (200) in the same manner as above. Since it is encrypted, it cannot be used.
  • the clipboard management unit 100 encrypts the plain text, decrypts the encrypted data, and converts the plain text into the plain text.
  • the data actually stored on the clipboard is encrypted, an untrusted object will not be able to take advantage of the data stored in the clipboard even if it is obtained from the object that needs security. Therefore, no matter how the environment of the terminal is changed and how the system operation state is changed, since the data requiring security is stored in the clipboard in an encrypted state, it is possible to fundamentally block the possibility that the contents of the data are leaked.
  • the object 1 (11) to trust the object 2 (12) means that the object 2 (12) can decrypt the encrypted data encrypting the data provided by the object 1 (11),
  • the general trusted object is As an object using data that requires security, when storing data on the clipboard, it must be encrypted and stored.In the case of encrypted data, which is provided from a trust relationship object, it means that the plain text data can be obtained through decryption. do.
  • Untrusted objects are objects that use data that does not require security.
  • the trust object is information indicating that the trust object is a trust object in the clipboard management unit 100 or information that can identify trust (for example, a company unique number in the case of a company, a unique number of the corresponding group in a specific user group, etc.). ) Or the clipboard management unit 100 may check the information (for example, registered user information of the object (application)).
  • FIG. 4 is a diagram illustrating an example of implementing the clipboard manager 100 illustrated in FIG. 3.
  • various configurations for performing the functions of the clipboard manager 100 are blocked.
  • the function of the clipboard manager 100 may also be implemented in software.
  • codes for performing various function blocks shown in FIG. 4 are executed by a computer to perform the functions of the clipboard manager 100. The function can be performed.
  • the clipboard managing unit 100 includes a storage request receiving unit 101 which receives a request for storing data from an object to a clipboard, and an extraction request receiving unit which requests to extract data stored in a clipboard from an object. 104).
  • the clipboard management unit 100 receives trust information from the trust object, and trust information analyzer for analyzing the received trust information ( 102 may be further provided in the clipboard management unit 100.
  • a data decryption unit 105 for decrypting the encrypted data extracted from the clipboard may be further provided in the clipboard management unit 100.
  • the storage request receiver 101 receives a storage request S_Req and data from the object.
  • the receiver further receives trust information T_info1 indicating this.
  • the trust information T_info1 is transmitted to the trust information analyzer 102.
  • the trust information analyzer 102 may preset and store trust information related to objects on which security is performed by the clipboard security system of the present invention. Accordingly, the trust information analyzer 102 analyzes the trust information T_info1 of the object provided from the store request receiver 101 to determine whether the object that generated the store request is a trust object and according to the determination result.
  • the control signal CON1 is provided to the data encryption unit 103.
  • the data encryption unit 103 performs an encryption operation on the data in response to the control signal CON1. For example, the trust information T_info1 is not provided to the trust information analyzing unit 102, or the trust information T_info1 provided to the trust information analyzing unit 102 does not correspond to an object to be secured by the system.
  • the data encryption unit 103 may omit the encryption and the operation and store the plain text data as it is on the clipboard.
  • the data is encrypted and the encrypted data EN_data is stored in the clipboard.
  • data is provided from the storage request receiving unit 101 to the data encrypting unit 103, but the data may be directly provided to the data encrypting unit 103.
  • the object different from the object may request data extraction from the clipboard.
  • the extraction request receiving unit 104 extracts the request from the object requesting data extraction (E_Req) and the trust information (T_info2) of the object.
  • the trust information T_info2 is not provided to the extraction request receiver 104.
  • the trust information analyzer 102 receives trust information T_info2 of the object requesting data extraction, and analyzes the received trust information T_info2 to determine whether the object requesting data extraction is a trust object.
  • the control signal CON2 according to the determination result may be provided to the data decoder 105.
  • the data decryption unit 105 decrypts the encrypted data EN_data from the clipboard in response to the control signal CON2, and provides the plain text data as an object as a result of the decryption operation.
  • 5 and 6 illustrate a case in which the clipboard management unit 110 processes the data as if there is no data in the clipboard when the untrusted object extracts encrypted data from the clipboard in order to increase user convenience and increase system operating stability. .
  • the encrypted string When encrypted data is extracted and copied to an untrusted object as shown in FIGS. 3 and 4, the encrypted string may be pasted or a data format error may appear, and other unexpected symptoms may occur, resulting in low stability.
  • the user may experience inconvenience such as deleting wrongly pasted information or resolving errors.
  • the encrypted data is to be extracted from the clipboard 200. If the encrypted data is to be provided to the object 3 (23) which is an untrusted object, the clipboard management unit 110 provides the object 3 (23) with information indicating that the clipboard is empty instead of providing the encrypted data.
  • a separate management unit may be further configured, or a clipboard management unit managing a trust object and a clipboard management unit managing an untrusted object may be separately configured.
  • FIG. 6 is a diagram illustrating an example of implementing the clipboard manager 100 illustrated in FIG. 5. Detailed description of the same configuration as in FIG. 4 described above among the components illustrated in FIG. 6 will be omitted.
  • the clipboard manager 110 includes a storage request receiver 111, a trust information analyzer 112, a data encryptor 113, an extraction request receiver 114, and a data decryptor 115. Etc. can be provided.
  • a storage request receiver 111 a trust information analyzer 112
  • a data encryptor 113 a data encryptor 113
  • an extraction request receiver 114 a data decryptor 115. Etc. can be provided.
  • Etc. can be provided.
  • an object requests extraction of data stored in the clipboard
  • an untrusted object requests extraction of encrypted data stored in the clipboard
  • information for generating information indicating that the clipboard is empty is generated.
  • the unit 116 may be further provided in the clipboard manager 110.
  • the extraction request receiver 114 receives an extraction request of data stored in a clipboard from an object.
  • the trust information T_info2 of the object is provided to the extraction request receiver 114 in addition to the extraction request E_Req.
  • the untrusted object requests the extraction of data
  • trust information is not provided to the extraction request receiver 114, or untrusted trust information is provided to the extraction request receiver 114.
  • the trust information analyzing unit 112 analyzes whether trust information is provided from the object requesting the extraction of data, or analyzes whether the trust information provided from the object requesting the extraction of the data is an appropriate object as a security target, and provides a control signal accordingly. Occurs.
  • the control signal CON2 is generated to activate the data decryption unit 115.
  • the control signal CON2 is generated to activate the information generator 116. Accordingly, the information BLK_info indicating that the clipboard is empty is displayed. To be provided as a trust object.
  • FIG. 7 and 8 are conceptual views illustrating a detailed operation process when the above-described clipboard security system is applied to, interlocked with, or employs a DRM means.
  • the DRM unit 300 may be configured in a terminal or a remote server connected to a network.
  • the DRM unit 300 may be configured to manage a known key (an encryption and decryption key such as a symmetric key, a secret key, a public key) and trust information.
  • a known key an encryption and decryption key such as a symmetric key, a secret key, a public key
  • the security of management is established, and if it is utilized or interlocked, the security can be extremely increased.
  • the functions provided in the present embodiment by the illustrated DRM unit 300 may be embedded in the clipboard manager 120 to configure a clipboard security system.
  • the clipboard manager 120 corresponds to the trust object 1 31.
  • the object 1 31 information representing trust relationship, for example, a kind of trust identifier such as company-specific information in the case of a company
  • the information related to encryption is generated while encrypting the received data.
  • the encrypted data is stored in the clipboard 200 together. In this case, information that should not be exposed among the information related to encryption is encrypted and included in the encrypted data.
  • the clipboard manager 120 obtains the encrypted data and related encryption information from the clipboard 200 and the object 2 32. After confirming the trust relationship based on the trust information obtained from the data, the encrypted data is decrypted and the plain text data is provided to the object 2 (32).
  • the trust management between the encrypted information and the object may be performed by the clipboard manager 120 itself.
  • a DRM unit 300 having excellent security functions exists to control security information.
  • the trust or trust relationship between objects is checked through the DRM unit 300, and as a result, a secret key (or a specific encryption / decryption-related key or information). Can be obtained.
  • the illustrated clipboard management unit 120 obtains the trust information from the object 1 (31) and provides it to the DRM unit 300, and the DRM unit 300 analyzes the trust information and the secret key according to the analysis result. Provided to the clipboard management unit 120.
  • the clipboard manager 120 encrypts the data using the provided secret key and stores the data in the clipboard 200.
  • the clipboard management unit 120 obtains the trust information from the object 2 (32) and provides it to the DRM unit 300, the DRM unit 300 analyzes the trust information and the clipboard secret key according to the analysis result Provided to the management unit 120.
  • the clipboard manager 120 may decrypt the encrypted data stored in the clipboard 200 using the provided secret key.
  • an encryption identifier for indicating whether the data is encrypted in plain text
  • trust identification information indicating the reliability of the object as additional information necessary for confirming a trust relationship
  • a corresponding information may include an authentication code to prevent forgery or tampering of the encrypted information.
  • information except for the encryption identifier should not be exposed and thus may be encrypted in the same or different manner as the data to be encrypted and included in the encrypted data.
  • a key value is required.
  • the key value may use unique information of the terminal, such as a MAC address of a network card included in the terminal, a serial number of an applied central processing unit, or a secret key obtained from the DRM unit. This ensures that encrypted data obtained from the clipboard matches the value originally stored on the clipboard.
  • the security-required data stored in the clipboard is safe even if it is leaked, thereby reducing the burden of flow management, maintaining the reliability of security, and having a plurality of clipboard managers or problems in the clipboard manager. Even if a situation such as re-execution occurs, the encryption information stored in the clipboard can be decrypted so that the stability of the clipboard security system can be maintained at all times.
  • the clipboard manager 120 may include a storage request receiver 121, a data encryptor 124, an extraction request receiver 125, and a data decryptor 126.
  • the clipboard manager 120 may store trust information of an object. Provided to the DRM unit 300, and also receives an encryption and decryption key for encrypting / decrypting data from the DRM unit (300).
  • the clipboard manager 120 may further include a trust information transmitter 122 and an encryption / decryption key receiver 123.
  • the trust information transmitter 122 receives trust information T_info1 and T_info2 provided from an object requesting data storage or data extraction, and transfers the trust information to the DRM unit.
  • the DRM unit analyzes the trust information T_info1 and T_info2 to determine whether the object requesting data storage or data extraction is a trust object. If the object is determined to be a trusted object according to the determination result, the encryption / decryption keys (Key_E, Key_D) are provided to the clipboard manager 120.
  • the encryption / decryption key receiving unit 123 provides the provided encryption / decryption keys Key_E and Key_D to the data encryption unit 124 and the data decryption unit 126.
  • an encryption identifier, trust identification information, and forgery prevention authentication code may be further generated. Since the trust identification information and the tamper proof authentication code need not be exposed to the untrusted object, the operation of generating the encrypted trust identification information and the tamper proof authentication code is performed by the encryption / decryption key receiving unit 123. It may be performed using (Key_E, Key_D).
  • the data encryption unit 124 shown in FIG. 8 may generate the above information, or a separate encryption information generator (not shown) for generating the above information may be further provided in the system.
  • FIG. 9 is a diagram illustrating a case where a clipboard management unit is divided according to its functions.
  • the clipboard management unit transmits encrypted data between trusted objects and prevents clipboard contents encrypted by an untrusted object from being transferred.
  • the clipboard auxiliary management unit 135 performs a function of preventing the clipboard contents encrypted as an untrusted object from being separated from the clipboard management unit 130 which performs encryption and decryption. will be.
  • the function of encrypting plain text data provided by the trust object 41 and storing the encrypted text in the clipboard 200 and decrypting the encrypted data in the trust object as a plain text is to be dedicated to the clipboard manager 130. do.
  • the clipboard data flow for the trusted object is processed by the clipboard manager 130.
  • the clipboard manager 130 encrypts the plain text data provided from the trusted object 41 to generate encrypted data, and stores the encrypted data in the clipboard 200.
  • the encrypted data is extracted from the clipboard 200 and a decryption operation is performed to provide the plain text data to the trusted object 41.
  • the clipboard auxiliary management unit 135 manages the storage / extraction request of the data from the untrusted object, the clipboard auxiliary management unit 135 directly stores the plain text data provided from the untrusted object on the clipboard 200.
  • the data stored in the clipboard is provided to the untrusted object as it is (that is, the plain text data is bypassed).
  • the clipboard assistant managing unit 135 determines whether the data extracted from the clipboard is encrypted data, and the determining operation detects whether a plain text encryption identifier exists in the data stored in the clipboard. Can be performed. If the data stored in the clipboard 200 requested to be extracted is encrypted data, the clipboard assistant managing unit 135 transmits the information indicating that the clipboard is empty to the untrusted object 42.
  • the clipboard manager 130 and the clipboard assistant manager 135 are functionally separated, but may be substantially divided as a single module according to an operation mode.
  • FIGS. 10 and 11 are views for explaining the configuration and installation method of the clipboard management unit for managing the data transfer contents between the object and the clipboard, the clipboard management unit, Figure 10 is for loading or executing the clipboard management unit By downloading or copying a program that installs the clipboard management unit separately and installing it on the terminal, the clipboard management unit is loaded for each application program that is an operation unit of an object to manage data transmission with the clipboard. Programming Interface).
  • the clipboard management program 400 calls the clipboard management unit 141, and when the data storage for the clipboard 200 is required, the clipboard management unit 141 To store the encrypted data in the clipboard (200).
  • the clipboard management program 400 calls the clipboard management unit 142, and extracts the encrypted data stored in the clipboard 200 If desired, the clipboard manager 142 decrypts the data and transmits the data to the application program 52.
  • each clipboard management unit is configured and operated for each object (particularly, for each application) that requires security maintenance through trust relationship confirmation.
  • a hooking method for monitoring all objects without modification of the application program can be used, which can operate in the manner shown in FIG.
  • the clipboard management program 410 When the clipboard management program 410 is separately installed and executed as shown, it injects the monitoring modules 411 and 412 for each object (mainly an application program) 61 and 62 to be executed thereafter.
  • the monitoring modules 411 and 412 are injected into each application program in the form of a DLL, and the monitoring modules 411 and 412 load the clipboard managers 151 and 152 respectively to perform data encryption and decryption.
  • the monitoring module 411, 412 loads a clipboard management unit that performs encryption and decryption on a trusted object according to whether the injected objects are trusted (that is, whether security is required), and on an untrusted object.
  • Load the clipboard assistant management unit which notifies that the encrypted clipboard contents are empty.
  • the clipboard management unit may be loaded even in the case of the untrusted object, and the clipboard management unit may perform a function of notifying that the encrypted clipboard contents are empty.
  • a predetermined object may call a clipboard management unit explicitly implemented by an API, and another object may call a clipboard management unit implemented by a hooking method.
  • FIG. 12 and 13 are signal flow diagrams illustrating an operation process of a clipboard security system configuration using the DRM unit illustrated in FIG. 7.
  • a corresponding function is replaced by a clipboard management unit. Can be performed.
  • FIG. 12 illustrates an operation process of the clipboard manager 160 that receives data from the trust object 70, encrypts the data, and stores the encrypted data in the clipboard 200.
  • the clipboard manager 160 obtains data to be stored and trust information of the corresponding trust object 70.
  • the trust information may be explicitly provided by the trust object 70 or extracted by the clipboard manager 160 from the trust object.
  • the clipboard manager 160 obtains the trust information and transfers it to the DRM unit 300 to obtain a key corresponding to the trust information. If the DRM unit 300 is not used, the clipboard manager 160 internally corresponds to the trust information.
  • the key may be provided.
  • the encryption information includes an encryption identifier inserted into the plain text so that it can be encrypted, an authentication code for preventing forgery, and trust information for verifying a trust relationship, and the authentication code and the trust information use the key or use a separate key.
  • the encrypted data is included in the encrypted data and stored in the clipboard 200.
  • the encryption identifier may be inserted in the clear text at the front of the encrypted data in order to quickly confirm whether the encryption.
  • the clipboard management unit 160 that performs encryption is no longer needed, and when another clipboard management unit checks the contents of the clipboard, it can secure independence capable of appropriate decryption.
  • FIG. 13 illustrates a process of extracting data from the clipboard 200 storing encryption information. Although shown in FIG. 13, an example using the DRM unit 300 is illustrated, but a function of the configuration is provided to the clipboard manager 170. May be included.
  • the clipboard manager 170 checks this and obtains trust information from the trust object 80.
  • the clipboard manager 170 requests data extraction from the clipboard 200 to receive encrypted information.
  • the clipboard management unit 170 checks the received encryption information to confirm that the information received through the plain text encryption identifier is encrypted, and the received encryption information by using the forgery prevention authentication code is the original stored value of the clipboard. Check if it matches.
  • trust identification information is checked.
  • the trust relationship between the trust objects is determined using the trust information obtained from the trust object 80 and the trust information extracted from the encrypted data (trust identification information). Check it. That is, the trust information may be the same, or may be different, and in the case of different trust information, one or both trust relationships or untrust relationships may be identified.
  • the trust information obtained from the trust object 80 is provided to the DRM unit 300 to correspond to the corresponding key. Will be obtained.
  • the operation may be performed by the clipboard manager 170.
  • the clipboard manager 170 decrypts the encrypted data using the key obtained through the DRM unit 300, and then transfers the plain text data to the trusted object 80.
  • the clipboard management unit when the clipboard management unit receives a data extraction request signal from an untrusted object, the trust relationship with the trust information extracted from the encrypted data is untrusted even if the trust information is not obtained or the trust information is obtained. Therefore, it operates by transmitting a signal indicating that there is no data in the clipboard to the untrusted object without decrypting the encrypted data. Of course, this operation may be performed in the clipboard assistant managing unit.
  • FIG. 14 and 15 are flowcharts illustrating an operation process of a clipboard security system.
  • FIG. 14 is a diagram illustrating a process of encrypting data and storing the data in a clipboard.
  • FIG. 15 is a diagram illustrating decrypting and extracting data stored in a clipboard. The process is shown.
  • the user first starts the process of manually installing the clipboard management program or automatically installing and executing the clipboard management program.
  • the clipboard manager is loaded in an explicit or hooking manner to monitor the application's operation.
  • the clipboard manager detects this to determine whether the application is trusted, and in the case of a trust object, encrypts the data and generates relevant encryption information and stores them together in the clipboard. do. If it is an untrusted object, the plain text data is stored in the clipboard as it is.
  • the clipboard management unit when the clipboard management unit is loaded as shown, when an object requests to extract data from the clipboard, the clipboard management unit receives the clipboard data and checks whether the data is encrypted through the plain text encryption identifier. do. If it is not encrypted, it is passed on to the requested object.
  • the clipboard data is encrypted, verify that it is unmodified by checking the tamper-proof authentication code, and if so, verify that the trust relationship between the trust information of the object requesting data extraction and the trust information included in the encrypted data is trust. If there is a trust relationship, the encrypted data is decrypted into plain text data and the data is transmitted to the requesting object.
  • the information indicating that there is no data on the clipboard is extracted. Pass to the requested object.
  • the above description describes a process in which data is stored in a clipboard from an actual object, so that data of an object requiring security is not leaked into plain text so as to increase security reliability.
  • the screen capture can basically block the operation of the professional screen capture program when a trusted object that requires security is running or exposed to the screen.
  • the basic screen capture using the 'Print Screen' key is a function frequently used in document work, simply blocking it may be a factor to reduce work efficiency.
  • the capture data is encrypted and stored by considering the trust object requesting to save the data in consideration of whether the trust object is executed or whether the screen is exposed. It can be decrypted and delivered only so that the screen capture function can be used and data of an object requiring security can be prevented from being leaked.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (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

클립보드 보안 시스템 및 방법
본 발명은 클립보드 보안 시스템 및 방법에 관한 것으로, 특히 컴퓨터 활용시 빈번하게 사용되는 클립보드를 통한 데이터 전송의 보안성을 높일 수 있도록 한 클립보드 보안 시스템 및 방법에 관한 것이다.
다양한 운영체제에서 임의의 프로그램 데이터를 다른 곳으로 전달하기 위한 목적으로 클립보드 혹은 그와 유사한 공간을 제공하고 있으며, 이는 컴퓨터 이용시 가장 빈번하게 사용되는 운영체제 기능 중 하나로 꼽히고 있다. 이러한 클립보드를 통한 데이터의 전달은 기본적으로 보안이 전혀 고려되고 있지 않으므로 운영체제에서 실행되는 모든 프로그램은 클립보드에 저장된 데이터를 이용할 수 있다.
도 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나 후킹 혹은 이들의 결합을 포함하는 다양한 방식으로 구현하도록 하여 보안성과 안정성을 높일 수 있도록 한 클립보드 보안 시스템 및 방법을 제공하는 것이다.
본 발명 실시예들의 또 다른 목적은 화면 캡처를 통한 클립보드 정보 저장시 보안 대상 객체의 실행 여부나 노출 여부에 따라 상기 보안 대상 객체가 신뢰하는 객체로만 해당 정보의 전달이 가능하도록 통제하여 화면 캡처에 따른 데이터 유출을 방지할 수 있도록 한 클립보드 보안 시스템 및 방법을 제공하는 것이다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 클립보드 보안 시스템은, 하나 이상의 객체의 요청에 응답하여 클립보드에 데이터를 저장하거나 상기 클립보드로부터 데이터를 추출하는 클립보드 관리부를 구비하며, 상기 클립보드 관리부는, 상기 클립보드에 데이터를 저장하고자 하는 객체의 신뢰관계에 따라 상기 저장이 요청되는 데이터를 암호화하는 데이터 암호화부 및 상기 클립보드에 저장된 암호화된 데이터를 추출하고자 하는 객체의 신뢰관계에 따라 상기 암호화된 데이터를 복호화하는 데이터 복호화부를 구비하는 것을 특징으로 한다.
한편, 본 발명의 다른 실시예에 따른 클립보드 보안 시스템은, 데이터를 임시 저장하는 클립보드 및 상기 하나 이상의 객체와 상기 클립보드 사이에 위치하여 상기 객체로부터 요청되는 데이터의 클립보드에의 저장 및 클립보드로부터의 데이터의 추출을 제어하며, 상기 객체로부터 제공되는 신뢰 정보에 응답하여 상기 데이터를 암호화하여 상기 클립보드에 저장하거나, 상기 객체로부터 제공되는 신뢰 정보에 응답하여 상기 클립보드에 저장된 암호화된 데이터를 복호화하여 상기 객체로 제공하는 클립보드 관리부를 구비하는 것을 특징으로 한다.
한편, 본 발명의 일 실시예에 따른 하나 이상의 객체의 클립보드 이용을 관리하는 클립보드 보안 방법은, 제1 객체로부터 데이터를 포함하는 제1 정보를 수신하는 단계와, 상기 제1 정보에 상기 제1 객체에 대응하는 신뢰 정보가 포함되어 있는지를 판단하는 단계와, 상기 판단 결과에 따라, 상기 수신된 데이터에 대해 선택적으로 암호화 동작을 수행하는 단계 및 상기 암호화된 데이터를 클립보드에 저장하는 단계를 구비하는 것을 특징으로 한다.
본 발명 실시예에 따른 클립보드 보안 시스템 및 방법은 보안이 필요한 응용 프로그램이나 문서와 같은 데이터 복사 및 추출이 가능한 객체를 대상으로 하는 클립보드의 데이터 전달 내용을 암호화하여 신뢰할 수 있는 보안 객체들 사이에서는 클립보드를 이용하여 데이터를 전달할 수 있으나 보안 객체로부터 클립보드에 저장된 데이터를 신뢰할 수 없는 객체로는 전달할 수 없거나 혹은 암호화된 상태로 전달하도록 하여 클립보드를 통한 보안 데이터의 유출을 효과적으로 방지할 수 있으면서도 클립보드를 이용한 작업 효율은 그대로 유지할 수 있는 뛰어난 효과가 있다.
본 발명 실시예에 따른 클립보드 보안 시스템 및 방법은 클립보드 관리부를 구성하여 신뢰할 수 있는 객체로부터 제공되는 데이터를 암호화하여 클립보드에 저장하고, 신뢰할 수 있는 객체가 요구하는 클립보드 데이터를 복호화하여 제공하도록 함으로써, 신뢰할 수 없는 객체가 클립보드 내부의 정보를 확보하더라도 그 내용을 확인할 수 없도록 하여 보안성을 높일 수 있는 효과가 있다.
본 발명 실시예에 따른 클립보드 보안 시스템 및 방법은 보안이 필요한 정보를 비밀키로 관리하는 DRM부가 적용된 단말에서 신뢰 객체들 간의 클립보드 이용 데이터의 암호화 및 복호화 과정에 필요한 신뢰성 파악 및 비밀키 획득을 상기 DRM부를 이용하여 처리함으로써 보안성과 적용 편의성을 높일 수 있는 효과가 있다.
본 발명 실시예에 따른 클립보드 보안 시스템 및 방법은 보안 데이터 암호화시 암호화 관련 정보와 위변조 방지 정보를 생성하여 해당 정보를 통한 클립보드 관리가 가능하도록 하여 안전성과 독립성을 높이고, 클립보드 관리부를 API나 후킹 혹은 이들의 결합을 포함하는 다양한 방식으로 구현하도록 하여 보안성과 안정성을 높일 수 있는 효과가 있다.
본 발명 실시예에 따른 클립보드 보안 시스템 및 방법은 화면 캡처를 통한 클립보드 정보 저장 시 보안 대상 객체의 실행 여부나 노출 여부에 따라 상기 보안 대상 객체가 신뢰하는 객체로만 해당 정보의 전달이 가능하도록 통제하여 화면 캡처에 따른 데이터 유출을 방지할 수 있는 효과가 있다.
도 1은 일반적인 클립보드 이용 방식을 설명한 개념도.
도 2는 클립보드와 이용 객체와의 관계를 나타낸 개념도.
도 3,4는 본 발명의 실시예에 따른 클립보드 보안 시스템의 동작 방식을 설명한 구성도.
도 5,6은 본 발명의 실시예에 따른 확장 클립보드 보안 시스템의 동작 방식을 설명한 구성도.
도 7,8은 본 발명의 실시예에 따른 DRM부 연계 클립보드 보안 시스템의 동작 방식을 설명한 구성도.
도 9은 본 발명의 실시예에 따른 클립보드 관리부 구분 방식의 동작을 설명한 구성도.
도 10은 본 발명의 실시예에 따른 클립보드 관리부의 동작 방식을 설명한 개념도.
도 11은 본 발명의 실시예에 따른 클립보드 관리부의 동작 방식을 설명한 개념도.
도 12 및 도 13은 본 발명의 실시예에 따른 클립보드 보안 시스템의 동작 과정을 설명하는 신호 흐름도.
도 14 및 도 15는 본 발명의 실시예에 따른 클립보드 보안 시스템의 동작 과정을 설명하는 순서도.
상기한 바와 같은 본 발명을 첨부된 도면들과 실시예들을 통해 상세히 설명하도록 한다.
도 2는 본 발명의 동작을 설명하기 위해 클립보드를 사용할 수 있는 대상을 명확히 하기 위한 개념도로서, 클립보드를 사용할 수 있는 대상은 각종 응용 프로그램들과, 해당 응용 프로그램들이 관리하는 개별 문서들, 편집 창들을 비롯한 다양한 서브 윈도우들 등 그 종류가 다양하기 때문에 이들을 통칭하여 본 실시예에서는 '객체'라는 용어를 사용하도록 한다. 일반적으로 전산학에서 객체란 저장 공간이나 할당된 공간을 의미하거나 자료 혹은 명령을 포함하는 개념으로 사용되고 있으나, 일반적인 관점에서 객체란 독립적인 인식의 대상이나 동작을 실천하는 대상을 의미하므로, 본 실시예에서는 클립보드에 데이터를 저장할 수 있거나, 클립보드로부터 데이터를 추출하여 붙여 넣을 수 있는 동작을 실천하는 독립적 대상을 의미하는 것으로 간주한다.
즉, 객체 1(6)은 클립보드(8)에 데이터를 저장할 수 있고, 객체 2(7)는 상기 클립보드에 저장된 데이터를 추출하여 붙여 넣을 수 있다. 상기 객체1 및 2(6, 7)는 응용프로그램, 문서, 서브 윈도우 등 다양한 대상이 될 수 있다.
이렇게 다양한 객체들로부터 불특정하게 제공되는 데이터를 저장하고, 역시 다양한 객체들로부터 불특정하게 요청되어 데이터가 추출되는 클립보드는 이러한 편의성만큼 보안에 취약하게 되는데, 이를 방지하기 위해서는 데이터 저장과 추출 과정에 대한 통제가 필요하게 된다.
도 3,4는 본 발명의 실시예에 따른 클립보드 보안 시스템의 개념을 보인 것으로, 도 3에 도시한 바와 같이 객체 1(11)과 객체 2(12)와 클립보드(200) 사이의 억세스를 관리하기 위하여 클립보드 관리부(100)가 시스템 내에 구비될 수 있다. 억세스를 관리한다는 의미는, 객체 1(11)과 객체 2(12)가 클립보드(200)에의 데이터 저장을 요청하거나 클립보드(200)로부터의 데이터 추출을 요청하는 경우, 상기 데이터의 저장/추출 동작을 관리하는 것으로 의미될 수 있다. 보안이 요구되는 신뢰 객체인 객체 1(11)이 클립보드에 데이터의 저장을 요청하면, 클립보드 관리부(100)는 평문 데이터를 암호화하여 클립보드(200)에 저장하고, 상기 객체 1(11)과 같이 보안이 요구되며 객체 1(11)이 신뢰할 수 있는 객체 2(12)가 클립보드(200)에 저장된 데이터의 추출을 요청할 경우, 클립보드 관리부(100)는 상기 암호화되어 저장된 데이터를 복호화하여 상기 객체 2(12)에 제공한다.
상기 객체 1(11)이 신뢰할 수 없는 객체 3(13)은 상기와 같은 과정으로 상기 클립보드(200)에 저장된 암호화된 데이터의 추출을 요청하여 해당 암호화된 데이터를 획득할 수 있으나, 해당 데이터는 암호화된 상태이므로 이를 이용할 수 없게 된다.
즉, 신뢰관계에 있는 객체들 사이의 클립보드 이용 시에는 클립보드 관리부(100)가 평문을 암호화하고, 암호화된 데이터를 복호화하여 평문으로 전환함으로써 각 객체들 입장에서는 일반적인 클립보드 사용과 동일한 결과를 얻게 되지만, 실질적으로 클립보드에 저장되는 데이터는 암호화된 것이기 때문에 비 신뢰 객체는 보안이 필요한 객체로부터 저장된 데이터를 클립보드로부터 얻을 수 있더라도 이를 활용할 수 없게 된다. 따라서 단말의 환경이 어떻게 변화되고 시스템 동작 상태가 어떻게 변화되더라도 보안이 필요한 데이터는 암호화된 상태로 클립보드에 저장되기 때문에 해당 데이터의 내용이 유출될 가능성을 원천적으로 차단할 수 있게 된다.
이러한 구성을 이용할 경우 안전한 데이터 전송을 위해 모든 객체들의 클립보드 입출력을 감시하지 않아도 되므로 관리가 용이해지는 장점이 있다.
여기서, 객체 1(11)이 객체 2(12)를 신뢰한다는 것은 객체 1(11)이 제공한 데이터를 암호화한 암호화 데이터를 객체 2(12)가 복호화할 수 있음을 의미하며, 일반적인 신뢰 객체는 보안이 필요한 데이터를 이용하고 있는 객체로서 클립보드에 데이터를 저장할 경우 암호화하여 저장해야하고, 암호화되어 저장된 데이터 중 신뢰관계 객체로부터 제공된 암호화 데이터인 경우 복호화를 통해 평문 데이터를 얻을 수 있는 객체라는 것을 의미한다. 반면에 비신뢰 객체는 보안이 필요하지 않은 데이터를 이용하는 객체를 의미한다. 따라서 실제 구현 시 신뢰 객체는 클립보드 관리부(100)에 신뢰 객체임을 나타내는 정보나 신뢰를 식별할 수 있는 정보(예를 들어, 기업체의 경우 기업 고유 번호, 특정 이용자 집단의 경우 해당 집단의 고유 번호 등)를 제공하거나 클립보드 관리부(100)가 해당 정보를 확인할 수 있어야 한다(예를 들어, 해당 객체(어플리케이션)의 등록 사용자 정보 등).
도 4는 도 3에 도시된 클립보드 관리부(100)를 구현하는 일예를 나타내는 도면이다. 도 4에서는 클립보드 관리부(100)의 기능을 수행하기 위한 각종 구성이 블록화되어 도시되었다. 그러나, 상기 클립보드 관리부(100)의 기능은 소프트웨어적으로도 구현될 수 있으며, 이를 위하여 도 4에 도시된 각종 기능블록을 수행하기 위한 코드들이 컴퓨터에 의해 실행되어 상기 클립보드 관리부(100)의 기능이 수행될 수 있다.
도 4에 도시된 바와 같이, 클립보드 관리부(100)는 객체로부터 클립보드에의 데이터 저장을 요청받는 저장 요청 수신부(101)와, 객체로부터 클립보드에 저장된 데이터의 추출을 요청받는 추출 요청 수신부(104)를 구비할 수 있다. 또한, 보안이 요구되는 신뢰 객체가 데이터 저장/추출을 요청하는 경우에는, 클립보드 관리부(100)는 상기 신뢰 객체로부터 신뢰 정보를 수신받으며, 상기 수신된 신뢰 정보를 분석하기 위한 신뢰정보 분석부(102)가 클립보드 관리부(100)에 더 구비될 수 있다. 또한, 상기 신뢰정보 분석부(102)의 분석 결과에 따라, 클립보드에 저장이 요청되는 데이터를 암호화하기 위한 데이터 암호화부(103)와, 상기 신뢰정보 분석부(102)의 분석 결과에 따라, 클립보드로부터 추출된 암호화된 데이터를 복호화하는 데이터 복호화부(105)가 클립보드 관리부(100)에 더 구비될 수 있다.
저장 요청 수신부(101)는 객체로부터 저장요청(S_Req) 및 데이터(data)를 수신한다. 또한, 상기 객체가 신뢰 객체인 경우에는 이를 나타내는 신뢰 정보(T_info1)를 더 수신한다. 신뢰 정보(T_info1)는 신뢰정보 분석부(102)로 전달된다.
신뢰정보 분석부(102)에는 본 발명의 클립보드 보안 시스템에 의해 보안이 수행되는 객체들에 관련된 신뢰 정보가 기 설정되어 저장될 수 있다. 이에 따라, 신뢰정보 분석부(102)는 저장 요청 수신부(101)로부터 제공되는 객체의 신뢰 정보(T_info1)를 분석하여, 상기 저장 요청을 발생한 객체가 신뢰 객체인지를 판단하고, 그 판단 결과에 따른 제어신호(CON1)를 데이터 암호화부(103)로 제공한다. 데이터 암호화부(103)는 상기 제어신호(CON1)에 응답하여 데이터(data)에 대한 암호화 동작을 수행한다. 일예로서, 신뢰정보 분석부(102)로 신뢰 정보(T_info1)가 제공되지 않거나, 또는 신뢰정보 분석부(102)로 제공된 신뢰 정보(T_info1)가 시스템에 의해 보안이 수행되는 객체에 해당하지 않는 등으로 분석된 경우에는, 데이터 암호화부(103)는 암호와 동작을 생략하고 평문 데이터(data)를 그대로 클립보드에 저장할 수 있다. 반면에, 상기 객체가 보안이 요구되는 객체인 것으로 분석되면, 상기 데이터(data)를 암호화하여 암호화된 데이터(EN_data)를 클립보드에 저장한다. 도 4에는 데이터(data)가 저장 요청 수신부(101)로부터 데이터 암호화부(103)로 제공되는 것으로 도시되었으나, 상기 데이터(data)는 데이터 암호화부(103)로 직접 제공되어도 무방하다.
한편, 상기 객체와 다른 객체가 클립보드에 대한 데이터 추출을 요청할 수 있으며, 이 경우 상기 추출 요청 수신부(104)는 데이터 추출을 요청하는 객체로부터 추출 요청(E_Req) 및 상기 객체의 신뢰 정보(T_info2)를 수신한다. 상술하였던 바와 같이, 데이터 추출을 요청하는 객체가 비신뢰 객체인 경우에는 신뢰 정보(T_info2)가 추출 요청 수신부(104)로 제공되지 않는다. 신뢰정보 분석부(102)는 데이터 추출을 요청하는 객체의 신뢰 정보(T_info2)를 수신하며, 상기 수신된 신뢰 정보(T_info2)를 분석하여 데이터 추출을 요청하는 객체가 신뢰 객체인지를 판단한다. 그 판단 결과에 따른 제어신호(CON2)가 데이터 복호화부(105)로 제공될 수 있다. 데이터 복호화부(105)는 제어신호(CON2)에 응답하여 클립보드로부터의 암호화된 데이터(EN_data)를 복호화하며, 복호화 동작의 결과로서 평문 데이터(data)를 객체로 제공한다.
도 5,6은 사용자 편의성을 높이고 시스템 운영 안정성을 높이기 위하여 비 신뢰 객체가 암호화된 데이터를 클립보드로부터 추출할 경우 클립보드에 데이터가 없는 것처럼 클립보드 관리부(110)가 처리하도록 하는 경우를 보인 것이다.
도 3,4에서와 같이 암호화된 데이터가 비신뢰 객체에 추출되어 복사될 경우, 암호화된 문자열이 붙여넣기 되거나 데이터 형식 오류가 나타날 수 있고, 그 외의 예상하지 못한 증상이 발생할 수 있어 안정성이 낮아지고 사용자는 잘못 붙인 정보를 지우거나 오류를 해소하는 등의 불편이 발생할 수 있다.
따라서 도 5에 도시한 바와 같이, 신뢰할 수 있는 객체 1과 객체 2(21, 22) 사이에서 클립보드(200)를 이용한 데이터 전송이 이루어질 경우, 암호화된 데이터를 클립보드(200)로부터 추출하고자 하는 비 신뢰 객체인 객체 3(23)에게 암호화된 데이터를 제공해야 하는 경우에는, 클립보드 관리부(110)는 암호화된 데이터를 제공하는 대신 클립보드가 비어 있음을 나타내는 정보를 객체 3(23)에게 제공하도록 구성할 수 있다. 이를 위하여 별도의 관리부를 더 구성할 수도 있고, 신뢰 객체를 관리하는 클립보드 관리부와 비신뢰 객체를 관리하는 클립보드 관리부를 구분하여 구성할 수도 있다.
도 6은 도 5에 도시된 클립보드 관리부(100)를 구현하는 일예를 나타내는 도면이다. 도 6에 도시된 구성들 중 앞서 설명하였던 도 4에서와 동일한 구성에 대해서는 자세한 설명은 생략한다.
도 6에 도시된 바와 같이, 클립보드 관리부(110)는 저장 요청 수신부(111), 신뢰정보 분석부(112), 데이터 암호화부(113), 추출 요청 수신부(114) 및 데이터 복호화부(115) 등을 구비할 수 있다. 또한, 어떠한 객체가 클립보드에 저장된 데이터의 추출을 요청하는 경우에 있어서, 비신뢰 객체가 클립보드에 저장된 암호화된 데이터의 추출을 요청할 때, 클립보드가 비어있음을 나타내는 정보를 발생하기 위한 정보 발생부(116)가 클립보드 관리부(110)에 더 구비될 수 있다.
추출 요청 수신부(114)는 객체로부터 클립보드에 저장된 데이터의 추출 요청을 수신한다. 신뢰 객체가 데이터의 추출을 요청하는 경우에는, 추출 요청(E_Req) 이외에 상기 객체의 신뢰 정보(T_info2)가 추출 요청 수신부(114)로 제공된다. 반면에, 비신뢰 객체가 데이터의 추출을 요청하는 경우에는, 신뢰 정보가 추출 요청 수신부(114)로 제공되지 않거나, 또는 인증되지 않은 신뢰 정보가 추출 요청 수신부(114)로 제공된다. 신뢰정보 분석부(112)는 데이터의 추출을 요청한 객체로부터 신뢰 정보가 제공되었는지를 분석하거나, 또는 데이터의 추출을 요청한 객체로부터 제공된 신뢰 정보가 보안 대상으로서의 적절한 객체인가를 분석하고 그에 따른 제어신호를 발생한다. 일예로서, 데이터의 추출을 요청한 객체가 보안이 요구되는 적절한 신뢰 객체인 경우 제어신호(CON2)를 발생하여 데이터 복호화부(115)를 활성화시킨다. 반면에, 데이터의 추출을 요청한 객체가 비신뢰 객체인 경우에는 제어신호(CON2)를 발생하여 정보 발생부(116)를 활성화시키며, 이에 따라 클립보드가 비어있음을 나타내는 정보(BLK_info)가 상기 비신뢰 객체로 제공되도록 한다.
도 7,8은 앞서 설명한 클립보드 보안 시스템이 DRM(Digital Rights Management) 시스템에 적용, 연동되거나 혹은 DRM 수단을 채용하는 경우의 구체적인 동작 과정을 보인 개념도로서, 신뢰 객체의 신뢰성 판단과, 암호화 및 복호화에 필요한 키(key)를 DRM부(300)를 통해서 수행하는 경우를 보인 것이다. 여기서 상기 DRM부(300)는 단말에 구성되거나 네트워크로 연결된 원격 서버에 구성될 수도 있으며, 일반적으로 알려져 있는 키(대칭키, 비밀키, 공개키 등의 암호화 및 복호화 키)의 관리와 신뢰 정보의 관리에 대한 보안성이 확립되어 있어, 이를 활용하거나 연동할 경우 보안성을 극히 높일 수 있다. 물론, 도시된 DRM부(300)가 본 실시예에서 제공하는 기능이 클립보드 관리부(120)에 내장되어 클립보드 보안 시스템 전용 구성이 이루어질 수도 있다.
도 7에 도시한 바와 같이 신뢰 객체 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)에 제공하며, DRM부(300)는 신뢰 정보를 분석하고 그 분석 결과에 따라 비밀키를 클립보드 관리부(120)로 제공한다. 클립보드 관리부(120)는 제공된 비밀키를 이용하여 상기 데이터를 암호화하여 클립보드(200)에 저장한다. 또한 클립보드 관리부(120)는 객체 2(32)로부터 신뢰 정보를 획득하여 이를 DRM부(300)에 제공하고, DRM부(300)는 신뢰 정보를 분석하고 그 분석 결과에 따라 비밀키를 클립보드 관리부(120)로 제공한다. 클립보드 관리부(120)는 제공된 비밀키를 이용하여 상기 클립보드(200)에 저장된 암호화된 데이터를 복호화 할 수 있다.
상기 암호화 정보로는 다양한 정보들이 생성될 수 있는데, 예를 들어, 데이터의 암호화 여부를 평문으로 나타내기 위한 암호화 식별자, 신뢰 관계 확인을 위해 필요한 부가정보로서 객체의 신뢰성을 나타내는 신뢰 식별 정보, 그리고 해당 암호화된 정보의 위조나 변조를 방지하기 위한 인증 코드를 포함할 수 있다. 이 중 에서 상기 암호화 식별자를 제외한 정보들은 노출되지 않아야 하므로 암호화되는 데이터와 동일 혹은 상이한 방식으로 암호화되어 상기 암호화된 데이터에 포함될 수 있다.
상기 위조나 변조를 방지하기 위한 인증 코드를 생성하기 위해서는 키 값이 필요하다. 상기 키 값은 예를 들어 단말에 포함된 네트워크 카드의 MAC 주소, 적용 중앙 처리 장치의 일련 번호 등과 같이 단말의 고유 정보를 이용하거나 상기 DRM부에서 획득한 비밀키를 이용할 수 있다. 이를 통해 클립보드로부터 획득한 암호화된 데이터가 클립보드에 원래 저장된 값과 일치함을 보장할 수 있도록 한다.
결국, 클립보드에 저장되는 보안이 필요한 데이터는 어떻게 유출되더라도 안전하기 때문에 흐름 관리의 부담이 경감되고, 보안의 신뢰성을 유지할 수 있으며, 클립보드 관리부가 복수로 존재하거나 클립보드 관리부에 문제가 발생하여 다시 실행되는 등의 상황이 발생할 경우에도 클립보드에 저장된 암호화 정보를 통해 복호화가 가능하므로 클립보드 보안 시스템의 안정성은 항상 유지될 수 있게 된다.
도 8은 도 7의 클립보드 관리부(120)를 구현하는 일예를 나타내는 도면이다. 도 8에 도시된 바와 같이, 클립보드 관리부(120)는 저장 요청 수신부(121)와, 데이터 암호화부(124)와, 추출 요청 수신부(125) 및 데이터 복호화부(126)를 구비할 수 있다. 또한, 도 7의 클립보드 보안 시스템이 DRM부(300)를 더 구비하거나, 또는 상기 DRM부(300)가 클립보드 보안 시스템 외부의 시스템인 경우, 클립보드 관리부(120)는 객체의 신뢰 정보를 DRM부(300)로 제공하고, 또한 DRM부(300)로부터 데이터를 암호화/복호화 하기 위한 암복호화 키를 수신한다. 이를 위하여, 클립보드 관리부(120)는 신뢰정보 전송부(122)와 암복호화키 수신부(123)를 더 구비할 수 있다.
신뢰정보 전송부(122)는, 데이터 저장 또는 데이터 추출을 요청하는 객체로부터 제공되는 신뢰 정보(T_info1, T_info2)를 수신하고, 이를 DRM부로 전달한다. DRM부는 상기 신뢰 정보(T_info1, T_info2)를 분석하여, 데이터 저장 또는 데이터 추출을 요청하는 객체가 신뢰 객체인지를 판단한다. 상기 판단 결과에 따라 상기 객체가 신뢰 객체인 것으로 분석되면, 암복호화키(Key_E, Key_D)를 클립보드 관리부(120)로 제공한다. 암복호화키 수신부(123)는 제공된 암복호화키(Key_E, Key_D)를 데이터 암호화부(124) 및 데이터 복호화부(126)로 제공한다. 한편, 상술하였던 바와 같이 상기 데이터(data)에 대한 암호화된 데이터(EN_data) 이외에도, 암호화 식별자, 신뢰 식별 정보 및 위변조 방지 인증 코드 등이 더 발생될 수 있다. 신뢰 식별 정보 및 위변조 방지 인증 코드 등은 비신뢰 객체에 노출되지 않을 필요가 있으므로, 상기 암호화된 신뢰 식별 정보 및 위변조 방지 인증 코드를 발생하는 동작은 암복호화키 수신부(123)로부터 제공되는 암복호화키(Key_E, Key_D)를 이용하여 수행될 수 있다. 도 8에 도시된 데이터 암호화부(124)가 상기와 같은 정보들을 발생할 수 있으며, 또는 상기와 같은 정보들을 발생하기 위한 별도의 암호화 정보 발생장치(미도시)가 시스템 내에 더 구비되어도 무방하다.
도 9은 클립보드 관리부를 그 기능에 따라 구분한 경우를 보인 예로서, 단일한 기능부로서 클립보드 관리부가 신뢰 객체 간의 암호화 데이터 전달 및 비신뢰 객체로 암호화된 클립보드 내용이 전달되지 않도록 하는 도 5의 예와 달리 비신뢰 객체로 암호화된 클립보드 내용이 전달되지 않도록 하는 기능을 클립보드 보조 관리부(135)가 수행하도록 하여 암호화 및 복호화를 실시하는 클립보드 관리부(130)와 구분 구성한 경우를 보인 것이다.
도시한 바와 같이, 신뢰 객체(41)가 제공하는 평문 데이터를 암호화하여 클립보드(200)에 저장하고 암호화된 데이터를 신뢰 객체에 복호화하여 평문으로 제공하는 기능은 클립보드 관리부(130)가 전담하도록 한다. 즉, 신뢰 객체에 대한 클립보드 데이터 흐름은 클립보드 관리부(130)가 처리한다. 이에 따라, 클립보드 관리부(130)는 신뢰 객체(41)로부터 제공되는 평문 데이터를 암호화하여 암호화된 데이터를 발생하고, 이를 클립보드(200)에 저장한다. 또한 클립보드(200)로부터 암호화된 데이터를 추출하고 복호화 동작을 수행하여, 평문 데이터를 신뢰 객체(41)로 제공한다.
한편, 비신뢰 객체(42)와 클립보드(200) 사이의 데이터 흐름은 클립보드 보조 관리부(135)가 처리하도록 한다. 이에 따라, 클립보드 보조 관리부(135)는 비신뢰 객체로부터 데이터의 저장/추출 요청을 관리하므로, 클립보드 보조 관리부(135)는 비신뢰 객체로부터 제공되는 평문의 데이터를 그대로 클립보드(200)에 저장하며, 비신뢰 객체로부터 데이터 추출 요청이 수신되면 클립보드에 저장된 데이터를 그대로 비신뢰 객체로 제공한다(즉, 평문 데이터를 바이패스 시킨다). 클립보드 보조 관리부(135)는 상기 데이터 추출동작을 수행함에 있어서, 클립보드로부터 추출된 데이터가 암호화된 데이터인지를 판별하며, 상기 판별 동작은 클립보드에 저장된 데이터에 평문 암호화 식별자가 존재하는지를 검출하여 수행될 수 있다. 만약 추출 요청된 클립보드(200)에 저장된 데이터가 암호화된 데이터인 경우에는, 클립보드 보조 관리부(135)는 클립보드가 비어있음을 나타내는 정보를 비신뢰 객체(42)에 전달하도록 한다.
상기 클립보드 관리부(130)와 클립보드 보조 관리부(135)는 기능적으로는 구분되지만 실질적으로는 단일 모듈로서 동작 모드에 따라 구분될 수도 있다.
도 10 및 도 11은 상기 클립보드 관리부가 객체와 클립보드 사이에서 데이터 전달 내용을 관리하기 위한 클립보드 관리부의 구성 및 설치 방식을 설명하기 위한 것으로, 도 10은 클립보드 관리부의 로드나 실행을 위해 클립보드 관리부를 설치하는 프로그램을 별도로 다운로드 혹은 복사하여 단말에 설치함으로써, 클립보드 관리부가 객체의 동작 단위가 되는 응용 프로그램마다 로드되어 클립보드와의 데이터 전송을 관리하는 경우를 보인 것으로, API(Application Programming Interface)를 이용하는 경우이다.
즉, 클립보드 관리 프로그램(400)을 별도 획득하여 단말에 설치하고, 보안이 필요한 응용 프로그램(즉, 신뢰 응용 프로그램)이 실행 시 상기 클립보드 관리부(141)를 명시적으로 호출하도록 구성함으로써, 보안이 필요한 응용 프로그램의 실행 마다 개별적인 클립보드 관리부들이 호출되어 동작하는 방식이다.
도시된 바와 같이 응용 프로그램 1(51)이 실행될 때, 클립보드 관리 프로그램(400)이 클립보드 관리부(141)를 호출하며, 클립보드(200)에 대한 데이터 저장이 필요할 때 상기 클립보드 관리부(141)를 통해 암호화된 데이터를 클립보드(200)에 저장하도록 한다. 한편, 응용프로그램 2(52)이 실행될 때, 상기 응용프로그램 1(51)과 같이 클립보드 관리 프로그램(400)이 클립보드 관리부(142)를 호출하며, 상기 클립보드(200)에 저장된 암호화 데이터 추출을 원할 경우 상기 클립보드 관리부(142)가 해당 데이터를 복호화하여 응용프로그램 2(52)에 전달하게 된다.
즉 각 클립보드 관리부는 신뢰 관계 확인을 통한 보안 유지가 필요한 객체들마다(특히, 어플리케이션마다) 별도 구성되어 동작된다.
한편, 이러한 응용프로그램에 의한 명시적 호출방식 외에 응용프로그램의 수정 없이 모든 객체들을 감시하는 후킹 방식을 이용할 수 있는데, 이는 도 11과 같은 방식으로 동작할 수 있다.
도시된 바와 같이 클립보드 관리 프로그램(410)을 별도 설치하여 실행시키면, 이는 그 후에 실행되는 객체들(주로 응용 프로그램)(61, 62)마다 감시모듈(411, 412)을 주입한다. 상기 감시 모듈(411, 412)은 DLL 형태로 각 응용 프로그램에 주입되며, 해당 감시 모듈(411, 412)이 클립보드 관리부(151, 152)를 각각 로드하여 데이터 암호화 및 복호화를 수행하게 된다.
이때, 상기 감시 모듈(411, 412)은 주입된 객체들의 신뢰 여부(즉, 보안 필요성 여부)에 따라 신뢰할 수 있는 객체의 경우 암호화와 복호화를 수행하는 클립보드 관리부를 로드하고, 비신뢰 객체의 경우 암호화된 클립보드 내용이 비었음을 통지하는 클립보드 보조 관리부를 로드한다. 또는, 상기 비신뢰 객체의 경우에도 클립보드 관리부가 로드되도록 할 수 있으며, 상기 암호화된 클립보드 내용이 비었음을 통지하도록 하는 기능을 클립보드 관리부가 수행하도록 할 수 있다.
한편, 상기 도 10과 도 11을 동시에 적용하여 소정의 객체는 명시적으로 API로 구현된 클립보드 관리부를 호출하고, 다른 객체는 후킹 방식에 의해 구현된 클립보드 관리부를 호출할 수도 있다.
도 12 및 도 13은 도 7에 예시한 DRM부를 이용한 클립보드 보안 시스템 구성의 동작 과정을 보인 신호 흐름도로서, 도시된 예에서 DRM부(300)를 사용하지 않을 경우 해당 기능은 클립보드 관리부에서 대신 수행될 수 있다.
먼저, 도 12는 신뢰 객체(70)로부터 데이터를 수신하여 이를 암호화하여 클립보드(200)에 저장하는 클립보드 관리부(160)의 동작 과정을 보인 것으로서, 도시한 바와 같이 신뢰 객체(70)가 클립보드(200)에 데이터를 저장하고자 할 경우 클립보드 관리부(160)는 저장할 데이터와 해당 신뢰 객체(70)의 신뢰 정보를 획득한다. 상기 신뢰 정보는 신뢰 객체(70)가 명시적으로 제공하거나, 상기 클립보드 관리부(160)가 상기 신뢰 객체로부터 추출할 수 있다. 상기 클립보드 관리부(160)는 상기 신뢰 정보를 획득하여 이를 DRM부(300)에 전달하여 신뢰 정보에 대응되는 키를 획득하는데, 만일 DRM부(300)를 이용하지 않을 경우 내부적으로 신뢰 정보에 대응되는 키를 구비할 수 있다.
상기 얻어진 키를 이용하여 데이터를 암호화하고, 상기 암호화에 필요한 각종 정보를 통해 암호화 정보를 생성하게 된다. 상기 암호화 정보에는 암호화되었음을 알 수 있도록 평문으로 삽입하는 암호화 식별자와, 위변조 방지를 위한 인증 코드 및 신뢰관계 확인을 위한 신뢰 정보를 포함하며, 상기 인증 코드와 신뢰 정보는 상기 키를 이용하거나 혹은 별도의 자체 키를 이용하여 암호화 한 후 상기 암호화된 데이터에 포함시켜 클립보드(200)에 저장한다. 이때, 신속한 암호화 여부 확인을 위해 상기 암호화 식별자가 상기 암호화된 데이터의 앞부분에 평문으로 삽입될 수 있다.
즉, 이렇게 클립보드(200)에 저장되는 암호화된 정보를 통해서 암호화 여부를 알 수 있고, 암호화된 것을 알았을 경우 그로부터 신뢰 정보와 위변조 방지 인증 코드를 확보하여 복호화 여부와 필요한 기본 정보를 알 수 있게 되므로 암호화된 데이터에 대한 복호화가 가능해진다. 이를 위해 암호화를 수행한 클립보드 관리부(160)가 더 이상 필요하지 않게 되며, 다른 클립보드 관리부가 클립보드 내용을 확인할 경우 적절한 복호화가 가능한 독립성을 확보할 수 있다.
도 13은 암호화 정보를 저장한 클립보드(200)의 데이터를 추출하는 과정을 보인 것으로, 도시한 경우에도 DRM부(300)를 이용한 예를 보인 것이나 해당 구성의 기능은 클립보드 관리부(170)에 포함될 수도 있다.
먼저, 신뢰 객체(80)가 클립보드(200)에 데이터 추출을 요청하는 경우 이를 클립보드 관리부(170)가 확인하여 신뢰정보를 상기 신뢰객체(80)로부터 획득한다. 그리고 상기 클립보드 관리부(170)가 클립보드(200)에 데이터 추출을 요청하여 암호화된 정보를 수신한다.
상기 클립보드 관리부(170)는 수신된 암호화 정보를 확인하여 평문 암호화 식별자를 통해 수신된 정보가 암호화된 것임을 확인하게 되고, 위변조 방지 인증 코드를 이용하여 수신된 암호화 정보가 클립보드의 원래 저장된 값과 일치하는 지를 확인한다.
상기 과정에서 이상이 없다면 신뢰 식별 정보를 확인하게 되는데, 상기 신뢰 객체(80)로부터 얻은 신뢰 정보와 상기 암호화된 데이터로부터 추출한 신뢰 정보(신뢰 식별 정보)를 이용하여 상기 신뢰 객체들 사이의 신뢰 관계를 확인한다. 즉, 상기 신뢰 정보는 동일할 수도 있고, 서로 다를 수도 있으며, 서로 다른 경우 일방 혹은 양방 신뢰 관계나 혹은 비신뢰 관계를 확인할 수 있다.
만일 데이터에서 추출된 신뢰 정보와 신뢰 객체(80)에서 획득한 신뢰 정보를 통해 신뢰 관계가 확인되면, 해당 신뢰 객체(80)에서 획득한 신뢰 정보를 상기 DRM부(300)에 제공하여 대응되는 키를 획득하게 된다. 해당 작업은 클립보드 관리부(170)에서 이루어질 수도 있다.
상기 클립보드 관리부(170)는 상기 DRM부(300)를 통해 얻은 키를 이용하여 암호화된 데이터를 복호화한 후 평문 데이터를 신뢰 객체(80)로 전달한다.
구체적으로 도시하지는 않았지만, 클립보드 관리부가 비신뢰 객체로부터 데이터 추출 요청 신호를 수신할 경우에는 신뢰 정보를 얻지 못하거나 신뢰 정보를 얻더라도 암호화된 데이터에서 추출한 신뢰 정보와의 신뢰 관계가 비신뢰 관계가 되기 때문에 암호화된 데이터를 복호화하지 않고 클립보드에 데이터가 없음을 나타내는 신호를 상기 비신뢰 객체로 전달하는 방식으로 동작하게 된다. 물론, 이러한 동작은 클립보드 보조 관리부에서 수행될 수 있다.
도 14 및 도 15는 클립보드 보안 시스템의 동작 과정을 나타낸 순서도로서, 도 14는 데이터를 암호화하여 클립보드에 저장하는 과정을 보인 것이고, 도 15는 암호화되어 클립보드에 저장된 데이터를 복호화하여 추출하는 과정을 보인 것이다.
도 14에 도시한 바와 같이, 먼저 사용자가 수동으로 클립보드 관리 프로그램을 설치하거나, 혹은 자동으로 클립보드 관리 프로그램이 설치되어 실행되는 과정으로부터 시작한다.
이후 객체의 기본이 되는 어플리케이션이 동작하게 되면 클립보드 관리부가 명시적 혹은 후킹 방식으로 로드되어 어플리케이션의 동작을 감시한다.
상기 어플리케이션에서 클립보드로 데이터를 저장하고자 할 경우, 상기 클립보드 관리부가 이를 감지하여 해당 어플리케이션의 신뢰 여부를 파악하고, 신뢰 객체인 경우 해당 데이터를 암호화하면서 관련 암호화 정보를 생성하여 함께 클립보드에 저장한다. 만일 비신뢰 객체인 경우 평문 데이터를 그대로 클립보드에 저장한 다.
도 15는 도시한 바와 같이 클립보드 관리부가 로드된 상태에서, 객체가 클립보드의 데이터 추출을 요청하면, 클립보드 관리부는 클립보드 데이터를 수신하여 해당 데이터가 암호화된 것인지를 평문 암호화 식별자를 통해 확인한다. 만일 암호화되지 않은 것이라면 요청한 객체에 그대로 전달한다.
만일 클립보드 데이터가 암호화된 것이라면 위변조 방지 인증 코드를 확인하여 변형되지 않은 것임을 확인하고, 확인될 경우 데이터 추출을 요청한 객체의 신뢰 정보와 암호화된 데이터에 포함된 신뢰 정보 사이의 신뢰 관계가 신뢰인지 확인하여 신뢰 관계가 있다면 해당 암호화된 데이터를 복호화하여 평문 데이터로 만들어 상기 데이터를 요청한 객체에 전달한다.
만일, 위변조 방지 인증 코드 확인 시 문제가 발생하거나 객체들 간 신뢰 관계가 비신뢰 관계이거나 혹은 데이터 추출을 요청한 객체가 신뢰 정보를 제공하지 못할 경우 클립보드에 데이터가 없음을 나타내는 정보를 상기 데이터 추출을 요청한 객체에 전달한다.
이를 통해서 독립적이고 안전한 신뢰 관계 객체 간 데이터 전달과 비신뢰 객체에 대한 안전한 클립보드 내용 전달이 가능해지게 된다.
한편, 앞서 설명한 내용은 실질적인 객체로부터 데이터가 클립보드에 저장되는 과정을 설명하는 것으로 보안이 필요한 객체의 데이터가 평문으로 무단 유출되지 않도록 하여 보안 신뢰성을 높일 수 있도록 한 것이다. 하지만, 단말기의 동작 화면을 하드 카피하는 화면 캡처의 경우 신뢰 객체의 내부 정보 일부를 클립보드를 통해 무단으로 확보할 수 있게 된다. 따라서 이를 차단하기 위해서 기본적으로 화면 캡처의 경우 보안이 요구되는 신뢰 객체가 실행중이거나 화면에 노출될 경우 전문 화면 캡처 프로그램의 동작을 차단할 수 있다. 하지만, 'Print Screen' 키를 이용한 기본적인 화면 캡처의 경우 문서 작업 등에서 자주 이용되는 기능이기 때문에 이를 단순히 차단하는 것은 작업 능률을 낮추는 요인이 될 수 있다. 따라서 이러한 화면 캡처를 통해 영상 데이터가 클립보드에 저장될 경우 신뢰 객체의 실행 여부나 화면 노출 여부를 고려하여 해당 신뢰 객체가 데이터 저장을 요청하는 경우로 간주함으로써 해당 캡처 데이터가 암호화되어 저장되고 신뢰 객체에만 복호화되어 전달될 수 있도록 할 수 있어 화면 캡처 기능을 사용할 수 있도록 하면서도 보안이 요구되는 객체의 데이터가 유출되지 않도록 할 수 있다.
이상에서는 본 발명에 따른 바람직한 실시예들에 대하여 도시하고 또한 설명하였다. 그러나 본 발명은 상술한 실시예에 한정되지 아니하며, 특허 청구의 범위에서 첨부하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능할 것이다.

Claims (26)

  1. 하나 이상의 객체의 요청에 응답하여 클립보드에 데이터를 저장하거나 상기 클립보드로부터 데이터를 추출하는 클립보드 관리부를 구비하며,
    상기 클립보드 관리부는,
    상기 클립보드에 데이터를 저장하고자 하는 객체의 신뢰관계에 따라 상기 저장이 요청되는 데이터를 암호화하는 데이터 암호화부; 및
    상기 클립보드에 저장된 암호화된 데이터를 추출하고자 하는 객체의 신뢰관계에 따라 상기 암호화된 데이터를 복호화하는 데이터 복호화부를 구비하는 것을 특징으로 하는 클립보드 보안 시스템.
  2. 제1항에 있어서,
    상기 하나 이상의 객체는, 보안이 요구되는 신뢰 객체와 보안이 요구되지 않는 비신뢰 객체를 포함하며,
    상기 신뢰 객체가 상기 클립보드에 상기 데이터의 저장이나 추출을 요청하는 경우, 상기 클립보드 관리부는 상기 신뢰 객체로부터 상기 신뢰관계를 나타내는 신뢰 정보를 수신하는 것을 특징으로 하는 클립보드 보안 시스템.
  3. 제2항에 있어서, 상기 클립보드 관리부는,
    상기 신뢰 객체로부터 상기 신뢰 정보를 수신하고, 상기 신뢰 정보를 분석하여 상기 데이터 암호화부 및 상기 데이터 복호화부 중 적어도 하나를 제어하는 신뢰정보 분석부를 더 구비하는 특징으로 하는 클립보드 보안 시스템.
  4. 제3항에 있어서, 상기 클립보드 관리부는,
    상기 암호화된 데이터를 추출하고자 하는 객체가 비신뢰 객체인 경우, 상기 클립보드가 비었음을 나타내는 정보를 상기 비신뢰 객체로 제공하는 것을 특징으로 하는 클립보드 보안 시스템.
  5. 제1항에 있어서,
    상기 클립보드 관리부로부터 상기 신뢰관계를 나타내는 신뢰 정보를 전달받으며, 상기 신뢰 정보를 분석한 결과에 따라 데이터 암복호화 키를 상기 클립보드 관리부로 제공하는 DRM(Digital Rights Management)부를 더 구비하는 것을 특징으로 하는 클립보드 보안 시스템.
  6. 제1항에 있어서,
    외부의 DRM(Digital Rights Management) 시스템과 통신하며, 상기 클립보드 관리부로부터 상기 신뢰관계를 나타내는 신뢰 정보를 상기 외부의 DRM 시스템으로 제공하고, 상기 외부의 DRM 시스템으로부터 데이터 암복호화 키를 수신하는 것을 특징으로 하는 클립보드 보안 시스템.
  7. 제1항에 있어서, 상기 클립보드 관리부는,
    상기 객체의 실행에 따라 동작하는 API(Application Programming Interface) 방식 및 모든 종류의 객체 실행을 감시하는 후킹(hooking) 방식 중 어느 하나의 방식으로 동작하는 것을 특징으로 하는 클립보드 보안 시스템.
  8. 제1항에 있어서, 상기 클립보드 관리부는,
    상기 암호화된 데이터의 위조 또는 변조를 방지하기 위한 위변조 방지 인증 코드를 더 발생하여 상기 클립보드에 저장하는 것을 특징으로 하는 클립보드 보안 시스템.
  9. 제8항에 있어서, 상기 클립보드 관리부는,
    상기 암호화된 데이터 복호화 전에 상기 위변조 방지 인증 코드를 이용하여 상기 암호화된 데이터의 위변조 여부를 확인하는 것을 특징으로 하는 클립보드 보안 시스템.
  10. 제8항에 있어서, 상기 클립보드 관리부는,
    상기 데이터의 암호화 여부를 확인할 수 있는 평문 암호화 식별자와, 상기 신뢰관계를 나타내는 신뢰 정보를 암호화한 정보를 더 발생하여 상기 클립보드에 저장하는 것을 특징으로 하는 클립보드 보안 시스템.
  11. 제1항에 있어서, 상기 클립보드 관리부는,
    화면 캡처 동작이 수행되는 경우, 상기 화면 캡처 동작이 신뢰 객체의 실행 또는 상기 신뢰 객체가 노출되는 중에 수행되었는지를 판단하고, 그 판단 결과에 따라 캡처 화면을 암호화하여 상기 클립보드에 저장하는 것을 특징으로 하는 클립보드 보안 시스템.
  12. 제1항에 있어서,
    상기 하나 이상의 객체는 보안이 요구되는 신뢰 객체와 보안이 요구되지 않는 비신뢰 객체를 포함하고, 상기 클립보드 관리부는 상기 신뢰 객체와 상기 클립보드 사이의 억세스를 관리하며,
    상기 클립보드 보안 시스템은, 상기 비신뢰 객체와 상기 클립보드 사이의 억세스를 관리하기 위한 클립보드 보조 관리부를 더 구비하는 것을 특징으로 하는 클립보드 보안 시스템.
  13. 제12항에 있어서,
    상기 클립보드 보조 관리부는,
    상기 클립보드로부터 추출된 데이터가 암호와된 데이터인 경우에는 클립보드가 비어있음을 나타내는 정보를 상기 비신뢰 객체로 제공하며,
    상기 클립보드로부터 추출된 데이터가 평문인 경우에는 상기 평문 데이터를 상기 비신뢰 객체로 제공하는 것을 특징으로 하는 클립보드 보안 시스템.
  14. 데이터를 임시 저장하는 클립보드; 및
    상기 하나 이상의 객체와 상기 클립보드 사이에 위치하여 상기 객체로부터 요청되는 데이터의 클립보드에의 저장 및 클립보드로부터의 데이터의 추출을 제어하며, 상기 객체로부터 제공되는 신뢰 정보에 응답하여 상기 데이터를 암호화하여 상기 클립보드에 저장하거나, 상기 객체로부터 제공되는 신뢰 정보에 응답하여 상기 클립보드에 저장된 암호화된 데이터를 복호화하여 상기 객체로 제공하는 클립보드 관리부를 구비하는 것을 특징으로 하는 클립보드 보안 시스템.
  15. 제14항에 있어서,
    상기 하나 이상의 객체는 보안이 요구되는 신뢰 객체와 보안이 요구되지 않는 비신뢰 객체를 포함하고,
    상기 클립보드 관리부는,
    상기 신뢰 객체로부터 데이터의 저장 또는 추출이 요청되는 경우, 상기 신뢰 객체로부터 제공되는 상기 신뢰 정보에 응답하여 데이터를 암호화하거나 암호화된 데이터를 복호화하며,
    상기 비신뢰 객체로부터 암호화된 데이터의 추출이 요청되는 경우, 상기 클립보드가 비었음을 나타내는 정보를 상기 비신뢰 객체로 제공하는 것을 특징으로 하는 클립보드 보안 시스템.
  16. 제14항에 있어서,
    상기 하나 이상의 객체는 보안이 요구되는 신뢰 객체와 보안이 요구되지 않는 비신뢰 객체를 포함하고, 상기 클립보드 관리부는, 상기 신뢰 객체로부터 데이터의 저장 또는 추출을 요청받으며, 상기 신뢰 객체로부터 제공되는 상기 신뢰 정보에 응답하여 데이터를 암호화하거나 암호화된 데이터를 복호화하며,
    상기 클립보드 보안 시스템은, 상기 비신뢰 객체로부터 암호화된 데이터의 추출이 요청되는 경우, 상기 클립보드가 비었음을 나타내는 정보를 상기 비신뢰 객체로 제공하는 클립보드 보조 관리부를 더 구비하는 것을 특징으로 하는 클립보드 보안 시스템.
  17. 제14항에 있어서,
    상기 데이터를 암호화, 복호화 하기 위한 암복호화 키를 저장하며, 상기 클립보드 관리부로부터 상기 신뢰 객체의 신뢰 정보를 전달받으며, 상기 전달된 신뢰 정보에 따라 상기 암복호화 키를 상기 클립보드 관리부로 제공하는 DRM(Digital Rights Management)부를 더 포함하는 것을 특징으로 하는 클립보드 보안 시스템.
  18. 하나 이상의 객체의 클립보드 이용을 관리하는 클립보드 보안 방법에 있어서,
    제1 객체로부터 데이터를 포함하는 제1 정보를 수신하는 단계;
    상기 제1 정보에 상기 제1 객체에 대응하는 신뢰 정보가 포함되어 있는지를 판단하는 단계;
    상기 판단 결과에 따라, 상기 수신된 데이터에 대해 선택적으로 암호화 동작을 수행하는 단계; 및
    상기 암호화된 데이터를 클립보드에 저장하는 단계를 구비하는 것을 특징으로 하는 클립보드 보안 방법.
  19. 제18항에 있어서,
    제2 객체로부터 데이터 추출 요청 정보를 포함하는 제2 정보를 수신하는 단계;
    상기 제2 정보에 상기 제2 객체에 대응하는 신뢰 정보가 포함되어 있는지를 판단하는 단계;
    상기 판단 결과 상기 제2 객체에 대응하는 신뢰 정보가 포함되어 있는 경우, 상기 클립보드에 저장된 상기 암호화된 데이터를 복호화하는 단계; 및
    상기 복호화된 데이터를 상기 제2 객체에 제공하는 단계를 더 구비하는 것을 특징으로 하는 클립보드 보안 방법.
  20. 제19항에 있어서,
    상기 판단 결과 상기 제2 객체에 대응하는 신뢰 정보가 포함되어 있지 않으며, 상기 제2 객체가 상기 클립보드에 저장된 평문 데이터의 추출을 요청한 경우, 상기 클립보드에 저장된 평문 데이터를 상기 제2 객체로 제공하는 것을 특징으로 하는 클립보드 보안 방법.
  21. 제19항에 있어서,
    상기 판단 결과 상기 제2 객체에 대응하는 신뢰 정보가 포함되어 있지 않은 경우, 상기 클립보드가 비었음을 나타내는 정보를 상기 제2 객체로 제공하는 단계를 더 구비하는 것을 특징으로 하는 클립보드 보안 방법.
  22. 제19항에 있어서,
    상기 수신된 제1 정보 또는 제2 정보에 포함되는 신뢰 정보를 DRM 시스템에 전달하는 단계; 및
    상기 신뢰 정보를 판단한 결과에 따라, 상기 DRM 시스템에 저장된 보안용 키를 암호화/복호화 수단으로 제공하는 단계;를 더 구비하고,
    상기 데이터에 대한 암호화/복호화 동작은, 상기 DRM 시스템으로부테 제공된 상기 보안용 키를 이용하여 수행되는 것을 특징으로 하는 클립보드 보안 방법.
  23. 제19항에 있어서,
    상기 암호화 동작을 수행하는 단계는, 상기 암호화된 데이터에 대해 위변조 발생을 방지하기 위한 위변조 방지 인증 코드를 발생하는 단계를 더 포함하며,
    상기 복호화 동작을 수행하는 단계는, 상기 위변조 방지 인증 코드를 참조하여 상기 클립보드로부터 추출된 암호화된 데이터가 원래 저장된 값과 일치하는지를 판단하는 단계를 더 포함하는 것을 특징으로 하는 클립보드 보안 방법.
  24. 제19항에 있어서,
    상기 암호화 동작을 수행하는 단계는, 상기 데이터의 암호화 여부를 나타내는 평문 암호화 식별자를 더 생성하는 단계를 더 포함하며,
    상기 복호화 동작을 수행하는 단계는, 상기 평문 암호화 식별자를 참조하여 상기 복호화 동작을 수행하는 것을 특징으로 하는 클립보드 보안 방법.
  25. 제19항에 있어서,
    상기 클립보드에 저장 요청되는 데이터가 캡처 화면인 경우, 상기 캡처 화면이 보안이 요구되는 신뢰 객체의 실행 또는 상기 신뢰 객체가 노출되는 중에 수행되었는지를 판단하는 단계를 더 구비하고,
    상기 판단 결과에 따라 상기 캡처 화면을 암호화하여 상기 클립보드에 저장하는 것을 특징으로 하는 클립보드 보안 방법.
  26. 제1항에 기재된 클립보드 관리부의 암호화 및 복호화 기능이 수행되도록 하는 프로그램을 저장한 컴퓨터로 판독 가능한 저장매체.
PCT/KR2010/000621 2009-02-02 2010-02-02 클립보드 보안 시스템 및 방법 WO2010087678A2 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/147,287 US9147050B2 (en) 2009-02-02 2010-02-02 System and method for clipboard security
EP10736069.5A EP2393033B1 (en) 2009-02-02 2010-02-02 System and method for clipboard security
JP2011547810A JP2012517047A (ja) 2009-02-02 2010-02-02 クリップボード保安システム及び方法

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
WO2010087678A2 true WO2010087678A2 (ko) 2010-08-05
WO2010087678A3 WO2010087678A3 (ko) 2010-11-04

Family

ID=41605422

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2010/000621 WO2010087678A2 (ko) 2009-02-02 2010-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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012203802A (ja) * 2011-03-28 2012-10-22 Kddi Corp コンテンツ編集装置、コンテンツ編集方法及びコンテンツ編集プログラム
JP2013539109A (ja) * 2010-08-20 2013-10-17 ファスドットコム カンパニー リミテッド Drm環境におけるクリップボード保護システム及びその方法をコンピュータで実行させるためのプログラムを記録した記録媒体
WO2013177424A1 (en) * 2012-05-25 2013-11-28 Robert Hansen Electronic clipboard protection
US9305174B2 (en) 2013-04-09 2016-04-05 Robert Hansen Electronic clipboard protection

Families Citing this family (21)

* 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
US8874935B2 (en) 2011-08-30 2014-10-28 Microsoft Corporation Sector map-based rapid data encryption policy compliance
CN104221023B (zh) * 2012-02-17 2017-11-03 爱迪德技术有限公司 用于数字权利管理的方法、装置和系统
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
US20140181842A1 (en) * 2012-12-21 2014-06-26 Mobile Iron, Inc. Secure mobile app connection bus
CN104903861B (zh) * 2013-01-08 2020-03-10 黑莓有限公司 剪贴板管理
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
HUE16774544T1 (hu) * 2016-07-29 2020-02-28 Permanent Privacy Ltd Biztonságos titkosításhoz kapcsolódó alkalmazások
KR101893950B1 (ko) * 2018-02-06 2018-08-31 주식회사 이스트시큐리티 랜부팅 환경 기반 파일 보안 및 중앙화를 위한 장치, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
WO2020013354A1 (ko) * 2018-07-10 2020-01-16 엘지전자 주식회사 차량용 방화벽의 동작 방법
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

Family Cites Families (20)

* 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 삼성전자주식회사 멀티-클립보드 기능을 위한 복수 개의 핫키를 갖는 컴퓨터 시스템 및 동작 방법
KR100390086B1 (ko) * 2000-07-03 2003-07-04 사파소프트 주식회사 통합 내부정보 유출 방지 시스템
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 情報漏洩防止装置、方法およびそのプログラム
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 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーションプログラムの制御方法およびその装置
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 防止未授權獲取資訊之系統及其方法
JP5219082B2 (ja) 2006-03-01 2013-06-26 ジェイアール ジョーンズ カンパニー 安全鉤竿
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 富士通株式会社 情報漏洩防止プログラムおよび情報漏洩防止方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None
See also references of EP2393033A4

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013539109A (ja) * 2010-08-20 2013-10-17 ファスドットコム カンパニー リミテッド Drm環境におけるクリップボード保護システム及びその方法をコンピュータで実行させるためのプログラムを記録した記録媒体
EP2608100A4 (en) * 2010-08-20 2017-06-07 Fasoo. Com Co., Ltd Clipboard protection system in drm environment and recording medium in which program for executing method in computer is recorded
JP2012203802A (ja) * 2011-03-28 2012-10-22 Kddi Corp コンテンツ編集装置、コンテンツ編集方法及びコンテンツ編集プログラム
WO2013177424A1 (en) * 2012-05-25 2013-11-28 Robert Hansen Electronic clipboard protection
US9305174B2 (en) 2013-04-09 2016-04-05 Robert Hansen Electronic clipboard protection

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2010087678A2 (ko) 클립보드 보안 시스템 및 방법
US8601280B2 (en) Application executing apparatus and application execution method
WO2014119936A1 (en) Method of and apparatus for processing software using hash function to secure software, and computer-readable medium storing executable instructions for performing the method
WO2015034175A1 (ko) 기업 내부 정보 보안을 강화하기 위한 방법, 시스템 및 장치
WO2018062761A1 (ko) 보안 기능이 강화된 디바이스의 초기화 방법 및 디바이스의 펌웨어 업데이트 방법
WO2012050367A2 (en) Method and apparatus for downloading drm module
WO2018056601A1 (ko) 콘텐츠 파일 접근 제어를 이용한 랜섬웨어 차단 장치 및 차단 방법
US9336369B2 (en) Methods of licensing software programs and protecting them from unauthorized use
WO2014010818A1 (ko) 클라우드 컴퓨팅 환경에서 암호화를 위한 사용자 단말 장치 및 암호화 방법
WO2014193058A1 (ko) 원격 디지털 포렌식 환경에서 보안 제공 장치 및 그 방법
WO2018216988A1 (ko) 다중 사용자의 인증요소를 조합하여 보안키를 생성하는 보안인증시스템 및 보안인증방법
WO2018169150A1 (ko) 잠금화면 기반의 사용자 인증 시스템 및 방법
WO2017034378A1 (ko) 접근성을 이용하는 정보 보안 장치 및 정보 보안 방법
US9129098B2 (en) Methods of protecting software programs from unauthorized use
JP4664055B2 (ja) プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法
WO2019103443A1 (en) Method, apparatus and system for managing electronic fingerprint of electronic file
WO2011065768A2 (en) Method for protecting application and method for executing application using the same
WO2013172562A1 (ko) 콘텐츠의 객체별 권한 설정 장치 및 방법
WO2013125883A1 (en) Drm/cas service device and method using security context
WO2021225329A1 (ko) 사용자 식별자 및 서명 수집을 이용한 모바일 애플리케이션 위변조 탐지 방법 및 시스템
WO2018164408A1 (ko) 어플리케이션 보안 방법 및 이를 수행하기 위한 시스템
WO2017213321A1 (ko) 공유 정보를 보호하는 방법 및 시스템
WO2018052166A1 (ko) 어플리케이션을 검증하는 디바이스 및 방법
WO2020138646A1 (ko) 보안 기능이 없는 usb 메모리를 위한 보안 usb 동글
WO2010030133A2 (ko) 실행파일 형태의 에이피아이를 이용한 보안파일 전송시스템과 전송방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10736069

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 13147287

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2010736069

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2011547810

Country of ref document: JP

Ref document number: 2010736069

Country of ref document: EP