WO2019098790A1 - 전자 장치 및 전자 장치에서 보안 운영체제 기반 데이터 송수신 방법 - Google Patents

전자 장치 및 전자 장치에서 보안 운영체제 기반 데이터 송수신 방법 Download PDF

Info

Publication number
WO2019098790A1
WO2019098790A1 PCT/KR2018/014205 KR2018014205W WO2019098790A1 WO 2019098790 A1 WO2019098790 A1 WO 2019098790A1 KR 2018014205 W KR2018014205 W KR 2018014205W WO 2019098790 A1 WO2019098790 A1 WO 2019098790A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic device
data
operating system
server
designated key
Prior art date
Application number
PCT/KR2018/014205
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
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US16/764,608 priority Critical patent/US11347897B2/en
Publication of WO2019098790A1 publication Critical patent/WO2019098790A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • 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/72Protecting 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 in cryptographic circuits
    • G06F21/725Protecting 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 in cryptographic circuits operating on a secure reference time value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/047Key management, e.g. using generic bootstrapping architecture [GBA] without using a trusted network node as an anchor
    • H04W12/0471Key exchange

Definitions

  • Various embodiments of the present invention are directed to a method for transmitting and receiving data based on a secure operating system in an electronic device and an electronic device.
  • the electronic device may include at least one processor and an operating system (OS) so as to provide various services, and the operating system of the electronic device is strategically opened by major manufacturers and major suppliers, An application program interface, a software development kit, and source files.
  • OS operating system
  • a security solution for transmitting and receiving data between an electronic device and an external electronic device needs to consider both the security of a communication channel and the security of data transmitted and received.
  • a first operating system is used to perform secure communication between an electronic device and an external electronic device during data transmission / reception between the electronic device and the external electronic device, It is possible to provide an electronic apparatus and method capable of securely transmitting and receiving data between an electronic apparatus and an external electronic apparatus by encrypting data transmitted and received between the apparatuses.
  • An electronic device includes a communication module for performing wireless communication, a memory, at least one processor electrically connected to the communication module and the memory, Receives or transmits data through communication with an external electronic device using the communication module based on the first operating system and transmits the received data or the external electronic device using the designated key based on the second operating system And may store instructions to process data.
  • the method for transmitting / receiving a security operating system-based data in an electronic device includes receiving and transmitting data through communication with an external electronic device using a communication module based on a first operating system, And processing the data to be transmitted to the external server or the received data using the key designated by the key.
  • a computer-readable medium having stored thereon a program for performing the steps of: receiving, at an electronic device, data via communication with an external electronic device using a communication module based on a first operating system; And to process the data to be transmitted to the received data or the external electronic device using the designated key based on the transmitting operation and the second operating system.
  • data when data is exchanged between an electronic device and an external electronic device, communication is performed between the electronic device and the external electronic device based on the first operating system, and communication between the electronic device and the external electronic device based on the second operating system Data can be securely transmitted and received between the electronic device and the external device by encrypting the data transmitted and received between the electronic device and the external electronic device using the designated key.
  • FIG. 1 is a diagram illustrating an electronic device and an external electronic device according to various embodiments.
  • FIG. 2 is a configuration diagram of an electronic device according to various embodiments.
  • FIG. 3 is a flow diagram of operation of an electronic device according to various embodiments.
  • FIG. 4 is a flow diagram illustrating the operation of transferring a designated key to an external electronic device in an electronic device according to various embodiments.
  • FIG. 5 is a flow diagram illustrating an operation for receiving data from an external electronic device in an electronic device according to various embodiments.
  • FIG. 6 is a flow diagram illustrating an operation for transferring data to an external electronic device in an electronic device according to various embodiments.
  • FIG. 7 is a diagram illustrating operations in which an electronic device and an external server share a designated key according to various embodiments.
  • FIG. 8 is a diagram illustrating an operation of an electronic device and a server in response to a data write request from an external server according to various embodiments.
  • FIG. 9 is a diagram illustrating operations of an electronic device and a server in response to a data read request from an external server according to various embodiments.
  • FIG. 1 is a block diagram of an electronic device 101 in a network environment 100, in accordance with various embodiments.
  • an electronic device 101 in a network environment 100 communicates with an electronic device 102 via a first network 198 (e.g., near-field wireless communication) or a second network 199 (E. G., Remote wireless communication).
  • a first network 198 e.g., near-field wireless communication
  • a second network 199 E. G., Remote wireless communication
  • ≪ / RTI &gt the electronic device 101 is capable of communicating with the electronic device 104 through the server 108.
  • the electronic device 101 includes a processor 120, a memory 130, an input device 150, an audio output device 155, a display device 160, an audio module 170, a sensor module 176, an interface 177, a haptic module 179, a camera module 180, a power management module 188, a battery 189, a communication module 190, a subscriber identity module 196, and an antenna module 197 ).
  • at least one (e.g., display 160 or camera module 180) of these components may be omitted from the electronic device 101, or other components may be added.
  • some components such as, for example, a sensor module 176 (e.g., a fingerprint sensor, an iris sensor, or an illuminance sensor) embedded in a display device 160 Can be integrated.
  • Processor 120 may be configured to operate at least one other component (e.g., hardware or software component) of electronic device 101 connected to processor 120 by driving software, e.g., And can perform various data processing and arithmetic operations.
  • Processor 120 loads and processes commands or data received from other components (e.g., sensor module 176 or communication module 190) into volatile memory 132 and processes the resulting data into nonvolatile memory 134.
  • the processor 120 may operate in conjunction with a main processor 121 (e.g., a central processing unit or an application processor) and, independently, or additionally or alternatively, Or a co-processor 123 (e.g., a graphics processing unit, an image signal processor, a sensor hub processor, or a communications processor) specific to the designated function.
  • a main processor 121 e.g., a central processing unit or an application processor
  • a co-processor 123 e.g., a graphics processing unit, an image signal processor, a sensor hub processor, or a communications processor
  • the coprocessor 123 may be operated separately from or embedded in the main processor 121.
  • the coprocessor 123 may be used in place of the main processor 121, for example, while the main processor 121 is in an inactive (e.g., sleep) state, At least one component (e.g., display 160, sensor module 176, or communications module 176) of the components of electronic device 101 (e.g., 190) associated with the function or states.
  • the coprocessor 123 e.g., an image signal processor or communications processor
  • the coprocessor 123 is implemented as a component of some other functionally related component (e.g., camera module 180 or communication module 190) .
  • Memory 130 may store various data used by at least one component (e.g., processor 120 or sensor module 176) of electronic device 101, e.g., software (e.g., program 140) ), And input data or output data for the associated command.
  • the memory 130 may include a volatile memory 132 or a non-volatile memory 134.
  • the program 140 may be software stored in the memory 130 and may include, for example, an operating system 142, middleware 144,
  • the input device 150 is an apparatus for receiving a command or data to be used for a component (e.g., processor 120) of the electronic device 101 from the outside (e.g., a user) of the electronic device 101,
  • a component e.g., processor 120
  • a microphone, a mouse, or a keyboard may be included.
  • the sound output device 155 is a device for outputting a sound signal to the outside of the electronic device 101.
  • the sound output device 155 may be a speaker for general use such as a multimedia reproduction or a sound reproduction, .
  • the receiver may be formed integrally or separately from the speaker.
  • the display device 160 may be an apparatus for visually providing information to a user of the electronic device 101 and may include, for example, a display, a hologram device, or a projector and control circuitry for controlling the projector. According to one embodiment, the display device 160 may include a touch circuitry or a pressure sensor capable of measuring the intensity of the pressure on the touch.
  • the audio module 170 is capable of bi-directionally converting sound and electrical signals. According to one embodiment, the audio module 170 may acquire sound through the input device 150, or may be connected to the audio output device 155, or to an external electronic device (e.g., Electronic device 102 (e.g., a speaker or headphone)).
  • an external electronic device e.g., Electronic device 102 (e.g., a speaker or headphone)
  • the sensor module 176 may generate an electrical signal or data value corresponding to an internal operating state (e.g., power or temperature) of the electronic device 101, or an external environmental condition.
  • the sensor module 176 may be a gesture sensor, a gyro sensor, a barometric sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared sensor, Or an illuminance sensor.
  • the interface 177 may support a designated protocol that may be wired or wirelessly connected to an external electronic device (e.g., the electronic device 102).
  • the interface 177 may include a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD card interface Secure Digital interface
  • audio interface an audio interface
  • the connection terminal 178 may be a connector such as an HDMI connector, a USB connector, an SD card connector, or an audio connector that can physically connect the electronic device 101 and an external electronic device (e.g., the electronic device 102) (E.g., a headphone connector).
  • an HDMI connector such as an HDMI connector, a USB connector, an SD card connector, or an audio connector that can physically connect the electronic device 101 and an external electronic device (e.g., the electronic device 102) (E.g., a headphone connector).
  • the haptic module 179 may convert electrical signals into mechanical stimuli (e.g., vibrations or movements) or electrical stimuli that the user may perceive through tactile or kinesthetic sensations.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 can capture a still image and a moving image.
  • the camera module 180 may include one or more lenses, an image sensor, an image signal processor, or a flash.
  • the power management module 188 is a module for managing the power supplied to the electronic device 101, and may be configured as at least a part of, for example, a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 189 is an apparatus for supplying power to at least one component of the electronic device 101 and may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
  • the communication module 190 is responsible for establishing a wired or wireless communication channel between the electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108) Lt; / RTI > Communication module 190 may include one or more communication processors that support wired communication or wireless communication, operating independently of processor 120 (e.g., an application processor).
  • the communication module 190 may include a wireless communication module 192 (e.g., a cellular communication module, a short range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (E.g., a local area network (LAN) communication module, or a power line communication module), and the corresponding communication module may be used to communicate with a first network 198 (e.g., Bluetooth, WiFi direct, Communication network) or a second network 199 (e.g., a telecommunications network such as a cellular network, the Internet, or a computer network (e.g., a LAN or WAN)).
  • a wireless communication module 192 e.g., a cellular communication module, a short range wireless communication module, or a global navigation satellite system (GNSS) communication module
  • GNSS global navigation satellite system
  • wired communication module 194 E.g., a local area network (LAN) communication module, or a power line communication module
  • the wireless communication module 192 may use the user information stored in the subscriber identification module 196 to identify and authenticate the electronic device 101 within the communication network.
  • the antenna module 197 may include one or more antennas for externally transmitting or receiving signals or power.
  • the communication module 190 e.g., the wireless communication module 192 may transmit signals to or receive signals from an external electronic device via an antenna suitable for the communication method.
  • Some of the components are connected to each other via a communication method (e.g., bus, general purpose input / output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI) (Such as commands or data) can be exchanged between each other.
  • a communication method e.g., bus, general purpose input / output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI) (Such as commands or data) can be exchanged between each other.
  • the command or data may be transmitted or received between the electronic device 101 and the external electronic device 104 via the server 108 connected to the second network 199.
  • Each of the electronic devices 102 and 104 may be the same or a different kind of device as the electronic device 101.
  • all or a portion of the operations performed in the electronic device 101 may be performed in another or a plurality of external electronic devices.
  • the electronic device 101 in the event that the electronic device 101 has to perform some function or service automatically or upon request, the electronic device 101 may be capable of executing the function or service itself, And may request the external electronic device to perform at least some functions associated therewith.
  • the external electronic device receiving the request can execute the requested function or additional function and transmit the result to the electronic device 101.
  • the electronic device 101 can directly or additionally process the received result to provide the requested function or service.
  • cloud computing, distributed computing, or client-server computing technology may be used.
  • the electronic device can be various types of devices.
  • the electronic device can include, for example, at least one of a portable communication device (e.g., a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance.
  • a portable communication device e.g., a smart phone
  • a computer device e.g., a laptop, a desktop, a smart phone
  • portable multimedia device e.g., a portable multimedia device
  • portable medical device e.g., a portable medical device
  • camera e.g., a camera
  • a wearable device e.g., a portable medical device
  • first component is "(functionally or communicatively) connected” or “connected” to another (second) component, May be connected directly to the component, or may be connected through another component (e.g., a third component).
  • module includes units comprised of hardware, software, or firmware and may be used interchangeably with terms such as, for example, logic, logic blocks, components, or circuits.
  • a module may be an integrally constructed component or a minimum unit or part thereof that performs one or more functions.
  • the module may be configured as an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of the present document may include instructions stored on a machine-readable storage medium (e.g., internal memory 136 or external memory 138) readable by a machine (e.g., a computer) Software (e.g., program 140).
  • the device may include an electronic device (e.g., electronic device 101) in accordance with the disclosed embodiments as an apparatus capable of calling stored instructions from the storage medium and operating according to the called instructions.
  • a processor e.g., processor 120
  • the processor may perform the function corresponding to the instruction, either directly or using other components under the control of the processor.
  • the instructions may include code generated or executed by the compiler or interpreter.
  • a device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-temporary' means that the storage medium does not include a signal and is tangible, but does not distinguish whether data is stored semi-permanently or temporarily on the storage medium.
  • a method according to various embodiments disclosed herein may be provided in a computer program product.
  • a computer program product can be traded between a seller and a buyer as a product.
  • a computer program product may be distributed in the form of a machine readable storage medium (eg, compact disc read only memory (CD-ROM)) or distributed online through an application store (eg PlayStore TM ).
  • an application store eg PlayStore TM
  • at least a portion of the computer program product may be temporarily stored, or temporarily created, on a storage medium such as a manufacturer's server, a server of an application store, or a memory of a relay server.
  • Each of the components may be comprised of a single entity or a plurality of entities, and some of the subcomponents described above may be omitted, or other subcomponents May be further included in various embodiments.
  • some components e.g., modules or programs
  • an electronic device may be coupled to an external electronic device (e.g., electronic device 102, electronic device 104, or server 108 of FIG. 1) (E.g., communication module 190 of FIG. 1), memory (e.g., memory 130 of FIG. 1), at least one processor electrically coupled to the communication module and memory Wherein the at least one processor is operable to receive or transmit data via communication with the electronic device server using the communication module based on a first operating system, 2 operating system to process the received data or data to be transmitted to the external electronic device using a designated key.
  • an external electronic device e.g., electronic device 102, electronic device 104, or server 108 of FIG. 1
  • memory e.g., memory 130 of FIG. 1
  • the at least one processor is operable to receive or transmit data via communication with the electronic device server using the communication module based on a first operating system, 2 operating system to process the received data or data to be transmitted to the external electronic device using a designated key.
  • the designated key is a secret key
  • the memory may store the designated key in a storage area accessible only by the second operating system.
  • the memory may include a replay protected memory block (RPMB) and may store the designated key in the RPMB.
  • RPMB replay protected memory block
  • the memory is configured such that upon execution, the at least one processor is operable to cause the second operating system to encrypt the specified key and pass it to the first operating system, And further to transmit to the external electronic device via the communication module.
  • the instructions cause the at least one processor to receive first data from the external electronic device using the communication module based on the first operating system and the validity information generated using the designated key,
  • the validity information may be used to determine the validity of the first data based on the second operating system and update the stored data or the status of the electronic device based on the first data if valid .
  • the validity information associated with the first data may be a token generated in the external electronic device based on the first data, the designated key, and a random value generated in the electronic device.
  • the validity information may include a hash-based message authentication code (HMAC).
  • HMAC hash-based message authentication code
  • the first data may include data for updating the display data or the lock status of the electronic device.
  • the instructions cause the at least one processor to receive a second data transfer request from the external electronic device using the communication module based on the first operating system,
  • the second data may be encrypted and provided using the designated key.
  • the memory is configured such that the at least one processor receives authentication information for authenticating the external electronic device from the external electronic device using the wireless communication module based on the first operating system, 2 operating system based on the received authentication information to authenticate the external electronic device.
  • the electronic device 201 includes a communication module 210 (e.g., a communication module 190 of FIG. 1), a processor 220 (e.g., processor 120 of FIG. 1) (E.g., memory 130 of FIG. 1).
  • a communication module 210 e.g., a communication module 190 of FIG. 1
  • a processor 220 e.g., processor 120 of FIG. 1
  • memory 130 of FIG. 1 e.g., memory 130 of FIG.
  • Communication module 210 may be used to establish a wired or wireless communication channel between electronic device 201 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108 of Figure 1) And can support communication through the established communication channel.
  • the communication module 210 may support the electronic device 201 to perform communication based on a security protocol, for example, with an external server 108.
  • the security protocol may be a transport layer security (TLS) protocol or a secure sockets layer (SSL) protocol, and other security protocols may be possible.
  • TLS transport layer security
  • SSL secure sockets layer
  • the processor 220 drives the software (e.g., the first operating system 233-1 and the second operating system 233-2) stored in the memory 230 to control at least one of the electronic devices 201 connected to the processor 220 (E. G., Hardware or software components), and can perform various data processing and operations.
  • Processor 220 loads and processes commands or data received from other components (e.g., communication module 210) into volatile memory (e.g., 132 of FIG. 1) and processes the resulting data into non-volatile memory Of 134).
  • the processor 220 includes at least one processor, such as a main processor 121 (e.g., a central processing unit or an application processor), and, independently and / May use a lower power, or may include a co-processor (e.g., 123 of FIG. 1) that is specialized for the specified function.
  • a main processor 121 e.g., a central processing unit or an application processor
  • a co-processor e.g., 123 of FIG. 1
  • the memory 230 may store software (e.g., program 140) and associated data for various data processing and operations within the electronic device 201.
  • the instructions may include software and related data.
  • the software and associated data may include a boot loader 231, a kernel 232, an operating system 233, an application framework 234, an application 235 ), A replay protected memory block (RPMB) 236, and user data 237.
  • RPMB replay protected memory block
  • the boot loader 231 can perform the booting operation as the electronic device 201 is powered on. According to various embodiments, the boot loader 231 checks whether or not the first operating system 233-1 and the second operating system 233-2 are modulated through the kernel 232 when the booting operation is performed, 1 operating system 233-1 and the second operating system 233-2 may be loaded and operated by the processor 220, respectively.
  • the kernel 232 may be a system image of the first operating system 233-1 and the second operating system 233-2 using at least one module (e.g., a dm-verify module) image can be checked for modulation.
  • the system image of the first operating system 233-1 may include all the binaries and libraries that constitute the application framework
  • the system image of the second operating system 233-2 may include the security OS All binaries and libraries can be included.
  • the operating system 233 may include a first operating system 233-1 and a second operating system 233-2. According to various embodiments, as the electronic device 201 is powered on, the first operating system 233-1 and the second operating system 233-2 are loaded and the processor 220 loads the first operating system 233-1 Or may operate based on the second operating system 233-2. According to various embodiments, the first operating system 233-1 may be a normal operating system and the second operating system 233-2 may be a secure operating system operating independently of the normal OS. have. According to various embodiments, the first operating system 233-1 operates on the first area 22 in the memory 230 and the second operating system 233-2 operates on the second area 24 ).
  • the first area 22 may be an area accessible by the first operating system 233-1 and the second area 24 may be an area accessible by the second operating system 233-2 .
  • the first area 22 may be a normal area or a non-secure area
  • the second area 24 may be a secure area. processes in the normal or non-secure area are not guaranteed to be safe from the threat of external attackers, whereas the secure area is a trusted execution environment (TEE) separated from the normal area or non-secure area It may be an environment to protect safety from external attacker's threats.
  • TEE trusted execution environment
  • the application framework 234 may include binaries and libraries required to perform functions associated with at least one application that may be executed in the electronic device 201 and may be implemented by a first operating system 233-1 22). ≪ / RTI >
  • the application framework 234 may include a client 234-1 and a daemon 234-2.
  • the client 234-1 receives data via communication with an external electronic device such as an external server (e.g., 108 in FIG. 1) using the communication module 210 based on the first operating system 233-1 And may include binaries and libraries necessary to perform the functions of transferring or transmitting data.
  • the daemon 234-2 transfers the data received from the external server to the application 235 based on the second operating system 233-2 via the kernel 232 and transmits the data provided by the application 235 And a binary and a library required to perform a function of transferring the request to the client 234-1 based on the first operating system 233-1 through the kernel 232.
  • the application 235 may be executed based on the second operating system 233-2 and may be executed on the external device (e.g., the electronic device 102, the electronic device 102, (E.g., server 104, or server 108), or to process data to be sent to an external electronic device.
  • the external device e.g., the electronic device 102, the electronic device 102, (E.g., server 104, or server 108)
  • the RPMB 236 area may be a storage area accessible only by the second operating system 233-2. According to various embodiments, the RPMB 236 area may store a designated key, e.g., a secret key. According to one embodiment, the designated key may be encrypted by the application 235 and stored in the RPMB 236 area. According to various embodiments, the designated key may be shared by the electronic device 201 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108 in FIG. 1). For example, the designated key may be shared by the electronic device 201 by authenticating the server 108 and providing the key assigned to the server 108 upon successful authentication. The external server can use the designated key provided from the electronic device 201. [
  • the user data 237 area may be an area accessible by various processes having access rights among the processes based on the first operating system 233-1 and the second operating system 233-2, Various data related to the user of the mobile terminal 100 may be stored.
  • the processor 220 may receive a request from the server (e.g., server 108 of FIG. 1) via the communication module 210 using the client 234-1 based on the first operating system 233-1 It is possible to receive the authentication information for authenticating the server from the server and to transmit the authentication information received by using the daemon 234-2 to the application 235 executed on the basis of the second operating system 233-2 .
  • the processor 220 can authenticate the external server using the received authentication information through the application 235 executed based on the second operating system 233-2.
  • the processor 220 may provide the designated key to the authenticated server.
  • the processor 220 may encrypt the designated key via the application 236 running on the basis of the second operating system 233-2 and deliver it to the daemon 234-2.
  • the processor 220 uses the client 234-1 to send the encrypted designated key forwarded to the daemon 234-2 from the server (e.g., server 108 of FIG. 1) to the server via the communication module 210 Lt; / RTI >
  • the processor 220 may communicate with an external server (e.g., the server 108 of FIG. 1) via the communication module 210 using the client 234-1 based on the first operating system 233-1, And receives the first data and the validity information generated using the designated key from the second operating system 233-2 and executes the first data and the validity information received using the daemon 234-2 on the basis of the second operating system 233-2 To the application 235.
  • the processor 220 determines the validity of the first data through the application 235 running on the basis of the second operating system 233-2 and updates the data stored in the memory 230 based on the first data, Or update the status of the electronic device 201.
  • the validity information may be a token generated from the external server based on the first data, the designated key, and a random value (e.g., a device nonce) generated in the electronic device.
  • the token may comprise a hash-based message authentication code (HMAC).
  • the first data may include data for updating the display data or the lock status of the electronic device.
  • the processor 220 is operable to communicate with a remote server (e.g., the server 108 of FIG. 1) via the communication module 210 using the client 234-1 based on the first operating system 233-1. And may forward the received second data transfer request to the application 235 running on the basis of the second operating system 233-2 using the daemon 234-2 .
  • the processor 220 may encrypt the requested second data using the designated key through the application 235 executed based on the second operating system 233-2 and transmit the encrypted second data to the daemon 234-2.
  • the processor 220 uses the client 234-1 to transmit the encrypted second data to the daemon 234-2 from the external server (e.g., the server 108 in Fig. 1) via the communication module 210 To the server.
  • a secure OS-based data transmission / reception method in an electronic device includes a first operating system (e.g., first operating system 233 (E. G., Electronic device 102, electronic device < / RTI > 1 of Figure 1) using a communication module (e.g., communication module 190 of Figure 1 or communication module 210 of Figure 2) (104), or the server (108)) and to process the data to be transmitted to the received data or the external electronic device using a designated key based on the second operating system .
  • first operating system e.g., first operating system 233 (E. G., Electronic device 102, electronic device < / RTI > 1 of Figure 1) using a communication module (e.g., communication module 190 of Figure 1 or communication module 210 of Figure 2) (104), or the server (108)) and to process the data to be transmitted to the received data or the external electronic device using a designated key based on the second operating system .
  • a communication module e.g
  • the designated key may be a secret key, and the designated key may be stored in a storage area accessible only by the second operating system.
  • the electronic device may include a relay protected memory block (RPMB), which is a storage area accessible only by the second operating system.
  • RPMB relay protected memory block
  • the method further comprises encrypting and delivering the designated key to the first operating system, wherein the first operating system transmits the encrypted designated key to the external electronic device via the communication module May be further included.
  • the validity information and the first data generated using the designated key are received from the external electronic device using the communication module based on the first operating system, Determine validity of the first data by using the designated key and the validity information, and update data stored on the basis of the first data when the validity is valid or update the state of the electronic device.
  • the validity information may be a token generated from the external electronic device based on the first data, the designated key, and a random value (e.g., device nonce) generated in the electronic device.
  • the first data may include data for updating the display data or the lock status of the electronic device.
  • the electronic device when the second data transmission request is received from the external electronic device using the communication module based on the first operating system, the electronic device transmits the second data transmission request using the designated key It is possible to encrypt and provide the second data.
  • the method further comprises: receiving authentication information for authenticating the external electronic device from the external electronic device using the wireless communication module based on the first operating system; and receiving, based on the second operating system, And authenticating the external electronic device using the received authentication information.
  • FIG. 3 is a flow diagram of operation of an electronic device according to various embodiments.
  • processor 220 e.g., processor 120 of FIG. 1 of electronic device 201 (e.g., electronic device 101 of FIG. 1) (E. G., Electronic device 102, electronic device 104, or server 108 of FIG. 1) using communication module 210 based on the received data have.
  • the processor 220 may process the received data or data to be transmitted to the external server using a designated key, e.g., a secret key, based on the second operating system 233-2 in operation 320 .
  • FIG. 4 is a flow diagram illustrating the operation of transferring a designated key to an external electronic device in an electronic device according to various embodiments.
  • a processor 220 e.g., processor 120 of FIG. 1 of an electronic device 201 (e.g., electronic device 101 of FIG. 1) is coupled to a first operating system 233-1 To authenticate an external electronic device (e.g., electronic device 102, electronic device 104, or server 108 of FIG. 1) (hereinafter "server 108", for example) And can receive authentication information (certificate).
  • the processor 220 may be configured to communicate with the server 108 via the communication module 210 using the client 234-1 of the application framework 234, based on the first operating system 233-1
  • the server 231 can receive the authentication information for authenticating the server 108 and send the received authentication information using the daemon 234-2 to the application 235 running on the basis of the second operating system 233-2, .
  • the processor 220 may authenticate the server 108 using the received authentication information based on the second operating system 233-2 in operation 420. [ According to various embodiments, the processor 220 may authenticate the server 108 using the received authentication information via an application 235 running on the basis of the second operating system 233-2.
  • the processor 220 may encrypt the designated key based on the second operating system 233-2 in operation 430. [ According to various embodiments, the processor 220 encrypts the designated key through the application 235, which is executed based on the second operating system 233-2 in accordance with the authentication success, 234-2.
  • the processor 220 may encrypt a designated key using a hybrid encryption scheme.
  • the hybrid encryption scheme encrypts the actual data, that is, the designated key, with Symmetric encryption (for example, Advanced Encryption Standard (AES) algorithm), and encrypts the key and IV (Initial Vector) used in the symmetric encryption, or asymmetric encryption (e.g., RSA (Rivest shamir adleman)).
  • Symmetric encryption for example, Advanced Encryption Standard (AES) algorithm
  • IV Initial Vector
  • RSA Rastert shamir adleman
  • the key used for symmetric encryption (Session key) and IV may be a randomly generated value for every protocol.
  • the session key and IV are generated, and the designated key can be encrypted .
  • a combination of a designated key, a device nonce generated in the electronic device, and a server nonce in the server 108 may be encrypted using the generated session key and IV. Since the encrypted designated key can be decrypted only by the server, even if the encrypted designated key is exposed in the course of communication, the attacker can not obtain the designated key due to the inability to decrypt, so that the security of the designated key transmitted from the electronic device to the server Can be guaranteed.
  • the processor 220 may send the encrypted designated key to the server 108 based on the first operating system 233-1 in operation 440. [ According to various embodiments, the processor 220 may send the encrypted designated key to the daemon 234-2 based on the first operating system 233-1 via the communication module 210 using the client 234-1 To the server 108.
  • FIG. 5 is a flow diagram illustrating an operation for receiving data from an external electronic device in an electronic device according to various embodiments.
  • a processor 220 e.g., processor 120 of Figure 1 of an electronic device 201 (e.g., electronic device 101 of Figure 1) receives a first operating system 233-1 (E. G., The electronic device 102, the electronic device 104, or the server 108) (hereinafter " the server 108 ", for example) And validity information based on the specified key.
  • the first data may be data requested to be written to the electronic device 201, and the processor 220 may receive the first data and the validity information after receiving a write request (wirte request) from the server 108.
  • the processor 220 receives the first data and the validity information from the server 108 via the communication module 210 using the client 234-1 based on the first operating system 233-1 And can transmit the first data and the validity information received using the daemon 234-2 to the application 235 executed based on the second operating system 233-2.
  • the processor 220 may determine the validity of the received first data using the received validity information based on the second operating system 233-2 in operation 520.
  • the validity information may be a token generated from the external server based on the first data, the designated key, and a random value (nonce) generated in the electronic device.
  • the token may comprise a hash-based message authentication code (HMAC).
  • HMAC hash-based message authentication code
  • the processor 220 determines the HMAC (hash-based message authentication code) using the designated key through the application 235 executed based on the second operating system 233-2, Can be determined.
  • the processor 220 may update data stored in the memory 230 or update the state of the electronic device 201 using the first data if the first data is valid in operation 530. [ According to various embodiments, the processor 220 may update the data stored in the memory 230 using the first data via the application 235 running on the basis of the second operating system 233-2 if the first data is valid Or update the status of the electronic device 201. According to various embodiments, the first data may include data for updating the display data or the lock status of the electronic device.
  • FIG. 6 is a flow diagram illustrating an operation for transferring data to an external electronic device in an electronic device according to various embodiments.
  • the processor 220 (e.g., processor 120 of FIG. 1) of the electronic device 201 (e.g., electronic device 101 of FIG. 1) receives the first operating system 233-1 (E. G., The electronic device 102, the electronic device 104, or the server 108) (hereinafter " the server 108 ", for example) It can receive a transmission request.
  • the second data transfer request may be a read request requesting reading of the data of electronic device 201.
  • the processor 220 may receive from the server (e.g., 108 of FIG. 1) through the communication module 210, using the client 234-1 based on the first operating system 233-1, , And may forward the received second data transfer request to the application 235 running on the basis of the second operating system 233-2 using the daemon 234-2 have.
  • the processor 220 may encrypt and provide the requested second data based on the second operating system 233-2 in the 620 operation. According to various embodiments, the processor 220 may encrypt the requested second data using a designated key via an application 235 running on the basis of the second operating system 233-2. According to various embodiments, the processor 220 may encrypt the second data using a hybrid encryption scheme.
  • the hybrid encryption scheme encrypts real data, i.e., second data, using Symmetric encryption (e.g., Advanced Encryption Standard (AES) algorithm), and enciphers key and IV (Initial Vector) used for symmetric encryption.
  • the session key and the IV used for the symmetric encryption may be randomly generated values for each protocol.
  • the session key and IV are generated, and the second data can be encrypted have.
  • a combination of the second data, the nonce (random value) generated in the electronic device, and the nonce (random value) generated in the server may be encrypted using the generated session key and IV. The attacker can not obtain the second data due to the inability to decrypt even if the encrypted second data is exposed in the communication process and thus the second data transmitted from the electronic device to the server 108 can not be decrypted Can be ensured.
  • the processor 220 may transmit the encrypted second data to the daemon 234-2 based on the first operating system 233-1 through the application 235.
  • the processor 220 may transmit the encrypted second data to the server 108 based on the first operating system 233-1 in operation 630.
  • the processor 220 transmits the encrypted second data, which is transmitted to the daemon 234-2 based on the first operating system 233-1, to the communication module 210 using the client 234-1 Lt; / RTI >
  • FIG. 7 is a diagram illustrating an operation in which an electronic device and a server according to various embodiments share a designated key.
  • the electronic device 701 (e.g., the electronic device 101 of FIG. 1 or the electronic device 201 of FIG. 2) includes a first operating system 701-1 (e.g., (E.g., the first operating system 233-1) and the second operating system 701-2 (e.g., the second operating system 233-2 of FIG. 2).
  • the electronic device 701 may send an initialization request message to the server 702 (e.g., server 108 of FIG. 1) based on the first operating system 701-1 in 712 operation.
  • the initialization request message may include device unique info of the electronic device 701.
  • the device specific information may include an international mobile equipment identity (IMEI) of the electronic device.
  • IMEI international mobile equipment identity
  • the server 702 may determine whether the electronic device 701 is an initial registration target device in operation 714 when the initialization request message is received and may generate a server nonce in the case of the initial registration target device.
  • the server nonce may be a one-time value randomly generated in the server 702.
  • the server 702 may transmit the generated server nonce and the server cert, which is a certificate for authenticating the server, to the electronic device 701 in operation 716.
  • the server 702 may store authentication information indicating that the server 702 can be interlocked with the electronic device 701.
  • the server authentication information may be issued by the ROOT CA (e.g., manufacturer of the electronic device) associated with the electronic device 701 and stored in the server 702.
  • the electronic device 701 can receive the server nonce and the server cert based on the first operating system 701-1 and the received server nonce and the server cert in the operation 718 to the second operating system 701-2 . According to one embodiment, the electronic device 701 may forward the received server nonce and server cert to an application (e.g., 235 of FIG. 2) running on the second operating system 701-2.
  • an application e.g., 235 of FIG. 2
  • the electronic device 701 judges the validity of authentication information (server cert) for authenticating the server based on the second operating system 701-2 in the 720 operation and sends a designated key Can be encrypted.
  • the electronic device 701 encrypts a designated secret key using a hybrid encryption scheme through an application (e.g., 235) running on the basis of the second operating system 701-2 can do.
  • the electronic device 701 generates a device nonce based on the second operating system 701-2, generates a session key and an initial vector for hybrid encryption, (TaMsg) corresponding to the designated key by using the secret key, the server nonce, and the device nonce.
  • the electronic device 701 may forward the encryption message (TaMsg) corresponding to the designated key generated based on the second operating system 701-2 in the 722 operation to the first operating system 701-1. 2) of the first operating system 701-1 using an application (e.g., 235 of FIG. 2) based on the second operating system 701-2. (TaMsg) corresponding to the designated key generated in step (1).
  • the electronic device 701 may forward the encrypted message (TaMsg) corresponding to the designated key based on the first operating system 701-1 to the server 702 via the communication module in operation 724, (TaMsg) corresponding to the key.
  • the server 702 can decrypt the encrypted key (TaMsg) corresponding to the designated key received from the electronic device 701 in the 726 operation to confirm the designated key (secret key), server nonce, and device nonce, If not, the specified key (secret key) can be stored.
  • Server 702 may generate information, e.g., a token, to inform successful reception of the specified secret key in 728 operation.
  • the server 702 substitutes the secret key assigned to the key of the hash-based message authentication code (HMAC) algorithm and substitutes the device nonce for the value to obtain the HMAC value Can be generated.
  • the server 702 may send the generated HMAC value to the electronic device 701 in operation 730.
  • HMAC hash-based message authentication code
  • the electronic device 701 may receive information, such as a token, indicating successful receipt of a designated secret key from the server 702 based on the first operating system 701-1, (Token) to the second operating system 701-2. According to an embodiment, the electronic device 701 transmits the received token to an application (for example, an application program shown in FIG. 2B) based on the second operating system 701-2 based on the first operating system 701-1 235).
  • an application for example, an application program shown in FIG. 2B
  • the electronic device 701 checks the token received from the first operating system 701-1 on the basis of the second operating system 701-2 in operation 734 so that the server 702 successfully transmits the designated key You can confirm that you received it.
  • the electronic device 701 may store the designated secret key in a replay protected memory block (RPMB) (e.g., RPMB 236 in FIG. 2) if there is no more token confirmation result.
  • RPMB replay protected memory block
  • the electronic device 701 may forward the identified device result to the first operating system 701-1 based on the second operating system 701-2 in operation 736 and the electronic device 701 may transmit The device result can be transmitted to the server 702 through the communication module based on the first operating system 701-1. Accordingly, the electronic device 701 and the server 702 can share the designated secret key securely.
  • FIG. 8 is a diagram illustrating operations of an electronic device and a server according to a data write request from a server according to various embodiments.
  • a server 702 (e.g., server 108 of FIG. 1) sends a data write request message at 812 operation to an electronic device 701 (e.g., electronic device 101 of FIG. 1) Or electronic device 201 of FIG. 2).
  • the server 702 may send a message to the electronic device 701 to request the electronic device 701 to write the first data required to update stored data or status, To the device 701.
  • the server 702 generates a server nonce when it needs to update data or status stored in the electronic device 701, and includes a generated server nonce and a server cert, which is an authentication certificate for authenticating the server A write request message to the electronic device 701,
  • the server nonce may be a one-time value randomly generated in the server.
  • the electronic device 701 includes a first operating system 701-1 (e.g., the first operating system 233-1 of FIG. 2) and a second operating system 701-2 2 operating system 233-2) and may operate based on the first operating system 701-1 using a client (e.g., the client 234-1 of FIG. 2) ) Message.
  • a first operating system 701-1 e.g., the first operating system 233-1 of FIG. 2
  • a client e.g., the client 234-1 of FIG. 2
  • the electronic device 701 When receiving a write request message based on the first operating system 701-1, the electronic device 701 transmits the server nonce and the server cert included in the data write request message in operation 814 2 operating system 701-2. For example, the electronic device 701 may deliver a server nonce and a server cert to an application (e.g., 235 of FIG. 2) running on the basis of the second operating system 701-2.
  • an application e.g., 235 of FIG. 2
  • the electronic device 701 determines validity of authentication information (server cert) for authenticating the server 702 based on the second operating system 701-2 in operation 816, generates a device nonce when it is valid, You can encrypt it.
  • the device nonce may be a one-time value randomly generated in the electronic device 701.
  • the electronic device 701 may encrypt the device nonce using a hybrid encryption scheme through an application (e.g., 235) that is run based on the second operating system 701-2.
  • the electronic device 701 generates a device nonce based on the second operating system 701-2, generates a session key and an initial vector for hybrid encryption, , an encryption message (TaMsg) corresponding to the designated key can be generated using the device nonce.
  • aMsg an encryption message
  • the electronic device 701 may transmit the encryption message (TaMsg) corresponding to the device nonce generated based on the second operating system 701-2 to the first operating system 701-1 in the 818 operation.
  • the electronic device 701 may be a client based on the first operating system 701-1 (e.g., an application 235 of FIG. 2) using an application based on the second operating system 701-2 (Client 234-1 in FIG. 2) to the encryption message (TaMsg) corresponding to the device nonce.
  • the electronic device 701 may transmit an encryption message (TaMsg) corresponding to the device nonce to the server 702 via the communication module based on the first operating system 701-1 in operation 820, (TaMsg) corresponding to the nonce.
  • TaMsg an encryption message corresponding to the device nonce
  • the server 702 can confirm the device nonce by decrypting the encrypted message (TaMsg) corresponding to the device nonce received from the electronic device 701 in the 822 operation
  • the server 702 may generate validity information (token) to transmit the validity information (e.g., token or HMAC) and the first data to the electronic device 701 if there is no abnormality in the device nonce check result in operation 824.
  • the validity information may include a token for determining the validity of the first data to be written to the electronic device 701.
  • the server 702 may generate a token based on the first data, a designated key, for example, a secret key, a device nonce.
  • the server 702 substitutes a secret key into a key of an algorithm of a hash-based message authentication code (HMAC), adds the first data (state or data) to the value, And device nonce to generate HMAC.
  • the server 702 may send the validity information (e.g., token or HMAC) and the first data to the electronic device 701.
  • the electronic device 701 may receive validation information (e.g., token or HMAC) and first data from the server 702 based on the first operating system 701-1 in operation 826, Information and the first data to an application (e.g., the application 235 in FIG. 2) that is executed based on the second operating system 701-2.
  • validation information e.g., token or HMAC
  • HMAC token or HMAC
  • the electronic device 701 is able to communicate with a designated key, e. G., A secret key, and a validity < / RTI > key via an application (e.g., application 235 of FIG. 2) running on the basis of the second operating system 701-2, (E.g., memory 230 in FIG. 2) or RPMB (e.g., RPMB 236 in FIG. 2) using the first data if the first data is valid, Update the stored data or update the status of the electronic device 701.
  • the first data may include data for updating the display data or lock status of the electronic device.
  • the electronic device 701 generates information to inform successful update of the stored data or state based on the second operating system 701-2 in operation 830 and to inform the successful update of the stored data or state to the first operating system 701-1.
  • the electronic device 701 may send a device result to the server 701 to inform the successful update of the stored data or status through the communication module based on the first operating system 701-1 in the 832 operation.
  • FIG. 9 is a diagram illustrating operations of an electronic device and a server according to a data read request from a server according to various embodiments.
  • the server 702 (e.g., the server 108 of FIG. 1) sends a data read request message at 912 operation to the electronic device 701 (e.g., the electronic device 101 of FIG. 1) Or electronic device 201 of FIG. 2).
  • the server 702 may send a message to the electronic device 701 to read the stored data or second data needed to confirm the status update from the electronic device 701 To the electronic device 701.
  • the server 702 generates a server nonce in order to check the data or status stored in the electronic device 701, and generates a server nonce and a server cert, which is an authentication information for authenticating the server To the electronic device 701.
  • the electronic device 701 may send a read request message to the electronic device 701,
  • the server nonce may be a one-time value randomly generated in the server.
  • the electronic device 701 includes a first operating system 701-1 (e.g., the second operating system 233-1 of FIG. 2) and a second operating system 701-2 2 operating system 233-2) and may be operated based on the first operating system 701-1 by using a client (e.g., the client 234-1 of FIG. 2) ) Message.
  • a first operating system 701-1 e.g., the second operating system 233-1 of FIG. 2
  • a second operating system 701-2 2 operating system 233-2 e.g., the second operating system 701-2 2 operating system 233-2
  • the electronic device 701 When receiving a read request message based on the first operating system 701-1, the electronic device 701 transmits the server nonce and the server cert included in the data read request message in operation 914 2 operating system 701-2. For example, the electronic device 701 may deliver a server nonce and a server cert to an application (e.g., 235 of FIG. 2) running on the basis of the second operating system 701-2.
  • an application e.g., 235 of FIG. 2
  • the electronic device 701 judges the validity of authentication information (server cert) for authenticating the server 702 based on the second operating system 701-2 in the operation 916, reads the second data requested to be read when valid ,
  • the second data can be encrypted.
  • the electronic device 701 may use a hybrid encryption scheme through an application (e.g., application 235 of FIG. 2) that is run on the basis of a second operating system 701-2, Data can be encrypted.
  • the electronic device 701 generates Session key and IV (initial vector) for hybrid encryption, and then responds to the second data using Session key, IV, server nonce, and second data (state or data) Encrypted message (TaMsg) can be generated.
  • the electronic device 701 may transmit the encryption message (TaMsg) corresponding to the second data generated based on the second operating system 701-2 to the first operating system 701-1 in the 918 operation.
  • the electronic device 701 may be a client based on the first operating system 701-1 (see FIG. 2) using an application based on the second operating system 701-2 (Client 234-1 of the client 234-1) with the encrypted data (TaMsg) corresponding to the second data.
  • the electronic device 701 may transmit an encryption message (TaMsg) corresponding to the second data to the server 702 via the communication module based on the first operating system 701-1 in operation 920, and the server 702 may transmit (TaMsg) corresponding to the second data.
  • TaMsg an encryption message
  • the server 702 may transmit (TaMsg) corresponding to the second data.
  • the server 702 may obtain the second data by decrypting the encrypted message (TaMsg) corresponding to the second data received from the electronic device 701 in the 922 operation. According to various embodiments, the server 702 may verify the status or data of the electronic device 701 via the second data.
  • each of the components described in this document may be composed of one or more components, and the name of the component may be changed according to the type of the electronic device.
  • the electronic device may comprise at least one of the components described herein, some components may be omitted, or may further include additional other components.
  • some of the components of the electronic device according to various embodiments may be combined into one entity, so that the functions of the components before being combined can be performed in the same manner.
  • module may refer to a unit comprising, for example, one or a combination of two or more of hardware, software or firmware.
  • a “ module " may be interchangeably used with terms such as, for example, unit, logic, logical block, component, or circuit.
  • a " module " may be a minimum unit or a portion of an integrally constructed component.
  • a " module " may be a minimum unit or a portion thereof that performs one or more functions. &Quot; Modules " may be implemented either mechanically or electronically.
  • a “module” may be an application-specific integrated circuit (ASIC) chip, field-programmable gate arrays (FPGAs) or programmable-logic devices And may include at least one.
  • ASIC application-specific integrated circuit
  • FPGAs field-programmable gate arrays
  • programmable-logic devices may include at least one.
  • At least a portion of a device (e.g., modules or functions thereof) or a method (e.g., operations) may include, for example, computer-readable storage media in the form of program modules, As shown in FIG.
  • a processor e.g., processor 120
  • the one or more processors may perform a function corresponding to the instruction.
  • the computer readable storage medium may be, for example, memory 130.
  • a computer-readable medium having stored thereon a program for performing the steps of: receiving, at an electronic device, data via communication with an external electronic device using a communication module based on a first operating system; And to process the data to be transmitted to the received data or the external electronic device using the designated key based on the transmitting operation and the second operating system.
  • the computer readable recording medium may be a hard disk, a floppy disk, a magnetic media (e.g., a magnetic tape), an optical media (e.g., a compact disc read only memory (CD-ROM) digital versatile discs, magneto-optical media such as floptical disks, hardware devices such as read only memory (ROM), random access memory (RAM) Etc.
  • the program instructions may also include machine language code such as those produced by a compiler, as well as high-level language code that may be executed by a computer using an interpreter, etc.
  • the above- May be configured to operate as one or more software modules to perform the operations of the embodiment, and vice versa.
  • Modules or program modules may include at least one or more of the elements described above, some of which may be omitted, or may further include additional other elements. Operations performed by modules, program modules, or other components in accordance with various embodiments may be performed in a sequential, parallel, iterative, or heuristic manner. Also, some operations may be performed in a different order, omitted, or other operations may be added.

Abstract

전자 장치와 관련된 다양한 실시예들이 기술된 바, 한 실시예에 따르면, 전자 장치에 있어서, 무선 통신을 수행하는 통신 모듈, 상기 통신 모듈과 전기적으로 연결된 적어도 하나의 프로세서 및 실행 시, 상기 적어도 하나의 프로세서가, 제1 운영체제를 기반으로 상기 통신 모듈을 이용하여 외부 전자 장치와 통신을 통해 데이터를 수신 또는 전송하고, 제2 운영체제를 기반으로 지정된 키를 이용하여 상기 수신된 데이터 또는 상기 외부 전자 장치로 전송할 데이터를 처리하도록 하는 인스트럭션들을 저장하는 메모리를 포함할 수 있다.

Description

전자 장치 및 전자 장치에서 보안 운영체제 기반 데이터 송수신 방법
본 발명의 다양한 실시예들은 전자 장치 및 전자 장치에서 보안 운영체제 기반 데이터 송수신 방법에 관한 것이다.
최근의 정보통신 기술과 반도체 기술 등의 눈부신 발전에 힘입어 각종 전자 장치들의 보급과 이용이 급속도로 증가하고 있다. 특히 최근의 전자 장치들은 휴대하고 다니며 통신할 수 있으며, 어플리케이션을 이용하여 다양한 서비스를 제공할 수 있고, 외부의 전자 장치 또는 외부 서버와 각종 데이터들을 송수신할 수 있다.
전자 장치는 다양한 서비스를 제공할 수 있도록, 적어도 하나의 프로세서(processor)와 운영체제(operating system, OS)를 포함할 수 있으며, 전자 장치의 운영체제는 주요 제조사 및 주요 공급자에 의해 전략적으로 개방되어, 어플리케이션 프로그램 인터페이스(Application Program Interface), 소프트웨어 개발 키트(Software Development Kit), 및 소스파일까지 일반에 공개되고 있다.
그러나 이러한 개방형 운영체제의 이용에 따라 전자 장치의 데이터의 보안성이 취약해지고 있고, 실제로 각종 악성 코드들을 이용하여 전자 장치의 데이터를 훼손하거나 해킹하는 등의 사례가 빈번히 발생하고 있다. 따라서 최근에는 전자 장치의 데이터를 보호하기 위한 각종 방법들이 모색되고 있다.
최근 전자 장치의 연결성이 급속하게 증가함에 따라 전자 장치는 외부 서버 또는 외부의 다른 전자 장치 등의 외부 전자 장치와 데이터 송수신을 통해 상호 운용될 수 있는 반면, 전자 장치와 외부 전자 장치 간의 데이터 송수신 시의 보안에 대해서는 보안 솔루션이 미비한 실정이다.
예를 들면, 전자 장치와 외부 전자 장치 간의 데이터 송수신 시의 보안 솔루션은 통신 채널의 보안과 송수신되는 데이터의 보안이 모두 고려되어야 하는데, 이에 대한 구체적인 보안 솔루션이 제공되고 있지 않다.
본 발명의 다양한 실시예들에 따르면 전자 장치와 외부 전자 장치 간의 데이터 송수신 시 보안 운영체제를 이용하여 전자 장치와 외부 전자 장치 간에 안전하게 데이터를 송수신 할 수 있는 전자 장치 및 방법을 제공할 수 있다.
본 발명의 다양한 실시예들에 따르면 전자 장치와 외부 전자 장치 간의 데이터 송수신 시 제1 운영 체제를 이용하여 전자 장치와 외부 전자 장치 간 보안 통신을 수행하고 제2 운영 체제를 이용하여 전자 장치와 외부 전자 장치 간 송수신되는 데이터를 암호화 처리함으로써 전자 장치와 외부 전자 장치 간에 안전하게 데이터를 송수신 할 수 있는 전자 장치 및 방법을 제공할 수 있다.
본 발명의 다양한 실시예들에 따른 전자 장치는 무선 통신을 수행하는 통신 모듈, 메모리, 상기 통신 모듈 및 메모리와 전기적으로 연결된 적어도 하나의 프로세서를 포함하고, 상기 메모리는 실행 시, 상기 적어도 하나의 프로세서가, 제1 운영체제를 기반으로 상기 통신 모듈을 이용하여 외부 전자 장치와 통신을 통해 데이터를 수신 또는 전송하고, 제2 운영체제를 기반으로 지정된 키를 이용하여 상기 수신된 데이터 또는 상기 외부 전자 장치로 전송할 데이터를 처리하도록 하는 인스트럭션들을 저장할 수 있다.
본 발명의 다양한 실시예들에 따른 전자 장치에서 보안 운영체제 기반 데이터 송수신 방법은 제1 운영체제를 기반으로 통신 모듈을 이용하여 외부 전자 장치와 통신을 통해 데이터를 수신 또는 전송하는 동작 및 제2 운영체제를 기반으로 지정된 키를 이용하여 상기 수신된 데이터 또는 상기 외부 서버로 전송할 데이터를 처리하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 컴퓨터 판독 가능 기록 매체에 있어서, 상기 컴퓨터 판독 가능 기록 매체에 저장된 프로그램은 전자 장치에서, 제1 운영체제를 기반으로 통신 모듈을 이용하여 외부 전자 장치와 통신을 통해 데이터를 수신 또는 전송하는 동작 및 제2 운영체제를 기반으로 지정된 키를 이용하여 상기 수신된 데이터 또는 상기 외부 전자 장치로 전송할 데이터를 처리하도록 하는 동작을 수행할 수 있다.
다양한 실시예들에 따르면 전자 장치와 외부 전자 장치 간의 데이터 송수신 시 제1 운영 체제를 기반으로 전자 장치와 외부 전자 장치 간 통신을 수행하고 제2 운영 체제를 기반으로 전자 장치와 외부 전자 장치 간에 공유된 지정된 키를 이용하여 전자 장치와 외부 전자 장치 간 송수신되는 데이터를 암호화 처리함으로써 전자 장치와 외부 장치 간에 안전하게 데이터를 송수신 할 수 있다.
예를 들면, 전자 장치와 외부 전자 장치 간에 송수신되는 데이터 암호화 시 전자 장치와 외부 전자 장치 간에 공유된 지정된 키를 이용함으로써, 암호화된 데이터는 지정된 키를 통해서만 복호화 할 수 있기 때문에, 통신 과정에서 암호화된 데이터가 노출 노출되더라도 공격자가 복호화 불능으로 인해 따라 전자 장치와 외부 전자 장치 간에 송수신되는 데이터의 보안이 보장될 수 있다.
도 1은 다양한 실시예들에 따른 전자 장치와 외부 전자 장치를 나타낸 도면이다.
도 2는 다양한 실시예들에 따른 전자 장치의 구성도이다.
도 3은 다양한 실시예에 따른 전자 장치의 동작 흐름도이다.
도 4 는 다양한 실시예에 따른 전자 장치에서 외부 전자 장치에 지정된 키를 전송하는 동작을 나타낸 흐름도이다.
도 5 는 다양한 실시예에 따른 전자 장치에서 외부 전자 장치로부터 데이터를 수신하는 동작을 나타낸 흐름도이다.
도 6은 다양한 실시예에 따른 전자 장치에서 외부 전자 장치에 데이터를 전송하는 동작을 나타낸 흐름도이다.
도 7은 다양한 실시예에 따른 전자 장치와 외부 서버가 지정된 키를 공유하는 동작을 나타낸 도면이다.
도 8은 다양한 실시예에 따른 외부 서버로부터 데이터 쓰기 요청에 따른 전자 장치와 서버의 동작을 나타낸 도면이다.
도 9는 다양한 실시예에 따른 외부 서버로부터 데이터 읽기 요청에 따른 전자 장치와 서버의 동작을 나타낸 도면이다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 및 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 예를 들면, 표시 장치(160)(예: 디스플레이)에 임베디드된 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)의 경우와 같이, 일부의 구성요소들이 통합되어 구현될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 구동하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하여 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 운영되고, 추가적으로 또는 대체적으로, 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화된 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 여기서, 보조 프로세서(123)는 메인 프로세서(121)와 별개로 또는 임베디드되어 운영될 수 있다.
이런 경우, 보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 수행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부 구성 요소로서 구현될 수 있다. 메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 저장할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 저장되는 소프트웨어로서, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신하기 위한 장치로서, 예를 들면, 마이크, 마우스, 또는 키보드를 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력하기 위한 장치로서, 예를 들면, 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용되는 스피커와 전화 수신 전용으로 사용되는 리시버를 포함할 수 있다. 일실시예에 따르면, 리시버는 스피커와 일체 또는 별도로 형성될 수 있다.
표시 장치(160)는 전자 장치(101)의 사용자에게 정보를 시각적으로 제공하기 위한 장치로서, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치 회로(touch circuitry) 또는 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 유선 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)(예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 내부의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 외부 전자 장치(예: 전자 장치(102))와 유선 또는 무선으로 연결할 수 있는 지정된 프로토콜을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는 HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102))를 물리적으로 연결시킬 수 있는 커넥터, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈, 이미지 센서, 이미지 시그널 프로세서, 또는 플래시를 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리하기 위한 모듈로서, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구성될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급하기 위한 장치로서, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 유선 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되는, 유선 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함하고, 그 중 해당하는 통신 모듈을 이용하여 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 상술한 여러 종류의 통신 모듈(190)은 하나의 칩으로 구현되거나 또는 각각 별도의 칩으로 구현될 수 있다.
일실시예에 따르면, 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 사용자 정보를 이용하여 통신 네트워크 내에서 전자 장치(101)를 구별 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부로 송신하거나 외부로부터 수신하기 위한 하나 이상의 안테나들을 포함할 수 있다. 일시예에 따르면, 통신 모듈(190)(예: 무선 통신 모듈(192))은 통신 방식에 적합한 안테나를 통하여 신호를 외부 전자 장치로 송신하거나, 외부 전자 장치로부터 수신할 수 있다.
상기 구성요소들 중 일부 구성요소들은 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input/output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되어 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 외부 전자 장치에서 실행될 수 있다. 일실시예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 외부 전자 장치에게 요청할 수 있다. 상기 요청을 수신한 외부 전자 장치는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치 중 적어도 하나를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 명령어를 포함하는 소프트웨어(예: 프로그램(140))로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 전자 장치(101))를 포함할 수 있다. 상기 명령이 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
다양한 실시예에 따르면, 전자 장치(예: 도 1의 전자장치(101))는 외부 전자 장치(예: 도 1의 전자 장치(102), 전자 장치(104), 또는 서버(108))와 무선 통신을 수행하는 통신 모듈(예: 도 1의 통신 모듈(190)), 메모리(예: 도 1의 메모리(130)), 상기 통신 모듈 및 메모리와 전기적으로 연결된 적어도 하나의 프로세서(예: 도 1의 프로세서(120)를 포함하고, 상기 메모리는 실행 시, 상기 적어도 하나의 프로세서가, 제1 운영체제를 기반으로 상기 통신 모듈을 이용하여 상기 전자 장치 서버와 통신을 통해 데이터를 수신 또는 전송하고, 제2 운영체제를 기반으로 지정된 키를 이용하여 상기 수신된 데이터 또는 상기 외부 전자 장치로 전송할 데이터를 처리하도록 하는 인스트럭션들을 저장할 수 있다.
다양한 실시예에 따르면, 상기 지정된 키는 비밀 키(secret key)이며, 상기 메모리는 상기 제2 운영체제에 의해서만 엑세스 가능한 저장 영역에 상기 지정된 키를 저장할 수 있다.
다양한 실시예에 따르면, 상기 메모리는 RPMB(replay protected memory block)를 포함하고, 상기 RPMB에 상기 지정된 키를 저장할 수 있다.
다양한 실시예예 따르면, 상기 메모리는, 실행 시, 상기 적어도 하나의 프로세서가, 상기 제2 운영체제가 상기 지정된 키를 암호화하여 상기 제1 운영 체제에 전달하고, 상기 제1 운영체제가 상기 암호화된 지정된 키를 상기 상기 통신 모듈을 통해 상기 외부 전자 장치로 전송하도록 하는 인스트럭션들을 더 저장할 수 있다.
다양한 실시예에 따르면 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 제1 운영체제를 기반으로 상기 통신 모듈을 이용하여 상기 외부 전자 장치로부터 제1 데이터와 상기 지정된 키를 이용하여 생성된 유효성 정보가 수신되면, 상기 제2 운영체제를 기반으로 상기 유효성 정보를 이용하여 상기 제1 데이터의 유효성을 판단하고, 유효한 경우 상기 제1 데이터를 기반으로 저장된 데이터를 업데이트 하거나 상기 전자 장치의 상태를 업데이트 하도록 할 수 있다.
다양한 실시예에 따르면 상기 제1 데이터와 연관된 유효성 정보는 상기 제1 데이터, 상기 지정된 키, 상기 전자 장치에서 생성된 랜덤값을 기반으로 상기 외부 전자 장치에서에서 생성된 토큰(token)일 수 있다.
다양한 실시예에 따르면 상기 유효성 정보는 HMAC(hash-based message authentication code)를 포함할 수 있다.
다양한 실시예에 따르면 상기 제1 데이터는 상기 전자 장치의 디스플레이 데이터 또는 락(lock) 상태를 업데이트하기 위한 데이터를 포함할 수 있다.
다양한 실시예에 따르면 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 제1 운영체제를 기반으로 상기 통신 모듈을 이용하여 상기 외부 전자 장치로부터 제2 데이터 전송 요청이 수신되면, 상기 제2 운영체제를 기반으로 상기 지정된 키를 이용하여 상기 제2 데이터를 암호화하여 제공하도록 할 수 있다.
다양한 실시예에 따르면 상기 메모리는, 상기 적어도 하나의 프로세서가, 상기 제1 운영체제를 기반으로 상기 무선 통신 모듈을 이용하여 상기 외부 전자 장치로부터 상기 외부 전자 장치를 인증하기 위한 인증 정보를 수신하고, 제2 운영체제를 기반으로 상기 수신된 인증 정보를 이용하여 상기 외부 전자 장치를 인증하도록 하는 인스트럭션들을 더 저장할 수 있다.
도 2는, 다양한 실시예들에 따른 전자 장치(201)(예: 도 1의 전자 장치(101))의 구성도이다. 도 2를 참조하면, 전자 장치(201)는 통신 모듈(210)(예: 도 1의 통신 모듈(190)), 프로세서(220)(예: 도 1의 프로세서(120)), 및 메모리(230)(예: 도 1의 메모리(130))를 포함할 수 있다.
통신 모듈(210)은 전자 장치(201)와 외부 전자 장치(예: 도 1의 전자 장치(102), 전자 장치(104), 또는 서버(108))) 간의 유선 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 다양한 실시예에 따르면 통신 모듈(210)은 전자 장치(201)가, 예를 들어, 외부의 서버(108)와 보안 프로토콜을 기반으로 통신할 수행할 수 있도록 지원할 수 있다. 예를 들면, 보안 프로토콜은 TLS(transport layer security) 프로토콜 또는 SSL(secure sockets layer) 프로토콜일 수 있으며, 이외에 다른 보안 프로토콜도 가능할 수 있다.
프로세서(220)는 메모리(230)에 저장된 소프트웨어(예: 제1 운영체제(233-1) 및 제2 운영체제(233-2))를 구동하여 프로세서(220)에 연결된 전자 장치(201)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 프로세서(220)는 다른 구성요소(예: 통신 모듈(210))로부터 수신된 명령 또는 데이터를 휘발성 메모리(예: 도 1의 132)에 로드하여 처리하고, 결과 데이터를 비휘발성 메모리(예 도 1의 134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(220)는 적어도 하나의 프로세서로서 메인 프로세서(예 도 1의 121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 운영되고, 추가적으로 또는 대체적으로, 메인 프로세서보다 저전력을 사용하거나, 또는 지정된 기능에 특화된 보조 프로세서(예: 도 1의 123) 를 포함할 수 있다.
메모리(230)는 전자 장치(201) 내의 다양한 데이터 처리 및 연산을 위한 소프트웨어(예: 프로그램(140)) 및 관련 데이터를 저장할 수 있다. 다양한 실시예에 따르면 메모리(230)는 실행 시, 프로세서(220)가, 제1 운영체제(233-1)를 기반으로 통신 모듈(210)을 이용하여 외부 전자 장치(예: 외부 서버(예 도 1의 108))와 통신을 통해 데이터를 수신하거나 전송하고, 제2 운영체제(233-2)를 기반으로 지정된 키, 예를 들어 비밀 키(secret key)를 이용하여 상기 수신된 데이터 또는 상기 외부 전자 장치(예: 외부 서버(108))로 전송할 데이터를 처리하도록 하는 인스트럭션들을 저장할 수 있다. 다양한 실시예에 따르면 인스트럭션들은 소프트웨어 및 관련 데이터를 포함할 수 있다.
다양한 실시예에 따르면 소프트웨어 및 관련 데이터는 부트로더(bootloader)(231), 커널(kernal)(232), 운영체제(operating system)(233), 어플리케이션 프레임워크(application framework)(234), 어플리케이션(235), RPMB(replay protected memory block)(236), 사용자 데이터(237)를 포함할 수 있다.
부트로더(231)는 전자 장치(201)의 전원이 온됨에 따라 부팅 동작을 수행할 수 있다. 다양한 실시예에 따르면 부트로더(231)는 부팅 동작 수행 시 커널(232)을 통해 제1 운영체제(233-1)와 제2 운영체제(233-2)의 변조 여부를 각각 체크하고, 이상없는 경우 제1 운영체제(233-1)와 제2 운영체제(233-2)가 각각 프로세서(220)에 의해 로딩되어 동작되도록 할 수 있다.
커널(232)은 일실시예에 따라 적어도 하나의 모듈(예를 들면, dm-verify 모듈)을 이용하여 제1 운영체제(233-1)와 제2 운영체제(233-2) 각각의 시스템 이미지(system image)에 대한 변조 여부를 체크할 수 있다. 일 실시예에 따르면 제1 운영체제(233-1)의 시스템 이미지는 어플리케이션 프레임워크를 구성하는 모든 바이너리 및 라이브러리를 포함할 수 있고, 제2 운영체제(233-2)의 시스템 이미지는 보안 OS를 구성하는 모든 바이너리 및 라이브러리를 포함할 수 있다.
운영체제(operating system)(233)는 제1 운영체제(233-1) 및 제2 운영체제(233-2)를 포함할 수 있다. 다양한 실시예에 따르면 전자 장치(201)의 전원이 온됨에 따라 제1 운영체제(233-1)와 제2 운영체제(233-2)가 로딩되고 프로세서(220)는 제1 운영체제(233-1)를 기반으로 동작하거나 제2 운영체제(233-2)를 기반으로 동작할 수 있다. 다양한 실시예에 따르면 제1 운영체제(233-1)는 일반 OS(normal operatig system)일 수 있고, 제2 운영체제(233-2)는 일반 OS와 독립적으로 동작하는 보안 OS(secure operating system)일 수 있다. 다양한 실시예에 따르면 제1 운영체제(233-1)는 메모리(230) 내의 제1 영역(22)을 기반으로 동작하고, 제2 운영체제(233-2)는 메모리(230) 내의 제2 영역(24)을 기반으로 동작할 수 있다. 일 실시예에 따르면 제1 영역(22)은 제1 운영체제(233-1)에 의해 엑세스 가능한 영역이고, 제2 영역(24)는 제2 운영체제(233-2)에 의해 엑세스 가능한 영역일 수 있다. 예를 들면, 제1 영역(22)은 normal 영역 또는 non-secure 영역일 수 있고, 제2 영역(24)은 secure 영역일 수 있다. normal 영역 또는 non-secure 영역의 프로세스들은 외부 공격자의 위협으로부터 안전을 보장받지 못하는 환경인 반면, secure 영역은 normal 영역 또는 non-secure 영역과는 구분된 독립적인 프로세싱 환경(TEE: trusted execution environment)으로서 외부 공격자의 위협으로부터 안전을 보호하기 위한 환경일 수 있다.
어플리케이션 프레임워크(234)는 전자 장치(201)에서 실행될 수 있는 적어도 하나 이상의 어플리케이션과 연관된 기능을 수행하는데 필요한 바이너리 및 라이브러리를 포함할 수 있으며, 제1 운영체제(233-1)에 의해 제1 영역(22)을 기반으로 엑세스될 수 있다.
다양한 실시예에 따르면 어플리케이션 프레임워크(234)는 클라이언트(234-1)와 데몬(234-2)을 포함할 수 있다. 클라이언트(234-1)는 제1 운영체제(233-1)를 기반으로 통신 모듈(210)을 이용하여 외부 전자 장치(예: 외부 서버(예: 도 1의 108))와 통신을 통해 데이터를 수신하거나 전송하는 기능을 수행하는데 필요한 바이너리 및 라이브러리를 포함할 수 있다. 데몬(234-2)은 외부의 서버로부터 수신된 데이터를 커널(232)를 통해 제2 운영체제(233-2)를 기반의 어플리케이션(235)에 전달하고, 어플리케이션(235)에 의해 제공되는 데이터를 커널(232)을 통해 제1 운영체제(233-1) 기반의 클라이언트(234-1)에 전달하는 기능을 수행하는데 필요한 바이너리 및 라이브러리를 포함할 수 있다.
어플리케이션(235)은 제2 운영체제(233-2)를 기반으로 실행될 수 있으며 지정된 키 예를 들면 비밀 키(secret key)를 이용하여 외부 전자 장치(예: 도 1의 전자장치(102), 전자 장치(104), 또는 서버(108)))로부터 수신된 데이터를 처리하거나, 외부 전자 장치로 전송할 데이터를 처리할 수 있는 어플리케이션일 수 있다.
RPMB(236) 영역은 제2 운영체제(233-2)에 의해서만 엑세스 가능한 저장 영역일 수 있다. 다양한 실시예에 따르면 RPMB(236) 영역은 지정된 키 예를 들면, 비밀 키(secret key)를 저장할 수 있다. 일 실시예에 따르면 지정된 키는 어플리케이션(235)에 의해 암호화되어 RPMB(236) 영역에 저장될 수 있다. 다양한 실시예에 따르면 지정된 키는 전자 장치(201)와 외부 전자 장치(예: 도 1의 전자장치(102), 전자 장치(104), 또는 서버(108)))에 의해 공유될 수 있다. 예를 들면, 지정된 키는 전자 장치(201)가 서버(108)를 인증하고, 인증 성공 시 서버(108)에 지정된 키를 제공함으로서 공유될 수 있다. 외부 서버는 전자 장치(201)로부터 제공된 지정된 키를 이용할 수 있다.
사용자 데이터(237) 영역은 제1 운영체제(233-1) 및 제2 운영체제(233-2) 기반의 프로세스들 중 접근 권한이 있는 다양한 프로세스들에 의해 액세스 가능한 영역일 수 있으며, 전자 장치(201)의 사용자와 관련된 다양한 데이터가 저장될 수 있다.
다양한 실시예에 따르면 프로세서(220)는 제1 운영체제(233-1)를 기반으로 클라이언트(234-1)를 이용하여 통신 모듈(210)을 통해 서버(예: 도 1의 서버(108))로부터 서버로부터 서버를 인증하기 위한 인증 정보(certificate)를 수신할 수 있고, 데몬(234-2)을 이용하여 수신된 인증 정보를 제2 운영체제(233-2)를 기반으로 실행되는 어플리케이션(235)에 전달할 수 있다. 프로세서(220)는 제2 운영체제(233-2)를 기반으로 실행되는 어플리케이션(235)을 통해 상기 수신된 인증 정보를 이용하여 외부 서버를 인증할 수 있다. 다양한 실시예에 따르면 프로세서(220)는 인증된 서버에 지정된 키를 제공할 수 있다.
다양한 실시예예 따르면, 프로세서(220)는 제2 운영체제(233-2)를 기반으로 실행되는 어플리케이션(236)을 통해 지정된 키를 암호화하여 데몬(234-2)에 전달할 수 있다. 프로세서(220)는 클라이언트(234-1)를 이용하여 데몬(234-2)에 전달된 암호화된 지정된 키를 통신 모듈(210)을 통해 서버(예: 도 1의 서버(108))로부터 서버로 전송할 수 있다.
다양한 실시예에 따르면 프로세서(220)는 제1 운영체제(233-1)를 기반으로 클라이언트(234-1)를 이용하여 통신 모듈(210)을 통해 외부 서버(예: 도 1의 서버(108))로부터 제1 데이터와 지정된 키를 이용하여 생성된 유효성 정보을 수신할 수 있고, 데몬(234-2)을 이용하여 수신된 제1 데이터와 유효성 정보를 제2 운영체제(233-2)를 기반으로 실행되는 어플리케이션(235)에 전달할 수 있다. 프로세서(220)는 제2 운영체제(233-2)를 기반으로 실행되는 어플리케이션(235)을 통해 제1 데이터의 유효성을 판단하고, 유효한 경우 제1 데이터를 기반으로 메모리(230)에 저장된 데이터를 업데이트 하거나 전자 장치(201)의 상태를 업데이트할 수 있다. 다양한 실시예에 따르면 유효성 정보는 제1 데이터, 지정된 키, 전자 장치에서 생성된 랜덤값(예: device nonce)를 기반으로 상기 외부 서버에서 생성된 토큰(token)일 수 있다. 다양한 실시예에 따르면 토큰은 HMAC(hash-based message authentication code)를 포함할 수 있다. 다양한 실시예에 따르면 제1 데이터는 상기 전자 장치의 디스플레이 데이터 또는 락 상태를 업데이트하기 위한 데이터를 포함할 수 있다.
다양한 실시예에 따르면 프로세서(220)는 제1 운영체제(233-1)를 기반으로 클라이언트(234-1)를 이용하여 통신 모듈(210)을 통해 외보 서버(예: 도 1의 서버(108))로부터 서버로부터 제2 데이터 전송 요청을 수신할 수 있고, 데몬(234-2)을 이용하여 수신된 제2 데이터 전송 요청을 제2 운영체제(233-2)를 기반으로 실행되는 어플리케이션(235)에 전달할 수 있다. 프로세서(220)는 제2 운영체제(233-2)를 기반으로 실행되는 어플리케이션(235)을 통해 지정된 키를 이용하여 상기 요청된 제2 데이터를 암호화하여 데몬(234-2)에 전달할 수 있다. 프로세서(220)는 클라이언트(234-1)를 이용하여 데몬(234-2)에 전달된 암호화된 제2 데이터를 통신 모듈(210)을 통해 외부 서버(예: 도 1의 서버(108))로부터 서버로 전송할 수 있다.
다양한 실시예에 따르면 전자 장치(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(201))에서 보안 운영체제 기반 데이터 송수신 방법은 제1 운영체제(예: 도 2의 제1 운영체제(233-1))를 기반으로 통신 모듈(예: 도 1의 통신 모듈(190) 또는 도 2의 통신 모듈(210))을 이용하여 외부 전자 장치(예: 도 1의 전자 장치(102), 전자 장치(104), 또는 서버(108)) 와 통신을 통해 데이터를 수신 또는 전송하는 동작 및 제2 운영체제를 기반으로 지정된 키를 이용하여 상기 수신된 데이터 또는 상기 외부 전자 장치로 전송할 데이터를 처리하도록 하는 동작을 포함할 수 있다.
다양한 실시예에 따르면 상기 지정된 키는 비밀 키(secret key)일 수 있으며, 상기 지정된 키는 상기 제2 운영체제에 의해서만 엑세스 가능한 저장 영역에 저장될 수 있다.
다양한 실시예에 따르면 상기 전자 장치는 상기 제2 운영체제에 의해서만 엑세스 가능한 저장 영역인 RPMB(relay protected memory block)를 포함할 수 있다.
다양한 실시예에 따르면 상기 방법은 상기 제2 운영체제가 상기 지정된 키를 암호화하여 상기 제1 운영 체제에 전달하고, 상기 제1 운영체제가 상기 암호화된 지정된 키를 상기 통신 모듈을 통해 상기 외부 전자 장치로 전송하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면 상기 방법에서는 제1 운영체제를 기반으로 상기 통신 모듈을 이용하여 상기 외부 전자 장치로부터 지정된 키를 이용하여 생성된 유효성 정보와 제1 데이터가 수신되면, 상기 제2 운영체제를 기반으로 상기 지정된 키와 상기 유효성 정보를 이용하여 상기 제1 데이터의 유효성을 판단하고, 유효한 경우 상기 제1 데이터를 기반으로 저장된 데이터를 업데이트 하거나 상기 전자 장치의 상태를 업데이트할 수 있다.
다양한 실시예에 따르면 상기 유효성 정보는 상기 제1 데이터, 상기 지정된 키, 상기 전자 장치에서 생성된 랜덤값(예: device nonce)를 기반으로 상기 외부 전자 장치에서 생성된 토큰(token)일 수 있다.
다양한 실시예에 따르면 상기 제1 데이터는 상기 전자 장치의 디스플레이 데이터 또는 락(lock) 상태를 업데이트하기 위한 데이터를 포함할 수 있다.
다양한 실시예에 따르면 상기 전자 장치는 상기 제1 운영체제를 기반으로 상기 통신 모듈을 이용하여 상기 외부 전자 장치로부터 제2 데이터 전송 요청이 수신되면, 상기 제2 운영체제를 기반으로 상기 지정된 키를 이용하여 상기 제2 데이터를 암호화하여 제공할 수 있다.
다양한 실시예에 따르면 상기 방법은 상기 제1 운영체제를 기반으로 상기 무선 통신 모듈을 이용하여 상기 외부 전자 장치로부터 상기 외부 전자 장치를 인증하기 위한 인증 정보를 수신하는 동작 및 상기 제2 운영체제를 기반으로 상기 수신된 인증 정보를 이용하여 상기 외부 전자 장치를 인증하는 동작을 더 포함할 수 있다.
도 3은 다양한 실시예에 따른 전자 장치의 동작 흐름도이다.
도 3을 참조하면, 전자 장치(201)(예: 도 1의 전자 장치(101))의 프로세서(220)(예: 도 1의 프로세서(120))는 310 동작에서 제1 운영체제(233-1)를 기반으로 통신 모듈(210)을 이용하여 외부 전자 장치(예: 도 1의 전자장치(102), 전자 장치(104), 또는 서버(108)))와 통신을 통해 데이터를 수신하거나 전송할 수 있다. 프로세서(220)는 320 동작에서 제2 운영체제(233-2)를 기반으로 지정된 키 예를 들면, 비밀 키(secret key)를 이용하여 상기 수신된 데이터 또는 상기 외부 서버로 전송할 데이터를 처리할 수 있다.
도 4 는 다양한 실시예에 따른 전자 장치에서 외부 전자 장치에 지정된 키를 전송하는 동작을 나타낸 흐름도이다.
도 4를 참조하면, 전자 장치(201)(예: 도 1의 전자 장치(101))의 프로세서(220)(예: 도 1의 프로세서(120))는 410 동작에서 제1 운영체제(233-1)를 기반으로 외부 전자 장치(예: 도 1의 전자 장치(102), 전자 장치(104), 또는 서버(108))(이하 '서버(108)'를 예를 들어 설명함) 를 인증하기 위한 인증 정보(certificate)를 수신할 수 있다. 다양한 실시예에 따르면, 프로세서(220)는 제1 운영체제(233-1)를 기반으로 어플리케이션 프레임워크(234)의 클라이언트(234-1)를 이용하여 통신 모듈(210)을 통해 서버(108)로부터 서버(108)를 인증하기 위한 인증 정보(certificate)를 수신할 수 있고, 데몬(234-2)을 이용하여 수신된 인증 정보를 제2 운영체제(233-2)를 기반으로 실행되는 어플리케이션(235)에 전달할 수 있다.
프로세서(220)는 420 동작에서 제2 운영체제(233-2)를 기반으로 상기 수신된 인증 정보를 이용하여 서버(108)를 인증할 수 있다. 다양한 실시예에 따르면 프로세서(220)는 제2 운영체제(233-2)를 기반으로 실행되는 어플리케이션(235)을 통해 상기 수신된 인증 정보를 이용하여 서버(108)를 인증할 수 있다.
프로세서(220)는 430 동작에서 제2 운영체제(233-2)를 기반으로 지정된 키를 암호화할 수 있다. 다양한 실시예예 따르면, 프로세서(220)는 인증 성공에 따라 제2 운영체제(233-2)를 기반으로 실행되는 어플리케이션(235)을 통해 지정된 키를 암호화하여 제1 운영체제(233-1) 기반의 데몬(234-2)에 전달할 수 있다.
다양한 실시예에 따르면 프로세서(220)는 하이브리드 암호화(hybrid encryption) 방식을 이용하여 지정된 키를 암호화할 수 있다. 하이브리드 암호화 방식은 시메트릭(Symmetric) 암호화(예를 들면, AES(advanced encryption standard) 알고리즘)으로 실제 데이터 즉, 지정된 키를 암호화 하고, 시메트릭 암호화에 사용되는 key와 IV(Initial Vector)를 어시메트릭(asymmetric) 암호화(예를 들면, RSA(rivest shamir adleman))로 암호화하는 방식일 수 있다. 다시 말해, 시메트릭 암호화에 사용하는 키(Session key)와 IV는 매 프로토콜마다 랜덤(Random)하게 생성되는 값일 수 있으며, 결과적으로 Session key와 IV를 생성하고, 이를 이용해 지정된 키가 암호화될 수 있다. 일 실시예에 따르면 생성된 Session key와 IV를 이용하여 지정된 키, 전자 장치에서 생성된 device nonce, 서버(108)에서 server nonce의 조합이 암호화될 수도 있다. 암호화된 지정된 키는 서버에서만 복호화 할 수 있기 때문에, 통신 과정에서 암호화된 지정된 키가 노출되더라도 공격자가 복호화 불능으로 인해 지정된 키를 획득할 수 없으며, 이에 따라 전자 장치에서 서버로 전송하는 지정된 키의 보안이 보장될 수 있다.
프로세서(220)는 440 동작에서 제1 운영체제(233-1)를 기반으로 상기 암호화된 지정된 키를 서버(108)로 전송할 수 있다. 다양한 실시예에 따르면 프로세서(220)는 제1 운영체제(233-1) 기반의 데몬(234-2)에 전달된 암호화된 지정된 키를 클라이언트(234-1)을 이용하여 통신 모듈(210)을 통해 서버(108)로 전송할 수 있다.
도 5 는 다양한 실시예에 따른 전자 장치에서 외부 전자 장치로부터 데이터를 수신하는 동작을 나타낸 흐름도이다.
도 5를 참조하면, 전자 장치(201)(예: 도 1의 전자 장치(101))의 프로세서(220)(예: 도 1의 프로세서(120))는 510 동작에서 제1 운영체제(233-1)를 기반으로 외부 전자 장치(예: 도 1의 전자장치(102), 전자 장치(104), 또는 서버(108))(이하 '서버(108)'를 예를 들어 설명함)로부터 제1 데이터와 지정된 키 기반의 유효성 정보를 수신할 수 있다. 예를 들면, 제1 데이터는 전자 장치(201)에 쓰기 요청되는 데이터로서 프로세서(220)는 서버(108)로부터 쓰기 요청(wirte request)을 수신 후 제1 데이터와 유효성 정보를 수신할 수 있다. 다양한 실시예에 따르면 프로세서(220)는 제1 운영체제(233-1)를 기반으로 클라이언트(234-1)를 이용하여 통신 모듈(210)을 통해 서버(108)로부터 제1 데이터와 유효성 정보을 수신할 수 있고, 데몬(234-2)을 이용하여 수신된 제1 데이터와 유효성 정보를 제2 운영체제(233-2)를 기반으로 실행되는 어플리케이션(235)에 전달할 수 있다.
프로세서(220)는 520 동작에서 제2 운영체제(233-2)를 기반으로 상기 수신된 유효성 정보를 이용하여 상기 수신된 제1 데이터의 유효성을 판단할 수 있다. 다양한 실시예에 따르면 유효성 정보는 제1 데이터, 지정된 키, 전자 장치에서 생성된 랜덤값(nonce)을 기반으로 상기 외부 서버에서 생성된 토큰일 수 있다. 다양한 실시예에 따르면 토큰은 HMAC(hash-based message authentication code)를 포함할 수 있다. 다양한 실시예에 따르면 프로세서(220)는 제2 운영체제(233-2)를 기반으로 실행되는 어플리케이션(235)을 통해 지정된 키를 이용하여 상기 HMAC(hash-based message authentication code)를 판단하여 제1 데이터의 유효성을 판단할 수 있다.
프로세서(220)는 530 동작에서 제1 데이터가 유효한 경우 제1 데이터를 이용하여 메모리(230)에 저장된 데이터를 업데이트 하거나 전자 장치(201)의 상태를 업데이트할 수 있다. 다양한 실시예에 따르면 프로세서(220)는 제1 데이터가 유효한 경우 제2 운영체제(233-2)를 기반으로 실행되는 어플리케이션(235)을 통해 제1 데이터를 이용하여 메모리(230)에 저장된 데이터를 업데이트 하거나 전자 장치(201)의 상태를 업데이트할 수 있다. 다양한 실시예에 따르면 제1 데이터는 상기 전자 장치의 디스플레이 데이터 또는 락 상태를 업데이트하기 위한 데이터를 포함할 수 있다.
도 6은 다양한 실시예에 따른 전자 장치에서 외부 전자 장치에 데이터를 전송하는 동작을 나타낸 흐름도이다.
도 6을 참조하면, 전자 장치(201)(예: 도 1의 전자 장치(101))의 프로세서(220)(예: 도 1의 프로세서(120))는 610 동작에서 제1 운영체제(233-1)를 기반으로 외부 전자 장치(예: 도 1의 전자장치(102), 전자 장치(104), 또는 서버(108))(이하 '서버(108)'를 예를 들어 설명함) 로부터 제2 데이터 전송 요청을 수신할 수 있다. 예를 들면, 제2 데이터 전송 요청은 전자 장치(201)의 데이터를 읽기를 요청하는 읽기 요청(read request)일 수 있다. 다양한 실시예에 따르면 프로세서(220)는 제1 운영체제(233-1)를 기반으로 클라이언트(234-1)를 이용하여 통신 모듈(210)을 통해 서버(예: 도 1의 108)로부터 서버(108)로부터 제2 데이터 전송 요청을 수신할 수 있고, 데몬(234-2)을 이용하여 수신된 제2 데이터 전송 요청을 제2 운영체제(233-2)를 기반으로 실행되는 어플리케이션(235)에 전달할 수 있다.
프로세서(220)는 620 동작에서 제2 운영체제(233-2)를 기반으로 상기 요청된 제2 데이터를 암호화하여 제공할 수 있다. 다양한 실시예에 따르면 프로세서(220)는 제2 운영체제(233-2)를 기반으로 실행되는 어플리케이션(235)을 통해 지정된 키를 이용하여 상기 요청된 제2 데이터를 암호화할 수 있다. 다양한 실시예에 따르면 프로세서(220)는 하이브리드 암호화(hybrid encryption) 방식을 이용하여 제2 데이터를 암호화할 수 있다. 하이브리드 암호화 방식은 시메트릭(Symmetric) 암호화(예를 들면, AES(advanced encryption standard) 알고리즘)으로 실제 데이터 즉, 제2 데이터를 암호화 하고, 시메트릭 암호화에 사용되는 key와 IV(Initial Vector)를 어시메트릭(asymmetric) 암호화(예를 들면, RSA(rivest shamir adleman))로 암호화하는 방식일 수 있다. 다시 말해, 시메트릭 암호화에 사용하는 키(Session key)와 IV는 매 프로토콜마다 랜덤(Random)하게 생성되는 값일 수 있으며, 결과적으로 Session key와 IV를 생성하고, 이를 이용해 제2 데이터가 암호화될 수 있다. 일 실시예에 따르면 생성된 Session key와 IV를 이용하여 제2 데이터, 전자 장치에서 생성된 nonce(랜덤 값), 서버에서 생성된 nonce(랜덤 값)의 조합이 암호화될 수도 있다 암호화된 제2 데이터는 서버에서만 복호화 할 수 있기 때문에, 통신 과정에서 암호화된 제2 데이터가 노출되더라도 공격자가 복호화 불능으로 인해 제2 데이터를 획득할 수 없으며, 이에 따라 전자 장치에서 서버(108)로 전송하는 제2 데이터의 보안이 보장될 수 있다.
다양한 실시예에 따르면 프로세서(220)는 상기 암호화된 제2 데이터는, 어플리케이션(235)을 통해 제1 운영체제(233-1)를 기반으로 데몬(234-2)에 전달될 수 있다.
프로세서(220)는 630 동작에서 제1 운영체제(233-1)를 기반으로 상기 암호화된 제2 데이터를 서버(108)로 전송할 수 있다. 다양한 실시예에 따르면 프로세서(220)는 제1 운영체제(233-1) 기반의 데몬(234-2)에 전달된 암호화된 제2 데이터를 클라이언트(234-1)을 이용하여 통신 모듈(210)을 통해 서버(108)로 전송할 수 있다.
도 7은 다양한 실시예에 따른 전자 장치와 서버가 지정된 키를 공유하는 동작을 나타낸 도면이다.
도 7을 참조하면, 전자 장치(701)(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(201))는 제1 운영체제(701-1)(예: 도 2의 제1 운영체제(233-1)) 및 제2 운영체제(701-2)(예: 도 2의 제2 운영체제(233-2))를 기반으로 동작할 수 있다. 전자 장치(701)는 712 동작에서 제1 운영체제(701-1)를 기반으로 초기 등록 요청(initialization request) 메시지를 서버(702)(예: 도 1의 서버(108))로 전송할 수 있다. 일실시예에 따르면 초기 등록 요청(initialization request) 메시지는 전자 장치(701)의 장치 고유 정보(device unique info)를 포함할 수 있다. 예를 들면 장치 고유 정보는 전자 장치의 IMEI(international mobile equipment identity)를 포함할 수 있다.
서버(702)는 초기 등록 요청(initialization request) 메시지가 수신되면 714 동작에서 전자 장치(701)가 초기 등록 대상 장치인지 여부를 판단하고, 초기 등록 대상 장치인 경우 server nonce를 생성할 수 있다. 일실시예에 따르면 server nonce는 서버(702)에서 랜덤하게 생성되는 1회성 값일 수 있다.
서버(702)는 716 동작에서 상기 생성된 server nonce와 서버를 인증하기 위한 인증 정보(certificate)인 server cert를 전자 장치(701)로 전송할 수 있다. 다양한 실시예에 따르면 서버(702)는 상기 전자 장치(701)와 연동 가능한 서버임을 나타내는 인증 정보를 저장할 수 있다. 일실시예에 따르면 상기 서버 인증 정보는 상기 전자 장치(701)와 연관된 ROOT CA(예: 전자 장치의 제조사)에 의해 발행되어 상기 서버(702)에 저장될 수 있다.
전자 장치(701)는 제1 운영체제(701-1)를 기반으로 server nonce와 server cert를 수신할 수 있고, 718 동작에서 상기 수신된 server nonce와 server cert를 제2 운영체제(701-2)로 전달할 수 있다. 일실시예에 따르면 전자 장치(701)는 상기 수신된 server nonce와 server cert를 제2 운영체제(701-2)를 기반으로 실행되는 어플리케이션(예: 도 2의 235)에 전달할 수 있다.
전자 장치(701)는 720 동작에서 제2 운영체제(701-2)를 기반으로 서버를 인증하기 위한 인증 정보(server cert)의 유효성을 판단하여 유효한 경우 서버(702)와 공유할 지정된 키(secret key)를 암호화할 수 있다. 다양한 실시예에 따르면 전자 장치(701)는 제2 운영체제(701-2)를 기반으로 실행되는 어플리케이션(예: 235)을 통해 하이브리드 암호화(hybrid encryption) 방식을 이용하여 지정된 키(secret key)를 암호화할 수 있다. 예를 들면 전자 장치(701)는 제2 운영체제(701-2)를 기반으로 device nonce를 생성하고, 하이브리드 암호화를 위한 Session key 및 IV(initial vector)를 생성한 후, Session key 및 IV와 지정된 키(secret key)와 server nonce, device nonce를 이용하여 지정된 키에 대응된 암호화 메시지(TaMsg)를 생성할 수 있다.
전자 장치(701)는 722 동작에서 제2 운영체제(701-2)를 기반으로 생성된 지정된 키에 대응된 암호화 메시지(TaMsg)를 제1 운영체제(701-1)에 전달할 수 있다. 예를 들면, 전자 장치(701)는 제2 운영체제(701-2)를 기반의 어플리케이션(예: 도 2의 235)을 이용하여 제1 운영체제(701-1) 기반의 클라이언트(도 2의 234-1)에 생성된 지정된 키에 대응된 암호화 메시지(TaMsg)를 전달할 수 있다.
전자 장치(701)는 724 동작에서 제1 운영체제(701-1)를 기반으로 지정된 키에 대응된 암호화 메시지(TaMsg)를 통신 모듈을 통해 서버(702)에 전달할 수 있고, 서버(702)는 지정된 키에 대응된 암호화 메시지(TaMsg)를 수신할 수 있다.
서버(702)는 726 동작에서 전자 장치(701)로부터 수신된 지정된 키에 대응된 암호화 메시지(TaMsg)를 복호화하여 지정된 키(secret key)와 server nonce, device nonce를 확인할 수 있고, 확인 결과 이상이 없으면 지정된 키(secret key)를 저장할 수 있다.
서버(702)는 728 동작에서 지정된 키(secret key)의 성공적인 수신을 알리기 위한 정보 예컨대 토큰(token)을 생성할 수 있다. 다양한 실시예에 따르면 서버(702)는 HMAC(hash-based message authentication code)의 알고리즘의 키(key)에 지정된 키(secret key)를 대입하고, 값(value)에 device nonce를 대입하여 HMAC 값을 생성할 수 있다. 서버(702)는 730 동작에서 상기 생성된 HMAC 값을 전자 장치(701)로 전송할 수 있다.
전자 장치(701)는 제1 운영체제(701-1)를 기반으로 서버(702)로부터 지정된 키(secret key)의 성공적인 수신을 알리는 정보 예컨대 토큰(token)을 수신할 수 있고, 732 동작에서 상기 수신된 토큰(token)을 제2 운영체제(701-2)로 전달할 수 있다. 일실시예에 따르면 전자 장치(701)는 제1 운영체제(701-1)를 기반으로 상기 수신된 토큰(token)을 제2 운영체제(701-2)를 기반으로 실행되는 어플리케이션(예: 도 2의 235)에 전달할 수 있다.
전자 장치(701)는 734 동작에서 제2 운영체제(701-2)를 기반으로 상기 제1 운영체제(701-1)로부터 전달받은 토큰을 확인함으로써 서버(702)가 지정된 키(secret key)를 성공적으로 수신했음을 확인할 수 있다. 전자 장치(701)는 토큰 확인 결과 이상이 없으면 지정된 키(secret key)를 RPMB(replay protected memory block)(예: 도 2의 RPMB(236))에 저장할 수 있다.
전자 장치(701)는 736 동작에서 제2 운영체제(701-2)를 기반으로 확인된 결과(device result)를 제1 운영체제(701-1)로 전달할 수 있고, 전자 장치(701)는 738 동작에서 제1 운영체제(701-1)를 기반으로 상기 확인된 결과(device result)를 통신 모듈을 통해 서버(702)로 전송할 수 있다. 이에 따라 전자 장치(701)와 서버(702)는 동일하 지정된 키(secret key)를 안전하게 공유할 수 있게 된다.
도 8은 다양한 실시예에 따른 서버로부터 데이터 쓰기 요청에 따른 전자 장치와 서버의 동작을 나타낸 도면이다.
도 8을 참조하면, 서버(702)(예: 도 1의 서버(108))는 812 동작에서 데이터 쓰기 요청 (write request) 메시지를 전자 장치(701)(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(201))에 전송할 수 있다. 다양한 실시예에 따르면 서버(702)는 전자 장치(701)에 저장된 데이터 또는 상태를 업데이트 해야하는 경우 저장된 데이터 또는 상태를 업데이트 하는데 필요한 제1 데이터를 전자 장치(701)에 쓰도록 요청하기 위한 메시지를 전자 장치(701)에 전송할 수 있다. 일실시예에 따르면 서버(702)는 전자 장치(701)에 저장된 데이터 또는 상태를 업데이트 해야하는 경우 server nonce를 생성하고, 생성된 server nonce와 서버를 인증하기 위한 인증 정보(certificate)인 server cert를 포함하는 데이터 쓰기 요청 (write request) 메시지를 전자 장치(701)로 전송할 수 있다. 일실시예에 따르면 server nonce는 서버에서 랜덤하게 생성되는 1회성 값일 수 있다.
다양한 실시예에 따르면 전자 장치(701)는 제1 운영체제(701-1)(예: 도 2의 제1 운영체제(233-1)) 및 제2 운영체제(701-2)(예: 도 2의 제2 운영체제(233-2))를 기반으로 동작할 수 있으며, 제1 운영체제(701-1)를 기반으로 클라이언트(예: 도 2의 클라이언트(234-1))를 이용하여 데이터 쓰기 요청 (write request) 메시지를 수신할 수 있다.
전자 장치(701)는 제1 운영체제(701-1)를 기반으로 데이터 쓰기 요청(write request) 메시지가 수신된 경우 814 동작에서 데이터 쓰기 요청(write request) 메시지에 포함된 server nonce와 server cert를 제2 운영체제(701-2)로 전달할 수 있다. 예를 들면, 전자 장치(701)는 제2 운영체제(701-2)를 기반으로 실행되는 어플리케이션(예: 도 2의 235)에 server nonce와 server cert를 전달할 수 있다.
전자 장치(701)는 816 동작에서 제2 운영체제(701-2)를 기반으로 서버(702)를 인증하기 위한 인증 정보(server cert)의 유효성을 판단하여 유효한 경우 device nonce를 생성하고, device nonce를 암호화할 수 있다. 일실시예에 따르면 device nonce는 전자 장치(701)에서 랜덤하게 생성되는 1회성 값일 수 있다. 다양한 실시예에 따르면 전자 장치(701)는 제2 운영체제(701-2)를 기반으로 실행되는 어플리케이션(예: 235)을 통해 하이브리드 암호화(hybrid encryption) 방식을 이용하여 device nonce를 암호화할 수 있다. 예를 들면 전자 장치(701)는 제2 운영체제(701-2)를 기반으로 device nonce를 생성하고, 하이브리드 암호화를 위한 Session key 및 IV(initial vector)를 생성한 후, Session key 및 IV와 server nonce, device nonce를 이용하여 지정된 키에 대응된 암호화 메시지(TaMsg)를 생성할 수 있다.
전자 장치(701)는 818 동작에서 제2 운영체제(701-2)를 기반으로 생성된 device nonce에 대응된 암호화 메시지(TaMsg)를 제1 운영체제(701-1)에 전달할 수 있다. 예를 들면, 전자 장치(701)는 제2 운영체제(701-2)를 기반의 어플리케이션(예: 도 2의 어플리케이션(235))을 이용하여 제1 운영체제(701-1) 기반의 클라이언트(예: 도 2의 클라이언트(234-1))에 device nonce에 대응된 암호화 메시지(TaMsg)를 전달할 수 있다.
전자 장치(701)는 820 동작에서 제1 운영체제(701-1)를 기반으로 device nonce에 대응된 암호화 메시지(TaMsg)를 통신 모듈을 통해 서버(702)에 전달할 수 있고, 서버(702)는 device nonce에 대응된 암호화 메시지(TaMsg)를 수신할 수 있다.
서버(702)는 822 동작에서 전자 장치(701)로부터 수신된 device nonce에 대응된 암호화 메시지(TaMsg)를 복호화하여 device nonce를 확인할 수 있다
서버(702)는 824 동작에서 상기 device nonce 확인 결과 이상이 없으면 유효성 정보(token)를 생성하여 유효성 정보(예를 들면, token 또는 HMAC)와 제1 데이터를 전자 장치(701)로 전송할 수 있다. 다양한 실시예에 따르면 유효성 정보는 전자 장치(701)에 쓰기 요청할 제1 데이터의 유효성 판단을 위한 토큰을 포함할 수 있다. 일실시예에 따르면 서버(702)는 제1 데이터, 지정된 키 예를 들면, 비밀 키(secret key), device nonce를 기반으로 토큰을 생성할 수 있다. 다양한 실시예에 따르면 서버(702)는 HMAC(hash-based message authentication code)의 알고리즘의 키(key)에 비밀 키(secret key)를 대입하고, 값(value)에 제1 데이터(state or data) 및 device nonce를 대입하여 HMAC을 생성할 수 있다. 서버(702)는 유효성 정보(예를 들면, token 또는 HMAC)와 제1 데이터를 전자 장치(701)로 전송할 수 있다.
전자 장치(701)는 826 동작에서 제1 운영체제(701-1)를 기반으로 서버(702)로부터 유효성 정보(예를 들면, token 또는 HMAC)와 제1 데이터를 수신할 수 있고, 828 동작에서 유효성 정보와 제1 데이터를 제2 운영체제(701-2)를 기반으로 실행되는 어플리케이션(예: 도 2의 어플리케이션(235))에 전달할 수 있다.
전자 장치(701)는 828 동작에서 제2 운영체제(701-2)를 기반으로 실행되는 어플리케이션(예: 도 2의 어플리케이션(235))을 통해 지정된 키 예를 들면, 비밀 키(secret key)와 유효성 정보를 이용하여 제1 데이터의 유효성을 판단하고, 제1 데이터가 유효한 경우 제1 데이터를 이용하여 메모리(예: 도 2의 메모리(230)) 또는 RPMB(예: 도 2의 RPMB(236)에 저장된 데이터를 업데이트 하거나 전자 장치(701)의 상태를 업데이트할 수 있다. 다양한 실시예에 따르면 제1 데이터는 상기 전자 장치의 디스플레이 데이터 또는 락 상태를 업데이트하기 위한 데이터를 포함할 수 있다.
전자 장치(701)는 830 동작에서 제2 운영체제(701-2)를 기반으로 저장된 데이터 또는 상태의 성공적인 업데이트를 알리기 위한 정보(device result)를 생성하고, 저장된 데이터 또는 상태의 성공적인 업데이트를 알리기 위한 정보(device result)를 제1 운영체제(701-1)로 전달할 수 있다. 전자 장치(701)는 832 동작에서 제1 운영체제(701-1)를 기반으로 통신 모듈을 통해 저장된 데이터 또는 상태의 성공적인 업데이트를 알리기 위한 정보(device result)를 서버(701)로 전송할 수 있다.
도 9는 다양한 실시예에 따른 서버로부터 데이터 읽기 요청에 따른 전자 장치와 서버의 동작을 나타낸 도면이다.
도 9를 참조하면, 서버(702)(예: 도 1의 서버(108))는 912 동작에서 데이터 읽기 요청(read request) 메시지를 전자 장치(701)(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(201))에 전송할 수 있다. 다양한 실시예에 따르면 서버(702)는 전자 장치(701)에 저장된 데이터 또는 상태를 확인하고자 하는 경우 저장된 데이터 또는 상태를 업데이트 확인하는데 필요한 제2 데이터를 전자 장치(701)로부터 읽어오도록 하기 위한 메시지를 전자 장치(701)에 전송할 수 있다. 일실시예에 따르면 서버(702)는 전자 장치(701)에 저장된 데이터 또는 상태를 업데이트 확인하기 위한 경우 server nonce를 생성하고, 생성된 server nonce와 서버를 인증하기 위한 인증 정보(certificate)인 server cert를 포함하는 데이터 읽기 요청(read request) 메시지를 전자 장치(701)로 전송할 수 있다. 일실시예에 따르면 server nonce는 서버에서 랜덤하게 생성되는 1회성 값일 수 있다.
다양한 실시예에 따르면 전자 장치(701)는 제1 운영체제(701-1)(예: 도 2의 제2 운영체제(233-1)) 및 제2 운영체제(701-2)(예: 도 2의 제2 운영체제(233-2))를 기반으로 동작할 수 있으며, 제1 운영체제(701-1)를 기반으로 클라이언트(예: 도 2의 클라이언트(234-1))를 이용하여 데이터 읽기 요청(read request) 메시지를 수신할 수 있다.
전자 장치(701)는 제1 운영체제(701-1)를 기반으로 데이터 읽기 요청(read request) 메시지가 수신된 경우 914 동작에서 데이터 읽기 요청(read request) 메시지에 포함된 server nonce와 server cert를 제2 운영체제(701-2)로 전달할 수 있다. 예를 들면, 전자 장치(701)는 제2 운영체제(701-2)를 기반으로 실행되는 어플리케이션(예: 도 2의 235)에 server nonce와 server cert를 전달할 수 있다.
전자 장치(701)는 916 동작에서 제2 운영체제(701-2)를 기반으로 서버(702)를 인증하기 위한 인증 정보(server cert)의 유효성을 판단하여 유효한 경우 읽기 요청된 제2 데이터를 읽어오고, 제2 데이터를 암호화할 수 있다. 다양한 실시예에 따르면 전자 장치(701)는 제2 운영체제(701-2)를 기반으로 실행되는 어플리케이션(예: 도 2의 어플리케이션(235))을 통해 하이브리드 암호화(hybrid encryption) 방식을 이용하여 제2 데이터를 암호화할 수 있다. 예를 들면 전자 장치(701)는 하이브리드 암호화를 위한 Session key 및 IV(initial vector)를 생성한 후, Session key 및 IV와 server nonce, 제2 데이터(state or data)를 이용하여 제2 데이터에 대응된 암호화 메시지(TaMsg)를 생성할 수 있다.
전자 장치(701)는 918 동작에서 제2 운영체제(701-2)를 기반으로 생성된 제2 데이터에 대응된 암호화 메시지(TaMsg)를 제1 운영체제(701-1)에 전달할 수 있다. 예를 들면, 전자 장치(701)는 제2 운영체제(701-2)를 기반의 어플리케이션(예: 도 2의 어플리케이션(235))을 이용하여 제1 운영체제(701-1) 기반의 클라이언트(도 2의 클라이언트(234-1))에 제2 데이터에 대응된 암호화 메시지(TaMsg)를 전달할 수 있다.
전자 장치(701)는 920 동작에서 제1 운영체제(701-1)를 기반으로 제2 데이터에 대응된 암호화 메시지(TaMsg)를 통신 모듈을 통해 서버(702)에 전달할 수 있고, 서버(702)는 제2 데이터에 대응된 암호화 메시지(TaMsg)를 수신할 수 있다.
서버(702)는 922 동작에서 전자 장치(701)로부터 수신된 제2 데이터에 대응된 암호화 메시지(TaMsg)를 복호화하여 제2 데이터를 획득할 수 있다. 다양한 실시예에 따르면 서버(702)는 제2 데이터를 통해 전자 장치(701)의 상태 또는 데이터를 확인할 수 있다.
본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시예에서, 전자 장치는 본 문서에서 기술된 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시예에 따른 전자 장치의 구성요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.
본 문서에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면,"모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리(130)가 될 수 있다.
다양한 실시 예에 따르면, 컴퓨터 판독 가능 기록 매체에 있어서, 상기 컴퓨터 판독 가능 기록 매체에 저장된 프로그램은 전자 장치에서, 제1 운영체제를 기반으로 통신 모듈을 이용하여 외부 전자 장치와 통신을 통해 데이터를 수신 또는 전송하는 동작 및 제2 운영체제를 기반으로 지정된 키를 이용하여 상기 수신된 데이터 또는 상기 외부 전자 장치로 전송할 데이터를 처리하도록 하는 동작을 수행할 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM(compact disc read only memory), DVD(digital versatile disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM(read only memory), RAM(random access memory), 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서 설명한 본 발명의 다양한 실시예의 전자 장치는 전술한 실시 예 및 도면에 의해 한정되는 것은 아니고, 본 발명의 기술적 범위 내에서 여러 가지 치환, 변형 및 변경이 가능함은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.

Claims (15)

  1. 전자 장치에 있어서
    무선 통신을 수행하는 통신 모듈;
    메모리;
    상기 통신 모듈 및 메모리와 전기적으로 연결된 적어도 하나의 프로세서를 포함하고,
    상기 메모리는 실행 시, 상기 적어도 하나의 프로세서가,
    제1 운영체제를 기반으로 상기 통신 모듈을 이용하여 외부 전자 장치와 통신을 통해 데이터를 수신 또는 전송하고, 제2 운영체제를 기반으로 지정된 키를 이용하여 상기 수신된 데이터 또는 상기 외부 서버로 전송할 데이터를 처리하도록 하는 인스트럭션들을 저장하는 전자 장치.
  2. 제1항에 있어서,
    상기 지정된 키는 비밀 키(secret key)이며,
    상기 메모리는 상기 제2 운영체제에 의해서만 엑세스 가능한 저장 영역에 상기 지정된 키를 저장하는 전자 장치.
  3. 제1항에 있어서,
    상기 메모리는,
    RPMB(replay protected memory block)를 포함하고, 상기 RPMB에 상기 지정된 키가 저장되는 전자 장치.
  4. 제2항에 있어서,
    상기 메모리는,
    실행 시, 상기 적어도 하나의 프로세서가,
    상기 제2 운영체제가 상기 지정된 키를 암호화하여 상기 제1 운영 체제에 전달하고, 상기 제1 운영체제가 상기 암호화된 지정된 키를 상기 통신 모듈을 통해 상기 외부 전자 장치로 전송하도록 하는 인스트럭션들을 더 저장하는 전자 장치.
  5. 제4항에 있어서,
    상기 인스트럭션들은,
    상기 적어도 하나의 프로세서가,
    상기 제1 운영체제를 기반으로 상기 통신 모듈을 이용하여 상기 외부 전자 장치로부터 제1 데이터와 상기 지정된 키를 이용하여 생성된 유효성 정보가 수신되면, 상기 제2 운영체제를 기반으로 상기 유효성 정보를 이용하여 상기 제1 데이터의 유효성을 판단하고, 유효한 경우 상기 제1 데이터를 기반으로 저장된 데이터를 업데이트 하거나 상기 전자 장치의 상태를 업데이트 하도록 하는 전자 장치.
  6. 제5항에 있어서,
    상기 제1 데이터와 연관된 유효성 정보는 상기 제1 데이터, 상기 지정된 키, 상기 전자 장치에서 생성된 랜덤값을 기반으로 상기 외부 전자 장치에서 생성된 토큰(token)인 전자 장치.
  7. 제5항에 있어서,
    상기 유효성 정보는 HMAC(Hash-based message authentication code)를 포함하는 전자 장치.
  8. 제5항에 있어서,
    상기 제1 데이터는 상기 전자 장치의 디스플레이 데이터 또는 락 상태를 업데이트하기 위한 데이터를 포함하는 전자 장치.
  9. 제1항에 있어서,
    상기 인스트럭션들은,
    상기 적어도 하나의 프로세서가,
    상기 제1 운영체제를 기반으로 상기 통신 모듈을 이용하여 상기 외부전자 장치로부터 제2 데이터 전송 요청이 수신되면, 상기 제2 운영체제를 기반으로 상기 지정된 키를 이용하여 상기 제2 데이터를 암호화하여 제공하도록 하는 전자 장치.
  10. 제1항에 있어서,
    상기 메모리는,
    상기 적어도 하나의 프로세서가,
    상기 제1 운영체제를 기반으로 상기 통신 모듈을 이용하여 상기 외부 전자 장치로부터 상기 외부 전자 장치를 인증하기 위한 인증 정보를 수신하고, 제2 운영체제를 기반으로 상기 수신된 인증 정보를 이용하여 상기 외부 전자 장치를 인증하도록 하는 인스트럭션들을 더 저장하는 전자 장치.
  11. 전자 장치에서 보안 운영체제 기반 데이터 송수신 방법에 있어서,
    제1 운영체제를 기반으로 통신 모듈을 이용하여 외부 전자 장치와 통신을 통해 데이터를 수신 또는 전송하는 동작; 및
    제2 운영체제를 기반으로 지정된 키를 이용하여 상기 수신된 데이터 또는 상기 외부 전자 장치로 전송할 데이터를 처리하도록 하는 동작을 포함하는 방법.
  12. 제11항에 있어서,
    상기 지정된 키는 비밀 키(secret key)이고,
    상기 지정된 키는 상기 제2 운영체제에 의해서만 엑세스 가능한 저장 영역에 저장되고,
    상기 제2 운영체제에 의해서만 엑세스 가능한 저장 영역은 상기 제2 운영체제에 의해서만 엑세스 가능한 RPMB(replay protected memory block)를 포함하는 방법.
  13. 제12항에 있어서,
    상기 제2 운영체제가 상기 지정된 키를 암호화하여 상기 제1 운영 체제에 전달하고, 상기 제1 운영체제가 상기 암호화된 지정된 키를 상기 통신 모듈을 통해 상기 외부 전자 장치로 전송하는 동작을 더 포함하고,
    상기 제1 운영체제를 기반으로 상기 통신 모듈을 이용하여 상기 외부 전자 장치로부터 지정된 키를 이용하여 생성된 유효성 정보와 제1 데이터가 수신되면, 상기 제2 운영체제를 기반으로 상기 지정된 키와 상기 유효성 정보를 이용하여 상기 제1 데이터의 유효성을 판단하고, 유효한 경우 상기 제1 데이터를 기반으로 저장된 데이터를 업데이트 하거나 상기 전자 장치의 상태를 업데이트 하는 방법.
  14. 제13항에 있어서,
    상기 유효성 정보는 상기 제1 데이터, 상기 지정된 키, 상기 전자 장치에서 생성된 랜덤값을 기반으로 상기 외부 전자 장치에서 생성된 토큰(token)이고,
    상기 제1 데이터는 상기 전자 장치의 디스플레이 데이터 또는 락 상태를 업데이트하기 위한 데이터를 포함하는 방법.
  15. 컴퓨터 판독 가능 기록 매체에 있어서,
    상기 컴퓨터 판독 가능 기록 매체에 저장된 프로그램은 전자 장치에서,
    제1 운영체제를 기반으로 통신 모듈을 이용하여 외부 전자 장치와 통신을 통해 데이터를 수신 또는 전송하는 동작; 및
    제2 운영체제를 기반으로 지정된 키를 이용하여 상기 수신된 데이터 또는 상기 외부 전자 장치로 전송할 데이터를 처리하도록 하는 동작을 수행하는 것을 특징으로 하는 기록 매체.
PCT/KR2018/014205 2017-11-20 2018-11-19 전자 장치 및 전자 장치에서 보안 운영체제 기반 데이터 송수신 방법 WO2019098790A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/764,608 US11347897B2 (en) 2017-11-20 2018-11-19 Electronic device and method for transmitting and receiving data on the basis of security operating system in electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170154918A KR102436485B1 (ko) 2017-11-20 2017-11-20 전자 장치 및 전자 장치에서 보안 운영체제 기반 데이터 송수신 방법
KR10-2017-0154918 2017-11-20

Publications (1)

Publication Number Publication Date
WO2019098790A1 true WO2019098790A1 (ko) 2019-05-23

Family

ID=66539697

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/014205 WO2019098790A1 (ko) 2017-11-20 2018-11-19 전자 장치 및 전자 장치에서 보안 운영체제 기반 데이터 송수신 방법

Country Status (3)

Country Link
US (1) US11347897B2 (ko)
KR (1) KR102436485B1 (ko)
WO (1) WO2019098790A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11729612B2 (en) * 2018-03-08 2023-08-15 Cypress Semiconductor Corporation Secure BLE just works pairing method against man-in-the-middle attack
US11068295B2 (en) * 2019-04-12 2021-07-20 Ghost Locomotion Inc. Device operation across multiple operating system modalities
CN113126905A (zh) * 2019-12-30 2021-07-16 美光科技公司 用于重放受保护存储器块的安全密钥更新
CN114785566B (zh) * 2022-03-31 2024-04-23 联想(北京)有限公司 数据处理方法、装置及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140108805A1 (en) * 2012-10-12 2014-04-17 Ned M. Smith Technologies labeling diverse content
US20160234176A1 (en) * 2015-02-06 2016-08-11 Samsung Electronics Co., Ltd. Electronic device and data transmission method thereof
US20160254918A1 (en) * 2015-02-27 2016-09-01 Samsung Electronics Co., Ltd Trust-zone-based end-to-end security
KR101662947B1 (ko) * 2015-03-25 2016-10-05 (주)에이티솔루션즈 보안운영체제를 이용한 세션보안 제공 방법
KR20170067003A (ko) * 2015-12-07 2017-06-15 (주)케이스마텍 트러스티드 실행 환경 기반의 어플리케이션 프로그램 보호 방법 및 시스템

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4326189B2 (ja) * 2002-06-10 2009-09-02 健 坂村 自律型icカード及び通信システム
US20130054473A1 (en) * 2011-08-23 2013-02-28 Htc Corporation Secure Payment Method, Mobile Device and Secure Payment System
KR101844993B1 (ko) * 2011-12-22 2018-05-18 주식회사 케이티 전자카드 결제 방법 및 시스템
KR101930864B1 (ko) * 2012-02-16 2019-03-11 삼성전자주식회사 디바이스 인증을 이용한 디지털 콘텐츠 보호 방법 및 장치
US9594921B2 (en) 2012-03-02 2017-03-14 International Business Machines Corporation System and method to provide server control for access to mobile client data
CN104216777B (zh) * 2014-08-29 2017-09-08 宇龙计算机通信科技(深圳)有限公司 双系统电子装置及终端
US9853812B2 (en) * 2014-09-17 2017-12-26 Microsoft Technology Licensing, Llc Secure key management for roaming protected content
WO2017034008A1 (ja) * 2015-08-25 2017-03-02 株式会社Seltech ハイパーバイザーを有するシステム
US10417456B2 (en) * 2015-12-23 2019-09-17 Tracfone Wireless, Inc. Secure system having a multi-locking mechanism for devices having embedded systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140108805A1 (en) * 2012-10-12 2014-04-17 Ned M. Smith Technologies labeling diverse content
US20160234176A1 (en) * 2015-02-06 2016-08-11 Samsung Electronics Co., Ltd. Electronic device and data transmission method thereof
US20160254918A1 (en) * 2015-02-27 2016-09-01 Samsung Electronics Co., Ltd Trust-zone-based end-to-end security
KR101662947B1 (ko) * 2015-03-25 2016-10-05 (주)에이티솔루션즈 보안운영체제를 이용한 세션보안 제공 방법
KR20170067003A (ko) * 2015-12-07 2017-06-15 (주)케이스마텍 트러스티드 실행 환경 기반의 어플리케이션 프로그램 보호 방법 및 시스템

Also Published As

Publication number Publication date
US11347897B2 (en) 2022-05-31
KR20190057677A (ko) 2019-05-29
US20200396080A1 (en) 2020-12-17
KR102436485B1 (ko) 2022-08-26

Similar Documents

Publication Publication Date Title
WO2020171538A1 (en) Electronic device and method for providing digital signature service of block chain using the same
WO2019098790A1 (ko) 전자 장치 및 전자 장치에서 보안 운영체제 기반 데이터 송수신 방법
WO2021071157A1 (en) Electronic device and method for managing blockchain address using the same
WO2021010766A1 (ko) 블록 체인을 이용한 전자 인증 장치 및 그 방법
WO2018062761A1 (ko) 보안 기능이 강화된 디바이스의 초기화 방법 및 디바이스의 펌웨어 업데이트 방법
WO2019074326A1 (en) SECURE OFFLINE PAYMENT METHOD AND APPARATUS
WO2019164339A1 (en) Electronic device and method for sharing screen data
WO2018151390A1 (ko) 사물 인터넷 장치
WO2019172641A1 (en) Electronic device and method for managing electronic key thereof
WO2020184987A1 (en) Electronic device including secure integrated circuit
WO2021060745A1 (en) Electronic device for updating firmware by using security integrated circuit and operation method thereof
WO2020231177A1 (en) Electronic device and method for receiving push message stored in blockchain
WO2020091525A1 (ko) 생체 인증을 이용한 결제 방법 및 그 전자 장치
WO2021025449A1 (en) Electronic device operating encryption for user data
WO2019182377A1 (ko) 블록체인 기반 암호화폐의 트랜잭션에 이용되는 주소 정보 생성 방법, 전자 장치 및 컴퓨터 판독 가능한 기록 매체
WO2020190099A1 (en) Electronic device for managing personal information and operating method thereof
WO2020032351A1 (ko) 익명 디지털 아이덴티티 수립 방법
US11520859B2 (en) Display of protected content using trusted execution environment
WO2016064040A1 (ko) 서명정보를 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법
WO2020235933A1 (en) System and method for payment authentication
WO2020060101A1 (ko) 보안 엘리먼트를 이용하여 서비스를 제공하는 전자 장치 및 그의 동작 방법
WO2021085954A1 (ko) 전자 장치의 고유 정보에 대한 무결성을 보장하는 전자 장치 및 그의 동작 방법
WO2019147105A1 (ko) 전자 장치와 외부 전자 장치 및 이를 포함하는 시스템
WO2022146026A1 (ko) 보안 데이터 처리 방법 및 이를 지원하는 전자 장치
WO2021025322A1 (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: 18878816

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 18878816

Country of ref document: EP

Kind code of ref document: A1