WO2022181963A1 - 전자 장치, 그 제어 방법 및 서버 - Google Patents

전자 장치, 그 제어 방법 및 서버 Download PDF

Info

Publication number
WO2022181963A1
WO2022181963A1 PCT/KR2021/020283 KR2021020283W WO2022181963A1 WO 2022181963 A1 WO2022181963 A1 WO 2022181963A1 KR 2021020283 W KR2021020283 W KR 2021020283W WO 2022181963 A1 WO2022181963 A1 WO 2022181963A1
Authority
WO
WIPO (PCT)
Prior art keywords
certificate
electronic device
server
information
processor
Prior art date
Application number
PCT/KR2021/020283
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 삼성전자주식회사
Publication of WO2022181963A1 publication Critical patent/WO2022181963A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/40Network security protocols

Definitions

  • the present disclosure relates to an electronic device, a control method thereof, and a server, and more particularly, to an electronic device performing certificate provisioning, a control method thereof, and a server.
  • AI artificial intelligence
  • the refrigerator may identify food items stored inside the refrigerator and automatically purchase food items that are in short supply. This service is due to the refrigerator automatically sending a grocery order to the grocery sales company, and for this operation, the refrigerator must store a certificate for the grocery sales company.
  • the present disclosure is in accordance with the above-mentioned necessity, and an object of the present disclosure is to provide an electronic device for performing certificate provisioning in real time, a control method thereof, and a server.
  • an electronic device includes a communication interface, a memory, and a processor connected to the communication interface and the memory to control the electronic device, wherein the processor includes When the certificate is received from the first server through the interface, the certificate is verified based on the certificate bundle stored in the memory, and when the verification of the certificate fails, the certificate usage information is transmitted to the second server through the communication interface, When information on the certificate is received from the second server through the communication interface, the certificate bundle may be updated based on the information on the received certificate.
  • the processor is configured to verify the certificate based on at least one of whether the parent certificate of the certificate exists in the certificate bundle, whether the signature of the certificate is verified, whether the period of the certificate has expired, or whether the period of the upper certificate has expired.
  • the processor may access the first server corresponding to the executed application and receive the certificate.
  • the certificate usage information may include at least one of information about the executed application, service information, and a cause of the certificate or verification failure.
  • the processor may store the access information to the first server in the memory, and transmit the certificate usage information to the second server through the communication interface every preset time based on the access information.
  • the processor may change an operation mode of the electronic device to a soft access point mode and broadcast a certificate renewal alarm to a peripheral device through the communication interface.
  • the processor may transmit the updated certificate bundle to the peripheral device through the communication interface and end the soft access point mode.
  • the processor may transmit the updated certificate bundle to the peripheral device through the communication interface.
  • the processor may request a preset service to the first server through the communication interface.
  • a server includes a communication interface and a processor connected to the communication interface to control the server, wherein the processor receives a certificate from the electronic device through the communication interface.
  • the processor receives a certificate from the electronic device through the communication interface.
  • the processor may transmit the information on the certificate to a plurality of other electronic devices having the same specifications as the electronic device through the communication interface.
  • a method for controlling an electronic device includes, when a certificate is received from a first server, verifying the certificate based on a certificate bundle stored in the electronic device, and if verification of the certificate fails transmitting certificate usage information to a second server; and when information on the certificate is received from the second server, updating the certificate bundle based on the received information on the certificate.
  • the verifying may include verifying the certificate based on at least one of whether the upper certificate of the certificate exists in the certificate bundle, whether the signature of the certificate is verified, whether the period of the certificate has expired, or whether the period of the upper certificate has expired. can be verified.
  • the method may further include, when one of the at least one application installed in the electronic device is executed, accessing the first server corresponding to the executed application and receiving the certificate.
  • the certificate usage information may include at least one of information about the executed application, service information, and a cause of the certificate or verification failure.
  • the method may further include storing access information to the first server and transmitting the certificate usage information to the second server every preset time based on the access information.
  • the method may further include changing the operation mode of the electronic device to a soft access point mode when the update is completed, and broadcasting a certificate renewal alarm to a peripheral device.
  • the method may further include transmitting the updated certificate bundle to the peripheral device when the peripheral device is connected to the electronic device and terminating the soft access point mode.
  • the transmitting of the updated certificate bundle may include transmitting the updated certificate bundle to the peripheral device if the connected peripheral device is a device of the same owner as the electronic device.
  • the method may further include requesting a preset service to the first server when the certificate is verified.
  • the certificate is updated in real time through the provisioning server, so that the problem of blocking the use of the service can be solved.
  • the server may preemptively update the certificate by provisioning the certificate to a plurality of other electronic devices having the same specifications as the electronic device.
  • FIG. 1 is a block diagram illustrating an electronic system according to an embodiment of the present disclosure.
  • FIG. 2 is a block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure.
  • FIG. 3 is a block diagram illustrating a configuration of a provisioning server according to an embodiment of the present disclosure.
  • FIG. 4 is a diagram schematically illustrating an electronic system 1000 according to an embodiment of the present disclosure.
  • 5A to 5D are diagrams for sequentially explaining a provisioning operation according to an embodiment of the present disclosure.
  • FIG. 6 is a flowchart illustrating an operation of verifying a certificate of an electronic device according to an embodiment of the present disclosure.
  • FIG. 7A and 7B are flowcharts illustrating a certificate search and update operation of a provisioning server according to an embodiment of the present disclosure.
  • 8A and 8B are flowcharts illustrating a certificate provisioning operation according to an embodiment of the present disclosure.
  • 9A and 9B are flowcharts for explaining an operation of providing an updated certificate bundle to a peripheral device according to an embodiment of the present disclosure.
  • FIG. 10 is a diagram for explaining a method for managing a certificate bundle through demand prediction according to an embodiment of the present disclosure.
  • 11 is a flowchart illustrating a method for managing a certificate bundle through demand prediction according to an embodiment of the present disclosure.
  • FIG. 12 is a diagram for explaining a preemptive certificate provisioning operation according to an embodiment of the present disclosure.
  • FIG. 13 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
  • FIG. 14 is a flowchart illustrating a method for controlling a provisioning server according to an embodiment of the present disclosure.
  • expressions such as “have,” “may have,” “include,” or “may include” indicate the presence of a corresponding characteristic (eg, a numerical value, function, operation, or component such as a part). and does not exclude the presence of additional features.
  • the term user may refer to a person who uses an electronic device or a device (eg, an artificial intelligence electronic device) using the electronic device.
  • a device eg, an artificial intelligence electronic device
  • an electronic system 1000 includes an electronic device 100 , a provisioning server 200 , and a service server 300 .
  • the electronic device 100 is a device that receives a service from the service server 300 based on a certificate bundle, and includes a TV, a desktop PC, a notebook computer, a video wall, a large format display (LFD), and a digital signage (digital signage).
  • devices such as signage), Digital Information Display (DID), projector display, digital video disk (DVD) player, smartphone, tablet PC, monitor, smart glasses, smart watch, set-top box (STB), speaker, computer body, server, etc.
  • DID Digital Information Display
  • DVD digital video disk
  • STB set-top box
  • the electronic device 100 may be any device as long as it can receive a service from the service server 300 based on the certificate bundle.
  • the certificate bundle is also called a Certificate Authority (CA) certificate bundle, and may include a plurality of certificates respectively corresponding to a plurality of services.
  • CA Certificate Authority
  • the certificate bundle may include a plurality of certificates respectively corresponding to a plurality of companies, or a plurality of certificates respectively corresponding to a plurality of services and a plurality of certificates respectively corresponding to a plurality of companies. .
  • the electronic device 100 may receive the certificate from the service server 300 and verify the certificate based on the certificate bundle.
  • the electronic device 100 may use a service provided by the service server 300 when the certificate verification is completed, and may transmit certificate usage information to the provisioning server 200 if the certificate verification fails. Then, the electronic device 100 may update the certificate bundle through the provisioning server 200 . When the certificate bundle is updated, the electronic device 100 can verify the certificate received from the service server 300 and use the service provided by the service server 300 .
  • the provisioning server 200 is a server that manages certificates.
  • the provisioning server 200 receives certificate use information from a Certificate Authority (CA) authority server (not shown) corresponding to the certificate use information.
  • CA Certificate Authority
  • Information on the included certificate may be received, and the received information may be transmitted to the electronic device 100 .
  • certificate provisioning an operation in which the provisioning server 200 updates the certificate bundle by providing information about the certificate to the electronic device 100 is referred to as certificate provisioning.
  • the provisioning server 200 is connected to the electronic device 100 for convenience of explanation, but is not limited thereto.
  • the provisioning server 200 may perform a certificate provisioning operation targeting not only the electronic device 100 but also a plurality of electronic devices.
  • the service server 300 is a device that provides a service to the electronic device 100 .
  • the service server 300 provides a certificate to the electronic device 100 , and verification of the certificate is completed. service can be provided.
  • FIG. 1 only one service server 300 is illustrated for convenience of description, but the present invention is not limited thereto.
  • there may be a plurality of service servers 300 and may be implemented for each company or for each service.
  • FIG. 2 is a block diagram illustrating a configuration of an electronic device 100 according to an embodiment of the present disclosure.
  • the electronic device 100 includes a communication interface 110 , a memory 120 , and a processor 130 .
  • the communication interface 110 is configured to communicate with various types of external devices according to various types of communication methods.
  • the electronic device 100 may communicate with the provisioning server 200 or the service server 300 through the communication interface 110 .
  • the communication interface 110 may include a Wi-Fi module, a Bluetooth module, an infrared communication module, and a wireless communication module.
  • each communication module may be implemented in the form of at least one hardware chip.
  • the Wi-Fi module and the Bluetooth module perform communication using a WiFi method and a Bluetooth method, respectively.
  • various types of connection information such as an SSID and a session key are first transmitted and received, and various types of information can be transmitted/received after a communication connection is made using this.
  • the infrared communication module communicates according to the infrared data association (IrDA) technology, which wirelessly transmits data in a short distance using infrared that is between visible light and millimeter waves.
  • IrDA infrared data association
  • the wireless communication module includes Zigbee, 3rd Generation (3G), 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), LTE Advanced (LTE-A), 4th Generation (4G), 5G It may include at least one communication chip that performs communication according to various wireless communication standards, such as (5th Generation).
  • 3G 3rd Generation
  • 3GPP 3rd Generation Partnership Project
  • LTE Long Term Evolution
  • LTE-A LTE Advanced
  • 4G 4th Generation
  • 5G 5G
  • It may include at least one communication chip that performs communication according to various wireless communication standards, such as (5th Generation).
  • the communication interface 110 may include a wired communication interface such as HDMI, DP, Thunderbolt, USB, RGB, D-SUB, DVI, or the like.
  • the communication interface 110 may include at least one of a local area network (LAN) module, an Ethernet module, or a wired communication module for performing communication using a pair cable, a coaxial cable, or an optical fiber cable.
  • LAN local area network
  • Ethernet Ethernet
  • wired communication module for performing communication using a pair cable, a coaxial cable, or an optical fiber cable.
  • the memory 120 may refer to hardware that stores information such as data in an electric or magnetic form so that the processor 130 can access it. To this end, the memory 120 may be implemented with at least one hardware selected from nonvolatile memory, volatile memory, flash memory, hard disk drive (HDD) or solid state drive (SSD), RAM, ROM, etc. .
  • At least one instruction or module required for the operation of the electronic device 100 or the processor 130 may be stored in the memory 120 .
  • the instruction is a unit of code for instructing the operation of the electronic device 100 or the processor 130 and may be written in machine language, which is a language that a computer can understand.
  • a module may be a set of instructions that perform a specific task of a unit of work.
  • the memory 120 may store data that is information in units of bits or bytes that can represent characters, numbers, images, and the like.
  • the memory 120 may store a certificate bundle, information on peripheral devices, a service module, and the like.
  • the certificate bundle may include a certificate received from the certification authority server or the provisioning server 200 .
  • the memory 120 is accessed by the processor 130 , and reading/writing/modification/deletion/update of instructions, modules, or data may be performed by the processor 130 .
  • the processor 130 controls the overall operation of the electronic device 100 .
  • the processor 130 may be connected to each component of the electronic device 100 to control the overall operation of the electronic device 100 .
  • the processor 130 may be connected to components such as the communication interface 110 and the memory 120 to control the operation of the electronic device 100 .
  • the processor 130 may be implemented as a digital signal processor (DSP), a microprocessor, or a time controller (TCON).
  • DSP digital signal processor
  • TCON time controller
  • the present invention is not limited thereto, and the central processing unit (central processing unit (CPU)), micro controller unit (MPU), micro processing unit (MPU), controller, application processor (AP), or communication processor (CP), ARM processor
  • the processor 130 may be implemented as a SoC (System on Chip) or LSI (large scale integration) in which a processing algorithm is embedded, or an FPGA ( Field programmable gate array) may be implemented.
  • SoC System on Chip
  • LSI large scale integration
  • FPGA Field programmable gate array
  • the processor 130 may verify the certificate based on the certificate bundle stored in the memory 120 .
  • the processor 130 may access the service server 300 corresponding to the executed application and receive a certificate.
  • the present invention is not limited thereto, and the processor 130 may receive a certificate by accessing the service server 300 at a preset time interval.
  • the processor 130 stores access information to the service server 300 in the memory 120, and uses the certificate as the provisioning server 200 through the communication interface 110 every preset time based on the access information. It can also transmit information.
  • the processor 130 may verify the certificate based on at least one of whether an upper certificate of the certificate exists in the certificate bundle, whether the signature of the certificate is verified, whether the period of the certificate has expired, or whether the period of the upper certificate has expired.
  • the processor 130 may determine that the verification of the certificate has failed when the parent certificate of the certificate does not exist in the certificate bundle, the signature of the certificate is not verified, or the certificate or the parent certificate has expired.
  • the processor 130 may transmit certificate usage information to the provisioning server 200 through the communication interface 110 .
  • the certificate usage information may include at least one of information about the executed application, service information, a certificate, or a cause of verification failure.
  • the processor 130 may update the certificate bundle based on the information on the received certificate.
  • the processor 130 may request a preset service to the service server 300 through the communication interface 110 .
  • the processor 130 may change the operation mode of the electronic device 100 to a soft access point mode, and broadcast a certificate renewal alarm to peripheral devices through the communication interface 110 .
  • the soft access point is a function that is implemented in software to act as an access point to operate like a wireless access point.
  • the hotspot function of a smartphone is a soft access point that operates like a wireless access point.
  • the processor 130 may transmit the updated certificate bundle to the peripheral device through the communication interface 110 and end the soft access point mode.
  • the processor 130 may transmit an updated certificate bundle to the peripheral device through the communication interface 110 .
  • the present invention is not limited thereto, and when the connected peripheral device is a device belonging to the same network, the processor 130 may transmit an updated certificate bundle to the peripheral device through the communication interface 110 .
  • FIG. 3 is a block diagram illustrating a configuration of a provisioning server 200 according to an embodiment of the present disclosure.
  • the provisioning server 200 includes a communication interface 210 and a processor 220 as shown in FIG. 3 .
  • the communication interface 210 is configured to communicate with various types of external devices according to various types of communication methods.
  • the provisioning server 200 may communicate with the electronic device 100 , the service server 300 , a Common Certificate Authority Database (CCADB) server, or a certification authority server through the communication interface 110 .
  • CCADB Common Certificate Authority Database
  • the communication interface 210 may be implemented in a form similar to that of the communication interface 110 of the electronic device 100 , and a redundant description will be omitted.
  • the processor 220 controls the overall operation of the provisioning server 200 .
  • the processor 220 may be connected to each configuration of the provisioning server 200 to control the overall operation of the provisioning server 200 .
  • the processor 220 may be connected to a configuration such as the communication interface 210 to control the operation of the provisioning server 200 .
  • the processor 220 may be implemented as a digital signal processor (DSP), a microprocessor (microprocessor), or a time controller (TCON).
  • DSP digital signal processor
  • microprocessor microprocessor
  • TCON time controller
  • the present invention is not limited thereto, and the central processing unit (central processing unit (CPU)), micro controller unit (MPU), micro processing unit (MPU), controller, application processor (AP), or communication processor (CP), ARM processor
  • the processor 220 may be implemented as a SoC (System on Chip) or LSI (large scale integration) in which a processing algorithm is embedded, or an FPGA ( Field programmable gate array) may be implemented.
  • SoC System on Chip
  • LSI large scale integration
  • FPGA Field programmable gate array
  • the processor 220 When the certificate usage information is received from the electronic device 100 through the communication interface 210 , the processor 220 receives information about the certification authority from the certification authority database server, and accesses the certificate usage information through the communication interface 210 . Information on the certificate included in the certificate use information may be received from the corresponding certification authority server.
  • the certification authority database server is a server storing information about the certification authority
  • the certification authority server is a server in which certificates of each certification authority are stored.
  • the processor 220 may transmit information about the certificate to the electronic device 100 through the communication interface 210 . That is, as the user of the conventional electronic device 100 individually updates the certificate, the provisioning server 200 receives the certificate from each certification authority server and provides it to the electronic device 100 , so user convenience is improved. is improved
  • the processor 220 may transmit the information on the certificate to a plurality of other electronic devices having the same specifications as the electronic device 100 through the communication interface 210 . .
  • the certificate bundle may be updated through the provisioning server 200 according to the execution of an application related to company A by the first electronic device.
  • the second electronic device in which the application related to the company A is not executed may be in a state in which the certificate bundle is not updated.
  • the provisioning server 200 provides information about the certificate to the second electronic device based on the operation of providing the information on the certificate to the first electronic device to preemptively preemptively preemptively provide the certificate bundle of the second electronic device. You can also update it.
  • the provisioning server 200 transmits information about the certificate to a plurality of other electronic devices having the same specifications as the electronic device 100 , but the present invention is not limited thereto.
  • the provisioning server 200 may transmit certificate information to a plurality of other electronic devices using a service related to the certificate information provided to the electronic device 100 .
  • FIGS. 4 to 12 the operation of the electronic system 1000 will be described in more detail with reference to FIGS. 4 to 12 . 4 to 12 , individual embodiments will be described for convenience of description. However, the individual embodiments of FIGS. 4 to 12 may be embodied in any combination.
  • FIG. 4 is a diagram schematically illustrating an electronic system 1000 according to an embodiment of the present disclosure.
  • one electronic device 100 among a plurality of IoT devices may receive a certificate from the service server 300 when an application is executed. Then, the electronic device 100 may verify the received certificate by executing the certificate verification module. When the certificate verification fails, the electronic device 100 may execute a certificate provisioning management module to transmit certificate use information to the provisioning server 200 .
  • the provisioning server 200 may receive information about a certificate included in the certificate use information from a certification authority server corresponding to the certificate use information. Alternatively, when the provisioning server 200 is unable to identify the certification authority corresponding to the certificate use information, the provisioning server 200 receives information about the certification authority from the certification authority database server, and uses the certificate information from the certification authority server corresponding to the certificate use information. You can also receive information about the certificate included in the .
  • the provisioning server may store a manually entered certificate through the security manager.
  • the provisioning server 200 may transmit information about the certificate to the electronic device 100 and notify a provisioning result to a security manager.
  • the electronic device 100 may update the certificate bundle based on information about the certificate.
  • the electronic device 100 may provide a certificate bundle to a peripheral device.
  • 5A to 5D are diagrams for sequentially explaining a provisioning operation according to an embodiment of the present disclosure.
  • the electronic device 100 when accessing the service server 300 , the electronic device 100 may receive a certificate from the service server 300 and verify the received certificate. When verification of the certificate fails, the electronic device 100 may transmit certificate use information to the provisioning server 200 .
  • the certificate usage information may include at least one of information about the executed application, service information, a certificate, or a cause of verification failure.
  • the provisioning server 200 may store a certificate bundle as shown in FIG. 5B . Then, the provisioning server 200 may search the certificate bundle for an upper certificate corresponding to the issuer of the certificate included in the received certificate use information. In this case, when there is no upper certificate in the certificate bundle or renewal is required, the provisioning server 200 may access a certificate authority server corresponding to the certificate to receive the latest certificate. Also, the provisioning server 200 may update all sub-certificates in the certificate chain based on the information on the certification authority provided by the certification authority database.
  • the provisioning server 200 may provide information about a certificate to the electronic device 100 as shown in FIG. 5C .
  • the information about the certificate may include at least one of a higher level certificate and a lower level certificate.
  • the electronic device 100 may update the certificate bundle stored in the electronic device 100 based on information about the certificate. Also, when the update is completed, the electronic device 100 may re-verify the certificate received from the service server 300 to use the service.
  • the electronic device 100 may transmit an updated certificate bundle to a peripheral device.
  • the peripheral device may be a device connected to the same network as the electronic device 100 for a predetermined time or longer.
  • FIG. 6 is a flowchart illustrating a certificate verification operation of the electronic device 100 according to an embodiment of the present disclosure.
  • the electronic device 100 may access the service server 300 through an application (S610). Then, the electronic device 100 may receive the certificate from the service server 300 (S620), and verify the certificate through the verification module (S630).
  • the electronic device 100 may identify whether a higher level certificate of the received certificate exists in the certificate bundle (S640-1), and, if not present, may execute a provisioning module (S650). Then, the electronic device 100 may perform signature verification of the certificate (S640-2) and, if not verified, may execute a provisioning module (S650). Then, the electronic device 100 may identify whether the period of the certificate has expired (S640-3), and if the period has expired, may execute the provisioning module (S650). Then, the electronic device 100 may identify whether the period of the upper certificate has expired, and if the period has expired, execute the provisioning module ( S650 ).
  • the electronic device 100 may establish a secure channel with the service server 300 when the upper certificate of the received certificate exists in the certificate bundle, the signature of the certificate is verified, and the period of the certificate and the upper certificate is before expiration. There is (S660). Then, the electronic device 100 identifies whether the upper certificate has expired 1 month or more (S670), executes the provisioning module if it is less than 1 month (S680), and delivers the service connection result to the application if it is 1 month or more (S690) ), can provide services.
  • 7A and 7B are flowcharts illustrating a certificate search and update operation of the provisioning server 200 according to an embodiment of the present disclosure. 7A and 7B , it is assumed that the provisioning server 200 receives certificate usage information from the electronic device 100 .
  • the provisioning server 200 may extract at least one of the issuer name and the signature from the certificate included in the certificate use information (S710). Then, the provisioning server 200 may search for a certificate of the same issuer from the certificate bundle stored in the provisioning server 200 (S715).
  • the provisioning server 200 may identify whether a certificate exists in the certificate bundle (S720-1), and if it does not exist, it may access a certificate authority database server to search for a list of certificates of the same issuer (S730). Then, the provisioning server 200 may perform signature verification of the retrieved certificate (S720-2), and if not verified, access a certificate authority database server to search a list of certificates of the same issuer (S730). Then, the provisioning server 200 may identify whether the period of the retrieved certificate has expired (S720-3), and if the period has expired, it may access a certification authority database server and search a list of certificates of the same issuer (S730). Then, the provisioning server 200 may identify whether the searched certificate is one month before the expiration of the period, and if not, it may access a certificate authority database server to search a list of certificates of the same issuer (S730).
  • the provisioning server 200 determines that if the certificate exists in the certificate bundle, the signature of the retrieved certificate is verified, the period of the retrieved certificate is before expiration, and the period of the retrieved certificate is 1 month before the expiration, the search for the certificate in the certificate bundle is successful. It can be determined (S725). In this case, the provisioning server 200 may provide the retrieved certificate as information about the certificate to the electronic device 100 .
  • the provisioning server 200 may identify whether a valid certificate exists by accessing the certification authority database server and searching for a list of certificates of the same issuer (S735). If a valid certificate is not identified, the provisioning server 200 may determine that the certificate search has failed (S760).
  • the provisioning server 200 may extract each download URL list from the certificate list (S740), and access the extracted URL to download the certificate (S745).
  • the provisioning server 200 sequentially verifies the downloaded certificate (S750), and if the certificate included in the certificate use information is not verified based on the downloaded certificate, it may determine that the certificate search has failed (S760).
  • the provisioning server 200 identifies the presence or absence of a sub-certificate of the downloaded certificate (S765), and if there is a sub-certificate, chains the downloaded certificate and the sub-certificate (chain) can be configured (S770), and the finally downloaded certificate or certificate chain can be added to the storage (S775).
  • 8A and 8B are flowcharts illustrating a certificate provisioning operation according to an embodiment of the present disclosure. 8A and 8B, it is assumed that the electronic device 100 fails to verify the certificate.
  • the electronic device 100 may obtain certificate usage information from the application (S810).
  • the certificate usage information may include at least one of information about the executed application, service information, a certificate, or a cause of verification failure.
  • the electronic device 100 may access the provisioning server 200 (S815 and S820).
  • the provisioning server 200 may transmit a provisioning server certificate to the electronic device 100 (S830, S835) and establish a secure channel (S831).
  • the electronic device 100 may download the provisioning server certificate (S840), verify the provisioning server certificate (S845), terminate the server connection if the verification fails (S894), and establish a secure channel if the verification is successful (S850).
  • the electronic device 100 may transmit certificate use information to the provisioning server 200 (S855 and S860).
  • the provisioning server 200 When the provisioning server 200 receives the certificate use information (S865), it may extract data from the certificate use information and store it in the history database (S870). Then, the provisioning server 200 may search for a higher certificate of the certificate of the service server 300 included in the certificate use information from the certificate bundle stored in the provisioning server 200 (S875).
  • the provisioning server 200 may identify whether provisioning of the upper certificate is necessary, terminate it if unnecessary, and provide a response to the certificate use information by including the upper certificate if necessary (S885, S890).
  • the electronic device 100 verifies the signature of the upper certificate and the certificate of the service server 300 (S892), notifies the application of the result of receiving the upper certificate (S893), and then connects the server It can be ended (S894).
  • 9A and 9B are flowcharts for explaining an operation of providing an updated certificate bundle to a peripheral device according to an embodiment of the present disclosure.
  • 9A and 9B assume that the electronic device 100 updates the certificate bundle through the provisioning server 200 .
  • the electronic device 100 sets the operation mode of the electronic device 100 to a soft access point mode for a preset time. can be switched to (S915).
  • the electronic device 100 may broadcast a certificate renewal alarm to a peripheral device (S920).
  • the electronic device 100 may broadcast a certificate renewal alarm including the certificate bundle signature value ( S925 ).
  • the peripheral device periodically scans the certificate renewal alarm (S930), and when a certificate renewal alarm is received (S935-Y), the certificate bundle signature value is extracted (S940), and the signature value can be compared with the certificate bundle stored in the peripheral device. There is (S945).
  • the peripheral device may identify whether synchronization of the certificate bundle is necessary (S950), terminate if not necessary, and establish access and secure channel to the soft access point if necessary (S955, S960).
  • the electronic device 100 terminates the soft access point mode when the preset time expires (S926-N), and when a certificate synchronization request is received (S927-Y) before the preset time expires (S926-Y), the secure channel can be established (S965).
  • the peripheral device transmits a certificate synchronization request including a hash of user information to the electronic device 100 (S956, S957), and the electronic device 100 determines that the peripheral device is an indoor device according to the certificate synchronization request of the peripheral device. can be confirmed (S970).
  • the electronic device 100 transmits the certificate bundle to the peripheral device in the certificate synchronization request response (S975, S976), and when the peripheral device receives the certificate synchronization request response (S980), the certificate bundle file is stored in the storage of the peripheral device. It can be saved (S985).
  • the certificate bundle of the peripheral device can be updated, so that user convenience can be improved.
  • each operation is described as an operation of the electronic device 100 or the provisioning server 200 for convenience of explanation.
  • the present invention is not limited thereto, and each operation may be an operation of the processor 130 of the electronic device 100 or the processor 210 of the provisioning server 200 .
  • FIG. 10 is a diagram for explaining a method for managing a certificate bundle through demand prediction according to an embodiment of the present disclosure.
  • the provisioning server 200 may receive certificate usage information from a plurality of electronic devices.
  • the certificate usage information may include at least one of device information, an event occurrence time, a certificate, or a certificate alarm code.
  • the device information includes at least one of a device unique ID, an application name, or a service name
  • the certificate includes at least one of an issuer name, an expiration period, SHA256-Hash, an upper certification authority name, or a signature value
  • the certificate alarm code is NotExistCA , AuthFail, Expired, or ToBeExpired may include at least one of.
  • the provisioning server 200 may perform real-time input data-based certificate demand prediction or cumulative history data-based certificate demand prediction.
  • the provisioning server 200 may analyze a real-time alarm trend through time series analysis. For example, after defining a model for each certificate alarm code, the provisioning server 200 may track the number of occurrences in real time for each application/service to predict when an alarm will rapidly increase. In addition, the provisioning server 200 may perform a preset action when the alarm state of a specific application/service satisfies a condition based on a preset IFTTT type rule.
  • the provisioning server 200 defines a model for each certificate alarm code, accumulates the number of alarm occurrences for each application/service, predicts a service requiring an alarm, and sets an alarm of a specific application/service based on a preset IFTTT type rule. When the state satisfies the condition, a preset action may be performed.
  • the provisioning server 200 may notify an administrator of the prediction result, and may perform a certificate management operation. For example, the provisioning server 200 may remove an untrusted certificate or renew an existing certificate by performing at least one of revocation, reissuance, or addition of a certificate based on the prediction result. Alternatively, the provisioning server 200 may perform preventive certificate provisioning. For example, the provisioning server 200 may perform provisioning based on the importance of a service even for an application of an electronic device for which an alarm has not yet occurred.
  • 11 is a flowchart illustrating a method for managing a certificate bundle through demand prediction according to an embodiment of the present disclosure.
  • the electronic device 100 may transmit a certificate use alarm report to the provisioning server 200 (S1110).
  • the provisioning server 200 may analyze a real-time data stream and accumulated alarm history data (S1120), update a time series model of the number of alarm occurrences for each service (S1130), and analyze a trend in which alarms rapidly increase (S1140).
  • the provisioning server 200 may search for a matching Rule in the Alarm Noti Rule (IFTTT) (S1150), and perform a certificate management action defined in the searched Rule (S1160).
  • IFTTT Alarm Noti Rule
  • the provisioning server 200 performs certificate provisioning for the electronic device 100 (S1165), and Noti.
  • Certificate alarm occurrence information may include at least one of an alarm occurrence time, number of alarm occurrences, number of alarm generating devices, applications/services, alarm reason code, notification Noti IFTTT Rule ID, action details, and certificate information.
  • the action details may include at least one of revocation, reissuance, or modification of a certificate
  • the certificate information may include at least one of an issuer name and an expiration period.
  • the electronic device 100 may update the certificate bundle according to the certificate provisioning ( S1175 ), and the security manager may check the certificate alarm occurrence Noti. according to the certificate alarm occurrence Noti. ( S1180 ), and take appropriate action.
  • FIG. 12 is a diagram for explaining a preemptive certificate provisioning operation according to an embodiment of the present disclosure.
  • the first electronic device may transmit a service A certificate use alarm to the provisioning server 200 .
  • the provisioning server 200 may transmit the service A certificate to the first electronic device.
  • the second electronic device executes application 1 to receive a certificate from the service B server, and then transmits a service B certificate use alarm to the provisioning server 200 .
  • the provisioning server 200 may transmit the service B certificate to the second electronic device and additionally provide the service A certificate to the second electronic device.
  • the provisioning server 200 may provide a certificate irrelevant to the use alarm of the second electronic device to the second electronic device.
  • the provisioning server 200 may provide the service A certificate to the second electronic device based on the history of using the service A by the second electronic device.
  • FIG. 13 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
  • the certificate is verified based on the certificate bundle stored in the electronic device (S1310). Then, if the verification of the certificate fails, the certificate use information is transmitted to the second server (S1320). Then, when information on the certificate is received from the second server, the certificate bundle is updated based on the information on the received certificate ( S1330 ).
  • the verifying step (S1310) may verify the certificate based on at least one of whether the upper certificate of the certificate exists in the certificate bundle, whether the signature of the certificate is verified, whether the period of the certificate has expired, or whether the period of the upper certificate has expired.
  • the method may further include, when one of the at least one application installed in the electronic device is executed, accessing a first server corresponding to the executed application and receiving a certificate.
  • the certificate usage information may include at least one of information about the executed application, service information, a certificate, or a cause of verification failure.
  • the method may further include storing access information to the first server and transmitting certificate usage information to the second server every preset time based on the access information.
  • the method may further include changing the operation mode of the electronic device to a soft access point mode when the update is completed, and broadcasting a certificate renewal alarm to a peripheral device.
  • the method may further include transmitting the updated certificate bundle to the peripheral device and terminating the soft access point mode.
  • the transmitting of the updated certificate bundle may include transmitting the updated certificate bundle to the peripheral device if the connected peripheral device has the same owner as the electronic device.
  • the method may further include requesting a preset service to the first server.
  • FIG. 14 is a flowchart illustrating a method for controlling a provisioning server according to an embodiment of the present disclosure.
  • certificate usage information is received from the electronic device
  • information on a certification authority is received from another server (S1410).
  • information on the certificate included in the certificate use information is received from the certificate authority server corresponding to the certificate use information (S1420).
  • information on the certificate is transmitted to the electronic device (S1430).
  • the method may further include transmitting the information on the certificate to a plurality of other electronic devices having the same specifications as the electronic device through a communication interface.
  • the certificate is updated in real time through the provisioning server, so that the problem of blocking the use of the service can be solved.
  • the server may preemptively update the certificate by provisioning the certificate to a plurality of other electronic devices having the same specifications as the electronic device.
  • the various embodiments described above may be implemented as software including instructions stored in a machine-readable storage media readable by a machine (eg, a computer).
  • the device is a device capable of calling a stored command from a storage medium and operating according to the called command, and may include an electronic device (eg, the electronic device A) according to the disclosed embodiments.
  • the processor may perform a function corresponding to the instruction by using other components directly or under the control of the processor.
  • Instructions may include code generated or executed by a compiler or interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' means that the storage medium does not include a signal and is tangible, and does not distinguish that data is semi-permanently or temporarily stored in the storage medium.
  • the method according to the various embodiments described above may be provided by being included in a computer program product.
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product may be distributed in the form of a machine-readable storage medium (eg, compact disc read only memory (CD-ROM)) or online through an application store (eg, Play StoreTM).
  • an application store eg, Play StoreTM
  • at least a portion of the computer program product may be temporarily stored or temporarily generated in a storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
  • the various embodiments described above are stored in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof. can be implemented in In some cases, the embodiments described herein may be implemented by the processor itself. According to the software implementation, embodiments such as the procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.
  • non-transitory computer-readable medium refers to a medium that stores data semi-permanently, rather than a medium that stores data for a short moment, such as a register, cache, memory, etc., and can be read by a device.
  • Specific examples of the non-transitory computer-readable medium may include a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.
  • each of the components may be composed of a single or a plurality of entities, and some sub-components of the aforementioned sub-components may be omitted, or other sub-components may be omitted. Components may be further included in various embodiments.
  • some components eg, a module or a program

Abstract

전자 장치가 개시된다. 본 전자 장치는 통신 인터페이스, 메모리 및 통신 인터페이스 및 메모리와 연결되어 전자 장치를 제어하는 프로세서를 포함하며, 프로세서는 통신 인터페이스를 통해 제1 서버로부터 인증서가 수신되면, 메모리에 저장된 인증서 번들에 기초하여 인증서를 검증하고, 인증서의 검증에 실패하면 통신 인터페이스를 통해 제2 서버로 인증서 사용 정보를 전송하며, 통신 인터페이스를 통해 제2 서버로부터 인증서에 대한 정보를 수신되면, 수신된 인증서에 대한 정보에 기초하여 인증서 번들을 업데이트할 수 있다.

Description

전자 장치, 그 제어 방법 및 서버
본 개시는 전자 장치, 그 제어 방법 및 서버에 대한 것으로, 더욱 상세하게는 인증서 프로비저닝(provisioning)을 수행하는 전자 장치, 그 제어 방법 및 서버에 대한 것이다.
또한, 본 개시는 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공 지능(Artificial Intelligence, AI) 시스템 및 그 응용에 관한 것이다.
최근 다양한 전자 장치가 개발되고 통신 기술이 발달함에 따라 다양한 서비스가 제공되고 있다. 특히, 사용자의 편의를 향상시키기 위한 자동화 서비스가 많이 발달하고 있다.
예를 들어, 냉장고는 냉장고 내부에 저장된 식료품을 식별하고, 부족한 식료품을 자동으로 구입할 수 있다. 이러한 서비스는 냉장고가 식료품 판매 회사에 자동으로 식료품 주문을 전송함에 따른 것이며, 이러한 동작을 위해서는 냉장고가 식료품 판매 회사에 대한 인증서를 저장하고 있어야 한다.
이러한 인증서는 종래 사용자에 의해 개별적으로 업데이트되었다. 즉, 사용자가 개별적으로 관리하지 않는 경우, 인증서의 기간이 만료될 수도 있으며, 이 경우 냉장고는 식료품 관리 서비스를 제공할 수 없게 된다.
또한, 이상에서는 식료품 관리 서비스만을 예로 들었으나, 실제로는 다양한 서비스가 있을 수 있으며, 이 경우 사용자가 다수의 인증서를 개별적으로 관리하기는 어려운 문제가 있었다.
그에 따라, 복수의 인증서를 포함하는 인증서 번들을 효율적으로 관리하기 위한 방법이 개발될 필요가 있다.
본 개시는 상술한 필요성에 따른 것으로, 본 개시의 목적은 실시간으로 인증서 프로비저닝(provisioning)을 수행하는 전자 장치, 그 제어 방법 및 서버를 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 전자 장치는 통신 인터페이스, 메모리 및 상기 통신 인터페이스 및 상기 메모리와 연결되어 상기 전자 장치를 제어하는 프로세서를 포함하며, 상기 프로세서는 상기 통신 인터페이스를 통해 제1 서버로부터 인증서가 수신되면, 상기 메모리에 저장된 인증서 번들에 기초하여 상기 인증서를 검증하고, 상기 인증서의 검증에 실패하면 상기 통신 인터페이스를 통해 제2 서버로 인증서 사용 정보를 전송하며, 상기 통신 인터페이스를 통해 상기 제2 서버로부터 상기 인증서에 대한 정보가 수신되면, 상기 수신된 인증서에 대한 정보에 기초하여 상기 인증서 번들을 업데이트할 수 있다.
또한, 상기 프로세서는 상기 인증서 번들에 상기 인증서의 상위 인증서의 존재 여부, 상기 인증서의 서명 검증 여부, 상기 인증서의 기간 만료 여부 또는 상기 상위 인증서의 기간 만료 여부 중 적어도 하나에 기초하여 상기 인증서를 검증할 수 있다.
그리고, 상기 프로세서는 상기 전자 장치에 설치된 적어도 하나의 어플리케이션 중 하나가 실행되면, 상기 실행된 어플리케이션에 대응되는 상기 제1 서버에 접속하여 상기 인증서를 수신할 수 있다.
또한, 상기 인증서 사용 정보는 상기 실행된 어플리케이션에 대한 정보, 서비스 정보, 상기 인증서 또는 검증 실패 원인 중 적어도 하나를 포함할 수 있다.
그리고, 상기 프로세서는 상기 제1 서버로의 접속 정보를 상기 메모리에 저장하고, 상기 접속 정보에 기초하여 기설정된 시간마다 상기 통신 인터페이스를 통해 상기 제2 서버로 상기 인증서 사용 정보를 전송할 수 있다.
또한, 상기 프로세서는 상기 업데이트가 완료되면 상기 전자 장치의 동작 모드를 Soft 액세스 포인트(Access Point) 모드로 변경하고, 상기 통신 인터페이스를 통해 주변 기기로 인증서 갱신 알람을 브로드캐스트할 수 있다.
그리고, 상기 프로세서는 상기 주변 기기가 상기 전자 장치에 접속되면 상기 통신 인터페이스를 통해 상기 주변 기기로 상기 업데이트된 인증서 번들을 전송하고, 상기 Soft 액세스 포인트 모드를 종료할 수 있다.
또한, 상기 프로세서는 상기 접속된 주변 기기가 상기 전자 장치와 동일한 소유자의 기기이면, 상기 통신 인터페이스를 통해 상기 주변 기기로 상기 업데이트된 인증서 번들을 전송할 수 있다.
그리고, 상기 프로세서는 상기 인증서가 검증되면 상기 통신 인터페이스를 통해 상기 제1 서버로 기설정된 서비스를 요청할 수 있다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 서버는 통신 인터페이스 및 상기 통신 인터페이스와 연결되어 상기 서버를 제어하는 프로세서를 포함하며, 상기 프로세서는 상기 통신 인터페이스를 통해 전자 장치로부터 인증서 사용 정보가 수신되면, 타 서버로부터 인증 기관에 대한 정보를 수신하고, 상기 통신 인터페이스를 통해 상기 인증서 사용 정보에 대응되는 인증 기관 서버로부터 상기 인증서 사용 정보에 포함된 인증서에 대한 정보를 수신하고, 상기 통신 인터페이스를 통해 상기 전자 장치로 상기 인증서에 대한 정보를 전송할 수 있다.
또한, 상기 프로세서는 상기 인증서에 대한 정보를 상기 전자 장치로 전송한 후, 상기 통신 인터페이스를 통해 상기 전자 장치와 동일한 스펙의 복수의 타 전자 장치로 상기 인증서에 대한 정보를 전송할 수 있다.
한편, 본 개시의 일 실시 예에 따르면, 전자 장치의 제어 방법은 제1 서버로부터 인증서가 수신되면, 상기 전자 장치에 저장된 인증서 번들에 기초하여 상기 인증서를 검증하는 단계, 상기 인증서의 검증에 실패하면 제2 서버로 인증서 사용 정보를 전송하는 단계 및 상기 제2 서버로부터 상기 인증서에 대한 정보가 수신되면, 상기 수신된 인증서에 대한 정보에 기초하여 상기 인증서 번들을 업데이트하는 단계를 포함한다.
또한, 상기 검증하는 단계는 상기 인증서 번들에 상기 인증서의 상위 인증서의 존재 여부, 상기 인증서의 서명 검증 여부, 상기 인증서의 기간 만료 여부 또는 상기 상위 인증서의 기간 만료 여부 중 적어도 하나에 기초하여 상기 인증서를 검증할 수 있다.
그리고, 상기 전자 장치에 설치된 적어도 하나의 어플리케이션 중 하나가 실행되면, 상기 실행된 어플리케이션에 대응되는 상기 제1 서버에 접속하여 상기 인증서를 수신하는 단계를 더 포함할 수 있다.
또한, 상기 인증서 사용 정보는 상기 실행된 어플리케이션에 대한 정보, 서비스 정보, 상기 인증서 또는 검증 실패 원인 중 적어도 하나를 포함할 수 있다.
그리고, 상기 제1 서버로의 접속 정보를 저장하는 단계 및 상기 접속 정보에 기초하여 기설정된 시간마다 상기 제2 서버로 상기 인증서 사용 정보를 전송하는 단계를 더 포함할 수 있다.
또한, 상기 업데이트가 완료되면 상기 전자 장치의 동작 모드를 Soft 액세스 포인트(Access Point) 모드로 변경하는 단계 및 주변 기기로 인증서 갱신 알람을 브로드캐스트하는 단계를 더 포함할 수 있다.
그리고, 상기 주변 기기가 상기 전자 장치에 접속되면 상기 주변 기기로 상기 업데이트된 인증서 번들을 전송하는 단계 및 상기 Soft 액세스 포인트 모드를 종료하는 단계를 더 포함할 수 있다.
또한, 상기 업데이트된 인증서 번들을 전송하는 단계는 상기 접속된 주변 기기가 상기 전자 장치와 동일한 소유자의 기기이면, 상기 주변 기기로 상기 업데이트된 인증서 번들을 전송할 수 있다.
그리고, 상기 인증서가 검증되면 상기 제1 서버로 기설정된 서비스를 요청하는 단계를 더 포함할 수 있다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치는 서비스를 제공받고자 하는 경우 프로비저닝 서버를 통해 실시간으로 인증서를 업데이트하게 되어, 서비스 이용이 차단되는 문제가 해결될 수 있다.
또한, 서버는 인증서 프로비저닝을 수행한 후 전자 장치와 동일한 스펙의 복수의 타 전자 장치로 인증서 프로비저닝을 수행하여, 선제적으로 인증서를 업데이트할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 시스템을 설명하기 위한 블럭도이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 프로비저닝 서버의 구성을 나타내는 블록도이다.
도 4는 본 개시의 일 실시 예에 따른 전자 시스템(1000)을 개략적으로 설명하기 위한 도면이다.
도 5a 내지 도 5d는 본 개시의 일 실시 예에 따른 프로비저닝 동작을 순차적으로 설명하기 위한 도면들이다.
도 6은 본 개시의 일 실시 예에 따른 전자 장치의 인증서 검증 동작을 설명하기 위한 흐름도이다.
도 7a 및 도 7b는 본 개시의 일 실시 예에 따른 프로비저닝 서버의 인증서 검색 및 업데이트 동작을 설명하기 위한 흐름도이다.
도 8a 및 도 8b는 본 개시의 일 실시 예에 따른 인증서 프로비저닝 동작을 설명하기 위한 흐름도이다.
도 9a 및 도 9b는 본 개시의 일 실시 예에 따른 업데이트된 인증서 번들을 주변 기기로 제공하는 동작을 설명하기 위한 흐름도이다.
도 10은 본 개시의 일 실시 예에 따른 수요 예측을 통한 인증서 번들 관리 방법을 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시 예에 따른 수요 예측을 통한 인증서 번들 관리 방법을 설명하기 위한 흐름도이다.
도 12는 본 개시의 일 실시 예에 따른 선제적 인증서 프로비저닝 동작을 설명하기 위한 도면이다.
도 13은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
도 14는 본 개시의 일 실시 예에 따른 프로비저닝 서버의 제어 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공 지능 전자 장치)를 지칭할 수 있다.
이하 첨부된 도면들을 참조하여 본 개시의 다양한 실시 예를 보다 상세하게 설명한다.
도 1은 본 개시의 일 실시 예에 따른 전자 시스템(1000)을 설명하기 위한 블럭도이다. 도 1에 따르면, 전자 시스템(1000)은 전자 장치(100), 프로비저닝 서버(200) 및 서비스 서버(300)를 포함한다.
전자 장치(100)는 인증서 번들에 기초하여 서비스 서버(300)로부터의 서비스를 제공받는 장치로서, TV, 데스크탑 PC, 노트북, 비디오 월(video wall), LFD(large format display), Digital Signage(디지털 간판), DID(Digital Information Display), 프로젝터 디스플레이, DVD(digital video disk) 플레이어, 스마트폰, 태블릿 PC, 모니터, 스마트 안경, 스마트 워치, 셋탑박스(STB), 스피커, 컴퓨터 본체, 서버 등과 같은 장치일 수 있다. 다만, 이에 한정되는 것은 아니며, 전자 장치(100)는 인증서 번들에 기초하여 서비스 서버(300)로부터의 서비스를 제공받을 수 있는 장치라면 어떠한 장치라도 무방하다.
여기서, 인증서 번들은 CA(Certificate Authority) 인증서 번들로도 불리며, 복수의 서비스에 각각 대응되는 복수의 인증서를 포함할 수 있다. 예를 들어, 전자 장치(100)가 A 회사로부터 서비스를 받기 위해서는 A 회사에서 제공하는 인증서가 필요하다. 다만, 이에 한정되는 것은 아니며, 인증서 번들은 복수의 회사에 각각 대응되는 복수의 인증서를 포함하거나 복수의 서비스에 각각 대응되는 복수의 인증서 및 복수의 회사에 각각 대응되는 복수의 인증서를 포함할 수도 있다.
전자 장치(100)는 서비스 서버(300)로부터 인증서를 수신하고, 인증서 번들에 기초하여 인증서를 검증할 수 있다. 전자 장치(100)는 인증서 검증이 완료되면 서비스 서버(300)가 제공하는 서비스를 이용할 수 있고, 인증서 검증이 실패하면 프로비저닝 서버(200)로 인증서 사용 정보를 전송할 수 있다. 그리고, 전자 장치(100)는 프로비저닝 서버(200)를 통해 인증서 번들을 업데이트할 수 있다. 전자 장치(100)는 인증서 번들가 업데이트되면, 서비스 서버(300)로부터 수신된 인증서의 검증이 가능하여 서비스 서버(300)가 제공하는 서비스를 이용할 수 있다.
프로비저닝 서버(200)는 인증서를 관리하는 서버로서, 전자 장치(100)로부터 인증서 사용 정보가 수신되면, 인증서 사용 정보에 대응되는 인증(Certificate Authority, CA) 기관 서버(미도시)로부터 인증서 사용 정보에 포함된 인증서에 대한 정보를 수신하며, 수신된 정보를 전자 장치(100)로 전송할 수 있다. 여기서, 프로비저닝 서버(200)가 전자 장치(100)로 인증서에 대한 정보를 제공하여 인증서 번들을 업데이트하는 동작을 인증서 프로비저닝(provisioning)이라고 한다.
도 1에서는 설명의 편의를 위해 프로비저닝 서버(200)가 전자 장치(100)와 연결된 것으로 도시하였으나, 이에 한정되는 것은 아니다. 예를 들어, 프로비저닝 서버(200)는 전자 장치(100) 뿐만 아니라 복수의 전자 장치를 대상으로 인증서 프로비저닝 동작을 수행할 수 있다. 또한, 인증 기관 서버 역시 회사 별로 또는 서비스 별로 복수일 수 있다.
서비스 서버(300)는 전자 장치(100)로 서비스를 제공하는 장치로서, 전자 장치(100)가 서비스 서버(300)에 접속되면 전자 장치(100)로 인증서를 제공하고, 인증서에 대한 검증이 완료되면 서비스를 제공할 수 있다.
도 1에서는 설명의 편의를 위해 서비스 서버(300)가 하나만이 도시되었으나, 이에 한정되는 것은 아니다. 예를 들어, 서비스 서버(300)는 복수일 수 있고, 회사 별로 구현되거나 서비스 별로 구현될 수도 있다.
이상과 같은 동작을 통해 종래 전자 장치(100)의 사용자가 수동으로 인증서를 업데이트하는 불편을 해소할 수 있다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 나타내는 블록도이다.
전자 장치(100)는 도 2에 도시된 바와 같이, 통신 인터페이스(110), 메모리(120) 및 프로세서(130)를 포함한다.
통신 인터페이스(110)는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 예를 들어, 전자 장치(100)는 통신 인터페이스(110)를 통해 프로비저닝 서버(200) 또는 서비스 서버(300)와 통신을 수행할 수 있다.
통신 인터페이스(110)는 와이파이 모듈, 블루투스 모듈, 적외선 통신 모듈 및 무선 통신 모듈 등을 포함할 수 있다. 여기서, 각 통신 모듈은 적어도 하나의 하드웨어 칩 형태로 구현될 수 있다.
와이파이 모듈, 블루투스 모듈은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행한다. 와이파이 모듈이나 블루투스 모듈을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 적외선 통신 모듈은 시 광선과 밀리미터파 사이에 있는 적외선을 이용하여 근거리에 무선으로 데이터를 전송하는 적외선 통신(IrDA, infrared Data Association)기술에 따라 통신을 수행한다.
무선 통신 모듈은 상술한 통신 방식 이외에 지그비(zigbee), 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 4G(4th Generation), 5G(5th Generation)등과 같은 다양한 무선 통신 규격에 따라 통신을 수행하는 적어도 하나의 통신 칩을 포함할 수 있다.
또는, 통신 인터페이스(110)는 HDMI, DP, 썬더볼트, USB, RGB, D-SUB, DVI 등과 같은 유선 통신 인터페이스를 포함할 수 있다.
그 밖에 통신 인터페이스(110)는 LAN(Local Area Network) 모듈, 이더넷 모듈, 또는 페어 케이블, 동축 케이블 또는 광섬유 케이블 등을 이용하여 통신을 수행하는 유선 통신 모듈 중 적어도 하나를 포함할 수도 있다.
메모리(120)는 프로세서(130) 등이 접근할 수 있도록 데이터 등의 정보를 전기 또는 자기 형태로 저장하는 하드웨어를 지칭할 수 있다. 이를 위해, 메모리(120)는 비휘발성 메모리, 휘발성 메모리, 플래시 메모리(Flash Memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD), RAM, ROM 등 중에서 적어도 하나의 하드웨어로 구현될 수 있다.
메모리(120)에는 전자 장치(100) 또는 프로세서(130)의 동작에 필요한 적어도 하나의 인스트럭션(instruction) 또는 모듈이 저장될 수 있다. 여기서, 인스트럭션은 전자 장치(100) 또는 프로세서(130)의 동작을 지시하는 부호 단위로서, 컴퓨터가 이해할 수 있는 언어인 기계어로 작성된 것일 수 있다. 모듈은 작업 단위의 특정 작업을 수행하는 일련의 인스트럭션의 집합체(instruction set)일 수 있다.
메모리(120)에는 문자, 수, 영상 등을 나타낼 수 있는 비트 또는 바이트 단위의 정보인 데이터가 저장될 수 있다. 예를 들어, 메모리(120)에는 인증서 번들, 주변 기기에 대한 정보, 서비스 모듈 등이 저장될 수 있다. 여기서, 인증서 번들은 인증 기관 서버 또는 프로비저닝 서버(200)로부터 수신된 인증서를 포함할 수 있다.
메모리(120)는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의해 인스트럭션, 모듈 또는 데이터에 대한 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
프로세서(130)는 전자 장치(100)의 동작을 전반적으로 제어한다. 구체적으로, 프로세서(130)는 전자 장치(100)의 각 구성과 연결되어 전자 장치(100)의 동작을 전반적으로 제어할 수 있다. 예를 들어, 프로세서(130)는 통신 인터페이스(110), 메모리(120) 등과 같은 구성과 연결되어 전자 장치(100)의 동작을 제어할 수 있다.
일 실시 예에 따라 프로세서(130)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(130)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
프로세서(130)는 통신 인터페이스(110)를 통해 서비스 서버(300)로부터 인증서가 수신되면, 메모리(120)에 저장된 인증서 번들에 기초하여 인증서를 검증할 수 있다.
예를 들어, 프로세서(130)는 전자 장치(100)에 설치된 적어도 하나의 어플리케이션 중 하나가 실행되면, 실행된 어플리케이션에 대응되는 서비스 서버(300)에 접속하여 인증서를 수신할 수 있다.
다만, 이에 한정되는 것은 아니며, 프로세서(130)는 기설정된 시간 간격으로 서비스 서버(300)에 접속하여 인증서를 수신할 수도 있다. 예를 들어, 프로세서(130)는 서비스 서버(300)로의 접속 정보를 메모리(120)에 저장하고, 접속 정보에 기초하여 기설정된 시간마다 통신 인터페이스(110)를 통해 프로비저닝 서버(200)로 인증서 사용 정보를 전송할 수도 있다.
프로세서(130)는 인증서 번들에 인증서의 상위 인증서의 존재 여부, 인증서의 서명 검증 여부, 인증서의 기간 만료 여부 또는 상위 인증서의 기간 만료 여부 중 적어도 하나에 기초하여 인증서를 검증할 수 있다.
예를 들어, 프로세서(130)는 인증서 번들에 인증서의 상위 인증서가 존재하지 않거나 인증서의 서명이 검증되지 않거나 인증서 또는 상위 인증서가 기간 만료된 경우 인증서의 검증이 실패한 것으로 결정할 수 있다.
프로세서(130)는 인증서의 검증에 실패하면 통신 인터페이스(110)를 통해 프로비저닝 서버(200)로 인증서 사용 정보를 전송할 수 있다. 여기서, 인증서 사용 정보는 실행된 어플리케이션에 대한 정보, 서비스 정보, 인증서 또는 검증 실패 원인 중 적어도 하나를 포함할 수 있다.
프로세서(130)는 통신 인터페이스(110)를 통해 프로비저닝 서버(200)로부터 인증서에 대한 정보가 수신되면, 수신된 인증서에 대한 정보에 기초하여 인증서 번들을 업데이트할 수 있다.
프로세서(130)는 인증서가 검증되면 통신 인터페이스(110)를 통해 서비스 서버(300)로 기설정된 서비스를 요청할 수 있다.
한편, 프로세서(130)는 업데이트가 완료되면 전자 장치(100)의 동작 모드를 Soft 액세스 포인트(Access Point) 모드로 변경하고, 통신 인터페이스(110)를 통해 주변 기기로 인증서 갱신 알람을 브로드캐스트할 수 있다. 여기서, Soft 액세스 포인트는 액세스 포인트의 역할을 하도록 소프트웨어적으로 구현하여 무선 액세스 포인트와 같이 동작하도록 하는 기능이다. 예를 들어, 스마트폰의 핫스팟 기능은 Soft 액세스 포인트로 무선 액세스 포인트와 같이 동작하는 기능이다.
프로세서(130)는 주변 기기가 전자 장치에 접속되면 통신 인터페이스(110)를 통해 주변 기기로 업데이트된 인증서 번들을 전송하고, Soft 액세스 포인트 모드를 종료할 수 있다.
특히, 프로세서(130)는 접속된 주변 기기가 전자 장치(100)와 동일한 소유자의 기기이면, 통신 인터페이스(110)를 통해 주변 기기로 업데이트된 인증서 번들을 전송할 수 있다.
다만, 이에 한정되는 것은 아니며, 프로세서(130)는 접속된 주변 기기가 동일한 네트워크에 속한 기기인 경우, 통신 인터페이스(110)를 통해 주변 기기로 업데이트된 인증서 번들을 전송할 수도 있다.
도 3은 본 개시의 일 실시 예에 따른 프로비저닝 서버(200)의 구성을 나타내는 블록도이다.
프로비저닝 서버(200)는 도 3에 도시된 바와 같이, 통신 인터페이스(210) 및 프로세서(220)를 포함한다.
통신 인터페이스(210)는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 예를 들어, 프로비저닝 서버(200)는 통신 인터페이스(110)를 통해 전자 장치(100), 서비스 서버(300), 인증 기관 데이터베이스(Common Certificate Authority Database, CCADB) 서버 또는 인증 기관 서버와 통신을 수행할 수 있다.
통신 인터페이스(210)는 전자 장치(100)의 통신 인터페이스(110)와 유사한 형태로 구현될 수 있으며, 중복되는 설명은 생략한다.
프로세서(220)는 프로비저닝 서버(200)의 동작을 전반적으로 제어한다. 구체적으로, 프로세서(220)는 프로비저닝 서버(200)의 각 구성과 연결되어 프로비저닝 서버(200)의 동작을 전반적으로 제어할 수 있다. 예를 들어, 프로세서(220)는 통신 인터페이스(210) 등과 같은 구성과 연결되어 프로비저닝 서버(200)의 동작을 제어할 수 있다.
일 실시 예에 따라 프로세서(220)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(220)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
프로세서(220)는 통신 인터페이스(210)를 통해 전자 장치(100)로부터 인증서 사용 정보가 수신되면, 인증 기관 데이터베이스 서버로부터 인증 기관에 대한 정보를 수신하고, 통신 인터페이스(210)를 통해 인증서 사용 정보에 대응되는 인증 기관 서버로부터 인증서 사용 정보에 포함된 인증서에 대한 정보를 수신할 수 있다.
여기서, 인증 기관 데이터베이스 서버는 인증 기관에 대한 정보를 저장한 서버이며, 인증 기관 서버는 각 인증 기관의 인증서가 저장된 서버이다.
프로세서(220)는 통신 인터페이스(210)를 통해 전자 장치(100)로 인증서에 대한 정보를 전송할 수 있다. 즉, 종래 전자 장치(100)의 사용자가 개별적으로 인증서를 업데이트하는 동작을 프로비저닝 서버(200)가 각 인증 기관 서버로부터 인증서를 수신하여 전자 장치(100)로 제공하는 동작으로 변경됨에 따라 사용자 편의성이 향상된다.
프로세서(220)는 인증서에 대한 정보를 전자 장치(100)로 전송한 후, 통신 인터페이스(210)를 통해 전자 장치(100)와 동일한 스펙의 복수의 타 전자 장치로 인증서에 대한 정보를 전송할 수 있다.
예를 들어, A 회사의 서비스를 이용하는 제1 전자 장치 및 제2 전자 장치가 있으며, 제1 전자 장치가 A 회사와 관련된 어플리케이션의 실행에 따라 프로비저닝 서버(200)를 통해 인증서 번들이 업데이트될 수 있다. 이 경우, A 회사와 관련된 어플리케이션이 실행되지 않은 제2 전자 장치는 인증서 번들이 업데이트되지 않은 상태일 수 있다. 다만, 이 경우에도 프로비저닝 서버(200)는 제1 전자 장치로 인증서에 대한 정보를 제공한 동작에 기초하여 제2 전자 장치로 인증서에 대한 정보를 제공하여 선제적으로 제2 전자 장치의 인증서 번들을 업데이트할 수도 있다.
이상에서는 프로비저닝 서버(200)가 전자 장치(100)와 동일한 스펙의 복수의 타 전자 장치로 인증서에 대한 정보를 전송하는 것으로 설명하였으나, 이에 한정되는 것은 아니다. 예를 들어, 프로비저닝 서버(200)는 전자 장치(100)로 제공한 인증서에 대한 정보와 관련된 서비스를 이용하는 복수의 타 전자 장치로 인증서에 대한 정보를 전송할 수도 있다.
이상과 같은 방법을 통해 실시간으로 인증서를 업데이트하여 사용자의 불편을 해소할 수 있다.
이하에서는 도 4 내지 도 12를 통해 전자 시스템(1000)의 동작을 좀더 구체적으로 설명한다. 도 4 내지 도 12에서는 설명의 편의를 위해 개별적인 실시 예에 대하여 설명한다. 다만, 도 4 내지 도 12의 개별적인 실시 예는 얼마든지 조합된 상태로 실시될 수도 있다.
도 4는 본 개시의 일 실시 예에 따른 전자 시스템(1000)을 개략적으로 설명하기 위한 도면이다.
먼저, 복수의 IoT 기기 중 하나의 전자 장치(100)는 어플리케이션이 실행되면 서비스 서버(300)로부터 인증서를 수신할 수 있다. 그리고, 전자 장치(100)는 인증서 검증 모듈을 실행시켜 수신된 인증서를 검증할 수 있다. 전자 장치(100)는 인증서 검증이 실패한 경우, 인증서 프로비저닝 관리 모듈을 실행시켜 인증서 사용 정보를 프로비저닝 서버(200)로 전송할 수 있다.
프로비저닝 서버(200)는 인증서 사용 정보에 대응되는 인증 기관 서버로부터 인증서 사용 정보에 포함된 인증서에 대한 정보를 수신할 수 있다. 또는, 프로비저닝 서버(200)는 인증서 사용 정보에 대응되는 인증 기관에 대한 식별이 불가능한 경우, 인증 기관 데이터베이스 서버로부터 인증 기관에 대한 정보를 수신하고, 인증서 사용 정보에 대응되는 인증 기관 서버로부터 인증서 사용 정보에 포함된 인증서에 대한 정보를 수신할 수도 있다.
다만, 이에 한정되는 것은 아니며, 프로비저닝 서버는 보안 관리자를 통해 수동으로 입력된 인증서를 저장할 수도 있다.
프로비저닝 서버(200)는 전자 장치(100)로 인증서에 대한 정보를 전송하고, 보안 관리자에게 프로비저닝 결과를 통지할 수 있다.
전자 장치(100)는 인증서에 대한 정보에 기초하여 인증서 번들을 업데이트할 수 있다.
그리고, 전자 장치(100)는 주변 기기로 인증서 번들을 제공할 수 있다.
도 5a 내지 도 5d는 본 개시의 일 실시 예에 따른 프로비저닝 동작을 순차적으로 설명하기 위한 도면들이다.
도 5a에서는 설명의 편의를 위하여 전자 장치(100)가 냉장고인 것으로 가정하였다. 전자 장치(100)는 도 5a에 도시된 바와 같이, 서비스 서버(300)에 접속하는 경우, 서비스 서버(300)로부터 인증서를 수신하고, 수신된 인증서를 검증할 수 있다. 전자 장치(100)는 인증서의 검증이 실패한 경우, 인증서 사용 정보를 프로비저닝 서버(200)로 전송할 수 있다. 여기서, 인증서 사용 정보는 실행된 어플리케이션에 대한 정보, 서비스 정보, 인증서 또는 검증 실패 원인 중 적어도 하나를 포함할 수 있다.
프로비저닝 서버(200)는 도 5b에 도시된 바와 같이, 인증서 번들을 저장할 수 있다. 그리고, 프로비저닝 서버(200)는 수신된 인증서 사용 정보에 포함된 인증서의 발급자에 해당하는 상위 인증서를 인증서 번들에서 검색할 수 있다. 이때, 프로비저닝 서버(200)는 인증서 번들에 상위 인증서가 없거나 갱신이 필요한 경우, 인증서에 대응되는 인증 기관 서버에 접속하여 최신 인증서를 수신할 수 있다. 또한, 프로비저닝 서버(200)는 인증 기관 데이터베이스에서 제공하는 인증 기관에 대한 정보에 기초하여 인증서 체인(chain) 내의 하위 인증서를 모두 업데이트할 수 있다.
프로비저닝 서버(200)는 도 5c에 도시된 바와 같이, 전자 장치(100)로 인증서에 대한 정보를 제공할 수 있다. 인증서에 대한 정보는 상위 인증서 또는 하위 인증서 중 적어도 하나를 포함할 수 있다.
전자 장치(100)는 인증서에 대한 정보에 기초하여 전자 장치(100)에 저장된 인증서 번들을 업데이트할 수 있다. 또한, 전자 장치(100)는 업데이트가 완료되면, 서비스 서버(300)로부터 수신된 인증서를 재검증하여 서비스를 이용할 수 있다.
전자 장치(100)는 도 5d에 도시된 바와 같이, 주변 기기로 업데이트된 인증서 번들을 전송할 수 있다. 여기서, 주변 기기는 전자 장치(100)와 기설정된 시간 이상 동일한 네트워크에 연결된 장치일 수 있다.
도 6은 본 개시의 일 실시 예에 따른 전자 장치(100)의 인증서 검증 동작을 설명하기 위한 흐름도이다.
먼저, 전자 장치(100)는 어플리케이션을 통해 서비스 서버(300)에 접속할 수 있다(S610). 그리고, 전자 장치(100)는 서비스 서버(300)로부터 인증서를 수신하고(S620), 검증 모듈을 통해 인증서를 검증할 수 있다(S630).
전자 장치(100)는 인증서 번들에 수신된 인증서의 상위 인증서가 존재하는지 식별하고(S640-1), 존재하지 않는 경우 프로비저닝 모듈을 실행시킬 수 있다(S650). 그리고, 전자 장치(100)는 인증서의 서명 검증을 수행하고(S640-2), 검증되지 않는 경우 프로비저닝 모듈을 실행시킬 수 있다(S650). 그리고, 전자 장치(100)는 인증서의 기간 만료 여부를 식별하고(S640-3), 기간 만료되었다면 프로비저닝 모듈을 실행시킬 수 있다(S650). 그리고, 전자 장치(100)는 상위 인증서의 기간 만료 여부를 식별하고, 기간 만료되었다면 프로비저닝 모듈을 실행시킬 수 있다(S650).
전자 장치(100)는 인증서 번들에 수신된 인증서의 상위 인증서가 존재하고, 인증서의 서명이 검증되며, 인증서 및 상위 인증서의 기간이 만료되기 전인 경우, 서비스 서버(300)와 보안 채널을 형성할 수 있다(S660). 그리고, 전자 장치(100)는 상위 인증서가 기간 만료 1개월 이상인지 식별하고(S670), 1개월 미만이면 프로비저닝 모듈을 실행시키고(S680), 1개월 이상이면 서비스 접속 결과를 어플리케이션에 전달하여(S690), 서비스를 제공할 수 있다.
도 7a 및 도 7b는 본 개시의 일 실시 예에 따른 프로비저닝 서버(200)의 인증서 검색 및 업데이트 동작을 설명하기 위한 흐름도이다. 도 7a 및 도 7b는 프로비저닝 서버(200)가 전자 장치(100)로부터 인증서 사용 정보를 수신한 것을 가정하였다.
먼저, 프로비저닝 서버(200)는 인증서 사용 정보에 포함된 인증서에서 발급자 이름 또는 서명 중 적어도 하나를 추출할 수 있다(S710). 그리고, 프로비저닝 서버(200)는 프로비저닝 서버(200)에 저장된 인증서 번들에서 동일한 발급자의 인증서를 검색할 수 있다(S715).
프로비저닝 서버(200)는 인증서 번들에 인증서가 존재하는지 식별하고(S720-1), 존재하지 않는 경우 인증 기관 데이터베이스 서버에 접속하여 동일 발급자의 인증서 목록을 검색할 수 있다(S730). 그리고, 프로비저닝 서버(200)는 검색된 인증서의 서명 검증을 수행하고(S720-2), 검증되지 않는 경우 인증 기관 데이터베이스 서버에 접속하여 동일 발급자의 인증서 목록을 검색할 수 있다(S730). 그리고, 프로비저닝 서버(200)는 검색된 인증서의 기간 만료 여부를 식별하고(S720-3), 기간 만료되었다면 인증 기관 데이터베이스 서버에 접속하여 동일 발급자의 인증서 목록을 검색할 수 있다(S730). 그리고, 프로비저닝 서버(200)는 검색된 인증서의 기간 만료 1개월 전인지 식별하고, 아니라면 인증 기관 데이터베이스 서버에 접속하여 동일 발급자의 인증서 목록을 검색할 수 있다(S730).
프로비저닝 서버(200)는 인증서 번들에 인증서가 존재하고, 검색된 인증서의 서명이 검증되며, 검색된 인증서의 기간이 만료 전이고, 검색된 인증서의 기간 만료 1개월 전이면, 인증서 번들 내에서 인증서의 검색이 성공한 것으로 결정할 수 있다(S725). 이 경우, 프로비저닝 서버(200)는 검색된 인증서를 인증서에 대한 정보로서 전자 장치(100)로 제공할 수 있다.
프로비저닝 서버(200)는 인증 기관 데이터베이스 서버에 접속하여 동일 발급자의 인증서 목록을 검색하여 유효 인증서가 존재하는지 식별할 수 있다(S735). 프로비저닝 서버(200)는 유효 인증서가 식별되지 않으면, 인증서 검색이 실패인 것으로 결정할 수 있다(S760).
프로비저닝 서버(200)는 유효 인증서가 존재하면 인증서 목록에서 각각 다운로드 URL 리스트를 추출하고(S740), 추출된 URL로 접속하여 인증서를 다운로드할 수 있다(S745). 프로비저닝 서버(200)는 다운로드된 인증서를 순차적으로 검증하고(S750), 다운로드된 인증서에 기초하여 인증서 사용 정보에 포함된 인증서가 검증되지 않으면, 인증서 검색이 실패인 것으로 결정할 수 있다(S760).
프로비저닝 서버(200)는 다운로드된 인증서에 기초하여 인증서 사용 정보에 포함된 인증서가 검증되면, 다운로드된 인증서의 하위 인증서의 유무를 식별하고(S765), 하위 인증서가 있으면 다운로드된 인증서와 하위 인증서를 체인(chain)으로 구성하고(S770), 최종적으로 다운로드된 인증서 또는 인증서 체인을 저장소에 추가할 수 있다(S775).
도 8a 및 도 8b는 본 개시의 일 실시 예에 따른 인증서 프로비저닝 동작을 설명하기 위한 흐름도이다. 도 8a 및 도 8b는 전자 장치(100)가 인증서 검증을 실패한 경우를 가정하였다.
먼저, 전자 장치(100)는 어플리케이션으로부터 인증서 사용 정보를 획득할 수 있다(S810). 여기서, 인증서 사용 정보는 실행된 어플리케이션에 대한 정보, 서비스 정보, 인증서 또는 검증 실패 원인 중 적어도 하나를 포함할 수 있다. 전자 장치(100)는 인증서 사용 정보가 획득되면, 프로비저닝 서버(200)로 접속할 수 있다(S815, S820).
프로비저닝 서버(200)는 전자 장치(100)의 접속 요청이 수신되면(S825), 전자 장치(100)로 프로비저닝 서버 인증서를 전송하고(S830, S835), 보안 채널을 수립할 수 있다(S831).
전자 장치(100)는 프로비저닝 서버 인증서를 다운로드하고(S840), 프로비저닝 서버 인증서를 검증하며(S845), 검증이 실패하면 서버 접속을 종료하고(S894), 검증이 성공하면 보안 채널을 수립할 수 있다(S850).
전자 장치(100)는 보안 채널이 수립되면, 인증서 사용 정보를 프로비저닝 서버(200)로 전송할 수 있다(S855, S860).
프로비저닝 서버(200)는 인증서 사용 정보가 수신되면(S865), 인증서 사용 정보에서 데이터를 추출하여 히스토리 데이터베이스에 저장할 수 있다(S870). 그리고, 프로비저닝 서버(200)는 인증서 사용 정보에 포함된 서비스 서버(300)의 인증서의 상위 인증서를 프로비저닝 서버(200)에 저장된 인증서 번들에서 검색할 수 있다(S875).
프로비저닝 서버(200)는 상위 인증서의 프로비저닝이 필요한지 식별하고, 불필요한 경우 종료하고, 필요한 경우 상위 인증서를 포함시켜 인증서 사용 정보에 대한 응답을 제공할 수 있다(S885, S890).
전자 장치(100)는 응답이 수신되면(S891), 상위 인증서와 서비스 서버(300)의 인증서의 서명을 검증하고(S892), 상위 인증서 수신 결과를 어플리케이션에 통지한(S893) 후, 서버 접속을 종료할 수 있다(S894).
도 9a 및 도 9b는 본 개시의 일 실시 예에 따른 업데이트된 인증서 번들을 주변 기기로 제공하는 동작을 설명하기 위한 흐름도이다. 도 9a 및 도 9b는 전자 장치(100)가 프로비저닝 서버(200)를 통해 인증서 번들을 업데이트한 후를 가정하였다.
먼저, 전자 장치(100)는 프로비저닝 서버(200)에서 수신된 인증서에 대한 정보의 수신이 완료되면(S910), 기설정된 시간 동안 전자 장치(100)의 동작 모드를 Soft 액세스 포인트(Access Point) 모드로 전환할 수 있다(S915).
그리고, 전자 장치(100)는 주변 기기로 인증서 갱신 알람을 브로드캐스트할 수 있다(S920). 이때, 전자 장치(100)는 인증서 번들 서명값을 포함한 인증서 갱신 알람을 브로드캐스트할 수 있다(S925).
주변 기기는 주기적으로 인증서 갱신 알람을 스캔하고(S930), 인증서 갱신 알람이 수신되면(S935-Y), 인증서 번들 서명값을 추출하고(S940), 주변 기기에 저장된 인증서 번들과 서명값을 비교할 수 있다(S945).
주변 기기는 인증서 번들의 동기화가 필요한지 식별하고(S950), 불필요하면 종료하고, 필요하면 Soft 액세스 포인트에 접속 및 보안 채널을 수립할 수 있다(S955, S960).
전자 장치(100)는 기설정된 시간이 만료되면(S926-N) Soft 액세스 포인트 모드를 종료하고, 기설정된 시간이 만료되기 전에(S926-Y) 인증서 동기화 요청이 수신되면(S927-Y) 보안 채널을 수립할 수 있다(S965).
주변 기기는 사용자 정보 해쉬(hash)를 포함하는 인증서 동기화 요청을 전자 장치(100)로 전송하고(S956, S957), 전자 장치(100)는 주변 기기의 인증서 동기화 요청에 따라 주변 기기가 댁내 기기임을 확인할 수 있다(S970).
전자 장치(100)는 인증서 동기화 요청 응답에 인증서 번들을 포함하여 주변 기기로 전달하고(S975, S976), 주변 기기는 인증서 동기화 요청 응답이 수신되면(S980), 주변 기기의 저장소에 인증서 번들 파일을 저장할 수 있다(S985).
이상과 같은 동작을 통해 주변 기기의 인증서 번들을 업데이트할 수 있어 사용자 편의성이 향상될 수 있다.
한편, 도 6 내지 9b는 설명의 편의를 위해 각 동작을 전자 장치(100) 또는 프로비저닝 서버(200)의 동작으로 기재하였다. 다만, 이에 한정되는 것은 아니며, 각 동작은 전자 장치(100)의 프로세서(130) 또는 프로비저닝 서버(200)의 프로세서(210)의 동작일 수 있다.
도 10은 본 개시의 일 실시 예에 따른 수요 예측을 통한 인증서 번들 관리 방법을 설명하기 위한 도면이다.
프로비저닝 서버(200)는 복수의 전자 장치로부터 인증서 사용 정보를 수신할 수 있다. 여기서, 인증서 사용 정보는 기기 정보, 이벤트 발생 시간, 인증서 또는 인증서 알람 코드 중 적어도 하나를 포함할 수 있다. 기기 정보는 기기 고유 ID, 어플리케이션 명칭 또는 서비스 명칭 중 적어도 하나를 포함하고, 인증서는 발급자 명칭, 만료 기간, SHA256-Hash, 상위 인증 기관 명칭 또는 서명값 중 적어도 하나를 포함하며, 인증서 알람 코드는 NotExistCA, AuthFail, Expired 또는 ToBeExpired 중 적어도 하나를 포함할 수 있다.
프로비저닝 서버(200)는 실시간 입력 데이터 기반 인증서 수요 예측 또는 누적 이력 데이터 기반 인증서 수요 예측을 수행할 수 있다.
예를 들어, 프로비저닝 서버(200)는 시계열 분석을 통해 실시간 알람 트렌드를 분석할 수 있다. 가령, 프로비저닝 서버(200)는 인증서 알람 코드 별로 모델을 정의한 후, 어플리케이션/서비스 별로 실시간 발생 건수를 추적하여 알람이 급증하는 시점을 예측할 수 있다. 그리고, 프로비저닝 서버(200)는 사전 설정한 IFTTT 형태의 Rule 기반으로 특정 어플리케이션/서비스의 알람 상태가 조건을 만족하는 경우, 기설정된 Action을 수행할 수 있다.
또는, 프로비저닝 서버(200)는 인증서 알람 코드 별로 모델을 정의한 후, 어플리케이션/서비스 별로 알람 발생 건수를 누적하여 알람이 필요한 서비스를 예측하고, 사전 설정한 IFTTT 형태의 Rule 기반으로 특정 어플리케이션/서비스의 알람 상태가 조건을 만족하는 경우, 기설정된 Action을 수행할 수도 있다.
프로비저닝 서버(200)는 예측 결과를 관리자에게 통지할 수 있고, 인증서 관리 동작을 수행할 수 있다. 예를 들어, 프로비저닝 서버(200)는 예측 결과에 기초하여 인증서의 폐기, 재발급 또는 추가 중 적어도 하나의 동작을 수행하여, 비신뢰 인증서를 제거하거나 기존의 인증서를 갱신할 수 있다. 또는, 프로비저닝 서버(200)는 예방적 인증서 프로비저닝을 수행할 수도 있다. 예를 들어, 프로비저닝 서버(200)는 아직 알람이 발생하지 않은 전자 장치의 어플리케이셔에 대하여도 서비스의 중요도에 기초하여 프로비저닝을 수행할 수도 있다.
도 11은 본 개시의 일 실시 예에 따른 수요 예측을 통한 인증서 번들 관리 방법을 설명하기 위한 흐름도이다.
전자 장치(100)는 인증서 사용 알람 리포트를 프로비저닝 서버(200)로 전송할 수 있다(S1110).
프로비저닝 서버(200)는 실시간 데이터 스트림 및 누적 알람 히스토리 데이터를 분석하여(S1120), 서비스 별로 알람 발생 건수 시계열 모델을 업데이트하고(S1130), 알람이 급증하는 트렌드를 분석할 수 있다(S1140).
프로비저닝 서버(200)는 알람 Noti Rule(IFTTT)에서 매칭되는 Rule을 검색하고(S1150), 검색된 Rule에 정의된 인증서 관리 Action을 수행할 수 있다(S1160).
그에 따라, 프로비저닝 서버(200)는 전자 장치(100)에 대하여 인증서 프로비저닝을 수행하고(S1165), Noti. Payload를 구성하여(S1170), 인증서 알람 발생에 대한 정보를 보안 관리자에게 통지할 수 있다(S1171). 인증서 알람 발생에 대한 정보는 알람 발생 시간, 알람 발생 건수, 알람 발생 기기 수, 어플리케이션/서비스, 알람 reason code, 알림 Noti IFTTT Rule ID, 조치 내역 또는 인증서 정보 중 적어도 하나를 포함할 수 있다. 조치 내역은 인증서 폐기, 재발급 또는 수정 중 적어도 하나를 포함하고, 인증서 정보는 발급자명 또는 만료 기간 중 적어도 하나를 포함할 수 있다.
전자 장치(100)는 인증서 프로비저닝에 따라 인증서 번들을 업데이트하고(S1175), 보안 관리자는 인증서 알람 발생 Noti.에 따라 인증서 알람 발생 Noti.를 확인하고(S1180), 적절할 조치를 취할 수 있다.
도 12는 본 개시의 일 실시 예에 따른 선제적 인증서 프로비저닝 동작을 설명하기 위한 도면이다.
제1 전자 장치는 어플리케이션 1을 실행하여 서비스 A 서버로부터 인증서를 수신한 후, 서비스 A 인증서 사용 알람을 프로비저닝 서버(200)로 전송할 수 있다. 프로비저닝 서버(200)는 서비스 A 인증서를 제1 전자 장치로 전송할 수 있다.
이후, 제2 전자 장치는 어플리케이션 1을 실행하여 서비스 B 서버로부터 인증서를 수신한 후, 서비스 B 인증서 사용 알람을 프로비저닝 서버(200)로 전송할 수 있다. 프로비저닝 서버(200)는 서비스 B 인증서를 제2 전자 장치로 전송하며, 서비스 A 인증서를 추가로 제2 전자 장치로 제공할 수 있다.
즉, 프로비저닝 서버(200)는 제2 전자 장치의 사용 알람과 무관한 인증서를 제2 전자 장치로 제공할 수도 있다. 이때, 프로비저닝 서버(200)는 제2 전자 장치가 서비스 A를 이용한 이력에 기초하여 서비스 A 인증서를 제2 전자 장치로 제공할 수 있다.
도 13은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
먼저, 제1 서버로부터 인증서가 수신되면, 전자 장치에 저장된 인증서 번들에 기초하여 인증서를 검증한다(S1310). 그리고, 인증서의 검증에 실패하면 제2 서버로 인증서 사용 정보를 전송한다(S1320). 그리고, 제2 서버로부터 인증서에 대한 정보가 수신되면, 수신된 인증서에 대한 정보에 기초하여 인증서 번들을 업데이트한다(S1330).
여기서, 검증하는 단계(S1310)는 인증서 번들에 인증서의 상위 인증서의 존재 여부, 인증서의 서명 검증 여부, 인증서의 기간 만료 여부 또는 상위 인증서의 기간 만료 여부 중 적어도 하나에 기초하여 인증서를 검증할 수 있다.
한편, 전자 장치에 설치된 적어도 하나의 어플리케이션 중 하나가 실행되면, 실행된 어플리케이션에 대응되는 제1 서버에 접속하여 인증서를 수신하는 단계를 더 포함할 수 있다.
여기서, 인증서 사용 정보는 실행된 어플리케이션에 대한 정보, 서비스 정보, 인증서 또는 검증 실패 원인 중 적어도 하나를 포함할 수 있다.
한편, 제1 서버로의 접속 정보를 저장하는 단계 및 접속 정보에 기초하여 기설정된 시간마다 제2 서버로 인증서 사용 정보를 전송하는 단계를 더 포함할 수 있다.
그리고, 업데이트가 완료되면 전자 장치의 동작 모드를 Soft 액세스 포인트(Access Point) 모드로 변경하는 단계 및 주변 기기로 인증서 갱신 알람을 브로드캐스트하는 단계를 더 포함할 수 있다.
여기서, 주변 기기가 전자 장치에 접속되면 주변 기기로 업데이트된 인증서 번들을 전송하는 단계 및 Soft 액세스 포인트 모드를 종료하는 단계를 더 포함할 수 있다.
또한, 업데이트된 인증서 번들을 전송하는 단계는 접속된 주변 기기가 전자 장치와 동일한 소유자의 기기이면, 주변 기기로 업데이트된 인증서 번들을 전송할 수 있다.
한편, 인증서가 검증되면 제1 서버로 기설정된 서비스를 요청하는 단계를 더 포함할 수 있다.
도 14는 본 개시의 일 실시 예에 따른 프로비저닝 서버의 제어 방법을 설명하기 위한 흐름도이다.
먼저, 전자 장치로부터 인증서 사용 정보가 수신되면, 타 서버로부터 인증 기관에 대한 정보를 수신한다(S1410). 그리고, 인증서 사용 정보에 대응되는 인증 기관 서버로부터 인증서 사용 정보에 포함된 인증서에 대한 정보를 수신한다(S1420). 그리고, 전자 장치로 인증서에 대한 정보를 전송한다(S1430).
여기서, 인증서에 대한 정보를 전자 장치로 전송한 후, 통신 인터페이스를 통해 전자 장치와 동일한 스펙의 복수의 타 전자 장치로 인증서에 대한 정보를 전송하는 단계를 더 포함할 수 있다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치는 서비스를 제공받고자 하는 경우 프로비저닝 서버를 통해 실시간으로 인증서를 업데이트하게 되어, 서비스 이용이 차단되는 문제가 해결될 수 있다.
또한, 서버는 인증서 프로비저닝을 수행한 후 전자 장치와 동일한 스펙의 복수의 타 전자 장치로 인증서 프로비저닝을 수행하여, 선제적으로 인증서를 업데이트할 수 있다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 다양한 실시 예들에 따른 기기의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 기기에서의 처리 동작을 특정 기기가 수행하도록 한다. 비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (15)

  1. 전자 장치에 있어서,
    통신 인터페이스;
    메모리; 및
    상기 통신 인터페이스 및 상기 메모리와 연결되어 상기 전자 장치를 제어하는 프로세서;를 포함하며,
    상기 프로세서는,
    상기 통신 인터페이스를 통해 제1 서버로부터 인증서가 수신되면, 상기 메모리에 저장된 인증서 번들에 기초하여 상기 인증서를 검증하고,
    상기 인증서의 검증에 실패하면 상기 통신 인터페이스를 통해 제2 서버로 인증서 사용 정보를 전송하며,
    상기 통신 인터페이스를 통해 상기 제2 서버로부터 상기 인증서에 대한 정보가 수신되면, 상기 수신된 인증서에 대한 정보에 기초하여 상기 인증서 번들을 업데이트하는, 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 인증서 번들에 상기 인증서의 상위 인증서의 존재 여부, 상기 인증서의 서명 검증 여부, 상기 인증서의 기간 만료 여부 또는 상기 상위 인증서의 기간 만료 여부 중 적어도 하나에 기초하여 상기 인증서를 검증하는, 전자 장치.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 전자 장치에 설치된 적어도 하나의 어플리케이션 중 하나가 실행되면, 상기 실행된 어플리케이션에 대응되는 상기 제1 서버에 접속하여 상기 인증서를 수신하는, 전자 장치.
  4. 제3항에 있어서,
    상기 인증서 사용 정보는,
    상기 실행된 어플리케이션에 대한 정보, 서비스 정보, 상기 인증서 또는 검증 실패 원인 중 적어도 하나를 포함하는, 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 서버로의 접속 정보를 상기 메모리에 저장하고,
    상기 접속 정보에 기초하여 기설정된 시간마다 상기 통신 인터페이스를 통해 상기 제2 서버로 상기 인증서 사용 정보를 전송하는, 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 업데이트가 완료되면 상기 전자 장치의 동작 모드를 Soft 액세스 포인트(Access Point) 모드로 변경하고,
    상기 통신 인터페이스를 통해 주변 기기로 인증서 갱신 알람을 브로드캐스트하는, 전자 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 주변 기기가 상기 전자 장치에 접속되면 상기 통신 인터페이스를 통해 상기 주변 기기로 상기 업데이트된 인증서 번들을 전송하고,
    상기 Soft 액세스 포인트 모드를 종료하는, 전자 장치.
  8. 제7항에 있어서,
    상기 프로세서는,
    상기 접속된 주변 기기가 상기 전자 장치와 동일한 소유자의 기기이면, 상기 통신 인터페이스를 통해 상기 주변 기기로 상기 업데이트된 인증서 번들을 전송하는, 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 인증서가 검증되면 상기 통신 인터페이스를 통해 상기 제1 서버로 기설정된 서비스를 요청하는, 전자 장치.
  10. 전자 장치의 제어 방법에 있어서,
    제1 서버로부터 인증서가 수신되면, 상기 전자 장치에 저장된 인증서 번들에 기초하여 상기 인증서를 검증하는 단계;
    상기 인증서의 검증에 실패하면 제2 서버로 인증서 사용 정보를 전송하는 단계; 및
    상기 제2 서버로부터 상기 인증서에 대한 정보가 수신되면, 상기 수신된 인증서에 대한 정보에 기초하여 상기 인증서 번들을 업데이트하는 단계;를 포함하는, 제어 방법.
  11. 제10항에 있어서,
    상기 검증하는 단계는,
    상기 인증서 번들에 상기 인증서의 상위 인증서의 존재 여부, 상기 인증서의 서명 검증 여부, 상기 인증서의 기간 만료 여부 또는 상기 상위 인증서의 기간 만료 여부 중 적어도 하나에 기초하여 상기 인증서를 검증하는, 제어 방법.
  12. 제10항에 있어서,
    상기 전자 장치에 설치된 적어도 하나의 어플리케이션 중 하나가 실행되면, 상기 실행된 어플리케이션에 대응되는 상기 제1 서버에 접속하여 상기 인증서를 수신하는 단계;를 더 포함하는, 제어 방법.
  13. 제12항에 있어서,
    상기 인증서 사용 정보는,
    상기 실행된 어플리케이션에 대한 정보, 서비스 정보, 상기 인증서 또는 검증 실패 원인 중 적어도 하나를 포함하는, 제어 방법.
  14. 제10항에 있어서,
    상기 제1 서버로의 접속 정보를 저장하는 단계; 및
    상기 접속 정보에 기초하여 기설정된 시간마다 상기 제2 서버로 상기 인증서 사용 정보를 전송하는 단계;를 더 포함하는, 제어 방법.
  15. 제10항에 있어서,
    상기 업데이트가 완료되면 상기 전자 장치의 동작 모드를 Soft 액세스 포인트(Access Point) 모드로 변경하는 단계; 및
    주변 기기로 인증서 갱신 알람을 브로드캐스트하는 단계;를 더 포함하는, 제어 방법.
PCT/KR2021/020283 2021-02-23 2021-12-30 전자 장치, 그 제어 방법 및 서버 WO2022181963A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0024327 2021-02-23
KR1020210024327A KR20220120338A (ko) 2021-02-23 2021-02-23 전자 장치, 그 제어 방법 및 서버

Publications (1)

Publication Number Publication Date
WO2022181963A1 true WO2022181963A1 (ko) 2022-09-01

Family

ID=83048307

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/020283 WO2022181963A1 (ko) 2021-02-23 2021-12-30 전자 장치, 그 제어 방법 및 서버

Country Status (2)

Country Link
KR (1) KR20220120338A (ko)
WO (1) WO2022181963A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001197054A (ja) * 2000-01-06 2001-07-19 Mitsubishi Electric Systemware Corp 認証書管理装置及び認証書管理方法及びコンピュータ読み取り可能な記録媒体
KR101878314B1 (ko) * 2018-02-12 2018-07-16 (주)케이사인 사물 인터넷 네트워크의 사용자 인증 시스템 및 방법
KR20180086934A (ko) * 2017-01-24 2018-08-01 건국대학교 산학협력단 차량의 인증서 생성 방법 및 장치
KR20190115515A (ko) * 2018-03-16 2019-10-14 주식회사 아도스 Pki 기반의 사물인터넷 기기 인증방법 및 인증시스템
KR20190135001A (ko) * 2017-04-13 2019-12-05 암, 리미티드 감소된 대역폭 핸드셰이크 통신

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001197054A (ja) * 2000-01-06 2001-07-19 Mitsubishi Electric Systemware Corp 認証書管理装置及び認証書管理方法及びコンピュータ読み取り可能な記録媒体
KR20180086934A (ko) * 2017-01-24 2018-08-01 건국대학교 산학협력단 차량의 인증서 생성 방법 및 장치
KR20190135001A (ko) * 2017-04-13 2019-12-05 암, 리미티드 감소된 대역폭 핸드셰이크 통신
KR101878314B1 (ko) * 2018-02-12 2018-07-16 (주)케이사인 사물 인터넷 네트워크의 사용자 인증 시스템 및 방법
KR20190115515A (ko) * 2018-03-16 2019-10-14 주식회사 아도스 Pki 기반의 사물인터넷 기기 인증방법 및 인증시스템

Also Published As

Publication number Publication date
KR20220120338A (ko) 2022-08-30

Similar Documents

Publication Publication Date Title
WO2014030889A1 (en) Method and apparatus for sharing content
WO2014007516A1 (ko) 단일 인증 서비스 시스템 및 이의 운용 방법
WO2014007502A1 (en) Display apparatus, interactive system, and response information providing method
WO2019074260A1 (en) REMOTE CONTROL, DISPLAY APPARATUS, SYSTEM AND METHOD FOR CONTROLLING THE SAME
EP3304942A1 (en) Method and apparatus for sharing application
WO2013065915A1 (ko) 보안 영역과 비보안 영역 사이의 보안 연동 방법 및 보안 어플리케이션 다운로드 관리방법, 관리서버, 단말기, 및 이를 적용한 관리시스템
WO2015041436A1 (en) Method of managing control right, client device therefor, and master device therefor
WO2016200018A1 (en) Method and apparatus for sharing application
WO2016068654A1 (en) User terminal apparatus, electronic apparatus, system and controlling method thereof
WO2017090931A1 (ko) 이벤트 관리 서비스를 제공하는 전자 장치 및 방법
WO2021012481A1 (zh) 系统性能监控方法、装置、设备及存储介质
WO2020226289A1 (en) Electronic apparatus, user terminal, and method of controlling the electronic apparatus and the user terminal
WO2019135553A1 (en) Electronic device, control method thereof, and computer readable recording medium
WO2015005744A1 (ko) 디나이얼 발생시 대응 메뉴얼을 제안하는 전자 장치 및 방법
WO2013129804A1 (ko) 무선 네트워크 부하 저감 정책 분석 방법 및 시스템과 기록매체
WO2020122368A1 (ko) 보안단말기를 이용한 저장장치의 데이터 보안 관리 시스템 및 방법
WO2019139421A1 (en) User terminal device, electronic device, system comprising the same and control method thereof
WO2019182342A1 (ko) 무선랜 서비스를 사용하는 기기의 인증 방법 및 장치
WO2022181963A1 (ko) 전자 장치, 그 제어 방법 및 서버
WO2013122362A1 (ko) 무선 네트워크 부하 저감 정책 운영 방법 및 시스템과 기록매체
WO2020166855A1 (en) Electronic device and control method thereof
WO2019093658A1 (ko) 서버, 전자장치 및 그의 제어방법
WO2019112332A1 (en) Electronic apparatus and control method thereof
WO2017099338A1 (ko) 사용자 단말 장치 및 그 제어 방법
WO2015076476A1 (en) Server, user terminal apparatus, and method for providing streaming data service

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: 21928255

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21928255

Country of ref document: EP

Kind code of ref document: A1