WO2016140548A1 - 사용자 디바이스에 보안 모드를 제공하기 위한 방법 및 장치 - Google Patents

사용자 디바이스에 보안 모드를 제공하기 위한 방법 및 장치 Download PDF

Info

Publication number
WO2016140548A1
WO2016140548A1 PCT/KR2016/002206 KR2016002206W WO2016140548A1 WO 2016140548 A1 WO2016140548 A1 WO 2016140548A1 KR 2016002206 W KR2016002206 W KR 2016002206W WO 2016140548 A1 WO2016140548 A1 WO 2016140548A1
Authority
WO
WIPO (PCT)
Prior art keywords
security
mode
user
secure
environment
Prior art date
Application number
PCT/KR2016/002206
Other languages
English (en)
French (fr)
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
Priority claimed from GB1503736.9A external-priority patent/GB2536215B/en
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US15/554,266 priority Critical patent/US10558826B2/en
Publication of WO2016140548A1 publication Critical patent/WO2016140548A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis

Definitions

  • the present invention is to provide a security mode to a user device.
  • the method and the apparatus according to an embodiment provide a security mode for protecting sensitive user information from a third party.
  • Modern user devices such as smart phones, mobile devices, tablet computers, wearables, etc., in which a variety of applications may be utilized, may involve the use of sensitive user information.
  • a mobile banking application running on a smartphone can allow a user to use personal financial information.
  • security information such as a username and password.
  • sensitive user data can be viewed by third parties sharing the same field of view as the user device. For example, in an environment such as crowded public transportation, when sensitive data of a user is displayed on the device, others nearby can see it.
  • a malicious key login program malware
  • the present disclosure proposes a method of protecting sensitive user information from third parties.
  • a method of providing a security mode may include: obtaining a plurality of parameters for determining a security environment of the device from at least one device included in the device; Determining whether the device is in an insecure environment based on the obtained plurality of parameters; And if it is determined that the device is in an insecure environment, controlling the device to operate in a secure mode.
  • Method and apparatus provides a security mode for protecting sensitive user information from third parties.
  • FIG. 1 is a diagram illustrating an example in which a user device provides a security mode according to an exemplary embodiment.
  • FIG. 2 is a flowchart illustrating a method of providing a security mode by a user device according to an exemplary embodiment.
  • FIG 3 illustrates an example in which a user device provides a secure output mode according to an exemplary embodiment.
  • FIG. 4 is a block diagram illustrating a device that provides a security mode according to an exemplary embodiment.
  • FIG. 5 is a block diagram illustrating a secure input mode of a user device according to an embodiment.
  • FIG. 6 is a block diagram illustrating a secure output mode in a user device according to an embodiment.
  • FIG. 7 is a flowchart illustrating a method of enabling secure input at a user device according to an embodiment.
  • FIG. 8 is a block diagram illustrating a user device configured to provide a secure input / output mode according to an embodiment.
  • a first aspect of the present disclosure provides a plurality of parameters for determining a security environment of the device from one or more devices included in the device. Obtaining; Determining whether the device is in an insecure environment based on the obtained combination of the plurality of parameters; And if it is determined that the device is in an insecure environment, controlling the device to operate in a secure mode.
  • the obtaining of the plurality of parameters may include: generating a security score by combining the plurality of parameters; And determining that the security score is in an insecure environment when the security score exceeds a threshold.
  • the obtaining of the plurality of parameters may acquire one or more parameters representing an insecure environment by analyzing the audio signal captured by the microphone of the device.
  • the parameter may include a noise level.
  • determining whether the device is in an insecure environment may determine that the device is in an insecure environment when it is determined that the device is in a public place.
  • the security mode may include a security input mode, and the security input mode may transmit an application after applying a decoding algorithm to a user input.
  • the security mode may include a security output mode, and the security output mode may invisibly process the remaining areas except the area where the user's eyes stay.
  • a notification may be issued to notify only a user that the device operates in a secure mode.
  • a plurality of parameters for determining a security environment of the device are obtained from at least one device included in the device, and the combination of the generated plurality of parameters
  • a security manager that determines based on whether the device is in an insecure environment
  • a controller for controlling the device to operate in a secure mode when it is determined that the device is in an insecure environment.
  • the security manager may further include a security score generator that generates a security score by combining the plurality of parameters, and may determine that the security score is in an insecure environment when the security score exceeds a threshold.
  • the device may further include a microphone
  • the security manager may acquire one or more parameters representing an insecure environment by analyzing the audio signal captured by the microphone.
  • the parameter may include a noise level.
  • the security manager may determine that the device is in an insecure environment.
  • the secure mode may include a secure input mode
  • the device may further include an input unit for transmitting an application after applying a decoding algorithm to a user input.
  • the security mode may include a security output mode that encodes and outputs user information
  • the controller may, when the security output mode is provided, excludes a region where a user's gaze stays among contents to be displayed on a display unit. The remaining area can be controlled to be invisible.
  • the device may further include a vibration generator configured to issue a notification for notifying only a user that the device operates in a secure mode.
  • the third aspect of the present disclosure may also provide a computer readable recording medium having recorded thereon a program for executing the method of the first aspect on a computer.
  • part refers to a hardware component, such as software, FPGA or ASIC, and “part” plays certain roles. However, “part” is not meant to be limited to software or hardware.
  • the “unit” may be configured to be in an addressable storage medium and may be configured to play one or more processors.
  • a “part” refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, Subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables.
  • the functionality provided within the components and “parts” may be combined into a smaller number of components and “parts” or further separated into additional components and “parts”.
  • the "one embodiment” or “an embodiment” of the principles of the present invention means a special characteristic, a structure, a characteristic, and the like described together with the embodiments included in at least one embodiment of the principles of the present invention. . Therefore, the appearances of the phrases “in one embodiment” or “in an embodiment” appearing in various places throughout this specification are not necessarily all referring to the same embodiment.
  • the intercept may mean an operation of secretly obtaining information of another person.
  • the intercept may include at least one of spying, peeking, peeping, and eavesdropping.
  • FIG. 1 is a diagram illustrating an example in which a user device 100 provides a security mode according to an exemplary embodiment.
  • the device 100 when a user of the device 100 is in a dense environment such as a crowded public transportation, another person 102 in the vicinity may view the screen 101 of the user device 100.
  • the user's personal information phone number, home address, etc.
  • security information eg, password, account information
  • the device 100 provides a security mode to the user in a situation in which a user's sensitive information may be infringed by another person (hereinafter, referred to as a non-security situation) as described above. It can help protect sensitive information which is input / output.
  • the size of the content displayed on the user device may be reduced and displayed 103.
  • the sensitive information displayed on the user device may be blurred or shaded 104 to make it difficult for others to identify.
  • the secure input mode may be set 105 such that characters are input in a predetermined manner by the user and the device.
  • FIG. 2 is a flowchart illustrating a method of providing a security mode by a user device according to an exemplary embodiment.
  • the device 100 may obtain a plurality of parameters for determining an environment of the device 100 from one or more devices included in the device 100.
  • the device included in the device 100 may generate and / or receive information that may determine whether sensitive information of the device 100 is in an environment that may be observed by others, such as a microphone, GPS, WIFI, or camera.
  • the device may include. For example, if a plurality of user voices are input into the microphone, it may be determined that the device 100 is in an insecure environment.
  • An insecure environment is an environment in which the device 100 may be observed by a third party such as a public place or public transportation, or an environment where a third party other than the user actually sees the content displayed on the device 100. It may mean. Meanwhile, whether a plurality of user voices are input may be determined by a noise level input to the microphone, and various other methods described below may be used.
  • the device 100 may determine whether the device is in an insecure environment based on the combination of the plurality of parameters obtained in step S210. For example, the device 100 may be weighted with respect to at least one parameter obtained from the device to generate a security score. Therefore, the device 100 may determine whether the device 100 is in an insecure environment by comparing the security score with a predetermined threshold value.
  • the device 100 may control the device 100 to operate in the secure mode.
  • the secure mode may include a secure input mode and / or a secure output mode.
  • the user can enter the encrypted characters in a pre-defined manner, thereby preventing the input from being disclosed to third parties.
  • this method is not only highly versatile because the device 100 needs to guide the user to perform encrypted input without using a complicated security system, but is also malicious to the device 100 because the user input itself is encrypted. Even if the software is installed, it has the advantage of maintaining security.
  • the secure input mode will be described later in detail with reference to FIG. 6.
  • the secure output mode may invisibly process the remaining areas except the area where the user's eyes stay.
  • the device 100 may display only an area where a user's gaze stays and other areas may be invisible (for example, blur or shade). Meanwhile, the device 100 may determine the area where the user's eyes stay by tracking the eyes of the user by using the camera. Alternatively, one area may be displayed as an area where the user's eyes stay from the point touched by the user.
  • FIG. 4 is a block diagram illustrating a device 100 that provides a security mode according to an exemplary embodiment.
  • the device 100 providing the security mode may be a mobile terminal itself, or may be included in a mobile terminal such as a mobile phone, a smartphone, and a tablet PC as one module.
  • the device 100 providing a security mode may include a security manager 100 and a controller 130.
  • the security manager 100 obtains a plurality of parameters for determining an environment of the device from a device included in the device 100, and the device 100 is configured to generate a non-secure environment based on the generated plurality of parameters. You can decide whether or not
  • the security manager 110 may further include a security score generator that generates a security score by combining the plurality of parameters, and may determine that the security score is in an insecure environment when the security score exceeds a threshold.
  • the device 100 may further include a microphone, and the security manager 110 may obtain one or more parameters representing an insecure environment by analyzing the audio signal captured by the microphone.
  • the controller 130 may control the device 100 to operate in the secure mode.
  • the security mode may include a security input mode or a security output mode.
  • the device 100 may further include an input unit for transmitting an application after applying a decoding algorithm to a user input.
  • the device 100 further includes a display unit and a camera, and when the security output mode is provided, the controller 130 invisibly visualizes the remaining areas except the area where the user's gaze stays among the content to be displayed on the display unit. You can also control the processing.
  • the device 100 may further include a vibration generator for issuing a notification for notifying only the user of operating in the secure mode.
  • a secure input mode of a user device is schematically illustrated.
  • the device 100 may be automatically activated until the non-secure environment is detected or until the device 100 is activated in response to a user command.
  • the device 100 may be configured to switch from the normal user input mode to the secure user input mode when the user keeps pressing the button for a predetermined time.
  • user input 502 is received via a user interface screen 501 displayed on the display.
  • user input 502 is processed by decoding algorithm 503.
  • the decoding algorithm 503 may be applied to all user inputs or may be applied only to one or more kinds of predefined input information.
  • the decoding algorithm 503 may apply to sensitive user data, such as account usernames and passwords, but may not apply to web site addresses entered into an Internet browser.
  • the decoding algorithm 503 replaces each character of the user input 502 with the preceding character in the alphabet so that the input string "VTFS2" can be decoded into the output string "USER1", thereby inputting the user input.
  • Decode 502 and input string “QBTTXPSE” is decoded into output string "PASSWORD”.
  • Decoded user input 504 is passed to application 505.
  • the decoding algorithm 503 may be pre-programmed in the user device or defined by the user.
  • the user can set the decoding algorithm in advance while in a safe place.
  • the user is configured to set the decoding algorithm only when the security administrator of the user device determines that the user device is in a secure environment.
  • the user device is allowed to modify or create the decoding algorithm only when the user device is run in secure mode, to prevent the decoding algorithm from being copied by malware installed on the user device. Can be configured. In this embodiment, the user device must switch to the secure mode before the decoding algorithm is set.
  • Security mode can be implemented in various ways. For example, in some embodiments, when the device 100 operates in a secure mode, trusted applications may run in a trusted execution environment (TEE). This trusted application can be used to indicate a secure user interface for receiving user input to select a decoding algorithm. Because trusted applications run in a trusted execution environment, trusted applications can be isolated from malicious software.
  • TEE trusted execution environment
  • the application for constructing the decoding algorithm may be containerized to use application level container techniques that provide some degree of isolation from malicious software.
  • the decoding algorithm may be configured using an external device (eg, a notebook computer capable of running an application to configure a decoding algorithm of a trusted execution environment on the external device).
  • a trusted execution environment on an external device may be a Secure Digital (SD) smart card or may include other components such as an embedded Secure Element (eSE).
  • SD Secure Digital
  • eSE embedded Secure Element
  • the secure mode is provided by itself in order to avoid the ability of the decoding algorithm to constitute a weakness of the system and to prevent attackers from bypassing the secured mode by exploiting the weaknesses of the secured mode. It provides a level of security equal to or higher than the level of security.
  • the decoding algorithm may be configured in various ways.
  • the parameter based method may be used by the user to select one or more parameters that control how the decoding algorithm operates.
  • the user configurable parameter may be the number of positions each character must move to decode the user input.
  • the algorithm-selection method can be used by the user selecting one of a plurality of preconfigured decoding algorithms.
  • the algorithm-defined method can be used by the user defining any decoding algorithm.
  • the device 100 may display a user-defined decoding algorithm or a predetermined decoding algorithm. For example, when an algorithm in which one character is shifted is applied, the device 100 may display the phrase “one character shift”. According to an embodiment, whether to display a decoding algorithm may be determined based on a user input. The user can enter without error via the displayed text. In this case, even if the touch input for the password input is leaked out, if the information on the displayed text is not leaked, the password leak can be prevented.
  • the decoding algorithm replaces each character in the user input with a preceding character in the alphabet.
  • examples of the following decoding algorithms may be used in other embodiments of the present invention, but are not necessarily limited to:
  • Discard all Nth characters Discard all Nth characters of user input and keep the other characters decoded. For example, if N is 2, when the user input is "a, b, c, d, e, f, g, h" "a, c, e, g" will be decoded.
  • the device 100 may input the user input in an obfuscated manner. Since the decoded user input (actual name USER1 and password PASSWORD in this embodiment) is not displayed, it cannot be intercepted. In addition, the third party cannot reconstruct the decoded user input without any information about the decoding algorithm. Therefore, a third party who attempts to snoop on personal information using a malicious key logging program installed on the user device will only receive encrypted user input as it is input, and thus will not be able to restore the decoded user input.
  • the decoding algorithm may protect the user input from reverse engineering by applying a code obfuscation method. Specific code obfuscation methods can be changed by periodic software upgrades of decoding algorithms to provide additional security.
  • the decoding algorithm can also be updated. This can provide additional security even if the previous decoding algorithm with the previous code obfuscation technique is compromised. Also, in some embodiments the decoding algorithm can be changed automatically each time a password is successfully entered by the user. Thus, it is possible to prevent a replay attack in which an attacker reenters using a previously observed encoded cipher without knowledge of the decoding algorithm.
  • a secure input mode may be used with the secure mode output.
  • An example of a secure output mode in a user device according to an embodiment of the present invention is schematically illustrated in FIG. 6.
  • device 100 obtains data 602 to be displayed.
  • the data 602 is generated by the application 601 running on the user device 100, but in other embodiments the data 602 could be obtained in different ways.
  • data 602 may be received from a server.
  • the data 602 may pass through an encoding algorithm 603 that applies an encoding method opposite to that used by the decoding algorithm 503 before being displayed on the user device.
  • the encoding algorithm may use an encoding method that is completely separate from the decoding algorithm used in the secure input mode.
  • the encoding algorithm 603 may be used by the content renderer to encode the data 602 before being displayed.
  • the encoding algorithm 603 may output the encoded data 604, and the encoded data 604 may be displayed on the display screen 6205.
  • the encoded data 602 including the user name "USER1" and the date of birth "01.08.71” is displayed.
  • the encoding algorithm 603 encodes the data by replacing each character of the data 202 with the next character of the alphabet or the next highest integer.
  • the input string "USER1” is encoded into the output string "VTFS2”
  • the input string "01.08.71” is encoded into the output string "02.09.82”. Since encoding algorithms are known to the owner of the user device, they can interpret the correctly encoded data. At the same time, access to the original data 602 via intercept without the information of the encoding algorithm 603 is prevented.
  • FIG. 7 a user device is schematically illustrated that is configured to provide secure input and secure output, in accordance with an embodiment of the present invention.
  • Certain elements shown in FIG. 7 may be implemented in software, hardware, or a combination of the two, in accordance with certain embodiments.
  • the device 700 illustrated in FIG. 7 may be implemented as various types of user devices.
  • Device 700 includes, but is not necessarily limited to, a smartphone, tablet computer, desktop or laptop computer.
  • Various components of the device 700 shown in FIG. 7 may be included in the same physical device or distributed among a plurality of devices configured to communicate with each other.
  • the device 700 includes a security manager 710 and a user input unit 720 configured to operate the security user input mode described above with reference to FIG. 5.
  • the security manager 710 is configured to determine whether the user device 700 is in an insecure environment (insecure environment).
  • the security manager 710 receives a plurality of input parameters related to the security of the environment in which the user device is currently located, and calculates a security score based on the plurality of input parameters. It includes.
  • the security manager 710 is configured to compare the threshold score and the security score to determine whether the user device 700 is in an insecure environment. For example, a high security score may indicate a relatively secure environment and a low security score may indicate a relatively unstable environment.
  • the threshold for determining whether you are in an insecure environment may be fixed or user configurable.
  • the security manager 710 controls the user input unit 720 to operate in the secure user input mode in response to determining that the user device 700 is in an insecure environment.
  • Device 700 may include one or more input / output devices 770 that enable security manager 710 to communicate.
  • the device 700 includes a plurality of input / output devices 770 including a microphone 771 and a vibration mechanism 772 configured to capture audio signals of an environment in which the user device is currently located.
  • the security manager 710 is configured to control the vibration mechanism 772 that issues a vibration alert when the input unit is switched to the secure user input mode.
  • the vibration alert can configure a single vibration pulse or code pulse to inform the user that he is using secure user input mode. Since the vibration of the user device 700 is difficult for others to detect, it can carefully inform the user that the secure input mode has been activated without informing others nearby of the change in the input mode.
  • an encoded audio and / or visual signal may be output as another method of notifying a user. This discreet notification method can be used to provide an additional layer of security by preventing others from realizing that a secure input mode or sensitive application is active.
  • the security manager 710 is configured to determine whether it is a current secure or insecure environment based on the security score generated by the security score generator 711.
  • the audio signal collected by the microphone 771 may be used as one of the input parameters for generating a security score. For example, if the level of background noise in the audio signal is low, a high security score can be generated. If the background noise level of the audio signal is high, a low security score can be generated because it represents a crowded environment where the privacy is high at the risk of personal information being observed by eavesdroppers.
  • security manager 710 may perform more complex analysis of the audio signal. For example, by detecting a human voice in the audio signal, an approximation value of the number of persons in the vicinity of the user device 700 may be determined.
  • the security manager 710 may detect an insecure environment based on only one input. For example, security manager 710 analyzes the audio signal captured by microphone 771 to detect one or more audio characteristics (eg, the number of background noise or human voices detected from the audio signal) that represent an insecure environment. Thereby determining whether the user device is in an insecure environment. Moreover, in some embodiments both techniques described above may be used. For example, the security manager 710 may be configured to make a decision based on one possible input when only one input is possible, but if multiple inputs are enabled, the security score generator 711 may be configured to perform a plurality of inputs. It can be used to convert the input into a security score.
  • the security manager 710 may be configured to make a decision based on one possible input when only one input is possible, but if multiple inputs are enabled, the security score generator 711 may be configured to perform a plurality of inputs. It can be used to convert the input into a security score.
  • the probability of false detection in an insecure environment (hereinafter referred to as "false positive") can be reduced. If only one parameter is taken into account, even when the user device 700 is actually in a secure environment, an error affirmative result may be sometimes obtained indicating an insecure environment.
  • a home environment may be relatively safe, but audio signals recorded in a home environment may sometimes have a high level of background noise due to the use of household appliances. That is, if a simple decision is made based on the level of background noise, the security manager 710 may determine that it is an insecure environment even when no intercepting exists. Thus, it is desirable to make the detection of an insecure environment more reliable through the use of a security score generator 711.
  • An additional benefit of considering multiple inputs when determining whether the current environment is in a secure environment is that it becomes more difficult for an attacker to make a false decision that the security administrator is in a secure environment. This is because the attacker must control / manipulate many parameters input to the security score generator. Nevertheless, some embodiments use a simple decision algorithm based on only one input in consideration of resource limitations (eg, battery charge level, available processing power, etc.) to the user device 700, and a security score generator 711. ) Can be excluded.
  • resource limitations eg, battery charge level, available processing power, etc.
  • the apparatus further includes a controller 730 configured to execute the application.
  • the user input 720 is configured to receive user input, decode the received user input using a decoding algorithm 751, and deliver the decoded user input to the application.
  • the user device further includes a memory 740 configured to store a user-defined decoding algorithm.
  • a pre-programmed decoding algorithm may also be used instead of, or in addition to, the user-defined decoding algorithm.
  • the user input unit 320 may be configured to periodically change the decoding algorithm 751 by selecting a next decoding algorithm from a plurality of decoding algorithms according to a predetermined sequence.
  • the user device 700 may be configured to notify the user when the decoding algorithm has changed.
  • the notification may vary depending on the decoding algorithm selected to represent the current decoding algorithm of the plurality of decoding algorithms. For example, if there are three possible decoding algorithms, the decoding algorithms used by the user input unit 720 may be configured to cycle in order.
  • the vibration mechanism 772 can be controlled to generate a number of vibration pulses corresponding to the order of the decoding algorithm sequences. That is, one pulse may be generated for the first decoding algorithm of the sequence, two pulses for the second decoding algorithm, and three pulses for the third decoding algorithm.
  • the application can continue normal operation in the secure user input mode without any modification and without any information as to whether secure user input is used.
  • the plurality of applications may be executed by the controller 730, and the user input unit 720 may be configured to use different decoding algorithms associated with each other of the plurality of applications.
  • the user input unit 720 may determine an application that the user input means, and decode the user input by using a decoding algorithm related to the specific application.
  • the received user input may be sent to the network and may be passed to an application running on the user device 700 in lieu of or in addition to network transmission.
  • the user device 700 may further include a network interface 760 for communicating with other devices over a network.
  • the decoded user input may be selectively encrypted before being transmitted through the network interface 760 for additional security.
  • the device 700 may further include an encryption algorithm 753 for encrypting the user input decoded by the decoding algorithm 751 before transmitting the encrypted user input to the network.
  • the user device 700 may further include a trusted execution environment (TEE) 750.
  • the trusted execution environment on the external device may include other components such as Secure Digital (SD) smart cards and / or embedded Secure Element (eSE).
  • Decoding algorithm 751 and encryption algorithm 753 can both be executed at TEE 750.
  • the trusted execution environment (TEE) according to an embodiment of the present invention may include a memory 740 configured to store a user-defined decoding algorithm, in another embodiment the user-defined decoding algorithm is a reliable execution. It may be stored in memory outside the environment 750.
  • the decoding algorithm 751 and the encoding algorithm 753 are executed in a trusted execution environment to prevent any malicious software that can be executed on the user device 700 from accessing the decoding algorithm 751 or the encryption algorithm 753. can do.
  • one or both of the decoding algorithm and encryption algorithm may run outside the trusted execution environment (TEE), and even the trusted execution environment (TEE) may be omitted entirely.
  • the security manager 710 may run within the TEE 750.
  • the security manager 710 runs outside the TEE 750, and the device 700 is an integrity verification algorithm 752 for verifying the integrity of the security manager 710 within the TEE 750. It can be configured to perform).
  • Integrity verification algorithm 752 may be used to determine whether security manager 710 operating outside TEE 750 is compromised. For example, integrity verification algorithm 752 may generate a hash in the processing space in memory of security manager 710 and execute a verification algorithm for the generated hash. If the verification fails, the integrity verification algorithm is configured to output a warning.
  • the computer program code for integrity verification algorithm 752 may be much smaller than the computer program code for security manager 710. This approach thus makes it possible to efficiently use the available resources of the TEE 750 while providing a security method to verify whether the security manager has been compromised.
  • the user input unit 720 is configured to enable the user to switch to the secure user input mode.
  • the security manager 712 includes a learning algorithm 712 configured to learn a condition in which the user prefers to switch user input means to the security user input mode. For example, the learning algorithm may learn that the user primarily selects a secure user input mode when the device is at a particular location determined by GPS coordinates or wireless communication identifier.
  • the security manager 710 is configured to quickly switch the user input unit 720 to the secure user input mode in response to the occurrence of a condition, or to automatically switch the user input unit 720 to the secure user input mode without a user approval request. Can be configured.
  • the use of the learning algorithm is convenient from the user's point of view. This is because the user device 700 may anticipate when the user wants to switch to the secure user input mode, and recalls that the user generally selects secure user input when the user selects the secure user input but forgets it. Because you can.
  • the user device 700 may further include a content renderer 780 configured to render content to be displayed on the display unit 790 integrated or physically separated from the user device 700.
  • the content renderer 780 is configured to transmit the rendered content to the display unit 790.
  • the security manager 710 may encrypt the content using an encoding algorithm before the content is rendered and displayed. And control the content renderer 780 to operate in a secure output mode for display.
  • other secure output modes may be used, such as a spotlight-based display method.
  • the secure output mode may be omitted or triggered in response to a criterion different from the secure user input mode.
  • FIG. 8 a flowchart illustrating a method of enabling secure input to a user device according to an embodiment of the present invention is illustrated. This method may be performed to determine whether the user device will operate in normal input mode or in secure mode. The method may be implemented by computer program instructions configured to perform the method by the control unit of the user device.
  • the security manager of the user device receives one or more security parameters.
  • the security parameter may include output from one or more sensors included in the user device, or may include information received from the user or information received from another source (eg, a server).
  • step S802 the security parameter is used as an input of a security score generator that converts the security parameter into a security score.
  • a security score generator that converts the security parameter into a security score.
  • a) Location parameter For example, the user device is configured to obtain a current location of the user device from a wireless (WiFi) signal identifying a Global Navigation Satellite System (GNSS) receiver and / or a local area network. Can be. In some embodiments, triangulation may be used to calculate a more accurate location from the plurality of WiFi signals.
  • the user device may obtain a location parameter input to the security score generator by finding a current location of the database.
  • the database may be stored locally on the user device or accessed via a server and retrieve a location parameter in the database indicating whether the current location is in a secure or non-secure environment.
  • the user device may be configured to receive an audio signal from a microphone configured to record ambient noise in the environment of the user device.
  • the audio signal may be directly input to the security score generator, or a parameter derived from the audio signal may be used as a noise parameter input to the security score generator.
  • parameters that can be derived from an audio signal but are not limited to: average background noise level; Presence / absence of human voice; Audio signal detection number of different tones; And estimated room size based on the detected echoes from the audio signal. For example, a high background noise level or a large number of personal voices detected may indicate that the user is in an unsafe environment.
  • the user device may be configured to capture an image or video from a camera (eg, a front or rear camera included in the user device).
  • the security score generator may be configured to detect the face of a person in the vicinity of the user device by analyzing the captured image to determine whether there are potentially those who would like to intercept. When a face other than the face of the user device is detected, the security score generator may be configured to output a security score for switching the user device to the security input mode.
  • facial recognition software may be used to compare the detected face with a database of authorized users.
  • the database of the authorized user is a database for determining whether or not an individual is authorized to view sensitive user information of the user device. If the detected face does not match the authorized user, the secure input mode is activated.
  • Geo fencing parameter The user device may be configured to receive a signal from the geofencing system indicating when the user device has moved outside the boundaries of the defined security zone.
  • the security score generator may be configured to switch the user device to the secure input mode.
  • Application parameter An application that can be executed by the user device can be flagged as a 'secure' application. "Security" applications are applications that require the user to input sensitive information. The value of the application parameter input to the security score generator depends on whether the application currently running on the user device is a 'security' application. If more than one 'secure' application is running, secure user input mode may be activated.
  • the security parameter may be a Boolean flag set to 'TRUE' to mean a secure environment and 'FALSE' to mean an insecure environment.
  • the security parameter can have any level value associated with different levels of risk.
  • the above-described location parameter may have an integer value of 0 to 4, where 0 represents a reliable location, 1 represents a low risk location, 2 represents a medium danger location, and 3 represents a high risk location. 4 may indicate a very high risk location.
  • the security score generator may generate an output security score by combining input security parameters.
  • the output security score may be a simple flag that sets the security / non-secure environment to be represented as TRUE / FALSE, may have different values representing different levels of risk in a manner similar to that described above, and may continue to change.
  • the security score generator may simply add parameters that are input together.
  • a weighted sum may be generated by applying a weight to each security parameter.
  • a security pseudo-based process may be followed to generate a security score. For example, if the number of security parameters having a value representing a high risk environment is a certain number, a security score representing an insecure environment may be generated.
  • the security score is compared with a threshold to determine whether the current environment is secure or insecure. If a high security score indicates a secure environment, for example, it is determined as an insecure environment when the security score is lower than the threshold.
  • the threshold can be defined by the user or pre-programmed. In some embodiments, the threshold may be set by an administrator of the user device, or different thresholds may be set for different applications. Some applications may be allowed to replace default thresholds as appropriate.
  • Step S804 in response to the determination in step S803 that the current environment is a secure environment, is controlled so that the user device operates in the normal user input mode.
  • the normal input mode when the user input of step S805 is received, the user input is directly transmitted to the application in step S806.
  • the user device is controlled to operate in the secure user input mode.
  • the secure user input mode applies a decoding algorithm to the user input. If the user input is received in step S808, the user input is decoded using the decoding algorithm in step S809, and the user input decoded in step S810 is delivered to the application.
  • Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media.
  • Computer readable media may include both computer storage media and communication media.
  • Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transmission mechanism, and includes any information delivery media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Mathematical Physics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 디바이스의 보안 모드 제공 방법 및 장치에 관한 것이다. 일 실시시예에 따른 보안 모드 제공 방법은 상기 디바이스에 포함된 하나 이상의 기기로부터 상기 디바이스의 보안 환경을 결정하기 위한 복수의 파라미터를 획득하는 단계; 상기 획득된 복수의 파라미터에 기초하여 상기 디바이스가 비보안 환경에 있는지 여부를 결정하는 단계; 및 상기 디바이스가 비보안 환경에 있다고 결정되면, 상기 디바이스가 보안 모드에서 동작하도록 제어 하는 단계를 포함할 수 있다.

Description

사용자 디바이스에 보안 모드를 제공하기 위한 방법 및 장치
본 발명은 사용자 디바이스에 보안 모드를 제공하기 위한 것이다. 구체적으로, 일 실시 예에 따른 방법 및 장치는 제3자로부터 민감한 사용자 정보를 보호하기 위한 보안 모드를 제공한다.
다양한 애플리케이션이 이용 될 수 있는 스마트 폰, 모바일 디바이스, 태블릿 컴퓨터, 웨어러블(wearable) 등의 현대 사용자 디바이스는, 민감한 사용자 정보의 사용을 수반 할 수 있다. 예를 들어, 스마트 폰에서 실행되는 모바일 뱅킹 애플리케이션은 사용자가 개인 금융 정보를 사용하도록 할 수 있다. 또는, 스마트폰과 같은 사용자 디바이스에서 웹 사이트에 액세스 할 때 사용자 이름 및 암호와 같은 보안 정보를 입력 하도록 할 수 있다. 그런데, 이러한 민감한 사용자 데이터는 사용자 디바이스와 같은 시야를 공유하는 제3자에게 보여 질 수 있다. 예를 들어, 혼잡한 대중교통과 같은 환경에서, 사용자의 민감한 데이터가 디바이스에 표시될 때, 근처의 다른 사람들이 볼 수 있다. 나아가, 사용자 디바이스에 악성 키 로그인 프로그램(malware)이 설치되어 있다며, 악성 키 로그인 프로그램에 의해 제3자에게 전송될 위험이 있다.
본 개시는 제3자로부터 민감한 사용자 정보를 보호하는 방법을 제안한다.
본 발명은 디바이스의 보안 모드 제공 방법 및 장치에 관한 것이다. 일 실시시예에 따른 보안 모드 제공 방법은 상기 디바이스에 포함된 하나 이상의 기기로부터 상기 디바이스의 보안 환경을 결정하기 위한 복수의 파라미터를 획득하는 단계; 상기 획득된 복수의 파라미터에 기초하여 상기 디바이스가 비보안 환경에 있는지 여부를 결정하는 단계; 및 상기 디바이스가 비보안 환경에 있다고 결정되면, 상기 디바이스가 보안 모드에서 동작하도록 제어 하는 단계를 포함할 수 있다.
일 실시 예에 따른 방법 및 장치는 제3자로부터 민감한 사용자 정보를 보호하기 위한 보안 모드를 제공한다.
도 1은 일 실시 예에 따른 사용자 디바이스가 보안모드를 제공하는 일례를 도시한 도면이다.
도 2는 일 실시 예에 따른 사용자 디바이스가 보안 모드를 제공하는 방법을 나타내는 흐름도이다.
도 3은 일 실시 예에 따른 사용자 디바이스가 보안 출력 모드를 제공하는 일 예를 나타낸다.
도 4 는 일 실시 예에 따른 보안모드를 제공하는 디바이스를 블록도로 나타낸다.
도 5는 일 실시 예에 따르는, 사용자 디바이스의 보안 입력 모드를 블록도로 나타낸다
도 6은 일 실시 예에 따르는, 사용자 디바이스에서 보안 출력 모드를 블록도로 나타낸다.
도7은 일 실시 예에 따라 사용자 디바이스에서 보안 입력을 가능하게 하는 방법을 나타내는 흐름도이다.
도 8은 일 실시 예에 따라, 보안 입출력 모드를 제공하도록 구성된 사용자 디바이스를 블록도로 나타낸다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제 1 측면은 디바이스의 보안 모드 제공 방법에 있어서, 상기 디바이스에 포함된 하나 이상의 기기로부터 상기 디바이스의 보안 환경을 결정하기 위한 복수의 파라미터를 획득하는 단계; 상기 획득된 복수의 파라미터의 조합에 기초하여 상기 디바이스가 비보안 환경에 있는지 여부를 결정하는 단계; 및 상기 디바이스가 비보안 환경에 있다고 결정되면, 상기 디바이스가 보안 모드에서 동작하도록 제어 하는 단계를 포함할 수 있다.
일 실시 예에 따라 상기 복수의 파라미터를 획득하는 단계는 상기 복수의 파라미터들을 조합하여 보안 점수를 생성하는 단계; 및 상기 보안 점수가 임계값을 넘는 경우에 비보안 환경에 있는 것으로 결정하는 단계를 더 포함 할 수 있다.
일 실시 예에 따라 상기 복수의 파라미터를 획득하는 단계는 디바이스의 마이크로폰에서 캡쳐된 오디오 신호를 분석하여 비보안 환경을 나타내는 하나 이상의 파라미터를 획득 할 수 있다.
일 실시 예에 따라 상기 파라미터는 잡음 레벨을 포함 할 수 있다.
일 실시 예에 따라 상기 디바이스가 비보안 환경에 있는지 여부를 결정하는 단계는, 상기 디바이스가 공공 장소에 있다고 결정되면, 상기 디바이스가 비보안 환경에 있다고 결정 할 수 있다.
일 실시 예에 따라 상기 보안 모드는 보안 입력 모드를 포함하고, 상기 보안 입력 모드는 사용자 입력에 대해 디코딩 알고리즘을 적용한 뒤 어플리케이션을 전송 할 수 있다.
일 실시 예에 따라 상기 보안 모드는 보안 출력 모드를 포함하고, 상기 보안 출력 모드는, 사용자 시선이 머무는 영역을 제외한 나머지 영역을 비가시화 처리 할 수 있다.
일 실시 예에 따라 상기 디바이스가 보안모드에서 동작하는 것을 사용자에게만 알리기 위한 통지를 발행 할 수 있다.
본 개시의 제 2 측면은 보안모드를 제공하는 디바이스에 있어서, 상기 디바이스에 포함된 하나 이상의 기기로부터 상기 디바이스의 보안 환경을 결정하기 위한 복수의 파라미터를 획득하고, 상기 생성된 복수의 파라미터의 조합에 기초하여 상기 디바이스가 비보안 환경에 있는지 여부를 결정하는 보안 관리자; 및 상기 디바이스가 비보안 환경에 있다고 결정되면, 상기 디바이스가 보안 모드에서 동작하도록 제어 하는 제어부를 포함 할 수 있다.
일 실시 예에 따른 상기 보안 관리자는 상기 복수의 파라미터들을 조합하여 보안 점수를 생성하는 보안 점수 생성부를 더 포함하고, 상기 보안 점수가 임계값을 넘는 경우에 비보안 환경에 있는 것으로 결정 할 수 있다.
일 실시 예에 따른 상기 디바이스는 마이크로폰을 더 포함하고, 상기 보안 관리자는 상기 마이크로폰에서 캡쳐된 오디오 신호를 분석하여 비보안 환경을 나타내는 하나 이상의 파라미터를 획득 할 수 있다.
일 실시 예에 따른 상기 파라미터는 잡음 레벨을 포함 할 수 있다.
일 실시 예에 따른 상기 보안 관리자는, 상기 디바이스가 공공 장소에 있다고 결정되면, 상기 디바이스가 비보안 환경에 있다고 결정 할 수 있다.
일 실시 예에 따른 상기 보안모드는 보안 입력 모드를 포함하고, 상기 디바이스는, 상기 보안 입력 모드가 제공될 때, 사용자 입력에 대해 디코딩 알고리즘을 적용한 뒤 어플리케이션을 전송하는 입력부를 더 포함 할 수 있다.
일 실시 예에 따른 상기 보안 모드는 사용자 정보를 인코딩하여 출력하는 보안 출력 모드를 포함하고, 상기 제어부는, 상기 보안 출력 모드가 제공될 때, 디스플레이부에 표시될 콘텐트 중 사용자 시선이 머무는 영역을 제외한 나머지 영역을 비가시화 처리하도록 제어 할 수 있다.
일 실시 예에 따른 상기 디바이스는, 상기 디바이스가 보안모드에서 동작하는 것을 사용자에게만 알리기 위한 통지를 발행하는 진동 발생부를 더 포함 할 수 있다.
또한, 본 개시의 제 3 측면은 제 1 측면의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 본 발명과 관련된 전자 기기에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
본 명세서에서 본 발명의 원리의 "일 실시 예" 또는 "실시 예"라는 것은 본 발명의 원리의 적어도 하나의 실시 예에 포함되는 실시 예와 함께 설명된 특별한 특성, 구조, 특징 등을 의미하는 것이다. 그러므로, 본 명세서 전반에 걸쳐 다양한 곳에 등장하는 "일 실시 예에서" 또는 "실시 예에서"라는 어구의 등장은 반드시 모두 동일한 실시예를 가리키는 것은 아니다.
본 명세서에서 일 실시 예에 따른 인터셉트란 타인의 정보를 몰래 획득하는 행동을 의미할 수 있다. 예를 들면, 인터셉트는 염탐, 훔쳐보기, 엿보기 및 엿듣기(도청) 중 적어도 하나를 포함할 수 있다.
이하, 도면을 참조하여 일 실시 예에 따른 사용자 디바이스가 보안모드를 제공하는 방법을 설명한다.
도 1은 일 실시 예에 따른 사용자 디바이스(100)가 보안모드를 제공하는 일례를 도시한 도면이다.
도 1을 참조하면, 디바이스(100)의 사용자가 혼잡한 대중교통과 같이 밀집된 환경에 있는 경우 주변에 있는 타인(102)이 사용자 디바이스(100)의 화면(101)을 볼 수 있다. 이때, 화면에 사용자의 개인정보(전화번호, 집주소 등) 또는 보안이 필요한 정보(예컨대, 비밀번호, 계좌 정보)가 표시된다면, 타인(102)은 이를 쉽게 인식할 수 있다. 따라서, 일 실시 예에 따른 디바이스(100)는 상술한 바와같이 사용자의 민감한 정보가 타인에 의해서 침해될 우려가 있는 상황(이하, 비보안 상황)에 있어서, 사용자에게 보안모드를 제공하여 사용자가 디바이스에 입/출력 되는 민감한 정보를 보호할 수 있도록 할 수 있다.
예를 들면, 사용자 디바이스가 비보안 환경에 있다고 결정되는 경우 사용자 디바이스에 표시되는 콘텐츠의 크기를 줄여서 표시(103)할 수 있다. 또는 사용자 디바이스에 표시되는 민감한 정보를 블러(blur) 처리하거나 음영 처리(104)하여 타인이 식별하기 어렵게 할 수 있다. 또는 사용자 디바이스에 민감한 정보를 입력 해야 하는 상황에서, 사용자와 디바이스가 미리 정한 방식으로 문자가 입력되도록 보안 입력 모드를 설정(105)할 수 있다.
이하 도 2를 참조하여 디바이스가 보안 모드를 제공하는 방법을 상세히 설명한다.
도 2는 일 실시 예에 따른 사용자 디바이스가 보안 모드를 제공하는 방법을 나타내는 흐름도이다.
단계 S210에서, 디바이스(100)는 디바이스(100)에 포함된 하나 이상의 기기로부터 디바이스(100)의 환경을 결정하기 위한 복수의 파라미터를 획득할 수 있다.
디바이스(100)에 포함된 기기는 마이크로폰, GPS, WIFI, 카메라와 같이 디바이스(100)의 민감한 정보가 타인에 의해 관찰될 수 있는 환경에 있는지 여부를 결정할 수 있는 정보를 생성 및/또는 수신할 수 있는 장치가를 포함할 수 있다. 예를 들면, 마이크로폰으로 복수의 사용자 목소리가 입력된다면 디바이스(100)가 비보안 환경에 있다고 결정될 수 있다.
일 실시 예에 따른 비보안 환경이란 디바이스(100)가 공공장소 또는 대중교통과 같이 제3자에 의해 관찰될 우려가 있는 환경 또는 디바이스(100)에 표시되는 콘텐트를 사용자가 아닌 제3자가 실제로 보고 있는 환경을 의미할 수 있다. 한편, 복수의 사용자 목소리가 입력되는지 여부는 마이크로폰으로 입력된 잡음레벨로 결정될 수 있으며, 기타 후술하는 다양한 방법이 이용될 수 있다.
다음으로, 단계 S220에서, 디바이스(100)는 단계 S210에서 획득된 복수의 파라미터의 조합에 기초하여 디바이스가 비보안 환경에 있는지 여부를 결정할 수 있다. 예를 들면, 디바이스(100)는 상기 기기로부터 획득된 적어도 하나의 파라미터에 대해 가중치가 부여되어 보안 점수를 생성할 수 있다. 따라서, 디바이스(100)는 보안점수와 소정의 임계값을 비교하여 디바이스(100)가 비보안 환경에 있는지 여부를 결정할 수 있다.
단계 S230에서, 디바이스(100)는 비보안 환경에 있다고 결정되면, 디바이스(100)가 보안 모드에서 동작하도록 제어할 수 있다. 여기서 보안모드는 보안 입력 모드 및/또는 보안 출력 모드를 포함할 수 있다.
예를 들면, 보안 입력모드에서 사용자는 미리 약속된 방식으로 암호화된 문자를 입력함으로써, 입력 내용이 제3자에게 공개되는 것을 방지할 수 있다. 특히, 이러한 방식은 복잡한 보안 시스템 사용 없이, 디바이스(100)가 사용자가 암호화된 입력을 수행할 수 있도록 가이드 해주기만 하면 되므로 범용성이 높을 뿐 아니라, 사용자 입력 자체가 암호화 되기 때문에 디바이스(100)에 악성 소프트웨어가 설치되어 있더라도 보안을 유지할 수 있는 장점이 있다. 보안 입력 모드에 대해서는 도 6을 참조하여 상세히 후술한다.
다른 예로, 보안 출력 모드는 사용자 시선이 머무르는 영역을 제외한 나머지 영역을 비가시화 처리할 수 있다.
도 3은 일 실시 예에 따른 사용자 디바이스(100)가 보안 출력 모드를 제공하는 일 예를 나타낸다. 도 3을 참조하면, 디바이스(100)는 사용자 시선이 머무르는 영역만을 표시하고 그 이외의 영역은 비가시화 처리(예컨대, 흐림표시 또는 음영표시)할 수 있다. 한편, 디바이스(100)는 카메라를 이용하여 사용자의 시선을 추적함으로써 사용자 시선이 머무르는 영역을 결정할 수 있다. 또는, 사용자가 터치하고 있는 지점으로부터 일 영역을 사용자 시선이 머무르는 영역으로 표시할 수 있다.
이 외에도, 후술하는 다양한 방법을 통해서 사용자의 민감한 정보를 제3자가 관찰하기 어렵도록 보호 할 수 있다.
도 4는 일 실시 예에 따른 보안모드를 제공하는 디바이스(100)를 블록도로 나타낸다.
도 4에 도시된 일 실시 예에 따른 보안모드를 제공하는 디바이스(100)에는 본 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 4에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 또한, 일 실시 예에 따른 보안모드를 제공하는 디바이스(100)는 모바일 단말기 자체 일 수 있으며, 또는 하나의 모듈로써, 휴대폰, 스마트폰 및 태블릿PC 등의 모바일 단말에 포함될 수 있다.
도 4를 참조하면, 일 실시 예에 따른 보안모드를 제공하는 디바이스(100)는 보안 관리자(100)와 제어부(130)를 포함할 수 있다. 일 실시 예에 따른 보안관리자(100)는 디바이스(100)에 포함된 기기로부터 상기 디바이스의 환경을 결정하기 위한 복수의 파라미터를 획득하고, 생성된 복수의 파라미터에 기초하여 디바이스(100)가 비보안 환경에 있는지 여부를 결정할 수 있다.
예를 들면, 보안 관리자(110)는 상기 복수의 파라미터들을 조합하여 보안 점수를 생성하는 보안 점수 생성부를 더 포함하고, 보안 점수가 임계값을 넘는 경우에 비보안 환경에 있는 것으로 결정할 수 있다. 또한, 디바이스(100)는 마이크로폰을 더 포함하고, 보안 관리자(110)는 상기 마이크로폰에서 캡쳐된 오디오 신호를 분석하여 비보안 환경을 나타내는 하나 이상의 파라미터를 획득할 수 있다.
또한, 일 실시 예에 따른 제어부(130)는 디바이스(100)가 비보안 환경에 있다고 결정되면, 디바이스(100)가 보안 모드에서 동작하도록 제어할 수 있다.
여기서, 보안모드는 보안 입력 모드 또는 보안 출력 모드를 포함할 수 있다.
따라서, 디바이스(100)는, 보안 입력 모드가 제공될 때, 사용자 입력에 대해 디코딩 알고리즘을 적용한 뒤 어플리케이션을 전송하는 입력부를 더 포함할 수 있다.
또한, 상기 디바이스(100)는 디스플레이부 및 카메라를 더 포함하고, 상기 보안 출력 모드가 제공될 때, 제어부(130)는 디스플레이부에 표시될 콘텐트 중 사용자 시선이 머무는 영역을 제외한 나머지 영역을 비가시화 처리하도록 제어할 수도 있다.
또한, 디바이스(100)는 보안모드에서 동작하는 것을 사용자에게만 알리기 위한 통지를 발행하는 진동 발생부를 더 포함할 수도 있다.
이하, 도 5 내지 도 8을 참조하여 디바이스(100)가 보안 모드를 제공하는 방법을 상술한다.
도 5를 참조하면, 일 실시 예에 따른 사용자 디바이스의 보안 입력 모드가 개략적으로 도시된다. 디바이스(100)는 비보안 환경이 검출 될 때까지, 또는 사용자 명령에 응답하여 활성화 될 때까지 보안 입력 모드는 자동으로 활성화 될 수 있다. 예를 들어, 디바이스(100)는 사용자가 일정 시간 동안 버튼 누름을 유지 할 때 일반 사용자 입력 모드에서 보안 사용자 입력 모드로 전환되도록 구성 될 수 있다.
보안 입력 모드에서, 디스플레이부 상에 디스플레이 된 사용자 인터페이스 스크린(501)을 통해 사용자 입력 (502)이 수신된다. 다음으로, 사용자 입력 (502)은 디코딩 알고리즘 (503)에 의해 처리된다. 일 실시 예에 따라, 보안 입력 모드로 동작하는 동안에는 디코딩 알고리즘(503)이 모든 사용자의 입력에 적용되거나, 또는 미리 정의된 하나 이상의 종류들의 입력 정보에만 적용될 수 있다. 예를 들어, 디코딩 알고리즘(503)은 계정 사용자 이름 및 암호 같은 민감한 사용자 데이터에는 적용 되지만, 인터넷 브라우저로 입력 된 웹 사이트 주소에는 적용되지 않을 수 있다.
본 실시 예에서, 디코딩 알고리즘(503)은 입력 된 문자열 "VTFS2"이 출력 문자열 "USER1"로 디코딩 될 수 있도록, 알파벳에서 선행하는 문자로 사용자 입력 (502)의 각각의 문자를 치환함으로써, 사용자 입력(502)을 디코딩하고, 입력 문자열 "QBTTXPSE"는 출력 문자열 "PASSWORD"로 디코딩 된다. 디코딩 된 사용자 입력(504)은 애플리케이션(505)으로 전달된다.
일 실시 예에 따라, 디코딩 알고리즘 (503)은 사용자 디바이스에 미리 프로그래밍되어 있거나 사용자에 의해서 정의 될 수 있다. 예를 들어, 사용자는 안전한 장소에 있는 동안 미리 디코딩 알고리즘을 설정할 수 있다. 일부 실시 예에서, 사용자 디바이스의 보안 관리자가 사용자 디바이스가 보안 환경에 있다고 판정 한 경우에만, 사용자가 디코딩 알고리즘을 설정할 수 있도록 구성된다.
또한, 일부 실시 예들에서, 사용자 디바이스는 사용자 디바이스에 설치된 악성 소프트웨어(malware)에 의해 디코딩 알고리즘이 복사되는 것을 막기 위해, 보안모드에서 사용자 디바이스가 실행 될 때만, 디코딩 알고리즘을 수정 또는 생성하는 것이 허용 되도록 구성될 수 있다. 이런 실시 예에서, 사용자 디바이스는 디코딩 알고리즘이 설정되기 전에 반드시 보안모드로 전환 되어야 한다. 보안모드는 다양한 방법으로 구현 될 수 있다. 예를 들면, 일부 실시 예에서는 디바이스(100)가 보안모드에서 동작 할 때, 신뢰 애플리케이션들이 신뢰할 수 있는 실행 환경 (TEE)에서 실행될 수 있다. 이러한 신뢰 애플리케이션은 디코딩 알고리즘을 선택하는 사용자 입력을 수신하기 위한 보안 사용자 인터페이스를 표시하기 위해 사용될 수 있다. 신뢰 애플리케이션은 신뢰할 수 있는 실행 환경에서 실행되기 때문에, 신뢰 애플리케이션은 악성 소프트웨어로부터 분리될 수 있다. 다른 실시 예에서, 어느 정도 악성 소프트웨어로부터 분리를 제공하는 애플리케이션 레벨의 용기화 기술들(container techniques)을 사용하도록, 디코딩 알고리즘을 구성하기 위한 애플리케이션이 용기화(containerized) 될 수 있다. 또 다른 실시 예에서, 디코딩 알고리즘은 외부 장치(예를 들면, 외부 디바이스에서 신뢰할 수 있는 실행 환경의 디코딩 알고리즘을 구성하기 위한 애플리케이션을 실행할 수 있는 노트북 컴퓨터)를 사용하여 구성 될 수 있다. 예를 들어, 외부 디바이스에서 신뢰할 수 있는 실행 환경은 보안 디지털(Secure Digital: SD) 스마트 카드 이거나, 또는 내장 된 보안 요소(embedded Secure Element: eSE)와 같은 다른 구성 요소들을 포함 할 수 있다. 바람직하게는, 디코딩 알고리즘을 구성하는 기능이 시스템의 약점이 되는 것을 피하고, 공격자들이 보안모드의 약점을 이용함으로써 보안 모드를 우회하는 것을 피하기 위해서, 상기 보안모드는 그 자체에 의해 제공되는 안전한 입력 모드의 보안의 레벨보다 같거나 높은 수준의 보안을 제공한다.
한편, 상기 디코딩 알고리즘은 다양한 방법으로 구성 될 수 있다. 예를 들어, 일부 실시 예에서 매개 변수 기반 방법은 사용자가 디코딩 알고리즘의 작동 방법을 제어하는 하나 이상의 파라미터를 선택하는데 사용될 수 있다. 알파벳에서 고정된 개수의 위치만큼 각 문자 단위로 치환함으로써 사용자 입력이 디코딩되는 문자 시프트 알고리즘에서, 사용자 구성 가능 파라미터는 각각의 문자가 사용자 입력을 디코딩하기 위해 이동해야 하는 위치의 개수가 될 수 있다. 다른 예에서, 알고리즘-선택 방법은 사용자가 미리 구성된 복수의 디코딩 알고리즘들 중 하나를 선택함으로써 이용될 수 있다. 또 다른 예에서, 알고리즘-정의 방법은, 사용자가 임의의 디코딩 알고리즘을 정의함으로써 이용될 수 있다.
일 실시 예에 따른 디바이스(100)는 사용자가 정의한 디코딩 알고리즘 또는 기설정된 디코딩 알고리즘을 디스플레이할 수 있다. 예를 들면, 1개의 문자가 시프트되는 알고리즘이 적용되는 경우, 디바이스(100)는 “1문자 시프트”라는 문구를 디스플레이할 수 있다. 일 실시 예에 따라, 디코딩 알고리즘을 디스플레이할지 여부는 사용자의 입력에 기초하여 결정될 수 있다. 사용자는 디스플레이되는 문구를 통해 오류 없이 입력할 수 있다. 이 경우, 암호 입력을 위한 터치 입력이 유출되더라도, 디스플레이되는 문구에 대한 정보가 유출되지 않았다면 암호 유출이 방지될 수 있다.
본 실시 예에서, 디코딩 알고리즘은 사용자 입력에서 각각의 문자를 알파벳에서 선행하는 문자로 대체한다. 그러나, 이는 디코딩 알고리즘의 한 예를 나타낼 뿐이다. 따라서, 본 발명의 다른 실시 예들에서 다음의 디코딩 알고리즘의 예제들이 사용될 수 있지만, 반드시 이에 한정되는 것은 아니다:
a) 다음 문자를 이용 : 사용자 입력의 각 문자에 대해 알파벳상 다음 문자로 치환함으로써 사용자 입력을 디코딩 한다. 예를 들어, 사용자 입력이 “a, d, i, s”이면 "b, e, j, t"가 디코딩 될 것이다.
b) 모든 N 번째 문자를 취함 : 사용자 입력의 모든 N 번째 문자를 취하고 다른 문자를 버림으로써 사용자입력을 디코딩 한다. 예를들어, N이 2 인 경우, 사용자 입력 “ a, b, c, d, e, f, g, h”가 “b, d, f, h” 로 디코딩 될 것이다.
c) 모든 N 번째 문자 폐기 : 사용자 입력의 모든 N 번째 문자를 버리고 다른 문자를 유지하여 사용자입력을 디코딩 한다. 예를 들어, N이 2 인 경우, 사용자 입력이“a, b, c, d, e, f, g, h”일 때,“a, c, e, g”가 디코딩 될 것이다.
사용자 입력을 애플리케이션에 전달하기 전에 디코딩 알고리즘을 통해 사용자의 입력을 전달함으로써, 디바이스(100)는 사용자 입력을 난독처리(obfuscated) 방식으로 입력 할 수 있다. 디코딩된 사용자 입력(본 실시 예에서 실제 이름(USER1)과 패스워드(PASSWORD))은 표시되지 않으므로, 인터셉트될 수 없다. 또한, 제3자는 디코딩 알고리즘에 대한 정보없이 디코딩 된 사용자 입력을 재구성 할 수 없다. 따라서, 사용자 장치에 설치된 악성 키 로깅 프로그램을 이용하여 개인정보 스누핑을 시도하는 제3자는 오직 입력된 그대로의 암호화된 사용자 입력만을 수신할 것이므로, 디코딩 된 사용자 입력을 복원 할 수 없을 것이다. 또한, 본 발명의 몇몇 실시 예에서 복호화 알고리즘은 코드 난독화 방법을 적용하여 리버스 엔지니어링으로부터 사용자 입력을 보호 할 수 있다. 특정 코드 난독화 방법은 추가적인 보안을 제공하기 위한 디코딩 알고리즘의 주기적인 소프트웨어 업그레이드에 의해 변할 수 있다.
코드 난독화 방법이 변경 될 때마다, 디코딩 알고리즘 또한 갱신 될 수 있다. 이로 인해 이전 코드 난독 화 기술이 적용된 이전 디코딩 알고리즘이 손상되었던 경우에도 추가적인 보안을 제공할 수 있다. 또한, 일부 실시 예들에서 디코딩 알고리즘은 자동으로 사용자에 의해 암호가 성공적으로 입력 될 때마다 변경 될 수 있다. 따라서, 공격자가 디코딩 알고리즘의 지식없이 이전에 관찰 된 부호화 된 암호를 이용하여 재진입하는 재사용 공격을 방지할 수 있다.
본 발명의 몇몇 실시 예에서, 보안 입력 모드가 보안 모드 출력과 함께 사용될 수 있다. 본 발명의 일 실시 예에 따른 사용자 장치에서 보안 출력 모드의 예는 도 6에 개략적으로 도시되어있다.
보안 입력 모드에서, 디바이스(100)는 디스플레이될 데이터(602)를 획득한다. 본 실시 예에서, 데이터(602)는 사용자 디바이스(100)에서 실행되는 애플리케이션(601)에 의해 생성되지만, 다른 실시 예에서 데이터(602)는 상이한 방식으로 얻을 수 있었다. 예를 들어, 데이터(602)는 서버로부터 수신 될 수 있다. 본 실시예에서, 데이터(602)는 사용자 디바이스에 표시되기 전에 디코딩 알고리즘(503)에 의해 사용 된 것과 반대되는 부호화 방법을 적용한 인코딩 알고리즘(603)을 통과할 수 있다. 하지만, 다른 실시 예에서는 인코딩 알고리즘은 보안 입력 모드에서 사용된 디코딩 알고리즘과 완전히 분리된 부호화 방법을 사용할 수도 있다. 인코딩 알고리즘(603)은 표시되기 전에 데이터 (602)를 인코딩하는 콘텐츠 렌더러에 의해 사용될 수 있다. 인코딩 알고리즘 (603)은 부호화된 데이터(604)를 출력하고, 부호화된 데이터(604)는 디스플레이 화면6205)에 표시될 수 있다. 본 실시 예에서, 사용자 이름 "USER1" 및 생년월일 "01.08.71"을 포함하는 부호화 데이터(602)가 표시된다.
인코딩 알고리즘(603)은 데이터(202)의 각각의 문자를 알파벳의 다음 문자 또는 다음으로 높은 정수로 치환함으로써 데이터를 인코딩 한다. 따라서, 입력 스트링“USER1”이 출력 문자열 "VTFS2"로 인코딩 되고, 입력 문자열 "01.08.71"이 출력 문자열 "02.09.82"로 인코딩된다. 인코딩 알고리즘은 사용자 디바이스의 소유자에게 공지되어 있으므로, 그들은 올바르게 표시된 인코딩 데이터를 해석 할 수 있다. 동시에, 인코딩 알고리즘(603)의 정보 없이 인터셉트를 통해 원본 데이터(602)에 접근하는 것이 방지된다.
도 7을 참조하면, 본 발명의 일 실시 예에 따라, 보안 입력과 보안 출력을 제공하도록 구성되는 사용자 디바이스가 개략적으로 도시된다. 도 7에 도시된 특정 요소는, 특정 실시 예에 따라 소프트웨어, 하드웨어 또는 이 둘의 조합으로 구현 될 수 있다. 도 7에 도시된 디바이스(700)는, 다양한 형태의 사용자 디바이스로 구현될 수 있다. 디바이스(700)는 스마트 폰, 태블릿 컴퓨터, 데스크톱 또는 랩톱 컴퓨터를 포함하지만, 이러한 구성에 반드시 국한되는 것은 아니다. 도 7에 도시 된 디바이스(700)의 다양한 구성 요소는 동일한 물리적 디바이스에 구비 될 수도 있고, 서로 통신하도록 구성되는 복수의 디바이스들 사이에 분산 될 수도 있다.
도 7에 도시되듯이, 디바이스(700)는 보안 관리자(710) 및 도 5를 참조하여 상술한 보안 사용자 입력 모드가 동작 가능하도록 구성된 사용자 입력부(720)를 포함한다. 보안 관리자(710)는 사용자 디바이스 (700)가 안전하지 않은 환경(비보안 환경)에 있는지 여부를 결정하도록 구성된다. 본 실시 예에서는, 보안 관리자(710)는 사용자 디바이스가 현재 위치하는 환경의 보안과 관련된 복수의 입력 파라미터를 수신하고, 상기 복수의 입력 파라미터들에 기초하여 보안 점수를 산출하는 보안 점수 생성자(711)를 포함한다. 보안 관리자(710)는 사용자 디바이스(700)가 비보안 환경에 있는지 여부를 결정하기 위해 임계 점수와 보안 점수를 비교하도록 구성된다. 예를 들어, 높은 보안 점수는 상대적으로 안전한 환경을 나타낼 수 있고, 낮은 보안 점수는 비교적 불안정한 환경을 나타낼 수 있다. 비보안 환경에 있는지 여부를 판정하기 위한 임계 값은 고정 될 수도 있고, 사용자가 구성 가능할 수도 있다. 보안 관리자(710)는 사용자 디바이스(700)가 비보안 환경에 있다는 결정에 응답하여, 사용자 입력부(720)가 보안 사용자 입력 모드로 동작하도록 제어한다.
디바이스(700)는 보안 관리자(710)가 통신 할 수 있도록 하는 하나 이상의 입/출력 디바이스(770)를 포함 할 수 있다. 본 실시 예에서 디바이스(700)는 사용자 디바이스가 현재 위치한 환경의 오디오 신호를 캡처하도록 구성된 마이크로폰 (771)과 진동 기구(772)를 포함하는 복수의 입/출력 디바이스(770)를 포함한다.
본 실시 예에서는, 보안 관리자(710)는 입력부가 보안 사용자 입력 모드로 전환 될 때, 진동 경고를 발행하는 진동기구(772)를 제어하도록 구성된다. 진동 경고는 보안 사용자 입력 모드를 사용하고 있음을 사용자에게 알리기 위해 단일 진동 펄스 또는 코드 펄스를 구성할 수 있다. 사용자 디바이스(700)의 진동은 다른 사람이 감지하기 어렵기 때문에, 이것은 입력 모드의 변경을 근처의 다른 사람들에게 알리지 않고, 사용자에게 보안 입력 모드가 활성화 되었음을 신중하게 알릴 수 있다. 그러나, 다른 실시 예에서는 사용자에게 통지하는 다른 방법으로, 예를 들면, 부호화 된 오디오 및/또는 시각적 신호가 출력 될 수 있다. 이와 같은 신중한(discreet) 통지 방법을 사용하여, 보안 입력모드 또는 민감한 애플리케이션이 활성화 되어 있다는 것을 다른 사람이 인식하는 것을 방지함으로써, 추가적인 보안 레이어를 제공할 수 있다.
전술 한 바와 같이, 보안 관리자(710)는 보안점수 생성부(711)에서 생성된 보안점수에 기초하여 현재 보안 또는 비보안 환경인지 여부를 결정하도록 구성된다. 마이크로폰(771)에서 수집된 오디오 신호는 보안점수를 생성하는 입력 파라미터들중 하나로 이용될 수 있다. 예를 들면, 오디오 신호에서 배경 잡음의 레벨이 낮은 경우, 높은 보안 점수가 생성 될 수 있다. 오디오 신호의 배경 잡음 레벨이 높은 경우에는, 도청자들에 의해 개인정보가 관찰될 위험이 높은 붐비는 환경을 나타내므로 낮은 보안 점수가 생성 될 수 있다. 일부 실시 예에서 보안 관리자 (710)는 오디오 신호의 더 복잡한 분석을 수행 할 수도 있다. 예를 들면, 상기 오디오 신호에서 사람 음성을 검출함으로써, 사용자 디바이스(700)의 근방에 있는 사람의 수의 근사값을 결정 할 수 있다.
복수의 입력에 기초한 보안 점수를 생성하는 방법에 대한 대안으로서, 일부 실시 예에 따른 보안 관리자(710)는 오직 하나의 입력에 기초하여 비보안 환경을 검출 할 수 있다. 예를 들어, 보안 관리자(710)는 비보안 환경을 나타내는 하나 이상의 오디오 특성(예컨대, 오디오신호로부터 검출되는 배경 잡음 또는 사람 목소리의 수)을 검출하기 위해 마이크로폰(771)에 의해 캡처된 오디오 신호를 분석함으로써 사용자 디바이스가 비보안 환경에 있는지 여부를 결정할 수 있다. 더구나, 일부 실시예에서는 앞서 설명된 두가지 기술이 모두 이용될 수 있다. 예를 들어, 오직 하나의 입력이 가능할 때 보안 관리자(710)는 하나의 가능한 입력에 기초하여 결정을 수행하도록 구성 될 수 있지만, 복수의 입력이 가능해 지면, 보안 점수 생성부(711)가 복수의 입력을 보안 점수로 변환하도록 이용될 수 있다.
복수의 입력들을 보안점수로 변환함으로써, 비보안 환경의 오 검출(이하에서, “오류 긍정(false positive)”이라 한다.)의 확률이 감소 될 수 있다. 오직 하나의 매개 변수만 고려되면, 사용자 디바이스(700)가 실제로 보안 환경에 있을 때도, 비보안 환경을 나타내는 오류 긍정 결과가 때때로 도출될 수 있다. 예를 들면, 가정 환경은 비교적 안전 할 수 있지만, 가정 환경에서 기록 된 오디오 신호는 가전 제품의 사용 때문에 때때로 높은 수준의 배경잡음을 가질 수 있다. 즉, 배경 잡음의 레벨에 기초하여 단순한 결정이 수행 되면, 보안 관리자(710)는 어떤 인터셉팅이 존재하지 않는 경우에도 비보안 환경이라고 판정 할 수 있다. 따라서, 보안 점수 발생기(711)의 사용을 통해 비보안 환경의 검출을 더욱 신뢰성 있도록 하는 것이 바람직하다. 현재 환경이 보안환경에 있는지 여부를 결정 할 때 다수의 입력을 고려하는 방법의 추가적인 이점은, 공격자가 보안 관리자가 보안 환경에 있다고 잘못된 결정을 하도록 만드는 것이 더욱 어려워 지는 것이다. 왜냐하면, 공격자는 보안 점수 생성부에 입력되는 많은 파라미터들을 제어/조작해야 하기 때문이다. 그럼에도 불구하고, 일부 실시 예에서는 사용자 디바이스(700)에 리소스 제한(예컨대, 배터리 충전 레벨, 사용 가능한 처리 능력 등)을 고려하여 단 하나의 입력에 기초한 간편 결정 알고리즘을 이용하고, 보안 점수 발생기(711)의 이용을 배제할 수 있다.
계속하여 도 7을 참조해 설명하면, 장치는 애플리케이션을 실행하도록 구성된 제어부(730)를 더 포함한다. 장치가 보안 사용자 입력 모드에서 동작 할 때, 사용자 입력부 (720)는, 사용자 입력을 수신하고 디코딩 알고리즘(751)을 사용하여 수신 된 사용자 입력을 디코딩하며, 애플리케이션에 디코딩된 사용자 입력을 전달하도록 구성된다. 본 실시 예에서, 사용자 디바이스는 사용자-정의 디코딩 알고리즘을 저장하도록 구성된 메모리(740)를 더 포함한다. 그러나, 본 발명의 일 실시 예에서 사용자-정의 디코딩 알고리즘 대신에, 또는 사용자-정의 디코딩 알고리즘에 부가하여 미리-프로그램 된 복호화 알고리즘 또한 이용될 수 있다. 또한, 일부 실시 예들에서 사용자 입력부(320)는 주기적으로 소정의 시퀀스에 따라 복수의 디코딩 알고리즘들로부터 다음 디코딩 알고리즘을 선택하여 디코딩 알고리즘(751)을 변경하도록 구성 될 수 있다. 또한, 사용자 디바이스(700)는 디코딩 알고리즘이 변경된 경우에 사용자에게 통지하도록 구성 될 수 있다. 상기 통지는 복수의 디코딩 알고리즘 중 현재 디코딩 알고리즘을 나타내기위해 선택된 디코딩 알고리즘에 따라 다를 수 있다. 예를 들어, 가능한 디코딩 알고리즘이 세가지 있는 경우, 사용자 입력부(720)에서 이용되는 디코딩 알고리즘이 순서대로 순환되도록 구성 될 수 있다. 디코딩 알고리즘이 변경 될 때마다, 진동 기구(772)는 디코딩 알고리즘 시퀀스의 순서에 대응하는 수의 진동펄스를 생성하도록 제어될 수 있다. 즉, 시퀀스의 첫 번째 디코딩 알고리즘에 대해서는 하나의 펄스를, 두번째 디코딩 알고리즘에 대해서는 두개의 펄스를, 세번째 디코딩 알고리즘에 대해서는 세개의 펄스를 생성할 수 있다.
특히, 하나의 디코딩 알고리즘이 다음 디코딩 알고리즘으로 전환되는 특정 시간을 인식하지 못한다면, 이런 방식으로 디코딩 알고리즘을 정기적으로 변경하는 것은 인터셉트를 하려는자가 사용자 입력을 관찰함으로써 디코딩 알고리즘을 추론하는 것을 더욱 어렵게 한다.
이러한 방법으로 애플리케이션은 어떤 수정 없이 그리고, 보안 사용자 입력이 사용되는지 여부에 대한 어떠한 정보 없이도, 보안 사용자 입력 모드에서 정상적인 동작을 계속할 수 있다. 또한, 본 발명의 몇몇 실시 예에서 복수의 애플리케이션은 제어부(730)에 의해 실행될 수 있으며, 사용자 입력부(720)는 상기 복수의 애플리케이션 중 다른 하나와 각각 연관된 다른 디코딩 알고리즘을 사용하도록 구성 될 수 있다. 상기 애플리케이션들 중 하나를 통해 사용자 입력이 수신될 때, 사용자 입력부(720)는 사용자 입력이 의미하는 애플리케이션을 결정하고, 특정 애플리케이션에 관련된 디코딩 알고리즘을 사용하여 사용자 입력을 디코딩 할 수 있다.
어떤 경우에는, 수신 된 사용자 입력은 네트워크로 송신 될 수 있고, 네트워크 송신을 대신하여 또는 이에 부가하여, 사용자 디바이스(700)에서 실행중인 응용 프로그램에 전달될 수 있다. 본 실시 예에서, 사용자 디바이스(700)는 네트워크를 통해 다른 장치들과 통신하기 위한 네트워크 인터페이스(760)를 더 포함할 수 있다. 사용자 입력부(720)가 보안 사용자 입력 모드에서 동작하고 디코딩 된 사용자 입력이 네트워크로 송신 될 때, 추가적인 보안을 위해 디코딩 된 사용자 입력은 네트워크 인터페이스(760)를 통해 전송 되기 전에 선택적으로 암호화 될 수 있다. 본 실시 예에서, 장치(700)는 네트워크로 암호화 된 사용자 입력을 전송하기 이전에, 디코딩 알고리즘(751)에 의해 디코딩 된 사용자 입력을 암호화 하기 위한 암호화 알고리즘(753)을 더 포함할 수 있다.
또한, 본 실시예에 따른 사용자 디바이스(700)는 신뢰할 수 있는 실행 환경(Trusted Execution Environment : TEE, 750)를 더 포함할 수 있다. 외부 디바이스에서 신뢰할 수 있는 실행 환경은 보안 디지털(Secure Digital: SD) 스마트 카드 및/또는 내장 된 보안 요소(embedded Secure Element: eSE)와 같은 다른 구성 요소들을 포함 할 수 있다. 디코딩 알고리즘 (751) 및 암호화 알고리즘(753)은 모두 TEE(750)에서 실행될 수 있다. 또한, 본 발명의 일 실시 예에 따른 신뢰할 수 있는 실행환경(TEE)은 사용자 정의 디코딩 알고리즘을 저장하도록 구성된 메모리(740)를 포함할 수 있으며, 다른 실시 예에서 사용자 정의 디코딩 알고리즘은 신뢰할 수 있는 실행 환경(750) 밖의 메모리에 저장될 수 있다. 디코딩 알고리즘(751) 및 부호화 알고리즘(753)이 신뢰할 수 있는 실행환경에서 실행됨으로써, 사용자 디바이스(700)에서 실행될수 있는 어떠한 악성 소프트웨어가 디코딩 알고리즘(751) 또는 암호화 알고리즘(753)에 액세스하는 것을 방지 할 수 있다. 그러나, 다른 실시 예에서 디코딩 알고리즘 및 암호화 알고리즘 중 하나 또는 모두는 신뢰할 수 있는 실행환경(TEE)밖에 실행될 수 있고, 심지어 신뢰할 수 있는 실행환경(TEE)이 완전히 생략될 수 있다.
일부 실시예에서, 사용자 디바이스가 TEE(750)을 포함할 때, 보안 관리자(710)는 TEE(750)내에서 실행될 수 있다. 하지만, TEE(750)안에서 가능한 프로세싱 리소스의 제한이 있을 수 있다. 따라서, 일부 실시예에 따른 보안 관리자(710)는 TEE(750) 외부에서 실행 되고, 장치(700)는 TEE(750) 내에서의 보안 관리자(710)의 무결성을 검증하기 위한 무결성 검증 알고리즘(752)을 수행하도록 구성될 수 있다. 무결성 검증 알고리즘(752)는 TEE(750) 밖에서 동작하는 보안 관리자(710)가 손상되었는지 여부를 결정하기 위해 사용될 수 있다. 예를 들어, 무결성 검증 알고리즘(752)은 보안 관리자(710)의 메모리 내의 처리 공간에 해시를 생성하고, 생성 된 해시에 대한 검증 알고리즘을 실행할 수 있다. 검증이 실패하는 경우, 무결성 검증 알고리즘은 경고를 출력하도록 구성된다. 무결성 검증 알고리즘(752)에 대한 컴퓨터 프로그램 코드는 보안 관리자(710)를 위한 컴퓨터 프로그램 코드보다 훨씬 더 작을 수 있다. 따라서 이러한 접근은, 보안 관리자가 손상되었는지 여부를 검증하는 보안 방법을 제공하는 동안 TEE (750)의 이용 가능한 자원을 효율적으로 사용하는 것을 가능하게 한다.
본 실시 예에서, 보안 관리자(710)에 의해 자동적으로 보안 사용자 입력 모드로 전환될 때 뿐만 아니라, 사용자 입력부(720)는 보안 사용자 입력 모드로 사용자가 전환 가능하도록 구성된다. 보안 관리자(712)는 상기 사용자가 사용자 입력 수단을 상기 보안 사용자 입력 모드로 전환하는 것을 선호하는 조건을 학습하도록 구성된 학습 알고리즘(712)을 포함한다. 예를 들어, 학습 알고리즘은 디바이스가 GPS좌표 또는 무선 통신 식별자로 결정되는 특정 위치에 있을 때, 사용자가 주로 보안 사용자 입력 모드를 선택하는 것을 학습 할 수 있다. 상기 보안 관리자(710)는 조건 발생에 응답하여, 사용자 입력부(720)를 보안 사용자 입력 모드로 신속히 전환하도록 구성되거나, 또는 사용자 승인 요청 없이 자동으로 사용자 입력부(720)를 보안 사용자 입력 모드로 전환하도록 구성될 수 있다. 학습 알고리즘의 사용은 사용자 입장에서 편리하다. 왜냐하면, 사용자 디바이스(700)는 사용자가 보안 사용자 입력 모드로 전환하고자 하는 경우를 예상 할 수 있고, 사용자가 일반적으로 보안 사용자 입력을 선택하는 경우이지만 이를 까먹고 있을 때 보안 사용자 입력을 선택 해야 함을 상기 시킬 수 있기 때문이다.
사용자 디바이스 (700)는 콘텐츠가 사용자 디바이스(700)에 통합되거나 물리적으로 분리된 디스플레이부(790)에 표시되도록 렌더링하도록 구성된 콘텐츠 렌더러(780)를 더 포함할 수 있다. 콘텐츠 렌더러(780)는 렌더링된 콘텐트를 디스플레이부(790)에 전송하도록 구성된다. 도2를 참조하여 상술한 바와 같이 본 실시예에서는, 사용자 디바이스 (700)가 비보안 환경에 있다고 결정되면, 보안 관리자(710)는 콘텐츠가 렌더링 및 표시되기 전에, 인코딩 알고리즘을 이용하여 상기 콘텐트가 암호화되어 표시되도록 하는 보안 출력 모드로 동작하도록 상기 콘텐츠 렌더러(780)를 제어하도록 구성된다. 다른 실시 예에서는, 디코딩 알고리즘을 이용하는 것 대신 또는 이에 추가하여, 스포트라이트-기반 디스플레이 방법과 같은 다른 보안 출력 모드가 이용될 수 있다. 또한, 일부 실시 예에서는 보안 출력모드가 생략 되거나 또는 보안 사용자 입력 모드와는 다른 기준에 응답하여 트리거 될 수 있다.
도 8을 참조하면, 본 발명의 실시 예에 따른 사용자 디바이스에 보안 입력을 가능하게하는 방법을 나타내는 흐름도가 예시되어있다. 이 방법은 사용자 디바이스가 일반 입력 모드에서 또는 보안 모드에서 동작할지 여부를 결정하기 위해 수행 될 수 있다. 이 방법은, 사용자 디바이스의 제어부에 의해 이 방법을 수행하도록 구성된 컴퓨터 프로그램 명령들에 의해서 구현 될 수 있다.
우선, 단계 S801에서, 사용자 디바이스의 보안 관리자는 하나 이상의 보안 파라미터를 수신한다. 보안 파라미터는 사용자 디바이스에 포함 된 하나 이상의 센서로부터의 출력을 포함 할 수 있고, 또는 사용자로부터 수신된 정보 또는 다른 소스로부터 수신 된 정보(예를 들어 서버)를 포함 할 수 있다.
본 실시 예에 따라, 단계 S802에서 보안 파라미터는 보안 파라미터를 보안 점수로 변환하는 보안 점수 생성부의 입력으로 이용된다. 본 발명의 일 실시 예에 따라 보안 파라미터들에 포함될 수 있는 정보의 종류가 다음과 같이 예시되지만 이에 반드시 한정되는 것은 아니다.
a) 위치 파라미터 : 예를 들면, 사용자 디바이스는 글로벌 항법 위성 시스템 (Global Navigation Satellite System : GNSS) 수신기 및/또는 근거리 무선 네트워크를 식별하는 무선(WiFi) 신호로부터, 사용자 디바이스의 현재 위치를 획득하도록 구성 될 수 있다. 일부 실시 예에서, 삼각 측량이 복수의 WiFi 신호들로부터 더 정확한 위치를 계산하는데 사용될 수 있다. 사용자 디바이스는 데이터베이스의 현재 위치를 찾음으로써 보안 점수 생성부에 입력되는 위치 파라미터를 획득할 수 있다. 여기서, 데이터 베이스는 사용자 장치에 국부적으로 저장되거나 서버를 통해 접근될 수 있고, 데이터 베이스에서 현재 위치가 보안 환경 또는 비보안 환경에 있는지 여부를 나타내는 위치 파라미터를 검색할 수 있다.
b) 노이즈 파라미터 : 사용자 디바이스는, 사용자 디바이스의 주변 환경에서 주변 잡음을 기록하도록 구성된 마이크로폰으로부터의 오디오 신호를 수신하도록 구성 될 수 있다. 상기 오디오 신호가 직접 보안 점수 발생기에 입력 되거나, 오디오 신호로부터 유도 된 파라미터가 보안 점수 발생기 입력되는 노이즈 파라미터로서 사용될 수 있다. 오디오 신호로부터 유도될 수 있는 파라미터들의 예(하지만, 반드시 이에 한정되는 것은 아니다): 평균 배경 노이즈 수준; 인간 음성의 존재/부재; 오디오 신호 검출 다른 음색의 수; 및 오디오 신호로부터 감지된 에코에 기초하여 추정 된 방의 크기. 예를 들어 배경 잡음 레벨이 높거나 개인 음성이 많이 검출되는 것은 사용자가 안전하지 않은 환경에 있음을 나타낼 수 있다.
c) 비주얼 정보 : 사용자 디바이스는 카메라(예컨대, 사용자 디바이스에 포함된 앞면 또는 후면 카메라)로부터 이미지 또는 동영상을 캡쳐하도록 구성될 수 있다. 보안 점수 발생기는 잠재적으로 인터셉트를 하려는 자들이 존재하는지 여부를 결정하기 위해, 상기 캡쳐 된 이미지를 분석하여 사용자 디바이스의 근방의 사람의 얼굴을 검출하도록 구성 될 수 있다. 사용자 디바이스 사용자의 얼굴 이외의 얼굴이 검출되면, 상기 보안 점수 발생부는 사용자 디바이스를 보안 입력 모드로 전환하도록 하는 보안 점수를 출력 하도록 구성 될 수 있다. 일부 실시예에 있어서, 사용자 장치에 의해 캡처된 정지 또는 비디오 이미지에서 얼굴이 검출되면, 안면 인식 소프트웨어는 검출된 얼굴과 권한 있는 사용자의 데이터 베이스를 비교하는데 이용될 수 있다. 여기서 권한 있는 사용자의 데이터 베이스는 사용자 디바이스의 민감한 사용자 정보를 볼 수 있는 권한이 있는 개인인지 여부를 결정하기 위한 데이터베이스 이다. 만약 검출된 얼굴이 권한이 있는 사용자와 일치하지 않으면, 상기 보안 입력 모드가 활성화된다.
d) 지오 펜싱 파라미터(Geo fencing parameter) : 사용자 디바이스는 사용자 디바이스가 정의 된 보안 영역의 경계 외부로 이동 한 경우를 나타내는 지오 펜싱 시스템으로부터 신호를 수신하도록 구성 될 수 있다. 사용자 디바이스가 보안 영역 밖에 있음을 나타내는 지오 펜싱 파라미터에 응답하여, 보안 점수 발생기는 사용자 디바이스가 보안 입력 모드로 전환되도록 구성 될 수 있다.
e) 애플리케이션 파라미터: 사용자 장치에 의해 실행될 수 있는 애플리케이션이 '보안' 애플리케이션으로 플래그 될 수 있다. ‘보안’애플리케이션은 민감한 정보의 입력을 사용자에게 요구하는 애플리케이션이다. 보안 점수 생성부에 입력되는 애플리케이션 파라미터의 값은 사용자 디바이스에 현재 실행되는 애플리케이션이 ‘보안’애플리케이션인지 여부에 달려 있다. 하나 이상의 '보안' 애플리케이션이 실행되는 경우, 보안 사용자 입력 모드가 활성화 될 수 있다.
다양한 보안 파라미터는 실시 예에 따라, 상이한 형태를 취할 수 있다. 예를 들어, 보안 파라미터는 'TRUE'가 보안 환경을 의미하도록 설정되고, 'FALSE'가 비보안 환경을 의미하도록 설정된 불리언(Boolean) 플래그 일 수 있다. 또는, 보안 파라미터는 상이한 레벨의 위험과 관련된 임의의 레벨 값을 가질 수 있다. 예를 들어, 상술한 위치 파라미터는, 0 내지 4의 정수 값을 가질 수 있고, 0은 신뢰할 수 있는 위치를 나타내고, 1은 낮은 위험 위치를 나타내며, 2는 중간 위험 위치를 나타내고, 3은 고위험 위치를 나타고, 4는 매우 높은 위험 위치를 나타낼 수 있다.
보안 점수 생성부는 입력 보안 파라미터를 조합하여 출력 보안 점수를 생성 할 수 있다. 출력 보안 점수는 보안/비보안 환경을 TRUE/FALSE로 나타내도록 설정하는 간단한 플래그 일 수도 있고, 상술 한 것과 유사한 방식으로 다른 레벨의 위험을 나타내는 다른 값을 가질수 있고, 계속해서 변할 수도 있다. 예를 들어, 일부 실시 예에서 보안 점수 생성부는 단순히 함께 입력 된 파라미터들을 추가 할 수 있다. 다른 실시 예에서, 각 보안 파라미터에 가중치가 적용되어 가중 합이 생성될 수 있다. 또 다른 실시 예에서, 보안 점수를 생성하기 위해 보안 의사 - 기반 프로세스를 따를 수 있다. 예를 들어, 만약 고위험 환경을 나타내는 값을 가지는 보안 파라미터들의 수가 특정 개수라면 비보안 환경을 나타내는 보안 점수를 생성할 수 있다.
단계 S803에서, 보안 점수는 현재 환경이 보안 또는 비보안 여부를 결정하기 위해 임계치와 비교된다. 높은 보안 점수가 보안 환경을 나타내는 경우, 예를 들면, 보안 점수가 임계치보다 낮을 때 비보안 환경으로 결정된다. 전술 한 바와 같이, 임계 값은 사용자에 의해 정의 되거나 또는 사전에 프로그래밍 될 수 있다. 일부 실시 예에서, 임계 값은 사용자 디바이스의 관리자가에 의해 설정 될 수 있고, 또는 서로 다른 애플리케이션에 대해 다른 임계 값이 설정 될 수 있다. 일부 응용 프로그램은 적절하게 기본 임계 값을 대체 허용 될 수 있다.
단계 S804는, 현재 환경이 보안환경이라는 단계 S803에서의 결정에 응답하여, 상기 사용자 디바이스가 일반 사용자 입력 모드로 동작하도록 제어된다. 일반 입력 모드에서, 단계 S805의 사용자 입력이 수신되면, 단계 S806에서 사용자 입력은 바로 애플리케이션으로 직접 전달된다. 한편, 단계 S803에서의 현재 환경이 보안 환경이라고 결정되면, 단계 S807에서 사용자 디바이스는 보안 사용자 입력 모드에서 동작하도록 제어된다. 전술 한 바와 같이, 본 실시 예에서, 보안 사용자 입력 모드는, 사용자 입력에 디코딩 알고리즘을 적용한다. 사용자 입력이 단계 S808에서 수신되면, 상기 사용자 입력은 단계 S809에서 디코딩 알고리즘을 이용하여 디코딩되고, 단계 S810에서 디코딩된 사용자 입력이 해당 애플리케이션에 전달된다.
상술한 바와 같이 본 발명의 특정 실시 예들이 도면을 참조하여 설명 되었지만, 이하 특허 청구 범위에 기재된 발명의 범위 내에서 다양한 변형 및 수정이 가능할 것이다.
일 실시 예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (17)

  1. 디바이스의 보안 모드 제공 방법에 있어서,
    상기 디바이스에 포함된 하나 이상의 기기로부터 상기 디바이스의 보안 환경을 결정하기 위한 복수의 파라미터를 획득하는 단계;
    상기 획득된 복수의 파라미터의 조합에 기초하여 상기 디바이스가 비보안 환경에 있는지 여부를 결정하는 단계; 및
    상기 디바이스가 비보안 환경에 있다고 결정되면, 상기 디바이스가 보안 모드에서 동작하도록 제어 하는 단계를 포함하는 보안 모드 제공 방법.
  2. 제 1항에 있어서,
    상기 디바이스가 비보안 환경에 있는지 여부를 결정하는 단계는
    상기 복수의 파라미터들을 조합하여 보안의 수위를 나타내는 보안 점수를 생성하는 단계; 및
    상기 보안 점수가 임계값을 넘는 경우에 비보안 환경에 있는 것으로 결정하는 단계를 더 포함하는 보안 모드 제공 방법.
  3. 제 1항에 있어서,
    상기 복수의 파라미터를 획득하는 단계는
    디바이스의 마이크로폰에서 캡쳐된 오디오 신호를 분석하여 비보안 환경을 나타내는 하나 이상의 파라미터를 획득하는 보안 모드 제공 방법.
  4. 제 3항에 있어서,
    상기 파라미터는 잡음 레벨을 포함하는 보안 모드 제공 방법.
  5. 제 1항에 있어서, 상기 디바이스가 비보안 환경에 있는지 여부를 결정하는 단계는,
    상기 디바이스가 공공 장소에 있다고 결정되면, 상기 디바이스가 비보안 환경에 있다고 결정하는 단계를 포함하는 보안 모드 제공 방법.
  6. 제 1항에 있어서,
    상기 보안 모드는 보안 입력 모드를 포함하고, 상기 보안 입력 모드는 사용자 입력에 대해 디코딩 알고리즘을 적용한 뒤 어플리케이션을 전송하는 보안 모드 제공 방법
  7. 제 1항에 있어서,
    상기 보안 모드는 보안 출력 모드를 포함하고, 상기 보안 출력 모드는, 사용자 시선이 머무는 영역을 제외한 나머지 영역을 비가시화 처리하는 보안 모드 제공 방법.
  8. 제 1항에 있어서,
    상기 디바이스가 보안모드에서 동작하는 것을 사용자에게만 알리기 위한 통지를 발행하는 단계를 더 포함하는 보안 모드 제공 방법.
  9. 보안모드를 제공하는 디바이스에 있어서,
    상기 디바이스에 포함된 하나 이상의 기기로부터 상기 디바이스의 보안 환경을 결정하기 위한 복수의 파라미터를 획득하고, 상기 획득된 복수의 파라미터의 조합에 기초하여 상기 디바이스가 비보안 환경에 있는지 여부를 결정하는 보안 관리자; 및
    상기 디바이스가 비보안 환경에 있다고 결정되면, 상기 디바이스가 보안 모드에서 동작하도록 제어 하는 제어부를 포함하는 보안모드 제공 디바이스.
  10. 제 9항에 있어서,
    상기 보안 관리자는 상기 복수의 파라미터들을 조합하여 보안의 수위를 나타내는 보안 점수를 생성하고,
    상기 보안 점수가 임계값을 넘는 경우에 비보안 환경에 있는 것으로 결정하는 보안모드 제공 디바이스.
  11. 제 9항에 있어서,
    상기 디바이스는 마이크로폰을 더 포함하고,
    상기 보안 관리자는 상기 마이크로폰에서 캡쳐된 오디오 신호를 분석하여 비보안 환경을 나타내는 하나 이상의 파라미터를 획득하는 보안모드 제공 디바이스.
  12. 제 11항에 있어서,
    상기 파라미터는 잡음 레벨을 포함하는 보안모드 제공 디바이스.
  13. 제 9항에 있어서,
    상기 보안 관리자는, 상기 디바이스가 공공 장소에 있다고 결정되면, 상기 디바이스가 비보안 환경에 있다고 결정하는 보안모드 제공 디바이스.
  14. 제 9항에 있어서
    상기 보안모드는 보안 입력 모드를 포함하고,
    상기 디바이스는, 상기 보안 입력 모드가 제공될 때, 사용자 입력에 대해 디코딩 알고리즘을 적용한 뒤 어플리케이션을 전송하는 입력부를 더 포함하는 보안 모드 제공 디바이스.
  15. 제 9항에 있어서 상기 보안 모드는 사용자 정보를 인코딩하여 출력하는 보안 출력 모드를 포함하고,
    상기 제어부는, 상기 보안 출력 모드가 제공될 때, 디스플레이부에 표시될 콘텐트 중 사용자 시선이 머무는 영역을 제외한 나머지 영역을 비가시화 처리하도록 제어하는 보안 모드 제공 디바이스.
  16. 제 9항에 있어서, 상기 디바이스는,
    상기 디바이스가 보안모드에서 동작하는 것을 사용자에게만 알리기 위한 통지를 발행하는 진동 발생부를 더 포함하는 보안 모드 제공 디바이스.
  17. 제 1 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
PCT/KR2016/002206 2015-03-05 2016-03-04 사용자 디바이스에 보안 모드를 제공하기 위한 방법 및 장치 WO2016140548A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/554,266 US10558826B2 (en) 2015-03-05 2016-03-04 Method and apparatus for providing security mode to user device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB1503736.9A GB2536215B (en) 2015-03-05 2015-03-05 Secure input mode for user device
GB1503736.9 2015-03-05
KR10-2016-0008877 2016-01-25
KR1020160008877A KR102474243B1 (ko) 2015-03-05 2016-01-25 사용자 디바이스에 보안 모드를 제공하기 위한 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2016140548A1 true WO2016140548A1 (ko) 2016-09-09

Family

ID=56848289

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/002206 WO2016140548A1 (ko) 2015-03-05 2016-03-04 사용자 디바이스에 보안 모드를 제공하기 위한 방법 및 장치

Country Status (1)

Country Link
WO (1) WO2016140548A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6918039B1 (en) * 2000-05-18 2005-07-12 International Business Machines Corporation Method and an apparatus for detecting a need for security and invoking a secured presentation of data
KR100955284B1 (ko) * 2002-11-18 2010-04-30 에이알엠 리미티드 보안 모드와 비보안 모드 사이의 프로세서 전환하는 데이터 처리장치, 데이터 처리방법 및 컴퓨터 판독가능한 기록매체
KR20120132013A (ko) * 2011-05-27 2012-12-05 주식회사 팬택 휴대용 단말, 휴대용 단말의 하드웨어 모듈간에 전송되는 데이터의 보안 방법
KR20140085952A (ko) * 2012-12-28 2014-07-08 삼성전자주식회사 휴대단말기의 보안모드 변경 방법 및 장치
KR20140100236A (ko) * 2013-02-06 2014-08-14 박정임 보안모드 자동전환 기능이 구비된 인터넷 전화기 및 이를 포함하는 보안서비스 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6918039B1 (en) * 2000-05-18 2005-07-12 International Business Machines Corporation Method and an apparatus for detecting a need for security and invoking a secured presentation of data
KR100955284B1 (ko) * 2002-11-18 2010-04-30 에이알엠 리미티드 보안 모드와 비보안 모드 사이의 프로세서 전환하는 데이터 처리장치, 데이터 처리방법 및 컴퓨터 판독가능한 기록매체
KR20120132013A (ko) * 2011-05-27 2012-12-05 주식회사 팬택 휴대용 단말, 휴대용 단말의 하드웨어 모듈간에 전송되는 데이터의 보안 방법
KR20140085952A (ko) * 2012-12-28 2014-07-08 삼성전자주식회사 휴대단말기의 보안모드 변경 방법 및 장치
KR20140100236A (ko) * 2013-02-06 2014-08-14 박정임 보안모드 자동전환 기능이 구비된 인터넷 전화기 및 이를 포함하는 보안서비스 시스템

Similar Documents

Publication Publication Date Title
Sikder et al. A survey on sensor-based threats and attacks to smart devices and applications
US10749876B2 (en) Adaptive and dynamic access control techniques for securely communicating devices
KR102474243B1 (ko) 사용자 디바이스에 보안 모드를 제공하기 위한 방법 및 장치
D’Orazio et al. Data exfiltration from Internet of Things devices: iOS devices as case studies
US8868927B1 (en) Method and apparatus for secure data input and output
CN109146470B (zh) 生成付款码的方法及装置
US11457017B2 (en) System and method of determing persistent presence of an authorized user while performing an allowed operation on an allowed resource of the system under a certain context-sensitive restriction
Madakam et al. Security mechanisms for connectivity of smart devices in the internet of things
CN112765684B (zh) 区块链节点终端管理方法、装置、设备及存储介质
US10834257B1 (en) Email alert for unauthorized call
Guerar et al. Using screen brightness to improve security in mobile social network access
CN105281907B (zh) 加密数据的处理方法及装置
Guerar et al. Securing PIN‐based authentication in smartwatches with just two gestures
Mayrhofer et al. Adversary models for mobile device authentication
US10237268B2 (en) Secure passcode processing device
Mahinderjit Singh et al. A novel out-of-band biometrics authentication scheme for wearable devices
CN112243000B (zh) 应用数据的处理方法,装置、计算机设备及存储介质
US11194931B2 (en) Server device, information management method, information processing device, and information processing method
Valarmathi et al. Shoulder surfing attack trusted verification–a survey
US20150264048A1 (en) Information processing apparatus, information processing method, and recording medium
US20210182438A1 (en) Securing a computer processing environment from receiving undesired content
CN111177770B (zh) 一种敏感信息的保护方法、移动设备及存储装置
WO2016140548A1 (ko) 사용자 디바이스에 보안 모드를 제공하기 위한 방법 및 장치
WO2015192656A1 (zh) 一种安全模式提示方法及装置
KR20180048423A (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: 16759184

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15554266

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16759184

Country of ref document: EP

Kind code of ref document: A1