Abstract:
Provided is a device and method for operating a transaction application in a trust zone. The method includes confirming, by a processor, whether a transaction request from the application is performed in a processing environment of a secure world, and requesting an output unit, by the processor, for an output of notification information that corresponds to a result of the confirming, wherein the output of the notification information indicates that the transaction request is safe in response to the transaction request being performed in the processing environment of the secure world.

Description:
BACKGROUND 
       [0001]    1. Field 
         [0002]    Apparatuses and methods consistent with exemplary embodiments relate to safely processing a transaction request from an application in a processing environment of a trust zone. 
         [0003]    2. Description of the Related Art 
         [0004]    With the development of communications and network technology, transaction techniques using a device have been commercialized. Also, installing a transaction application in a device and using a payment service through the installed transaction application by users have increased. However, there are various kinds of transaction applications, and the security of the transaction applications is controlled by software, thus the transaction applications have a problem of being vulnerable to hacking. In particular, if a transaction application is infected by a virus such as malware, an execution screen of the transaction application can be forged, and through the forged screen, transaction information stored in a subscriber identification module (SIM) card of a device is put in danger of exposure. Thus, it is required to develop a technique to strengthen the security of a transaction application and to effectively notify whether the transaction application safely operates. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0005]    The above and/or other aspect will be more apparent by describing certain exemplary embodiments, with reference to the attached drawings, in which: 
           [0006]      FIG. 1  is a block diagram of a device according to an exemplary embodiment; 
           [0007]      FIG. 2  is a block diagram illustrating a method of a device for processing a transaction request by an application, according to an exemplary embodiment; 
           [0008]      FIG. 3  is flowchart illustrating a method of a device for outputting notification information according to a transaction request, according to an exemplary embodiment; 
           [0009]      FIG. 4  is a flowchart illustrating a method of a device for obtaining transaction information from a subscriber identification module (SIM) card according to a transaction request, according to an exemplary embodiment; 
           [0010]      FIG. 5  is block diagram illustrating a method of a device for storing a security key provided by an application in a SIM card, according to an exemplary embodiment; and 
           [0011]      FIGS. 6 and 7  illustrate an example where a device outputs notification information, according to an exemplary embodiment. 
       
    
    
     SUMMARY 
       [0012]    According to an aspect of an exemplary embodiment, there is provided a method for operating a transaction application in a trust zone, the method including confirming, by the processor, whether a transaction request from the application is performed in the processing environment of the secure world, and requesting an output unit, by the processor, for an output of notification information that corresponds to a result of the confirming, wherein the output of the notification information indicates that the transaction request is safe in response to the transaction request being performed in the processing environment of the secure world. 
         [0013]    Confirming and requesting may be performed by the processor corresponding to the processing environment of a secure world. 
         [0014]    A first processor corresponding to the processing environment of the secure world and a second processor corresponding to the processing environment of the normal world are included in one processor and may be logically distinguished from each other. 
         [0015]    The method may further include obtaining security information from a subscriber identification module (SIM) card that is controlled in the processing environment of the secure world in response to the transaction request being performed in the processing environment of the secure world. 
         [0016]    Also, the method includes receiving a security key from the application, and providing the received security key to a SIM card controlled in the processing environment of a secure world, wherein the security key received may be provided to the SIM card in response to the application being authenticated in the processing environment of the secure world. 
         [0017]    The output unit may be a light-emitting diode (LED) lamp, and the method may further include lighting the LED lamp in response to the request for the output of the notification information. 
         [0018]    The output unit may be a display, and the method may further include displaying the notification information on the display in response to the request for the output of the notification information. 
         [0019]    The method may further include operating the transaction application selectively in the processing environment of the secure world or a processing environment of a normal world. 
         [0020]    According to another aspect of an exemplary embodiment, there is provided a device for operating a transaction application in a trust zone, the device including a processor configured to confirm whether a transaction request from the application is performed in a processing environment of a secure world, and request for an output of notification information that corresponds to a result of the confirmation; and an output unit configured to output the notification information that indicates the transaction request is safe in response to the transaction request is performed in the processing environment of the secure world. 
         [0021]    The processor includes a first processor corresponding to the processing environment of a secure world and a second processor corresponding to a processing environment of a normal world, and the first processor may provide the output of the notification information to the output unit. 
         [0022]    The first processor and the second processor are included in one processor and may be logically distinguished from each other. 
         [0023]    Operations of the application may be divided into an operation performed in the processing environment of a secure world and an operation performed in the processing environment of a normal world. 
         [0024]    The device may further include a subscriber identification module (SIM) card controlled in the processing environment of the secure world, wherein the processor is further configured to obtain security information from the SIM card in response to the transaction request being performed in the processing environment of the secure world. 
         [0025]    The processor is further configured to receive a security key from the application, and the received security key may be provided to a SIM card controlled in the processing environment of a secure world in response to the application being authenticated in the processing environment of the secure world. 
         [0026]    The output unit may include at least one of LED and a screen included in the device. 
         [0027]    According to another aspect of an exemplary embodiment, there is provided a non-transitory computer readable storage medium that is executable by a computer to perform the method. 
         [0028]    According to another aspect of an exemplary embodiment, there is provided a method of a processor operating a transaction application including: generating a transaction request from the application; determining whether the transaction request is performed in the processing environment of the secure world; and obtaining security information, from a subscriber identification module (SIM) card in response to the transaction request being performed in the processing environment of the secure world. 
         [0029]    The method may further include obtaining a security key from the application; authenticating the transaction application in the processing environment of the secure world; and storing the security key in the SIM card in response the transaction application being authenticated. 
       DETAILED DESCRIPTION 
       [0030]    Exemplary embodiments are described in greater detail below with reference to the accompanying drawings. 
         [0031]    In the following description, like drawing reference numerals are used for like elements, even in different drawings. The matters defined in the description, such as detailed construction and elements, are provided to assist in a comprehensive understanding of the exemplary embodiments. However, it is apparent that the exemplary embodiments can be practiced without those specifically defined matters. Also, well-known functions or constructions are not described in detail since they would obscure the description with unnecessary detail. 
         [0032]    Throughout the specification, it will be understood that when an element is referred to as being “connected” to another element, it may be “directly connected” to the other element or “electrically connected” to the other element with intervening elements therebetween. It will be further understood that when a part “includes” or “comprises” an element, unless otherwise defined, the part may further include other elements, not excluding the other elements. 
         [0033]      FIG. 1  is a block diagram of a device according to an exemplary embodiment. 
         [0034]    As shown in  FIG. 1 , the device includes a processor  100 , a subscriber identification module (SIM) card  200 , a memory  300 , a storage  400 , an input unit  500 , an output unit  600 , and a communication interface  700 . Also, the processor  100  may include a first processor of a secure world  110  and a second processor of a normal world  120 . 
         [0035]    In addition, the device operates in a processing environment of a “trust zone,” and may protect a processor circuit and memory of the device from a software attack. The processing environment of the “trust zone” may include a processing environment of a secure world and a processing environment of a normal world. Also, the processing environment of the normal world may not have an access to the processing environment of the secure world. Furthermore, a predetermined access to a hardware device may be set to be available only in the processing environment of the secure world. 
         [0036]    The device may be a computing platform performing an application program. For example, the device may be a smart phone, a cellular phone, a personal digital assistant (PDA), a laptop, a media player, a global positioning system (GPS), or other mobile or non-mobile computing devices, but may not be restricted thereto. Also, the processor  100 , the SIM card  200 , the memory  300 , the storage  400 , the input unit  500 , the output unit  600 , and the communication interface  700  may respectively be connected to one another via a system bus including more than one bus. When there are a plurality of buses, buses may be bridged by more than one bridge of bus (not shown). 
         [0037]    The processor  100  may be a central processing unit (CPU) having an architecture based on a secure structure type of a “trust zone.” The processing environment of the “trust zone” may protect a processor circuit and memory from a software attack. The processing environment of the “trust zone” may display data and security code, and may divide secure data and normal data to be separately processed with the help of hardware. The processor  100  may include the first processor of the secure world  110  and the second processor of the normal world  120 . The first processor of the secure world  110  may perform a secure operation, and the second processor of the normal world  120  may perform a normal operation. Also, the first processor  110  may be separated from an access from the outside and be protected from an unauthorized control of the second processor  120 . In addition, the first processor  110  and the second processor  120  may be physically separate processors, but may not be restricted thereto. The first processor  110  and the second processor  120  are included in one processor and may be distinguished logically. 
         [0038]    Furthermore, an operation of an application according to an exemplary embodiment may be divided into an operation in a processing environment of a secure world and an operation in a processing environment of a normal world. For example, an operation related to transaction among operations of the application may be configured to be performed in a processing environment of a secure world, and an operation less related to a security such as a control of a user interface (UI) may be configured to be performed in a processing environment of a normal world. In this case, based on an input through the UI in the processing environment of the normal world, a transaction operation may be requested to the processing environment of the secure world. 
         [0039]    The processor  100  confirms whether a transaction request is performed in a processing environment of a secure world. The processor  100  confirms whether the transaction request is performed by the first processor  110  or the second processor  120 . 
         [0040]    Also, whether the transaction request is performed in the processing environment of the secure world may be confirmed in the processing environment of the secure world. For example, the first processor  110  included in the processor  100  may confirm whether the transaction request is performed in the processing environment of the secure world. 
         [0041]    Upon confirming that the transaction request is performed in the processing environment of the secure world, the processor  100  may request the output unit  600  for an output of notification information about safety of the transaction request. For example, when the application is hacked into and the transaction request is performed by the hacked application in a processing environment of a normal world, the processor  100  may confirm that the transaction request is not performed in the processing environment of the secure world and ignore the transaction request. 
         [0042]    Upon confirming that the transaction request is performed in the processing environment of the secure world, the processor  100  may extract transaction information from the subscriber identification module (SIM) card  200 . The transaction information, for example, may include a device user&#39;s user information, card information, and authentication information. Also, the SIM card  200  may be controlled in the processing environment of the secure world. 
         [0043]    In addition, the processor  100  may receive a security key from the application and store the received security key in the SIM card  200 . In this case, the processor  100  may authenticate the application, and when the application is authenticated, the processor  100  may store the received security key in the SIM card  200 . Also, the authentication of the application may be performed in the processing environment of the secure world. For example, the application may be authenticated by the first processor  110  corresponding to the processing environment of the secure world. 
         [0044]    The SIM card  200  stores transaction information and stores the security key received from the application. The SIM card  200  may be controlled by the processor  100  in the processing environment of the secure world. Also, the SIM card  200  may be connected to the first processor  110  corresponding to the processing environment of the secure world, but may not be restricted thereto. 
         [0045]    The memory  300  may store an instruction and data used for performing an operation and function of the processor  100 . The memory  300 , for example, may include a random access memory (RAM), a static random access memory (SRAM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (SDRAM), and a double data rate random access memory (DDRRAM), but may not be restricted thereto. The memory  300  may include more than one code and/or data sequence and be referred to as an operating memory. The code sequence may be a machine instruction set or a machine instruction group indicating more than one function call, subroutine, or operation. In this specification, a program may individually refer to one among these, or a combination of more than one of these. 
         [0046]    The storage  400  may indicate a non-volatile storage storing permanent data. A non-volatile storage denotes a storing medium maintaining the value even if the power of the storage device is removed. The permanent data denotes data that is maintained even if the power provided to the device is stopped. For example, the permanent data may include a system file, an operating system, a program file, and a configuration file. Also, the storage  400  may include a disk and a related drive (for example, a magneto-optical drive), a universal serial bus (USB) and a related port, a flash memory, a read-only memory (ROM), and a non-volatile solid state drive. 
         [0047]    The input unit  500  generates an input signal input into the processor  100  based on an input by a user. The input unit  500 , for example, may include a keyboard, a mouse, a touch screen, and a keypad, but may not be restricted thereto. 
         [0048]    The output unit  600  outputs an output signal generated from the processor  100 . The output unit  600  may output at least one of an audio signal and a video signal, but may not be restricted thereto. The output unit  600 , for example, may include a display unit, a speaker, a vibration sensor, and a light-emitting diode (LED) lamp. 
         [0049]    When a transaction request is performed in the processing environment of the secure world, the output unit  600  may output notification information about safety of the transaction request. For example, the output unit  600  may be an LED lamp, and the notification information about the safety of the transaction request may be output by the LED lamp flickering in certain colors and texture patterns. Also, the output unit  600  may be a display unit, and the notification information about the safety of the transaction request may be output by certain texts displayed on the display unit. 
         [0050]    In addition, the output unit  600  may be set to be controlled only in the processing environment of the secure world. 
         [0051]    The communication interface  700  enables the device to communicate with other devices through a network. The communication interface  700 , for example, may include a network interface card, and a modem, but may not be restricted thereto. 
         [0052]      FIG. 2  is a block diagram illustrating a method of a device for processing a transaction request by an application, according to an exemplary embodiment. 
         [0053]    As shown in  FIG. 2 , an operation of a transaction application may be performed in at least one of a processing environment of a secure world and a processing environment of a normal world. Also, an operation performed in the processing environment of the secure world and an operation performed in the processing environment of the normal world may be pre-set. For example, the transaction request may be set to be performed by the transaction application in the processing environment of the secure world. 
         [0054]    If the transaction application operates normally and the transaction request is performed in the processing environment of the secure world, a trust zone protection controller (TZPC) may request the output unit  600  for an output of notification information about safety of the transaction request. 
         [0055]    If the transaction application is hacked into and the transaction request is performed by the transaction application in the processing environment of the normal world, the TZPC may ignore the transaction request from the transaction application. However, it may not be restricted thereto, and the TZPC may request the output unit  600  for an output of notification information about unsafety of the transaction request. 
         [0056]      FIG. 3  is a flowchart illustrating a method of a device for outputting notification information based on a transaction request, according to an exemplary embodiment. 
         [0057]    In operation S 300 , the device confirms a transaction request of an application. The application installed in the device may generate a request signal to obtain transaction information from the SIM card  200  so that the application is able to perform a transaction based on the transaction information. The device may confirm the transaction request performed by the application. 
         [0058]    In operation S 302 , the device determines whether the transaction request is performed in a processing environment of a secure world. The device may determine whether the transaction request by the application is performed in the processing environment of the secure world, or a processing environment of a normal world. For example, the device may determine whether the transaction request is to be performed by the first processor  110  of the device or by the second processor  120  of the device, but may be not restricted thereto. 
         [0059]    If the application is hacked into and the transaction request is performed by the application, the device may determine that the transaction request is to be performed in the processing environment of the normal world. 
         [0060]    In operation S 302 , if it is determined that the transaction request is performed in the processing environment of the secure world, the device requests the output unit  600  for an output of notification information in operation S 304 . The notification information may include information about safety of the transaction request, and pre-set notification information according to the kinds of the output unit  600  may be output. For example, if the output unit  600  is an LED lamp, the notification information may be provided by the LED lamp flickering in certain colors and texture patterns. Also, if the output unit  600  is a display, the notification information may be provided by certain texts displayed on the display unit. 
         [0061]    In addition, in operation S 302 , if it is determined that the transaction request is not performed in the processing environment of the secure world, the device may ignore the transaction request. 
         [0062]    Operations S 300  to S 304  may be performed in the processing environment of the secure world, but may not be restricted thereto. Operations S 300  to S 304  may be partially performed in the processing environment of the normal world. Through operations S 300  to S 304 , security-sensitive operations of the transaction application (e.g., processing the transaction request) may be isolated from the rest operations of the transaction application. 
         [0063]      FIG. 4  is a flowchart illustrating a method of a device for obtaining transaction information from an SIM card based on a transaction request, according to an exemplary embodiment. 
         [0064]    In operation S 400 , the device confirms a transaction request of an application. The application installed in the device may generate a request signal to obtain transaction information from the SIM card  200  so that the application is able to perform a transaction based on the transaction information. The device may confirm the transaction request by the application. 
         [0065]    In operation S 402 , the device determines whether the transaction request is performed in a processing environment of a secure world. The device may determine whether the transaction request from the application is performed in the processing environment of the secure world or a processing environment of a normal world. For example, the device may determine whether the transaction request is performed by the first processor  110  of the device or by the second processor  120  of the device, but may not be restricted thereto. 
         [0066]    If the application is hacked into and the transaction request is performed by the application, the device may determine that the transaction request is performed in the processing environment of the normal world. 
         [0067]    In operation S 402 , if it is determined that the transaction request is performed in the processing environment of the secure world, the device extracts transaction information from the SIM card  200 , in operation S 404 . For example, the transaction information may include a device user&#39;s user information, card information, and authentication information. Also, the SIM card  200  may be controlled in the processing environment of the secure world. 
         [0068]    In addition, in operation S 402 , if it is determined that the transaction request is not performed in the processing environment of the secure world, the device may ignore the transaction request. 
         [0069]    Operations S 400  to S 404  may be performed in the processing environment of the secure world, but may not be restricted thereto. Operations S 400  to S 404  may be partially performed in the processing environment of the normal world. 
         [0070]      FIG. 5  is block diagram illustrating a method of a device for storing a security key provided by an SIM card, according to an exemplary embodiment. 
         [0071]    In operation S 500 , the device receives the security key from a transaction application. The processor  100  of the device may receive the security key from the transaction application installed in the device. The security key may be generated by the transaction application or received from an external trusted party, but may not be restricted thereto. 
         [0072]    In operation S 502 , the device authenticates the transaction application in a processing environment of a secure world. The first processor  110  corresponding to the processing environment of the secure world may confirm whether the transaction application is an authenticated application. 
         [0073]    If the transaction application is an authenticated application, the device stores the security key in the SIM card  200 , in operation S 504 . The SIM card  200  may be controlled by the processor  100  in the processing environment of the secure world. In this case, the security key may be stored in the SIM card  200  by using a near field communication (NFC) controller or a call processor operated in the processing environment of the secure world. 
         [0074]      FIG. 5  illustrates an example where a security key of a transaction application is stored in a SIM card  200 , but may not be restricted thereto. When a SIM client (not shown) operating in a processing environment of a normal world sends an application protocol data unit (APDU) command to an APDU agent (not shown) operating in a processing environment of a secure world, the APDU agent (not shown) may authenticate the SIM client (not shown). Also, if the SIM client (not shown) is authenticated, the APDU agent (not shown) may access the SIM card  200  by the NFC controller or the call processor operating in the processing environment of the secure world. 
         [0075]      FIGS. 6 and 7  illustrate an example where a device outputs notification information according to an exemplary embodiment. 
         [0076]    As shown in  FIG. 6 , when a transaction request is performed in a processing environment of a secure world, the device may notify about safety of the transaction request by lighting an LED lamp  60  in pre-determined colors and texture patterns. 
         [0077]    Also, as shown in  FIG. 7 , when the transaction request is performed in the processing environment of the secure world, the device may display the text notifying about the safety of the transaction request on a screen of the device  70 . 
         [0078]    The exemplary embodiments may be embodied as a recording medium, e.g., a program module to be executed in computers, which include computer-readable commands. The computer storage medium may include any usable medium that may be accessed by computers, volatile and non-volatile media, and detachable and non-detachable media. Also, the computer storage medium may include a computer storage medium and a communication medium. The computer storage medium includes all of volatile and non-volatile media, and detachable and non-detachable media which are designed to store information including computer readable commands, data structures, program modules, or other data. The communication medium includes computer-readable commands, a data structure, a program module, and other transmission mechanisms, and includes other information transmission media. 
         [0079]    The foregoing exemplary embodiments and advantages are merely exemplary and are not to be construed as limiting. The present teaching can be readily applied to other types of apparatuses. Also, the description of the exemplary embodiments is intended to be illustrative, and not to limit the scope of the claims, and many alternatives, modifications, and variations will be apparent to those skilled in the art.