WO2019124826A1 - 펌웨어를 업데이트하는 인터페이스 장치, 모바일 장치 및 펌웨어 업데이트 방법 - Google Patents
펌웨어를 업데이트하는 인터페이스 장치, 모바일 장치 및 펌웨어 업데이트 방법 Download PDFInfo
- Publication number
- WO2019124826A1 WO2019124826A1 PCT/KR2018/015291 KR2018015291W WO2019124826A1 WO 2019124826 A1 WO2019124826 A1 WO 2019124826A1 KR 2018015291 W KR2018015291 W KR 2018015291W WO 2019124826 A1 WO2019124826 A1 WO 2019124826A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- firmware
- interface device
- firmware update
- processor
- update data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Definitions
- the embodiments disclosed herein relate to techniques for updating the firmware of an interface device.
- An interface device for outputting a screen rendered by a mobile device to an external display device has been developed in order to increase the utilization of the mobile device.
- Such an interface device can improve the usability of a mobile device, including a USB port, a wired LAN port, a power port, and an audio port, as well as a port for screen output.
- the interface device may include a plurality of integrated circuits (ICs) for providing various functions.
- ICs integrated circuits
- Such an interface device does not support firmware update for the IC, so there is a problem in that there is a limitation in function enhancement and security.
- the interface device does not support the activation function, so that a counterfeit product can be manufactured.
- the various embodiments of the present invention are intended to enhance the security and security of the interface device by not only enabling activation of the interface device but also verifying the integrity of the firmware update data.
- An interface device in connection with an external mobile device includes a connector, at least one integrated circuit (IC), a memory for storing firmware and instructions for the at least one IC, Wherein the processor is operable to execute the instructions to provide identification data of the interface device including data associated with the firmware to the connector when connected to the external mobile device via the connector, To the external mobile device via the connector, receives firmware update data for the at least one IC corresponding to the identification data from the external mobile device via the connector, verifies the integrity of the firmware update data, , remind If the firmware update data integrity, it is possible to use the firmware update data for updating the firmware stored in the memory.
- IC integrated circuit
- an electronic device includes a connector, a wireless communication circuit, a memory for storing instructions, and at least one processor configured to execute the stored instructions, the processor executing the instructions
- the identification data of the external interface device including data related to firmware associated with at least one IC included in the external interface device from the external interface device via the connector when the external interface device is connected to the external interface device via the connector Determining whether the external interface device satisfies a specified condition based on the identification data, and when the external interface device satisfies a specified condition, determining whether the at least one I C to the external server via the wireless communication circuit, receive firmware update data associated with the at least one IC from the external server via the wireless communication circuit, receive the firmware update data associated with the received at least one IC
- the firmware update data for the external interface device can be transmitted to the external interface device through the connector.
- the firmware update method of an interface device may further comprise the steps of, when being connected to an external mobile device, transmitting identification data of the interface device including data related to firmware associated with at least one IC to an external mobile device Receiving firmware update data corresponding to the identification data from the external mobile device and for the at least one IC; verifying the integrity of the firmware update data; and if the firmware update data is integrity And updating the firmware associated with the at least one IC stored in the memory using the firmware update data.
- the integrity of the firmware data to be installed in the interface device can be verified to improve the safety of the interface device.
- FIG. 1 shows a block diagram of an interface device according to an embodiment.
- FIG. 2 is a block diagram illustrating the physical configuration of an interface device according to one embodiment.
- FIG. 3 shows a block diagram of a mobile device according to one embodiment.
- FIG. 4 is a block diagram illustrating a software module of a mobile device and an interface device in accordance with one embodiment.
- FIG. 5 is a flowchart illustrating a firmware update method of an interface apparatus according to an exemplary embodiment of the present invention.
- FIG. 6 is a flowchart illustrating a firmware update method of an interface device that does not support a security function according to an exemplary embodiment.
- FIG. 7 is a diagram illustrating that an interface device, a mobile device, and an external server that support a security function according to an embodiment update the firmware of the interface device.
- FIG. 8 is a diagram illustrating that the interface device according to an embodiment updates firmware when a specified event occurs.
- FIG. 9 is a diagram illustrating that an interface device, a mobile device, and an external server that do not support the security function according to the embodiment update the firmware of the interface device.
- FIG. 10 is a flowchart illustrating a method of updating firmware by an interface device according to an embodiment.
- 11 is a block diagram of an electronic device in a network environment for updating firmware in accordance with various embodiments.
- FIG. 1 shows a block diagram of an interface device according to an embodiment.
- the interface device may include a connector 110, a memory 120, at least one integrated circuit (IC) 130, a processor 140, and the like.
- the interface device may further comprise a configuration not shown in Fig.
- the interface device may further include a port (e.g., an HDMI port, an RJ45 port, a USB port, etc.) for connection with an external accessory device or an external electronic device.
- the connector 110 may connect the interface device with an external mobile device.
- the connector 110 may be, for example, a USB-C type connector 110, a micro 5 pin connector 110, a lightning connector 110, or the like.
- the memory 120 may store firmware for the at least one IC 130 and instructions executed by the processor 140.
- the firmware may be a microprogram that controls at least one IC 130. [ According to one embodiment, the firmware stored in the memory 120 may be updated
- At least one IC 130 may perform operations corresponding to each function to provide the functionality of the interface device.
- at least one IC 130 may include at least one of a DP to HDMI IC, a USB codec IC, a LAN IC, an upstream power delivery IC (IC), or a downstream power delivery IC .
- at least one IC 130 may perform operations in accordance with the firmware stored in memory 120.
- the processor 140 may control the overall operation of the interface device. According to one embodiment, the processor 140 may transmit the identification data of the interface device to the external mobile device via the connector 110. [ According to one embodiment, the processor 140 may verify the integrity (e.g., falsification or tampering) of the received firmware update data. According to one embodiment, the processor 140 may update the firmware stored in the memory 120 using firmware update data.
- FIG. 2 is a block diagram illustrating the physical configuration of an interface device according to one embodiment.
- the interface device 200 includes a connector 210 (e.g., the connector 110 of FIG. 1), a USB hub 220, a plurality of ICs 231-235 A plurality of ports 241-245 and a processor 250 (e.g., processor 140 of FIG. 1).
- the connector 210 may connect the interface device 200 with an external mobile device. According to one embodiment, connector 210 may be coupled to a connector of an external mobile device.
- the USB hub 220 may extend one USB port 244 to allow more ports to be used for device connection. According to one embodiment, the USB hub 220 may be coupled between the connector 210 and the plurality of ICs to allow a plurality of ICs to communicate with the external mobile device. According to one embodiment, the USB hub 220 may be coupled to another USB hub 220 to further extend the USB port 244.
- the plurality of ICs may include a DP to HDMI IC 231, a USB codec IC 232, a LAN IC 233, an upstream PD IC 234, and a downstream PD IC 235.
- the DP to HDMI IC 231 can mirror a screen output by an external mobile device connected through the connector 210.
- the DP to HDMI IC 231 can convert a signal output from the external mobile device into a signal for outputting to a high definition multimedia interface (HDMI) port 241.
- HDMI high definition multimedia interface
- the USB codec IC 232 may convert the audio data output from the external mobile device connected through the connector 210 into an analog audio signal and output the audio data to the audio port 242. According to one embodiment, the USB codec IC 232 can convert an audio signal input to the audio port 242 into audio data and output it to an external mobile device.
- the LAN IC 233 can support communication between the wired LAN and the USB.
- one end of the LAN IC 233 may be connected to the connector 210 or the USB hub 220, and the other end may be connected to the RJ45 port 243.
- data in the USB format can be converted into data for Ethernet communication, or the inverse conversion can be performed.
- an external mobile device connected to the connector 210 may use the wired Internet through the LAN IC 233 and the RJ45 port 243.
- the upstream PD IC 234 may communicate with an external mobile device connected via the connector 210.
- the upstream PD IC 234 may transmit the identification data of the interface device 200 to the external mobile device via the connector 210 under the control of the processor 250.
- the upstream PD IC 234 may receive firmware update data from an external mobile device.
- the upstream PD IC 234 may use the received firmware update data to update the firmware update for the IC stored in the memory.
- the downstream PD IC 235 can control the power supply of the interface device 200.
- the plurality of ports may include an HDMI port 241, an audio port 242, an RJ45 port 243, a USB port 244 and a power port 245.
- the HDMI port 241 can be connected to an external display device via an HDMI cable.
- the HDMI port 241 can transmit a signal output from the DP to HDMI IC 231 to an external display device.
- the audio port 242 may accommodate an audio plug (e.g., a 3.5 pi plug) or the like. According to one embodiment, the audio port 242 may transmit an audio signal output by the USB codec IC 232 to an external audio output device. According to an exemplary embodiment, the audio signal input from the external audio input device may be transmitted to the USB codec IC 232.
- an audio plug e.g., a 3.5 pi plug
- the audio port 242 may transmit an audio signal output by the USB codec IC 232 to an external audio output device. According to an exemplary embodiment, the audio signal input from the external audio input device may be transmitted to the USB codec IC 232.
- the RJ45 port 243 is a port to which a LAN cable can be connected.
- the USB port 244 is a port to which an external device (such as a USB memory or an external electronic device) can be connected.
- the power port 245 may communicate the power supplied from the external power supply to the interface device 200.
- the power supplied through the power port 245 may be controlled by the downstream PD IC 235.
- the processor 250 may control the overall operation of the interface device 200. According to one embodiment, the processor 250 may operate as a secure element within the interface device 200. According to various embodiments, the processor 250 may be implemented in an IC.
- FIG. 3 shows a block diagram of a mobile device according to one embodiment.
- the mobile device may include a connector 310, a touch screen display 320, a wireless communication circuit 330, a memory 340, and a processor 350.
- the connector 310 may be a connection port for connecting the mobile device with the external interface device.
- the connector 310 may be, for example, a USB-C type connector 310, a micro 5 pin connector 310, a lightning connector 310, or the like.
- the touch screen display 320 may output an execution screen of an application (e.g., a quick charge UI or an execution screen related to firmware update).
- an application e.g., a quick charge UI or an execution screen related to firmware update.
- the touch screen display 320 may be implemented with a touch panel to receive touch input from a user.
- the wireless communication circuit 330 may allow the mobile device to communicate wirelessly with an external server, external device, or the like.
- Memory 340 may store instructions that are executed by processor 350. According to one embodiment, the memory 340 may further store an application program for controlling the interface device.
- the processor 350 may control the overall operation of the mobile device. According to one embodiment, the processor 350 may use the identification data received from the interface device to determine whether the interface device meets the specified condition. For example, the processor 350 may verify whether the interface device is genuine. According to one embodiment, the processor 350 may determine whether to support the security features of the interface device based on the identification data received from the interface device. In one embodiment, the processor 350 may request firmware update data depending on whether the interface device supports the security function, to the external server.
- FIG. 4 is a block diagram illustrating a software module of a mobile device and an interface device in accordance with one embodiment.
- the processor 350 of the mobile device and the processor 140 of the interface device may execute the instructions stored in the memory 120, 340 of each device to implement the various modules shown in Fig. Accordingly, it can be understood that the operations performed by the modules below are performed by the processors 140 and 350 of each device.
- the mobile device 410 may include a management application program, an interface device management program, and an accessory device management module.
- the management application program 411 may include a quick charge UI 411a, a software development kit (SDK) 411b, and a firmware update UI 411c.
- SDK software development kit
- the quick charge UI 411a can provide an object to the user to select whether to charge the mobile device 410 in the quick charge mode.
- the SDK 411b is a module for debugging the data collected by the hardware parameter log print control module 412c or transmitting the data to an external server.
- the firmware update UI 411c provides the user with an object that provides the firmware version of the interface device 420 (e.g., the interface device of Fig. 1) to the user and allows the user to select whether to update the firmware of the interface device 420 can do.
- an object that provides the firmware version of the interface device 420 (e.g., the interface device of Fig. 1) to the user and allows the user to select whether to update the firmware of the interface device 420 can do.
- the interface device management program 412 includes a fan control module, a quick charge control module 412b, a hardware parameter log print control module, a security firmware update control Module 412d and a non-secure firmware update control module.
- the fan control module 412a generates an unstructured vendor defined message (UVDM) that controls the operation of the fan of the interface device 420 according to the status of the mobile device 410 (e.g., the temperature of the mobile device) To the interface device 420.
- UVDM unstructured vendor defined message
- the quick charge control module 412b may generate a UVDM that controls power to be supplied to the mobile device 410 by the interface device 420 according to the user's selection through the quick charge UI 411a and may transmit the generated UVDM .
- the hardware parameter log print control module 412c may collect the status, setting, or version information of the interface device 420 and store the information as a log. According to one embodiment, the hardware parameter log print control module 412c can log status information that is internally running when an error occurs in the interface device 420.
- the security firmware update control module 412d is a control module that updates the firmware of the interface device 420 supporting the security function. According to one embodiment, the security firmware update control module 412d may determine whether or not the security function of the interface device 420 is supported through the accessory device management module 413. According to one embodiment, when the interface device 420 supports the security function, it may transmit the encrypted firmware update data to the interface device 420. [
- the non-secured firmware update control module 412e is a control module that updates the firmware of the interface device 420 that does not support the security function. According to one embodiment, if the interface device 420 does not support the security function, it may transmit the unencrypted firmware update data to the interface device 420.
- the accessory device management module 413 can determine whether the interface device 420 is authentic and whether or not the security function is supported using the identification data received from the interface device 420.
- the interface device 420 may include a UVDM processing unit and a data processing unit.
- the UVDM processing module 421 can control the interface device 420 in accordance with the UVDM received from the fan control module 412a, the quick charge control module 412b, or the accessory device management module 413 of the mobile device 410 have.
- Data processing module 422 may receive firmware update data from secure firmware update control module 412d or non-secure firmware update control module 412e.
- FIG. 1 and the mobile apparatus of FIG. 3 perform the processes of FIGS. 5 and 6.
- FIG. The operations described as being performed by the interface device may be implemented with instructions (instructions) that may be executed (or executed) by the processor 140 of the interface device.
- the instructions may be stored, for example, in a computer recording medium or in the memory 120 of the interface device shown in FIG.
- the operations described as being performed by the mobile device may be implemented with instructions (instructions) that may be executed (or executed) by the processor 350 of the mobile device.
- the instructions may be stored, for example, in a computer recording medium or in the memory 340 of the mobile device shown in FIG.
- FIG. 5 is a flowchart illustrating a firmware update method of an interface apparatus according to an exemplary embodiment of the present invention.
- the interface device and the mobile device may be connected to each other.
- the connector 110 of the interface device and the connector 310 of the mobile device may be connected to each other.
- the processor 140 of the interface device may send identification data of the interface device containing data associated with the firmware for the at least one IC to the mobile device.
- the identification data may include at least some of the information about whether or not the interface device supports the security function, the information about the IC that the interface device includes, or the unique serial number of the interface device have.
- the identification data is data associated with the firmware for at least one IC to determine whether the firmware of the interface device includes firmware information (e.g., firmware version or latest firmware update time) And data for verification (e.g., hash value, etc.).
- the processor 350 of the mobile device may use the identification data to determine whether the interface device meets the specified condition.
- the processor 350 of the mobile device may verify whether the interface device is genuine.
- the processor 350 of the mobile device can verify whether the interface device is genuine using the serial number included in the identification data. For example, the processor 350 of the mobile device can verify whether the interface device is genuine using the genuine validation algorithm previously stored in the memory 340. [ According to various embodiments, the processor 350 of the mobile device may utilize a verification method other than the illustrated authenticity verification method.
- the processor 350 of the mobile device may request firmware update data for at least one IC based on the identification data to the external server via the wireless communication circuitry.
- the identification data may include information on whether or not the interface device supports the security function.
- the processor 350 of the mobile device can request secure firmware update data from the external server through the wireless communication circuit.
- the processor 350 of the mobile device may request non-secure firmware update data to the external server via the wireless communication circuit.
- the processor 350 of the mobile device may receive user input through the touch screen display 320 to select an IC to update the firmware of the at least one IC. According to one embodiment, the processor 350 of the mobile device may request firmware update data for the selected IC via the wireless communication circuit 330 to an external server.
- the processor 350 of the mobile device may receive firmware update data for at least one IC from an external server via the wireless communication circuitry 330.
- the processor 350 of the mobile device may receive secure firmware update data.
- the secure firmware update data may be encrypted data.
- the processor 350 of the mobile device may further receive a hash value of the secure firmware update data.
- the processor 140 of the interface device may receive firmware update data for at least one IC from the mobile device via the connector 110.
- the identification data of the interface device includes information indicating that the security function is supported, and the processor 140 of the interface device can receive security firmware update data have.
- the processor 140 of the interface device can receive the firmware update data corresponding to the identification data.
- the processor 140 of the interface device may further receive a hash value of the firmware update data from the mobile device.
- the processor 140 of the interface device may verify the integrity of the firmware update data.
- the processor 140 of the interface device may verify the integrity of the firmware update data using the hash value of the firmware update data. For example, the processor 140 of the interface device may verify whether the firmware update data is falsified or tampered.
- the processor 140 of the interface device may update the firmware for the at least one IC stored in the memory 120 using the firmware update data.
- the processor 140 of the interface device may store the firmware update file in the memory 120.
- the stored firmware update data may be used to update firmware for at least one IC stored in memory 120. For example, if the processor of the interface fails to update the firmware due to an error while performing the firmware update, the processor 140 of the interface device may use the stored firmware update data to update at least one You can update the firmware for the IC.
- the processor 140 of the interface device may generate a hash value of the updated firmware and store the hash value of the generated firmware in memory 120.
- the processor 140 of the interface device updates the firmware for at least one IC stored in the memory 120 and uses the stored firmware hash value to determine the integrity of the firmware for at least one IC stored in the memory 120 Can be verified.
- the processor 140 of the interface device may update the firmware for at least one IC stored in the memory 120 and then use the stored firmware hash value to periodically store at least one Can verify the integrity of the firmware for the IC of the device.
- the processor 140 of the interface device updates the firmware for at least one IC stored in the memory 120, and then uses the stored firmware hash value to, upon power-on of the interface device, The integrity of the firmware for at least one IC stored in the memory 120 may be verified.
- FIG. 6 is a flowchart illustrating a firmware update method of an interface device that does not support a security function according to an exemplary embodiment.
- the processor 350 of the mobile device may request firmware to the external server via the wireless communication circuitry 330 for firmware update data for at least one IC based on the identification data.
- the processor 350 of the mobile device may request the non-secured firmware update data to the external server through the wireless communication circuit 330.
- the processor 140 of the interface device may receive firmware update data for at least one IC from an external server via the wireless communication circuitry 330.
- the processor 350 of the mobile device may receive non-secure firmware update data.
- the processor 140 of the interface device may receive firmware update data for at least one IC from the mobile device via the connector 110.
- the identification data of the interface device includes information indicating that the security function is not supported, and the processor 140 of the interface device receives the non- can do.
- the processor 140 of the interface device can receive the firmware update data corresponding to the identification data.
- the processor 140 of the interface device may update the firmware for at least one IC stored in the memory 120 using the firmware update data.
- the processor 140 of the interface device may transmit identification data of the interface device including data associated with firmware for a plurality of ICs to the mobile device via the connector.
- the plurality of ICs may include at least one first IC configured to update the firmware in a secure firmware update manner and at least one second IC configured to be updated in a non-secure firmware update manner.
- the processor 350 of the mobile device sends the security firmware update data for the first IC, which is a portion of the plurality of ICs, and the non-secure firmware update data for the second IC, Lt; / RTI > to the external server.
- the processor 350 of the mobile device may receive firmware update data for a plurality of ICs from an external server via the wireless communication circuitry 330.
- the processor 350 of the mobile device may receive secure firmware update data for the first IC and non-secure firmware update data for the second IC.
- the security firmware update data for the first IC may be encrypted data.
- the processor 350 of the mobile device may further receive a hash value of the security firmware update data for the first IC.
- the non-secure firmware update data for the second IC may be unencrypted data.
- the processor 350 of the mobile device may then send firmware update data for a plurality of ICs received via the connector to the interface device.
- the processor 140 of the interface device may verify the integrity of the firmware update data for the first IC that is part of a plurality of ICs among the firmware update data for the received plurality of ICs.
- the interface devices 71, 80 and 91 shown in Figs. 7 to 9 may correspond to the interface devices of Figs. 1 and 2, and the mobile devices 72 and 92 may correspond to the mobile device of Fig. 3 .
- the processors 71a and 80a, the upstream PD ICs 71b, 80b and 91b, the downstream PD ICs 71c, 80c and 91b in the interface apparatus 71, 80d, and 91c can communicate with each other through an I2C (inter integrated circuit) method.
- the downstream PD ICs 71c, 80c and 91b can supply power to the respective configurations of the interface devices 71, 80 and 91 through the upstream PD ICs 71b, 80b and 91b.
- FIG. 7 is a diagram illustrating that an interface device, a mobile device, and an external server that support a security function according to an embodiment update the firmware of the interface device.
- the processor 71a of the interface device 71 determines that the upstream PD IC 71b is in the firmware 701 for at least one IC of the interface device 71, To the mobile device 72, the identification data of the interface device 71 including the data associated with the mobile device 72.
- the upstream PD IC 71b may transmit the identification data of the interface device 71 to the mobile device 72 via the connector.
- operation 701 and operation 703 may correspond to operation 501 described above.
- the processor 72a of the mobile device 72 may request firmware update data for at least one IC from the external server 73 via the wireless communication circuit based on the identification data.
- the processor 72a of the mobile device 72 uses the identification data to determine whether the interface device 71 meets a specified condition (e.g. whether the interface device 71 is a genuine one) , And when the interface device 71 satisfies the specified condition, it can request the external server 73 via the wireless communication circuit for firmware update data for at least one IC.
- a specified condition e.g. whether the interface device 71 is a genuine one
- the processor 72a of the mobile device 72 determines that it supports the security function based on the identification data
- the processor 72a of the mobile device 72 transmits the security firmware update data to the wireless communication To the external server 73 through the circuit.
- the processor 72a of the mobile device 72 transmits the non-secured firmware update data to the external server 73 via the wireless communication circuit Can request
- the processor 72a of the mobile device 72 may receive identification data of the interface device 71 that includes data associated with the firmware for a plurality of ICs. According to one embodiment, the processor 72a of the mobile device 72 may send secure firmware update data for some of the plurality of ICs and non-secure firmware update data for the remaining portion of the plurality of ICs to the wireless communication circuitry To the external server (73).
- operation 705 may correspond to operation 505 and operation 507 described above.
- the processor 72a of the mobile device 72 may receive firmware update data for at least one IC from the external server 73 via the wireless communication circuitry.
- processor 72a of mobile device 72 may receive firmware update data corresponding to the request of operation 705.
- the secure firmware update data may be encrypted data.
- the processor 72a of the mobile device 72 may further receive a hash value of the firmware update data.
- operation 707 may correspond to operation 509 described above.
- the processor 72a of the mobile device 72 may transmit the received firmware update data to the interface device 71 via the connector.
- the upstream PD IC 71b may forward the firmware update data received from the mobile device 72 to the processor 71a of the interface device 71.
- operations 709 and 711 may correspond to operation 511 described above.
- the processor 71a of the interface device 71 can update the firmware for at least one IC stored in the memory 71d using the received firmware update data.
- the firmware update data may be encrypted data and the processor 71a of the interface device 71 may decrypt the encrypted firmware update data.
- the processor 71a of the interface device 71 uses the hash value of the firmware update data to perform the forgery and modulation of the firmware update data Can be verified.
- the processor 71a of the interface device 71 may update the firmware.
- the processor 71a of the interface device 71 may store the received firmware update data in the memory 71d.
- the processor 71a of the interface device 71 may generate the hash value of the updated firmware and store the generated hash value in the memory 71d. According to one embodiment, the processor 71a of the interface device 71 can verify the integrity of the firmware using the hash value stored in the memory 71d after the firmware update.
- operation 713 may correspond to operation 513 and operation 515 described above.
- FIG. 8 is a diagram illustrating that the interface device according to an embodiment updates firmware when a specified event occurs.
- the processor 80a of the interface device 80 can update the firmware using the firmware update data stored in the memory 80d when a specified event occurs. For example, if the update is not completed due to an error occurring while the processor 80a of the interface device 80 is updating the firmware, the processor 80a of the interface device 80 may perform the firmware update again .
- the IC corresponding to the firmware in which the error occurred can notify the processor 80a of the occurrence of the error.
- the upstream PD IC 80b may notify the processor 80a that an error has occurred during firmware update of the upstream PD IC 80b.
- the processor 80a of the interface device 80 may retrieve the firmware update data stored in the memory 80d.
- the processor 80a of the interface device 80 may use the firmware update data to update the firmware of the upstream PD IC 80b again.
- the processor 80a of the interface device 80 may notify the upstream PD IC 80b that the firmware update is complete.
- FIG. 9 is a diagram illustrating that an interface device, a mobile device, and an external server that do not support the security function according to the embodiment update the firmware of the interface device.
- the upstream PD IC 91a of the interface device 91 that does not support the security function can perform communication with the mobile device 92 and firmware update.
- the upstream PD IC 91a receives an interface device 91 containing data related to the firmware for at least one IC of the interface device 91, To the mobile device 92 via the connector.
- operation 901 may correspond to operation 501 described above.
- the processor 92a of the mobile device 92 may request firmware update data for at least one IC from the external server 93 via the wireless communication circuit based on the identification data.
- the processor 92a of the mobile device 92 determines whether or not the interface device 91 satisfies the specified condition using the identification data, and when the interface device 91 satisfies the specified condition , Firmware update data for at least one IC may be requested to the external server 93 via the wireless communication circuit.
- the processor 92a of the mobile device 92 may determine that the interface device 91 does not support the security function and the processor 92a of the mobile device 92 may determine that the non- To the external server 93 via the wireless communication circuit
- operation 903 may correspond to operation 601 described above.
- the processor 92a of the mobile device 92 may receive firmware update data for at least one IC from the external server 93 via the wireless communication circuitry.
- the processor 92a of the mobile device 92 may further receive a hash value of the firmware update data.
- operation 905 may correspond to operation 603 described above.
- the processor 92a of the mobile device 92 may transmit the received firmware update data to the interface device 91 via the connector.
- operation 907 may correspond to operation 605 described above.
- the upstream PD IC 91a may update the firmware for at least one IC stored in the memory 91c using the received firmware update data.
- operation 909 may correspond to operation 607 described above.
- FIG. 10 is a flowchart illustrating a method of updating firmware by an interface device according to an embodiment.
- the operations described as being performed by the interface device may be implemented with instructions (instructions) that may be executed (or executed) by the processor 140 of the interface device.
- the instructions may be stored, for example, in a computer recording medium or in the memory 120 of the interface device shown in FIG.
- the interface device and the mobile device may be connected to each other.
- the connector 110 of the interface device and the connector 310 of the mobile device may be connected to each other.
- the processor 140 of the interface device may send identification data of the interface device containing data related to the firmware for the at least one IC to the mobile device.
- the identification data may include at least some of the information about whether or not the interface device supports the security function, the information about the IC that the interface device includes, or the unique serial number of the interface device have.
- the identification data is data associated with the firmware for at least one IC to determine whether the firmware of the interface device includes firmware information (e.g., firmware version or latest firmware update time) And at least one of data for verification.
- operation 1001 may correspond to operation 503 of FIG.
- the processor 140 of the interface device may receive firmware update data for at least one IC from the mobile device via the connector 110.
- the identification data of the interface device includes information indicating that the security function is supported, and the processor 140 of the interface device can receive security firmware update data have.
- the processor 140 of the interface device can receive the firmware update data corresponding to the identification data.
- the processor 140 of the interface device may further receive a hash value of the firmware update data from the mobile device.
- operation 1003 may correspond to operation 511 of FIG.
- the processor 140 of the interface device may verify the integrity of the firmware update data.
- the processor 140 of the interface device may verify the integrity of the firmware update data using the hash value of the firmware update data. For example, the processor 140 of the interface device may verify whether the firmware update data is falsified or tampered.
- operation 1003 may correspond to operation 513 of FIG.
- the processor 140 of the interface device may determine whether the firmware update data is integrity.
- the processor 140 of the interface device may update the firmware for at least one IC stored in the memory 120 using the firmware update data.
- the processor 140 of the interface device may store the firmware update file in the memory 120.
- the stored firmware update data may be used to update firmware for at least one IC stored in memory 120. For example, if the processor of the interface fails to update the firmware due to an error while performing the firmware update, the processor 140 of the interface device may use the stored firmware update data to update at least one You can update the firmware for the IC.
- operation 1003 may correspond to operation 515 of FIG.
- the processor 140 of the interface device may not update the firmware.
- processor 1120 e.g., processor 350 of FIG.
- processor 72a of FIG. 7, processor 92a of FIG. 9 memory 1130 (E.g., memory 340 of FIG. 3), input device 1150, acoustic output device 1155, display device 1160 (e.g., touchscreen display 320 of FIG. 3), audio module 1170, (E.g., the wireless communication circuit 330 of FIG. 3), the communication module 1190 (e.g., the wireless communication circuitry of FIG. 3), the interface module 1176, the interface 1177, the haptic module 1179, the camera module 1180, the power management module 1188, ), A subscriber identity module 1196, and an antenna module 1197.
- memory 1130 E.g., memory 340 of FIG. 3
- input device 1150 e.g., acoustic output device 1155
- display device 1160 e.g., touchscreen display 320 of FIG. 3
- audio module 1170 e.g., the wireless communication circuit 330 of FIG. 3
- the communication module 1190 e.g., the wireless communication
- At least one of these components may be omitted from electronic device 1101 or other components may be added.
- some components such as, for example, a sensor module 1176 (e.g., a fingerprint sensor, an iris sensor, or an ambient light sensor) embedded in a display device 1160 Can be integrated.
- Processor 1120 may be configured to operate on at least one other component (e.g., hardware or software component) of an electronic device 1101 that is coupled to processor 1120 by, for example, And can perform various data processing and arithmetic operations.
- Processor 1120 loads or processes commands or data received from other components (e.g., sensor module 1176 or communication module 1190) into volatile memory 1132 and processes the resulting data in nonvolatile memory 1134, Lt; / RTI >
- the processor 1120 may be a main processor 1121 (e.g., a central processing unit or an application processor), and, independently, and additionally or alternatively, using a lower power than the main processor 1121, Or a co-processor 1123 (e.g., a graphics processing unit, an image signal processor, a sensor hub processor, or a communications processor) specific to the designated function.
- the auxiliary processor 1123 may be operated separately from or embedded in the main processor 1121.
- the coprocessor 1123 may be used in place of the main processor 1121, for example, while the main processor 1121 is in an inactive (e.g., sleep) At least one component (e.g., display 1160, sensor module 1176, or communication module) of the electronic device 1101, along with the main processor 1121, 1190), < / RTI > According to one embodiment, the coprocessor 1123 (e.g., an image signal processor or a communications processor) is implemented as a component of some other functionally related component (e.g., camera module 1180 or communication module 1190) .
- some other functionally related component e.g., camera module 1180 or communication module 1190
- the memory 1130 may store various data used by at least one component (e.g., processor 1120 or sensor module 1176) of the electronic device 1101, e.g., software (e.g., program 1140) ), And input data or output data for the associated command.
- the memory 1130 may include a volatile memory 1132 or a non-volatile memory 1134.
- the program 1140 may be software stored in the memory 1130 and may include, for example, an operating system 1142, a middleware 1144 or an application 1146.
- the input device 1150 is an apparatus for receiving instructions or data to be used in a component (e.g., processor 1120) of the electronic device 1101 from the outside (e.g., a user) of the electronic device 1101,
- a component e.g., processor 1120
- a mouse e.g., a keyboard
- a keyboard e.g., a keyboard
- the sound output device 1155 is a device for outputting a sound signal to the outside of the electronic device 1101.
- the sound output device 1155 may be a speaker for general use such as a multimedia reproduction or a sound reproduction, .
- the receiver may be formed integrally or separately with the speaker.
- Display device 1160 may be an apparatus for visually presenting information to a user of electronic device 1101 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 1160 may include a touch sensor or a pressure sensor capable of measuring the intensity of pressure on the touch.
- the audio module 1170 can bidirectionally convert sound and electrical signals. According to one embodiment, the audio module 1170 may acquire sound through an input device 1150, or may be connected to an audio output device 1155, or to an external electronic device (e.g., Electronic device 1102 (e.g., a speaker or headphone)).
- an external electronic device e.g., Electronic device 1102 (e.g., a speaker or headphone)
- the sensor module 1176 may generate an electrical signal or data value corresponding to an internal operating state (e.g., power or temperature) of the electronic device 1101, or an external environmental condition.
- the sensor module 1176 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 1177 may support a designated protocol that may be wired or wirelessly connected to an external electronic device (e.g., electronic device 1102).
- the interface 1177 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
- connection terminal 1178 may be a connector capable of physically connecting the electronic device 1101 and an external electronic device (E.g., a headphone connector).
- an external electronic device E.g., a headphone connector
- the haptic module 1179 can convert an electrical signal into a mechanical stimulus (e.g., vibration or motion) or an electrical stimulus that the user can perceive through a tactile or kinesthetic sense.
- the haptic module 1179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
- the camera module 1180 can capture still images and moving images.
- the camera module 1180 may include one or more lenses, an image sensor, an image signal processor, or a flash.
- the power management module 1188 is a module for managing the power supplied to the electronic device 1101, 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 1189 is an apparatus for supplying power to at least one component of the electronic device 1101 and may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
- the communication module 1190 is responsible for establishing a wired or wireless communication channel between the electronic device 1101 and an external electronic device (e.g., electronic device 1102, electronic device 1104, or server 1108) Lt; / RTI > Communication module 1190 may include one or more communication processors that support wired communication or wireless communication, operating independently of processor 1120 (e.g., an application processor).
- the communication module 1190 includes a wireless communication module 1192 (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 1194 (E.g., Bluetooth, WiFi direct, or IrDA (infrared data association)) using a corresponding communication module, such as a local area network (LAN) communication module or a power line communication module) Communication network) or a second network 1199 (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 1192 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 1194 E.g., Bluetooth, WiFi direct, or IrDA (infrared data association)
- a second network 1199
- the wireless communication module 1192 can identify and authenticate the electronic device 1101 within the communication network using the user information stored in the subscriber identity module 1196.
- the antenna module 1197 may include one or more antennas for transmitting or receiving signals or power externally.
- the communication module 1190 e.g., the wireless communication module 1192
- 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 1101 and the external electronic device 1104 via the server 1108 connected to the second network 1199.
- Each of the electronic devices 1102 and 1004 may be the same or a different kind of device as the electronic device 1101.
- all or a portion of the operations performed on the electronic device 1101 may be performed on another or a plurality of external electronic devices.
- electronic device 1101 when electronic device 1101 is to perform a function or service automatically or upon request, electronic device 1101 may perform a function or service in place of, or in addition to, And may request the external electronic device to perform at least some functions associated therewith.
- the external electronic device receiving the request may execute the requested function or additional function and transmit the result to the electronic device 1101.
- the electronic device 1101 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.
- An interface device in connection with an external mobile device includes a connector, at least one integrated circuit (IC), a memory for storing firmware and instructions for the at least one IC, Wherein the processor is operable to execute the instructions to provide identification data of the interface device including data associated with the firmware to the connector when connected to the external mobile device via the connector, To the external mobile device via the connector, receives firmware update data for the at least one IC corresponding to the identification data from the external mobile device via the connector, verifies the integrity of the firmware update data, , remind If the firmware update data integrity, it is possible to use the firmware update data for updating the firmware stored in the memory.
- IC integrated circuit
- the data associated with the firmware may include at least one of data for verifying integrity of the firmware or a version of the firmware.
- the processor may further receive a hash value of the firmware update data from the external mobile device and verify the integrity of the firmware update data using a hash value of the received firmware update data.
- the processor is configured to generate a hash value of the updated firmware, store the hash value of the generated firmware in the memory, update the firmware stored in the memory, The integrity of the firmware stored in the memory can be verified.
- the processor may periodically verify the integrity of the firmware stored in the memory using the stored firmware hash value.
- the processor may verify the integrity of the firmware stored in the memory using the stored firmware hash value upon power-up of the interface device.
- the processor may store the received firmware update data in the memory and, when a specified event occurs, update the firmware stored in the memory using the stored firmware update data.
- the interface device includes a plurality of the ICs
- the processor is operable to transmit identification data of the interface device including data associated with firmware for the plurality of ICs to the external mobile device via the connector
- Receive firmware update data for the plurality of ICs from the external mobile device via the connector verify the integrity of firmware update data for a first IC that is part of the plurality of ICs
- the firmware for the first IC stored in the memory can be updated using the firmware update data for the first IC.
- the processor may update firmware for the second IC stored in the memory using firmware update data for a second IC that is a remaining portion of the plurality of ICs.
- the first IC may be an IC whose firmware is set to be updated in a secure firmware update manner.
- an electronic device includes a connector, a wireless communication circuit, a memory for storing instructions, and at least one processor configured to execute the stored instructions, the processor executing the instructions
- the identification data of the external interface device including data related to firmware associated with at least one IC included in the external interface device from the external interface device via the connector when the external interface device is connected to the external interface device via the connector Determining whether the external interface device satisfies a specified condition based on the identification data, and when the external interface device satisfies a specified condition, determining whether the at least one I C to the external server via the wireless communication circuit, receive firmware update data associated with the at least one IC from the external server via the wireless communication circuit, receive the firmware update data associated with the received at least one IC
- the firmware update data for the external interface device can be transmitted to the external interface device through the connector.
- the operation of requesting the firmware update data to the external server through the wireless communication circuit may include the step of, when it is determined that the external interface device supports the security function based on the identification data, Requesting security firmware update data to the external server via the wireless communication circuit.
- the requesting of the firmware update data to the external server through the wireless communication circuit may include a step of, when it is determined that the external interface device does not support the security function based on the identification data, secure firmware update data to the external server via the wireless communication circuit.
- the system further includes a touch screen display, wherein the processor receives via the touch screen display a user input for selecting an IC to update the firmware of the at least one IC,
- the request to the external server through the circuit may request the external server via the wireless communication circuit for firmware update data for the selected IC.
- the processor receives identification data of the external interface device including data related to firmware associated with a plurality of ICs included in the external interface device from the external interface device via the connector, Requesting the update data to the external server via the wireless communication circuit comprises receiving security firmware update data for a first IC that is part of the plurality of ICs and non-secure firmware update data for a second IC that is a remaining portion of the plurality of ICs And requesting the external server through the wireless communication circuit.
- the firmware update method of an interface device may further comprise the steps of, when being connected to an external mobile device, transmitting identification data of the interface device including data related to firmware associated with at least one IC to an external mobile device Receiving firmware update data corresponding to the identification data from the external mobile device and for the at least one IC; verifying the integrity of the firmware update data; and if the firmware update data is integrity And updating the firmware associated with the at least one IC stored in the memory using the firmware update data.
- the data associated with the firmware associated with the at least one IC may include data associated with at least one of a version of the firmware or data for verifying integrity of the firmware.
- the operation of receiving firmware update data associated with the at least one IC further comprises receiving a hash value of the firmware update data from the external mobile device, wherein the hash of the received firmware update data Value of the firmware update data to verify the integrity of the firmware update data.
- the method may further include storing the received firmware update data, and updating the firmware associated with the at least one IC stored in the memory using the stored firmware update data when the specified event occurs have.
- 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 in machine-readable storage media (e.g., internal memory 1136 or external memory 1138) readable by a machine (e.g., a computer) Software (e.g., program 1140).
- the device may include an electronic device (e. G., Electronic device 1101) 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 1120
- the processor may perform functions corresponding to the instruction, either directly or under the control of the processor, using other components.
- 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.
- the 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).
- CD-ROM compact disc read only memory
- PlayStore TM application store
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
본 문서에 개시되는 일 실시 예에 따른 외부 모바일 장치와 연결되는 인터페이스 장치는 커넥터, 적어도 하나의 IC(integrated circuit), 상기 적어도 하나의 IC를 위한 펌웨어 및 인스트럭션들을 저장하는 메모리, 및 상기 저장된 인스트럭션들을 실행하도록 설정된 적어도 하나의 프로세서를 포함하고, 상기 프로세서는 상기 인스트럭션들을 실행하여, 상기 커넥터를 통해 상기 외부 모바일 장치와 연결되면, 상기 펌웨어와 관련된 데이터를 포함하는 상기 인터페이스 장치의 식별 데이터를 상기 커넥터를 통해 상기 외부 모바일 장치로 전송하고, 상기 커넥터를 통해 상기 외부 모바일 장치로부터 상기 식별 데이터에 대응하고 상기 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 수신하고, 상기 펌웨어 업데이트 데이터의 무결성을 검증하고(verify), 상기 펌웨어 업데이트 데이터가 무결한 경우, 상기 펌웨어 업데이트 데이터를 이용하여 상기 메모리에 저장된 상기 펌웨어를 업데이트할 수 있다.
Description
본 문서에서 개시되는 실시 예들은, 인터페이스 장치의 펌웨어를 업데이트 하는 기술과 관련된다.
모바일 장치의 활용도를 높이기 위해 모바일 장치에 의해 렌더링된 화면을 외부 디스플레이 장치에 출력하기 위한 인터페이스 장치가 개발 되었다.
이러한 인터페이스 장치는 화면 출력을 위한 포트뿐만 아니라, USB 포트, 유선 랜 포트, 전력 포트 및 오디오 포트 등을 포함하여 모바일 장치의 사용성을 향상시킬 수 있다.
상기 인터페이스 장치는 다양한 기능을 제공하기 위한 복수의 IC(integrated circuit)을 포함할 수 있다. 이러한 인터페이스 장치는 IC를 위한 펌웨어 업데이트를 지원하지 않아, 기능 향상에 제한이 있고 보안에 취약하다는 문제가 있다. 또한, 상기 인터페이스 장치는 정품 인증 기능을 지원하지 않아 모조품이 제조될 수 있다는 문제가 있다.
본 발명의 다양한 실시 예들은, 인터페이스 장치의 정품 인증을 가능하게 할뿐만 아니라, 펌웨어 업데이트 데이터의 무결성을 검증함으로써 인터페이스 장치의 보안 및 안전성을 향상시키기 위한 것이다.
본 문서에 개시되는 일 실시 예에 따른 외부 모바일 장치와 연결되는 인터페이스 장치는 커넥터, 적어도 하나의 IC(integrated circuit), 상기 적어도 하나의 IC를 위한 펌웨어 및 인스트럭션들을 저장하는 메모리, 및 상기 저장된 인스트럭션들을 실행하도록 설정된 적어도 하나의 프로세서를 포함하고, 상기 프로세서는 상기 인스트럭션들을 실행하여, 상기 커넥터를 통해 상기 외부 모바일 장치와 연결되면, 상기 펌웨어와 관련된 데이터를 포함하는 상기 인터페이스 장치의 식별 데이터를 상기 커넥터를 통해 상기 외부 모바일 장치로 전송하고, 상기 커넥터를 통해 상기 외부 모바일 장치로부터 상기 식별 데이터에 대응하고 상기 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 수신하고, 상기 펌웨어 업데이트 데이터의 무결성을 검증하고(verify), 상기 펌웨어 업데이트 데이터가 무결한 경우, 상기 펌웨어 업데이트 데이터를 이용하여 상기 메모리에 저장된 상기 펌웨어를 업데이트할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 전자 장치는 커넥터, 무선 통신 회로, 인스트럭션들을 저장하는 메모리, 및 상기 저장된 인스트럭션들을 실행하도록 설정된 적어도 하나의 프로세서를 포함하고, 상기 프로세서는 상기 인스트럭션들을 실행하여, 상기 커넥터를 통해 외부 인터페이스 장치와 연결될 경우, 상기 커넥터를 통해 상기 외부 인터페이스 장치로부터 상기 외부 인터페이스 장치에 포함된 적어도 하나의 IC와 관련된 펌웨어와 관련된 데이터를 포함하는 상기 외부 인터페이스 장치의 식별 데이터를 수신하고, 상기 식별 데이터에 적어도 기반하여 상기 외부 인터페이스 장치가 지정된 조건을 만족하는지 여부를 판단하고, 상기 외부 인터페이스 장치가 지정된 조건을 만족하는 경우, 상기 식별 데이터에 기반하여 상기 적어도 하나의 IC와 관련된 펌웨어 업데이트 데이터를 상기 무선 통신 회로를 통해 외부 서버로 요청하고, 상기 무선 통신 회로를 통해 상기 외부 서버로부터 상기 적어도 하나의 IC와 관련된 펌웨어 업데이트 데이터를 수신하고, 상기 수신된 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 상기 커넥터를 통해 상기 외부 인터페이스 장치로 전송할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 인터페이스 장치의 펌웨어 업데이트 방법은 외부 모바일 장치와 연결되면, 적어도 하나의 IC와 관련된 펌웨어와 관련된 데이터를 포함하는 상기 인터페이스 장치의 식별 데이터를 외부 모바일 장치로 전송하는 동작, 상기 외부 모바일 장치로부터 상기 식별 데이터에 대응하고 상기 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 수신하는 동작, 상기 펌웨어 업데이트 데이터의 무결성을 검증하는 동작, 및 상기 펌웨어 업데이트 데이터가 무결한 경우, 상기 펌웨어 업데이트 데이터를 이용하여 상기 메모리에 저장된 상기 적어도 하나의 IC와 관련된 펌웨어를 업데이트하는 동작을 포함할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 인터페이스 장치가 정품인지 여부를 검증하여, 인터페이스 장치의 IC에 대한 무결성을 확인할 수 있다.
또한, 본 문서에 개시되는 실시 예들에 따르면, 인터페이스 장치에 설치될 펌웨어 데이터의 무결성을 검증하여, 인터페이스 장치의 안전성을 향상시킬 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 일 실시 예에 따른 인터페이스 장치의 블록도를 나타낸다.
도 2는 일 실시 예에 따른 인터페이스 장치의 물리적 구성을 나타내는 블록도이다.
도 3은 일 실시 예에 따른 모바일 장치의 블록도를 나타낸다.
도 4는 일 실시 예에 따른 모바일 장치와 인터페이스 장치의 소프트웨어 모듈을 나타내는 블록도이다.
도 5는 일 실시 예에 따른 인터페이스 장치의 펌웨어 업데이트 방법을 나타낸 흐름도이다.
도 6는 일 실시 예에 따른 보안 기능을 지원하지 않는 인터페이스 장치의 펌웨어 업데이트 방법을 나타낸 흐름도이다.
도 7은 일 실시 예에 따른 보안 기능을 지원하는 인터페이스 장치, 모바일 장치 및 외부 서버가 인터페이스 장치의 펌웨어를 업데이트하는 것을 나타내는 도면이다.
도 8은 일 실시 예에 따른 인터페이스 장치가 지정된 이벤트 발생시 펌웨어를 업데이트 하는 것을 나타내는 도면이다.
도 9는 일 실시 예에 따른 보안 기능을 지원하지 않는 인터페이스 장치, 모바일 장치 및 외부 서버가 인터페이스 장치의 펌웨어를 업데이트하는 것을 나타내는 도면이다.
도 10은 일 실시 예에 따른 인터페이스 장치가 펌웨어를 업데이트하는 방법을 나타낸 흐름도이다.
도 11은 다양한 실시예들에 따른, 펌웨어를 업데이트하기 위한, 네트워크 환경 내의 전자 장치의 블럭도이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.
도 1은 일 실시 예에 따른 인터페이스 장치의 블록도를 나타낸다.
일 실시 예에 따르면, 인터페이스 장치는 커넥터(110), 메모리(120), 적어도 하나의 IC(integrated circuit)(130) 및 프로세서(140) 등을 포함할 수 있다. 일 실시 예에 따르면, 인터페이스 장치는 도 1에 도시되지 않은 구성을 더 포함할 수 있다. 예를 들어, 인터페이스 장치는 외부 액세서리 장치 또는 외부 전자 장치와 연결되기 위한 포트(예: HDMI 포트, RJ45 포트, USB 포트 등)를 더 포함할 수 있다.
커넥터(110)는 인터페이스 장치를 외부 모바일 장치와 연결할 수 있다. 커넥터(110)는, 예를 들어, USB-C 타입 커넥터(110), 마이크로 5pin 커넥터(110) 또는 라이트닝 커넥터(110) 등일 수 있다.
메모리(120)는 적어도 하나의 IC(130)를 위한 펌웨어 및 프로세서(140)에 의해 실행되는 인스트럭션들을 저장할 수 있다. 일 실시 예에 따르면, 펌웨어는 적어도 하나의 IC(130)를 제어하는 마이크로 프로그램일 수 있다. 일 실시 예에 따르면, 메모리(120)에 저장된 펌웨어는 업데이트 될 수 있다
적어도 하나의 IC(130)는 인터페이스 장치의 기능을 제공하기 위해 각 기능에 대응하는 동작을 수행할 수 있다. 예를 들어, 적어도 하나의 IC(130)는 DP to HDMI IC, USB 코덱 IC, LAN IC, 업스트림 PD IC(upstream power delivery IC) 또는 다운스트림 PD IC(downstream power delivery IC) 중 적어도 하나를 포함할 수 있다. 일 실시 예에 따르면, 적어도 하나의 IC(130)는 메모리(120)에 저장된 펌웨어에 따른 동작을 수행할 수 있다.
프로세서(140)는 인터페이스 장치의 전반적인 동작을 제어할 수 있다. 일 실시 예에 따르면, 프로세서(140)는 인터페이스 장치의 식별 데이터를 커넥터(110)를 통해 외부 모바일 장치로 전송할 수 있다. 일 실시 예에 따르면, 프로세서(140)는 수신된 펌웨어 업데이트 데이터의 무결성(예: 위조 또는 변조 여부)을 검증할 수 있다. 일 실시 예에 따르면, 프로세서(140)는 펌웨어 업데이트 데이터를 이용하여 메모리(120)에 저장된 펌웨어를 업데이트할 수 있다.
도 2는 일 실시 예에 따른 인터페이스 장치의 물리적 구성을 나타내는 블록도이다.
도 2를 참조하면, 인터페이스 장치(200)는 커넥터(210)(예: 도 1의 커넥터(110)), USB 허브(220), 복수의 IC(231-235)(예: 도 1의 적어도 하나의 IC(130)), 복수의 포트(241-245) 및 프로세서(250)(예: 도 1의 프로세서(140))를 포함할 수 있다.
커넥터(210)는 인터페이스 장치(200)와 외부 모바일 장치를 연결할 수 있다. 일 실시 예에 따르면, 커넥터(210)는 외부 모바일 장치의 커넥터와 연결될 수 있다.
USB 허브(220)는 하나의 USB 포트(244)를 여러 개로 확장하여 장치 연결을 위해 더 많은 포트를 사용할 수 있게 할 수 있다. 일 실시 예에 따르면, USB 허브(220)는 커넥터(210)와 복수의 IC의 사이에 연결되어 복수의 IC가 외부 모바일 장치와 통신하도록 할 수 있도록 할 수 있다. 일 실시 예에 따르면, USB 허브(220)는 다른 USB 허브(220)와 연결되어 USB 포트(244)를 더 확장할 수 있다.
복수의 IC는 DP to HDMI IC(231), USB 코덱 IC(232), LAN IC(233), 업스트림 PD IC(234) 및 다운스트림 PD IC(235)를 포함할 수 있다.
DP to HDMI IC(231)는 커넥터(210)를 통해 연결된 외부 모바일 장치가 출력하는 화면을 미러링할 수 있다. 예를 들어, DP to HDMI IC(231)는 외부 모바일 장치가 출력하는 신호를 HDMI(high definition multimedia interface) 포트(241)로 출력하기 위한 신호로 변환할 수 있다.
USB 코덱 IC(232)는 커넥터(210)를 통해 연결된 외부 모바일 장치가 출력하는 오디오 데이터를 아날로그 오디오 신호로 변환하여 오디오 포트(242)로 출력할 수 있다. 일 실시 예에 따르면, USB 코덱 IC(232)는 오디오 포트(242)로 입력된 오디오 신호를 오디오 데이터로 변환하여 외부 모바일 장치로 출력할 수 있다.
LAN IC(233)는 유선 LAN과 USB 간의 통신을 지원할 수 있다. 예를 들어, LAN IC(233)의 일단은 커넥터(210) 또는 USB 허브(220)에 연결되고, 타단은 RJ45 포트(243)에 연결될 수 있다. 다른 예를 들어, USB 포맷의 데이터를 이더넷 통신용 데이터로 변환하거나, 그 역변환을 수행할 수 있다. 일 실시 예에 따르면, 커넥터(210)에 연결된 외부 모바일 장치는 LAN IC(233) 및 RJ45 포트(243)를 통해 유선 인터넷을 사용할 수 있다.
업스트림 PD IC(234)는 커넥터(210)를 통해 연결된 외부 모바일 장치와 통신할 수 있다. 예를 들어, 업스트림 PD IC(234)는 프로세서(250)의 제어에 의해 인터페이스 장치(200)의 식별 데이터를 커넥터(210)를 통해 외부 모바일 장치로 전송할 수 있다. 다른 예로, 업스트림 PD IC(234)는 외부 모바일 장치로부터 펌웨어 업데이트 데이터를 수신할 수 있다. 다양한 실시 예에 따르면, 업스트림 PD IC(234)는 수신된 펌웨어 업데이트 데이터를 이용하여 메모리에 저장된 IC를 위한 펌웨어를 업데이트를 업데이트할 수 있다.
다운스트림 PD IC(235)는 인터페이스 장치(200)의 전력 공급을 제어할 수 있다.
복수의 포트는 HDMI 포트(241), 오디오 포트(242), RJ45 포트(243), USB 포트(244) 및 전력 포트(245)를 포함할 수 있다.
HDMI 포트(241)는 HDMI 케이블을 통해 외부 디스플레이 장치와 연결될 수 있다. HDMI 포트(241)는 DP to HDMI IC(231)가 출력한 신호를 외부 디스플레이 장치로 전달할 수 있다.
오디오 포트(242)는 오디오 플러그(예: 3.5파이(Ψ) 플러그) 등을 수용할 수 있다. 일 실시 예에 따르면, 오디오 포트(242)는 USB 코덱 IC(232)가 출력한 오디오 신호를 외부 오디오 출력 장치로 전달할 수 있다. 일 실시 예에 따르면, 외부 오디오 입력 장치로부터 입력된 오디오 신호를 USB 코덱 IC(232)로 전달할 수 있다.
RJ45 포트(243)는 LAN케이블이 연결될 수 있는 포트이다.
USB 포트(244)는 외부 장치(예: USB 메모리 또는 외부 전자 장치 등)가 연결될 수 있는 포트이다.
전력 포트(245)는 외부 전력 공급 장치로부터 공급되는 전력을 인터페이스 장치(200)로 전달할 수 있다. 전력 포트(245)를 통해 공급되는 전력은 다운스트림 PD IC(235)에 의해 제어될 수 있다.
프로세서(250)는 인터페이스 장치(200)의 전반적인 동작을 제어할 수 있다. 일 실시 예에 따르면, 프로세서(250)는 인터페이스 장치(200) 내에서 보안요소(secure element)로 동작할 수 있다. 다양한 실시 예에 따르면, 프로세서(250)는 IC로 구현될 수 있다.
도 3은 일 실시 예에 따른 모바일 장치의 블록도를 나타낸다.
일 실시 예에 따르면, 모바일 장치는 커넥터(310), 터치스크린 디스플레이(320), 무선 통신 회로(330), 메모리(340) 및 프로세서(350) 등을 포함할 수 있다.
커넥터(310)는 모바일 장치를 외부 인터페이스 장치와 연결하기 위한 연결 포트일 수 있다. 커넥터(310)는, 예를 들어, USB-C 타입 커넥터(310), 마이크로 5pin 커넥터(310) 또는 라이트닝 커넥터(310) 등일 수 있다.
터치스크린 디스플레이(320)는 어플리케이션의 실행 화면(예: 퀵 차지 UI 또는 펌웨어 업데이트와 관련된 실행 화면) 등을 출력할 수 있다. 일 실시 예에서, 터치스크린 디스플레이(320)는 터치 패널과 함께 구현되어 사용자로부터 터치 입력을 수신할 수 있다.
무선 통신 회로(330)는 모바일 장치가 외부 서버 또는 외부 장치 등과 무선으로 통신하도록 할 수 있다.
메모리(340)는 프로세서(350)에 의해 실행되는 인스트럭션들을 저장할 수 있다. 일 실시 예에 따르면, 메모리(340)는 인터페이스 장치를 제어하기 위한 어플리케이션 프로그램을 더 저장할 수 있다.
프로세서(350)는 모바일 장치의 전반적인 동작을 제어할 수 있다. 일 실시 예에 따르면, 프로세서(350)는 인터페이스 장치로부터 수신된 식별 데이터를 이용하여 인터페이스 장치가 지정된 조건을 만족하는지 여부를 판단할 수 있다. 예를 들어, 프로세서(350)는 인터페이스 장치가 정품인지 여부를 검증할 수 있다. 일 실시 예에 따르면, 프로세서(350)는 인터페이스 장치로부터 수신된 식별 데이터에 기반하여 인터페이스 장치의 보안 기능을 지원하는지 여부를 판단할 수 있다. 일 실시 예에서, 프로세서(350)는 인터페이스 장치의 보안 기능 지원 여부에 따른 펌웨어 업데이트 데이터를 외부 서버로 요청할 수 있다.
도 4는 일 실시 예에 따른 모바일 장치와 인터페이스 장치의 소프트웨어 모듈을 나타내는 블록도이다.
일 실시 예에 따르면, 모바일 장치의 프로세서(350) 및 인터페이스 장치의 프로세서(140)는 각 장치의 메모리(120, 340)에 저장된 명령어들을 실행하여, 도 4에 도시된 다양한 모듈을 구현할 수 있다. 따라서, 아래의 모듈들에 의해 수행되는 동작은 각 장치의 프로세서(140, 350)에 의해 수행되는 것으로 이해될 수 있다.
도 4를 참조하면, 모바일 장치(410)(예: 도 3의 모바일 장치)는 관리 어플리케이션 프로그램, 인터페이스 장치 관리 프로그램 및 액세서리 장치 관리 모듈을 포함할 수 있다.
일 실시 예에 따르면, 관리 어플리케이션 프로그램(411)은 퀵 차지(quick charge) UI(411a), SDK(software development kit)(411b) 및 펌웨어 업데이트 UI(411c)를 포함할 수 있다.
퀵 차지 UI(411a)는 모바일 장치(410)를 퀵 차지 모드로 충전할지 여부를 선택하도록 하는 오브젝트를 사용자에게 제공할 수 있다.
SDK(411b)는 하드웨어 파라미터 로그 프린트(hardware parameter log print) 제어 모듈(412c)이 수집한 데이터를 디버깅하거나 외부 서버로 전송하는 모듈이다.
펌웨어 업데이트 UI(411c)는 인터페이스 장치(420)(예: 도 1의 인터페이스 장치)의 펌웨어 버전을 사용자에게 제공하고, 인터페이스 장치(420)의 펌웨어를 업데이트할지 여부를 선택하도록 하는 오브젝트를 사용자에게 제공할 수 있다.
일 실시 예에 따르면, 인터페이스 장치(420) 관리 프로그램(412)은 팬 제어(fan control) 모듈, 퀵 차지 제어 모듈(412b), 하드웨어 파라미터 로그 프린트(hardware parameter log print) 제어 모듈, 보안 펌웨어 업데이트 제어 모듈(412d) 및 비보안(non-secure) 펌웨어 업데이트 제어 모듈을 포함할 수 있다.
팬 제어 모듈(412a)은 모바일 장치(410)의 상태(예: 모바일 장치의 온도)에 따라 인터페이스 장치(420)의 팬의 구동을 제어하는 UVDM(unstructured vendor defined message)를 생성하고, 생성된 UVDM을 인터페이스 장치(420)로 전송할 수 있다.
퀵 차지 제어 모듈(412b)은 퀵 차지 UI(411a)를 통한 사용자의 선택에 따라 인터페이스 장치(420)가 모바일 장치(410)로 공급할 전력을 제어하는 UVDM을 생성하고, 생성된 UVDM을 전송할 수 있다.
하드웨어 파라미터 로그 프린트 제어 모듈(412c)은 인터페이스 장치(420)의 상태, 설정 또는 버전 정보를 수집하고 로그로 저장할 수 있다. 일 실시 예에 따르면, 하드웨어 파라미터 로그 프린트 제어 모듈(412c)은 인터페이스 장치(420)에서 에러가 발생시 내부적으로 실행중인 상태 정보를 로그로 저장할 수 있다.
보안 펌웨어 업데이트 제어 모듈(412d)은 보안 기능을 지원하는 인터페이스 장치(420)의 펌웨어를 업데이트하는 제어 모듈이다. 일 실시 예에 따르면, 보안 펌웨어 업데이트 제어 모듈(412d)은 액세서리 장치 관리 모듈(413)을 통해 인터페이스 장치(420)의 보안 기능 지원여부를 판단할 수 있다. 일 실시 예에 따라, 인터페이스 장치(420)가 보안 기능을 지원하는 경우, 암호화된 펌웨어 업데이트 데이터를 인터페이스 장치(420)로 전송할 수 있다.
비보안 펌웨어 업데이트 제어 모듈(412e)은 보안 기능을 지원하지 않는 인터페이스 장치(420)의 펌웨어를 업데이트하는 제어 모듈이다. 일 실시 예에 따라, 인터페이스 장치(420)가 보안 기능을 지원하지 않는 경우, 암호화되지 않은 펌웨어 업데이트 데이터를 인터페이스 장치(420)로 전송할 수 있다.
일 실시 예에 따르면, 액세서리 장치 관리 모듈(413)은 인터페이스 장치(420)로부터 수신된 식별 데이터를 이용하여 인터페이스 장치(420)의 정품 여부 및 보안 기능 지원여부를 판단할 수 있다.
인터페이스 장치(420)는 UVDM 처리부 및 데이터 처리부를 포함할 수 있다.
UVDM 처리 모듈(421)은 모바일 장치(410)의 팬 제어 모듈(412a), 퀵 차지 제어 모듈(412b) 또는 액세서리 장치 관리 모듈(413)로부터 수신된 UVDM에 따라 인터페이스 장치(420)를 제어할 수 있다.
데이터 처리 모듈(422)은 보안 펌웨어 업데이트 제어 모듈(412d) 또는 비보안 펌웨어 업데이트 제어 모듈(412e)로부터 펌웨어 업데이트 데이터를 수신할 수 있다.
이하에서는 도 1의 인터페이스 장치 및 도 3의 모바일 장치가 도 5 및 도 6의 프로세스를 수행하는 것을 가정한다. 인터페이스 장치에 의해 수행되는 것으로 기술된 동작은 인터페이스 장치의 프로세서(140)에 의해 수행(혹은, 실행)될 수 있는 인스트럭션(명령어)들로 구현될 수 있다. 인스트럭션들은, 예를 들어, 컴퓨터 기록 매체 또는 도 1에 도시된 인터페이스 장치의 메모리(120)에 저장될 수 있다. 모바일 장치에 의해 수행되는 것으로 기술된 동작은 모바일 장치의 프로세서(350)에 의해 수행(혹은, 실행)될 수 있는 인스트럭션(명령어)들로 구현될 수 있다. 인스트럭션들은, 예를 들어, 컴퓨터 기록 매체 또는 도 3에 도시된 모바일 장치의 메모리(340)에 저장될 수 있다.
도 5는 일 실시 예에 따른 인터페이스 장치의 펌웨어 업데이트 방법을 나타낸 흐름도이다.
동작 501에서, 인터페이스 장치와 모바일 장치는 서로 연결될 수 있다. 일 실시 예에 따르면, 인터페이스 장치의 커넥터(110)와 모바일 장치의 커넥터(310)가 서로 연결될 수 있다.
동작 503에서, 인터페이스 장치의 프로세서(140)는 적어도 하나의 IC를 위한 펌웨어와 관련된 데이터를 포함하는 인터페이스 장치의 식별 데이터를 모바일 장치로 전송할 수 있다.
일 실시 예에 따르면, 식별 데이터는 인터페이스 장치가 보안 기능을 지원하는지 여부에 관한 정보, 인터페이스 장치가 포함하는 IC에 대한 정보 또는 인터페이스 장치의 고유 시리얼 넘버(unique serial number) 중 적어도 일부를 포함할 수 있다. 일 실시 예에 따르면, 식별 데이터는 적어도 하나의 IC를 위한 펌웨어와 관련된 데이터로 인터페이스 장치가 포함하는 IC의 펌웨어 정보(예: 펌웨어 버전(version) 또는 최근 펌웨어 업데이트 시간 등) 또는 펌웨어의 무결성 여부를 검증하기 위한 데이터(예: 해시 값 등) 중 적어도 하나를 포함할 수 있다.
동작 505에서, 모바일 장치의 프로세서(350)는 식별 데이터를 이용하여 인터페이스 장치가 지정된 조건을 만족하는지 여부를 판단할 수 있다.
일 실시 예에 따르면, 모바일 장치의 프로세서(350)는 인터페이스 장치가 정품인지의 여부를 검증할 수 있다.
일 실시 예에 따르면, 모바일 장치의 프로세서(350)는 식별 데이터에 포함된 시리얼 넘버를 이용하여 인터페이스 장치가 정품인지 여부를 검증할 수 있다. 예를 들어, 모바일 장치의 프로세서(350)는 메모리(340)에 미리 저장된 정품 검증 알고리즘을 이용하여 인터페이스 장치가 정품인지 여부를 검증할 수 있다. 다양한 실시 예에 따르면, 모바일 장치의 프로세서(350)는 예시된 정품 검증 방법 이외의 검증 방법을 이용할 수 있다.
동작 507에서, 인터페이스 장치가 지정된 조건을 만족하는 경우, 모바일 장치의 프로세서(350)는 식별 데이터에 기반하여 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 무선 통신 회로를 통해 외부 서버로 요청할 수 있다.
일 실시 예에 따르면, 식별 데이터는 인터페이스 장치의 보안 기능 지원 여부에 대한 정보를 포함할 수 있다.
일 실시 예에 따라, 인터페이스 장치가 보안 기능을 지원하는 것으로 판단된 경우, 모바일 장치의 프로세서(350)는 보안(secure) 펌웨어 업데이트 데이터를 무선 통신 회로를 통해 외부 서버로 요청할 수 있다.
일 실시 예에 따라, 인터페이스 장치가 보안 기능을 지원하지 않는 것으로 판단된 경우, 모바일 장치의 프로세서(350)는 비보안(non-secure) 펌웨어 업데이트 데이터를 무선 통신 회로를 통해 외부 서버로 요청할 수 있다.
일 실시 예에 따르면, 모바일 장치의 프로세서(350)는 터치스크린 디스플레이(320)를 통해 적어도 하나의 IC 중 펌웨어를 업데이트할 IC를 선택하는 사용자 입력을 수신할 수 있다. 일 실시 예에 따르면, 모바일 장치의 프로세서(350)는 선택된 IC를 위한 펌웨어 업데이트 데이터를 무선 통신 회로(330)를 통해 외부 서버로 요청할 수 있다.
이하의 동작 509 내지 동작 515는 인터페이스 장치가 보안 기능을 지원하는 것으로 판단된 경우 수행되는 동작인 것으로 전제한다.
일 실시 예에 따른 인터페이스 장치가 보안 기능을 지원하지 않는 것으로 판단된 경우의 모바일 장치 및 인터페이스 장치의 동작은 도 6을 참조하여 설명될 것이다.
동작 509에서, 모바일 장치의 프로세서(350)는 무선 통신 회로(330)를 통해 외부 서버로부터 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 수신할 수 있다.
일 실시 예에 따르면, 모바일 장치의 프로세서(350)는 보안 펌웨어 업데이트 데이터를 수신할 수 있다. 일 실시 예에 따르면, 보안 펌웨어 업데이트 데이터는 암호화된 데이터일 수 있다. 일 실시 예에 따르면, 모바일 장치의 프로세서(350)는 보안 펌웨어 업데이트 데이터의 해시(hash) 값을 더 수신할 수 있다.
동작 511에서, 인터페이스 장치의 프로세서(140)는 커넥터(110)를 통해 모바일 장치로부터 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 수신할 수 있다.
일 실시 예에 따라, 인터페이스 장치가 보안 기능을 지원하는 경우, 인터페이스 장치의 식별 데이터는 보안 기능을 지원하는 것을 나타내는 정보를 포함하고, 인터페이스 장치의 프로세서(140)는 보안 펌웨어 업데이트 데이터를 수신할 수 있다. 다시 말해, 인터페이스 장치의 프로세서(140)는 식별 데이터에 대응하는 펌웨어 업데이트 데이터를 수신할 수 있다.
일 실시 예에 따르면, 인터페이스 장치의 프로세서(140)는 모바일 장치로부터 펌웨어 업데이트 데이터의 해시 값을 더 수신할 수 있다.
동작 513에서, 인터페이스 장치의 프로세서(140)는 펌웨어 업데이트 데이터의 무결성을 검증(verify)할 수 있다.
일 실시 예에 따르면, 인터페이스 장치의 프로세서(140)는 펌웨어 업데이트 데이터의 해시 값을 이용하여 펌웨어 업데이트 데이터의 무결성을 검증할 수 있다. 예를 들어, 인터페이스 장치의 프로세서(140)는 펌웨어 업데이트 데이터의 위조 또는 변조 여부를 검증할 수 있다.
동작 515에서, 펌웨어 업데이트 데이터가 무결한 경우, 인터페이스 장치의 프로세서(140)는 펌웨어 업데이트 데이터를 이용하여 메모리(120)에 저장된 적어도 하나의 IC를 위한 펌웨어를 업데이트할 수 있다.
일 실시 예에 따르면, 인터페이스 장치의 프로세서(140)는 펌웨어 업데이트 파일을 메모리(120)에 저장할 수 있다. 일 실시 예에 따라 지정된 이벤트 발생시, 저장된 펌웨어 업데이트 데이터를 이용하여 메모리(120)에 저장된 적어도 하나의 IC를 위한 펌웨어를 업데이트할 수 있다. 예를 들어, 인터페이스의 프로세서가 펌웨어 업데이트를 수행하는 중 오류가 발생하여 펌웨어 업데이트가 완료되지 않은 경우, 인터페이스 장치의 프로세서(140)는 저장된 펌웨어 업데이트 데이터를 이용하여 메모리(120)에 저장된 적어도 하나의 IC를 위한 펌웨어를 업데이트할 수 있다.
다양한 실시 예에 따르면, 인터페이스 장치의 프로세서(140)는 업데이트된 펌웨어의 해시 값을 생성하고, 생성된 펌웨어의 해시 값을 메모리(120)에 저장할 수 있다. 인터페이스 장치의 프로세서(140)는 메모리(120)에 저장된 적어도 하나의 IC를 위한 펌웨어를 업데이트한 후, 저장된 펌웨어의 해시 값을 이용하여 메모리(120)에 저장된 적어도 하나의 IC를 위한 펌웨어의 무결성을 검증할 수 있다. 다양한 실시 예에 따르면, 인터페이스 장치의 프로세서(140)는 메모리(120)에 저장된 적어도 하나의 IC를 위한 펌웨어를 업데이트한 후, 저장된 펌웨어의 해시 값을 이용하여 주기적으로 메모리(120)에 저장된 적어도 하나의 IC를 위한 펌웨어의 무결성을 검증할 수 있다. 다양한 실시 예에 따르면, 인터페이스 장치의 프로세서(140)는 메모리(120)에 저장된 적어도 하나의 IC를 위한 펌웨어를 업데이트한 후, 저장된 펌웨어의 해시 값을 이용하여 인터페이스 장치의 전원 온(on)시, 메모리(120)에 저장된 적어도 하나의 IC를 위한 펌웨어의 무결성을 검증할 수 있다.
도 6는 일 실시 예에 따른 보안 기능을 지원하지 않는 인터페이스 장치의 펌웨어 업데이트 방법을 나타낸 흐름도이다.
동작 601에서, 모바일 장치의 프로세서(350)는 식별 데이터에 기반하여 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 무선 통신 회로(330)를 통해 외부 서버로 요청할 수 있다.
일 실시 예에 따라, 인터페이스 장치가 보안 기능을 지원하지 않는 것으로 판단된 경우, 모바일 장치의 프로세서(350)는 비보안 펌웨어 업데이트 데이터를 무선 통신 회로(330)를 통해 외부 서버로 요청할 수 있다.
동작 603에서, 인터페이스 장치의 프로세서(140)는 무선 통신 회로(330)를 통해 외부 서버로부터 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 수신할 수 있다.
일 실시 예에 따르면, 모바일 장치의 프로세서(350)는 비보안 펌웨어 업데이트 데이터를 수신할 수 있다.
동작 605에서, 인터페이스 장치의 프로세서(140)는 커넥터(110)를 통해 모바일 장치로부터 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 수신할 수 있다.
일 실시 예에 따라, 인터페이스 장치가 보안 기능을 지원하지 않는 경우, 인터페이스 장치의 식별 데이터는 보안 기능을 지원하지 않는 것을 나타내는 정보를 포함하고, 인터페이스 장치의 프로세서(140)는 비보안 펌웨어 업데이트 데이터를 수신할 수 있다. 다시 말해, 인터페이스 장치의 프로세서(140)는 식별 데이터에 대응하는 펌웨어 업데이트 데이터를 수신할 수 있다.
동작 607에서, 인터페이스 장치의 프로세서(140)는 펌웨어 업데이트 데이터를 이용하여 메모리(120)에 저장된 적어도 하나의 IC를 위한 펌웨어를 업데이트할 수 있다.
다양한 실시 예에 따르면, 동작 503에서, 인터페이스 장치의 프로세서(140)는 복수의 IC를 위한 펌웨어와 관련된 데이터를 포함하는 인터페이스 장치의 식별 데이터를 커넥터를 통해 모바일 장치로 전송할 수 있다.
일 실시 예에 따르면, 복수의 IC는 펌웨어가 보안 펌웨어 업데이트 방식으로 업데이트되도록 설정된 적어도 하나의 제1 IC 및 펌웨어가 비보안 펌웨어 업데이트 방식으로 업데이트되도록 설정된 적어도 하나의 제2 IC를 포함할 수 있다.
동작 507에서, 모바일 장치의 프로세서(350)는, 복수의 IC 중 일부인 제1 IC를 위한 보안 펌웨어 업데이트 데이터 및 복수의 IC 중 나머지 일부인 제2 IC를 위한 비보안 펌웨어 업데이트 데이터를 무선 통신 회로(330)를 통해 외부 서버로 요청할 수 있다.
동작 507 후, 모바일 장치의 프로세서(350)는 무선 통신 회로(330)를 통해 외부 서버로부터 복수의 IC를 위한 펌웨어 업데이트 데이터를 수신할 수 있다.
일 실시 예에 따르면, 모바일 장치의 프로세서(350)는 제1 IC를 위한 보안 펌웨어 업데이트 데이터 및 제2 IC를 위한 비보안 펌웨어 업데이트 데이터를 수신할 수 있다. 일 실시 예에 따르면, 제1 IC를 위한 보안 펌웨어 업데이트 데이터는 암호화된 데이터일 수 있다. 일 실시 예에 따르면, 모바일 장치의 프로세서(350)는 제1 IC를 위한 보안 펌웨어 업데이트 데이터의 해시(hash) 값을 더 수신할 수 있다. 일 실시 예에 따르면, 제2 IC를 위한 비보안 펌웨어 업데이트 데이터는 암호화되지 않은 데이터일 수 있다.
이 후, 모바일 장치의 프로세서(350)는 커넥터를 통해 수신된 복수의 IC를 위한 펌웨어 업데이트 데이터를 인터페이스 장치로 전송할 수 있다.
일 실시 예에 따르면, 인터페이스 장치의 프로세서(140)는 수신된 복수의 IC를 위한 펌웨어 업데이트 데이터 중 복수의 IC 중 일부인 제1 IC를 위한 펌웨어 업데이트 데이터의 무결성을 검증할 수 있다.
일 실시 예에 따르면, 인터페이스 장치의 프로세서(140)는 제1 IC를 위한 펌웨어 업데이트 데이터가 무결한 경우, 인터페이스 장치의 프로세서(140)는 제1 IC를 위한 펌웨어 업데이트 데이터를 이용하여 메모리(120)에 저장된 제1 IC를 위한 펌웨어를 업데이트할 수 있다. 일 실시 예에 따르면, 인터페이스 장치의 프로세서(140)는 제2 IC를 위한 펌웨어 업데이트 데이터의 무결성 검증을 수행하지 않고, 제2 IC를 위한 펌웨어 업데이트 데이터를 이용하여 메모리(120)에 저장된 제2 IC를 위한 펌웨어를 업데이트할 수 있다.
이하에서는 도 7 내지 도 9를 참조하여 인터페이스 장치의 각 구성, 모바일 장치 및 외부 서버가 전술된 동작들을 수행하는 것이 다시 설명될 것이다.
도 7 내지 도 9에 도시된 인터페이스 장치(71, 80, 91)는 도 1 및 도 2의 인터페이스 장치에 대응될 수 있고, 모바일 장치(72, 92)는 도 3의 모바일 장치에 대응될 수 있다. 일 실시 예에 따르면, 인터페이스 장치 내(71, 80, 91)의 프로세서(71a, 80a), 업스트림 PD IC(71b, 80b, 91b) 다운스트림 PD IC(71c, 80c, 91b) 및 메모리(71d, 80d, 91c)는 상호간 I2C(inter integrated circuit) 방식으로 통신할 수 있다. 일 실시 예에 따르면, 다운스트림 PD IC(71c, 80c, 91b)는 업스트림 PD IC(71b, 80b, 91b 를 통해 인터페이스 장치(71, 80, 91)의 각 구성에 전력을 공급할 수 있다.
도 7은 일 실시 예에 따른 보안 기능을 지원하는 인터페이스 장치, 모바일 장치 및 외부 서버가 인터페이스 장치의 펌웨어를 업데이트하는 것을 나타내는 도면이다.
인터페이스 장치(71)와 모바일 장치(72)가 연결되면, 동작 701에서, 인터페이스 장치(71)의 프로세서(71a)는 업스트림 PD IC(71b)가 인터페이스 장치(71)의 적어도 하나의 IC를 위한 펌웨어와 관련된 데이터를 포함하는 인터페이스 장치(71)의 식별 데이터를 모바일 장치(72)로 전송하도록 제어할 수 있다.
동작 703에서, 업스트림 PD IC(71b)는 커넥터를 통해 인터페이스 장치(71)의 식별 데이터를 모바일 장치(72)로 전송할 수 있다.
일 실시 예에 따르면, 동작 701 및 동작 703은 전술된 동작 501에 대응될 수 있다.
동작 705에서, 모바일 장치(72)의 프로세서(72a)는 식별 데이터에 기반하여 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 무선 통신 회로를 통해 외부 서버(73)로 요청할 수 있다.
일 실시 예에 따르면, 모바일 장치(72)의 프로세서(72a)는 식별 데이터를 이용하여 인터페이스 장치(71)가 지정된 조건을 만족하는지 여부(예: 인터페이스 장치(71)가 정품인지 여부)를 판단하고, 인터페이스 장치(71)가 지정된 조건을 만족하는 경우, 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 무선 통신 회로를 통해 외부 서버(73)로 요청할 수 있다.
일 실시 예에 따르면, 모바일 장치(72)의 프로세서(72a)는 식별 데이터에 기반하여 보안 기능을 지원하는 것으로 판단된 경우, 모바일 장치(72)의 프로세서(72a)는 보안 펌웨어 업데이트 데이터를 무선 통신 회로를 통해 외부 서버(73)로 요청할 수 있다. 일 실시 예에 따르면, 인터페이스 장치(71)가 보안 기능을 지원하지 않는 것으로 판단된 경우, 모바일 장치(72)의 프로세서(72a)는 비보안 펌웨어 업데이트 데이터를 무선 통신 회로를 통해 외부 서버(73)로 요청할 수 있다
일 실시 예에 따르면, 모바일 장치(72)의 프로세서(72a)는 복수의 IC를 위한 펌웨어와 관련된 데이터를 포함하는 인터페이스 장치(71)의 식별 데이터를 수신할 수 있다. 일 실시 예에 따르면, 모바일 장치(72)의 프로세서(72a)는 복수의 IC 중 일부의 IC를 위한 보안 펌웨어 업데이트 데이터 및 복수의 IC 중 나머지 일부의 IC를 위한 비보안 펌웨어 업데이트 데이터를 무선 통신 회로를 통해 외부 서버(73)로 요청할 수 있다.
일 실시 예에 따르면, 동작 705는 전술된 동작 505 및 동작 507에 대응될 수 있다.
동작 707에서, 모바일 장치(72)의 프로세서(72a)는 무선 통신 회로를 통해 외부 서버(73)로부터 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 수신할 수 있다.
일 실시 예에 따르면, 모바일 장치(72)의 프로세서(72a)는 동작 705의 요청에 대응하는 펌웨어 업데이트 데이터를 수신할 수 있다.
일 실시 예에 따르면, 보안 펌웨어 업데이트 데이터는 암호화된 데이터일 수 있다. 일 실시 예에 따르면, 모바일 장치(72)의 프로세서(72a)는 펌웨어 업데이트 데이터의 해시 값을 더 수신할 수 있다.
일 실시 예에 따르면, 동작 707은 전술된 동작 509에 대응될 수 있다.
동작 709에서, 모바일 장치(72)의 프로세서(72a)는 수신된 펌웨어 업데이트 데이터를 커넥터를 통해 인터페이스 장치(71)로 전송할 수 있다.
동작 711에서, 업스트림 PD IC(71b)는 모바일 장치(72)로부터 수신된 펌웨어 업데이트 데이터를 인터페이스 장치(71)의 프로세서(71a)로 전달할 수 있다.
일 실시 예에 따르면, 동작 709 및 동작 711은 전술된 동작 511에 대응될 수 있다.
동작 713에서, 인터페이스 장치(71)의 프로세서(71a)는 수신된 펌웨어 업데이트 데이터를 이용하여 메모리(71d)에 저장된 적어도 하나의 IC를 위한 펌웨어를 업데이트할 수 있다.
일 실시 예에 따르면, 펌웨어 업데이트 데이터는 암호화된 데이터일 수 있고, 인터페이스 장치(71)의 프로세서(71a)는 암호화된 펌웨어 업데이트 데이터를 복호화(decrypt)할 수 있다.
일 실시 예에 따르면, 인터페이스 장치(71)의 프로세서(71a)는 펌웨어를 업데이트하기 전, 인터페이스 장치(71)의 프로세서(71a)는 펌웨어 업데이트 데이터의 해시 값을 이용하여 펌웨어 업데이트 데이터의 위조 및 변조여부를 검증할 수 있다. 일 실시 예에 따라, 펌웨어 업데이트 데이터가 무결한 경우, 인터페이스 장치(71)의 프로세서(71a)는 펌웨어를 업데이트할 수 있다.
일 실시 예에 따르면, 인터페이스 장치(71)의 프로세서(71a)는 수신된 펌웨어 업데이트 데이터를 메모리(71d)에 저장할 수 있다.
일 실시 예에 따르면, 인터페이스 장치(71)의 프로세서(71a)는 업데이트된 펌웨어의 해시 값을 생성하고, 생성된 해시 값을 메모리(71d)에 저장할 수 있다. 일 실시 예에 따르면, 인터페이스 장치(71)의 프로세서(71a)는 펌웨어 업데이트 후, 메모리(71d)에 저장된 해시 값을 이용하여 펌웨어의 무결성을 검증할 수 있다.
일 실시 예에 따르면, 동작 713은 전술된 동작 513 및 동작 515에 대응될 수 있다.
도 8은 일 실시 예에 따른 인터페이스 장치가 지정된 이벤트 발생시 펌웨어를 업데이트 하는 것을 나타내는 도면이다.
일 실시 예에 따르면, 지정된 이벤트 발생시 인터페이스 장치(80)의 프로세서(80a)는 메모리(80d)에 저장된 펌웨어 업데이트 데이터를 이용하여 펌웨어를 업데이트 할 수 있다. 예를 들어, 인터페이스 장치(80)의 프로세서(80a)가 펌웨어를 업데이트 하던 중 오류가 발생하여 업데이트가 완료되지 않은 경우, 인터페이스 장치(80)의 프로세서(80a)는 펌웨어 업데이트를 다시 수행할 수 있다.
일 실시 예에 따라. 펌웨어 업데이트 중 오류가 발생하는 경우, 오류가 발생한 펌웨어에 대응하는 IC는 프로세서(80a)로 오류 발생을 알릴 수 있다. 아래의 실시 예에서는 업스트림 PD IC(80b)를 위한 펌웨어 업데이트 중 오류가 발생한 것으로 전제한다.
동작 801에서, 업스트림 PD IC(80b)는 프로세서(80a)로 업스트림 PD IC(80b)의 펌웨어 업데이트 중 오류가 발생하였음을 알릴 수 있다.
동작 803에서, 인터페이스 장치(80)의 프로세서(80a)는 메모리(80d)에 저장된 펌웨어 업데이트 데이터를 불러올 수 있다.
동작 805에서, 인터페이스 장치(80)의 프로세서(80a)는 펌웨어 업데이트 데이터를 이용하여 업스트림 PD IC(80b)의 펌웨어를 다시 업데이트할 수 있다.
동작 807에서, 인터페이스 장치(80)의 프로세서(80a)는 펌웨어 업데이트가 완료되었음을 업스트림 PD IC(80b)로 알릴 수 있다.
도 9는 일 실시 예에 따른 보안 기능을 지원하지 않는 인터페이스 장치, 모바일 장치 및 외부 서버가 인터페이스 장치의 펌웨어를 업데이트하는 것을 나타내는 도면이다.
일 실시 예에 따르면, 보안 기능을 지원하지 않는 인터페이스 장치(91)의 업스트림 PD IC(91a)는 모바일 장치(92)와의 통신 및 펌웨어 업데이트를 수행할 수 있다.
인터페이스 장치(91)와 모바일 장치(92)가 연결되면, 동작 901에서, 업스트림 PD IC(91a)는 인터페이스 장치(91)의 적어도 하나의 IC를 위한 펌웨어와 관련된 데이터를 포함하는 인터페이스 장치(91)의 식별 데이터를 커넥터를 통해 모바일 장치(92)로 전송할 수 있다.
일 실시 예에 따르면, 동작 901은 전술된 동작 501에 대응될 수 있다.
동작 903에서, 모바일 장치(92)의 프로세서(92a)는 식별 데이터에 기반하여 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 무선 통신 회로를 통해 외부 서버(93)로 요청할 수 있다.
일 실시 예에 따르면, 모바일 장치(92)의 프로세서(92a)는 식별 데이터를 이용하여 인터페이스 장치(91)가 지정된 조건을 만족하는지 여부를 판단하고, 인터페이스 장치(91)가 지정된 조건을 만족하는 경우, 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 무선 통신 회로를 통해 외부 서버(93)로 요청할 수 있다.
일 실시 예에 따르면, 모바일 장치(92)의 프로세서(92a)는 인터페이스 장치(91)가 보안 기능을 지원하지 않는 것으로 판단할 수 있고, 모바일 장치(92)의 프로세서(92a)는 비보안 펌웨어 업데이트 데이터를 무선 통신 회로를 통해 외부 서버(93)로 요청할 수 있다
일 실시 예에 따르면, 동작 903은 전술된 동작 601에 대응될 수 있다.
동작 905에서, 모바일 장치(92)의 프로세서(92a)는 무선 통신 회로를 통해 외부 서버(93)로부터 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 수신할 수 있다.
일 실시 예에 따르면, 모바일 장치(92)의 프로세서(92a)는 펌웨어 업데이트 데이터의 해시 값을 더 수신할 수 있다.
일 실시 예에 따르면, 동작 905는 전술된 동작 603에 대응될 수 있다.
동작 907에서, 모바일 장치(92)의 프로세서(92a)는 수신된 펌웨어 업데이트 데이터를 커넥터를 통해 인터페이스 장치(91)로 전송할 수 있다.
일 실시 예에 따르면, 동작 907은 전술된 동작 605에 대응될 수 있다.
동작 909에서, 업스트림 PD IC(91a)는 수신된 펌웨어 업데이트 데이터를 이용하여 메모리(91c)에 저장된 적어도 하나의 IC를 위한 펌웨어를 업데이트할 수 있다.
일 실시 예에 따르면, 동작 909는 전술된 동작 607에 대응될 수 있다.
도 10은 일 실시 예에 따른 인터페이스 장치가 펌웨어를 업데이트하는 방법을 나타낸 흐름도이다.
이하에서는 도 1의 인터페이스 장치가 도 10의 프로세스를 수행하는 것을 가정한다. 인터페이스 장치에 의해 수행되는 것으로 기술된 동작은 인터페이스 장치의 프로세서(140)에 의해 수행(혹은, 실행)될 수 있는 인스트럭션(명령어)들로 구현될 수 있다. 인스트럭션들은, 예를 들어, 컴퓨터 기록 매체 또는 도 1에 도시된 인터페이스 장치의 메모리(120)에 저장될 수 있다.
동작 1001 전, 인터페이스 장치와 모바일 장치는 서로 연결될 수 있다. 일 실시 예에 따르면, 인터페이스 장치의 커넥터(110)와 모바일 장치의 커넥터(310)가 서로 연결될 수 있다.
동작 1001에서, 인터페이스 장치의 프로세서(140)는 적어도 하나의 IC를 위한 펌웨어와 관련된 데이터를 포함하는 인터페이스 장치의 식별 데이터를 모바일 장치로 전송할 수 있다.
일 실시 예에 따르면, 식별 데이터는 인터페이스 장치가 보안 기능을 지원하는지 여부에 관한 정보, 인터페이스 장치가 포함하는 IC에 대한 정보 또는 인터페이스 장치의 고유 시리얼 넘버(unique serial number) 중 적어도 일부를 포함할 수 있다. 일 실시 예에 따르면, 식별 데이터는 적어도 하나의 IC를 위한 펌웨어와 관련된 데이터로 인터페이스 장치가 포함하는 IC의 펌웨어 정보(예: 펌웨어 버전(version) 또는 최근 펌웨어 업데이트 시간 등) 또는 펌웨어의 무결성 여부를 검증하기 위한 데이터 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 동작 1001은 도 5의 동작 503에 대응될 수 있다.
동작 1003에서, 인터페이스 장치의 프로세서(140)는 커넥터(110)를 통해 모바일 장치로부터 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 수신할 수 있다.
일 실시 예에 따라, 인터페이스 장치가 보안 기능을 지원하는 경우, 인터페이스 장치의 식별 데이터는 보안 기능을 지원하는 것을 나타내는 정보를 포함하고, 인터페이스 장치의 프로세서(140)는 보안 펌웨어 업데이트 데이터를 수신할 수 있다. 다시 말해, 인터페이스 장치의 프로세서(140)는 식별 데이터에 대응하는 펌웨어 업데이트 데이터를 수신할 수 있다.
일 실시 예에 따르면, 인터페이스 장치의 프로세서(140)는 모바일 장치로부터 펌웨어 업데이트 데이터의 해시 값을 더 수신할 수 있다.
일 실시 예에 따르면, 동작 1003은 도 5의 동작 511에 대응될 수 있다.
동작 1005에서, 인터페이스 장치의 프로세서(140)는 펌웨어 업데이트 데이터의 무결성을 검증(verify)할 수 있다.
일 실시 예에 따르면, 인터페이스 장치의 프로세서(140)는 펌웨어 업데이트 데이터의 해시 값을 이용하여 펌웨어 업데이트 데이터의 무결성을 검증할 수 있다. 예를 들어, 인터페이스 장치의 프로세서(140)는 펌웨어 업데이트 데이터의 위조 또는 변조 여부를 검증할 수 있다.
일 실시 예에 따르면, 동작 1003은 도 5의 동작 513에 대응될 수 있다.
동작 1007에서, 인터페이스 장치의 프로세서(140)는 펌웨어 업데이트 데이터가 무결한지 여부를 판단할 수 있다.
펌웨어 업데이트 데이터가 무결한 경우, 동작 1009에서 인터페이스 장치의 프로세서(140)는 펌웨어 업데이트 데이터를 이용하여 메모리(120)에 저장된 적어도 하나의 IC를 위한 펌웨어를 업데이트할 수 있다.
일 실시 예에 따르면, 인터페이스 장치의 프로세서(140)는 펌웨어 업데이트 파일을 메모리(120)에 저장할 수 있다. 일 실시 예에 따라 지정된 이벤트 발생시, 저장된 펌웨어 업데이트 데이터를 이용하여 메모리(120)에 저장된 적어도 하나의 IC를 위한 펌웨어를 업데이트할 수 있다. 예를 들어, 인터페이스의 프로세서가 펌웨어 업데이트를 수행하는 중 오류가 발생하여 펌웨어 업데이트가 완료되지 않은 경우, 인터페이스 장치의 프로세서(140)는 저장된 펌웨어 업데이트 데이터를 이용하여 메모리(120)에 저장된 적어도 하나의 IC를 위한 펌웨어를 업데이트할 수 있다.
일 실시 예에 따르면, 동작 1003은 도 5의 동작 515에 대응될 수 있다.
일 실시 예에 따라 펌웨어 업데이트 데이터에 결함이 있는 경우, 인터페이스 장치의 프로세서(140)는 펌웨어를 업데이트 하지 않을 수 있다.
도 11은, 다양한 실시예들에 따른, 네트워크 환경(1100) 내의 전자 장치(1101)(예: 도 3의 모바일 장치, 도 7의 모바일 장치(72) 및 도 9의 모바일 장치(92))의 블럭도이다. 도 11을 참조하면, 네트워크 환경(1100)에서 전자 장치(1101)는 제 1 네트워크(1198)(예: 근거리 무선 통신)를 통하여 전자 장치(1102)와 통신하거나, 또는 제 2 네트워크(1199)(예: 원거리 무선 통신)를 통하여 전자 장치(1104) 또는 서버(1108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(1101)는 서버(1108)를 통하여 전자 장치(1104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(1101)는 프로세서(1120)(예: 도 3의 프로세서(350), 도 7의 프로세서(72a), 도 9의 프로세서(92a)), 메모리(1130)(예: 도 3의 메모리(340)), 입력 장치(1150), 음향 출력 장치(1155), 표시 장치(1160)(예: 도 3의 터치 스크린 디스플레이(320)), 오디오 모듈(1170), 센서 모듈(1176), 인터페이스(1177), 햅틱 모듈(1179), 카메라 모듈(1180), 전력 관리 모듈(1188), 배터리(1189), 통신 모듈(1190)(예: 도 3의 무선 통신 회로(330)), 가입자 식별 모듈(1196), 및 안테나 모듈(1197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(1101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(1160) 또는 카메라 모듈(1180))가 생략되거나 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 예를 들면, 표시 장치(1160)(예: 디스플레이)에 임베디드된 센서 모듈(1176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)의 경우와 같이, 일부의 구성요소들이 통합되어 구현될 수 있다.
프로세서(1120)는, 예를 들면, 소프트웨어(예: 프로그램(1140))를 구동하여 프로세서(1120)에 연결된 전자 장치(1101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 프로세서(1120)는 다른 구성요소(예: 센서 모듈(1176) 또는 통신 모듈(1190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(1132)에 로드하여 처리하고, 결과 데이터를 비휘발성 메모리(1134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(1120)는 메인 프로세서(1121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 운영되고, 추가적으로 또는 대체적으로, 메인 프로세서(1121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화된 보조 프로세서(1123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 여기서, 보조 프로세서(1123)는 메인 프로세서(1121)와 별개로 또는 임베디드되어 운영될 수 있다.
이런 경우, 보조 프로세서(1123)는, 예를 들면, 메인 프로세서(1121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(1121)를 대신하여, 또는 메인 프로세서(1121)가 액티브(예: 어플리케이션 수행) 상태에 있는 동안 메인 프로세서(1121)와 함께, 전자 장치(1101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(1160), 센서 모듈(1176), 또는 통신 모듈(1190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(1123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(1180) 또는 통신 모듈(1190))의 일부 구성 요소로서 구현될 수 있다. 메모리(1130)는, 전자 장치(1101)의 적어도 하나의 구성요소(예: 프로세서(1120) 또는 센서모듈(1176))에 의해 사용되는 다양한 데이터, 예를 들어, 소프트웨어(예: 프로그램(1140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 저장할 수 있다. 메모리(1130)는, 휘발성 메모리(1132) 또는 비휘발성 메모리(1134)를 포함할 수 있다.
프로그램(1140)은 메모리(1130)에 저장되는 소프트웨어로서, 예를 들면, 운영 체제(1142), 미들 웨어(1144) 또는 어플리케이션(1146)을 포함할 수 있다.
입력 장치(1150)는, 전자 장치(1101)의 구성요소(예: 프로세서(1120))에 사용될 명령 또는 데이터를 전자 장치(1101)의 외부(예: 사용자)로부터 수신하기 위한 장치로서, 예를 들면, 마이크, 마우스, 또는 키보드를 포함할 수 있다.
음향 출력 장치(1155)는 음향 신호를 전자 장치(1101)의 외부로 출력하기 위한 장치로서, 예를 들면, 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용되는 스피커와 전화 수신 전용으로 사용되는 리시버를 포함할 수 있다. 일실시예에 따르면, 리시버는 스피커와 일체 또는 별도로 형성될 수 있다.
표시 장치(1160)는 전자 장치(1101)의 사용자에게 정보를 시각적으로 제공하기 위한 장치로서, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(1160)는 터치 회로(touch circuitry) 또는 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서를 포함할 수 있다.
오디오 모듈(1170)은 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(1170)은, 입력 장치(1150)를 통해 소리를 획득하거나, 음향 출력 장치(1155), 또는 전자 장치(1101)와 유선 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(1102)(예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(1176)은 전자 장치(1101)의 내부의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(1176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(1177)는 외부 전자 장치(예: 전자 장치(1102))와 유선 또는 무선으로 연결할 수 있는 지정된 프로토콜을 지원할 수 있다. 일실시예에 따르면, 인터페이스(1177)는 HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(1178)는 전자 장치(1101)와 외부 전자 장치(예: 전자 장치(1102))를 물리적으로 연결시킬 수 있는 커넥터, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(1179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 햅틱 모듈(1179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(1180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(1180)은 하나 이상의 렌즈, 이미지 센서, 이미지 시그널 프로세서, 또는 플래시를 포함할 수 있다.
전력 관리 모듈(1188)은 전자 장치(1101)에 공급되는 전력을 관리하기 위한 모듈로서, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구성될 수 있다.
배터리(1189)는 전자 장치(1101)의 적어도 하나의 구성 요소에 전력을 공급하기 위한 장치로서, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(1190)은 전자 장치(1101)와 외부 전자 장치(예: 전자 장치(1102), 전자 장치(1104), 또는 서버(1108))간의 유선 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(1190)은 프로세서(1120)(예: 어플리케이션 프로세서)와 독립적으로 운영되는, 유선 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(1190)은 무선 통신 모듈(1192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(1194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함하고, 그 중 해당하는 통신 모듈을 이용하여 제 1 네트워크(1198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(1199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 상술한 여러 종류의 통신 모듈(1190)은 하나의 칩으로 구현되거나 또는 각각 별도의 칩으로 구현될 수 있다.
일실시예에 따르면, 무선 통신 모듈(1192)은 가입자 식별 모듈(1196)에 저장된 사용자 정보를 이용하여 통신 네트워크 내에서 전자 장치(1101)를 구별 및 인증할 수 있다.
안테나 모듈(1197)은 신호 또는 전력을 외부로 송신하거나 외부로부터 수신하기 위한 하나 이상의 안테나들을 포함할 수 있다. 일시예에 따르면, 통신 모듈(1190)(예: 무선 통신 모듈(1192))은 통신 방식에 적합한 안테나를 통하여 신호를 외부 전자 장치로 송신하거나, 외부 전자 장치로부터 수신할 수 있다.
상기 구성요소들 중 일부 구성요소들은 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input/output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되어 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(1199)에 연결된 서버(1108)를 통해서 전자 장치(1101)와 외부의 전자 장치(1104)간에 송신 또는 수신될 수 있다. 전자 장치(1102, 1004) 각각은 전자 장치(1101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(1101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 외부 전자 장치에서 실행될 수 있다. 일실시예에 따르면, 전자 장치(1101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(1101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 외부 전자 장치에게 요청할 수 있다. 상기 요청을 수신한 외부 전자 장치는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(1101)로 전달할 수 있다. 전자 장치(1101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
본 문서에 개시되는 일 실시 예에 따른 외부 모바일 장치와 연결되는 인터페이스 장치는 커넥터, 적어도 하나의 IC(integrated circuit), 상기 적어도 하나의 IC를 위한 펌웨어 및 인스트럭션들을 저장하는 메모리, 및 상기 저장된 인스트럭션들을 실행하도록 설정된 적어도 하나의 프로세서를 포함하고, 상기 프로세서는 상기 인스트럭션들을 실행하여, 상기 커넥터를 통해 상기 외부 모바일 장치와 연결되면, 상기 펌웨어와 관련된 데이터를 포함하는 상기 인터페이스 장치의 식별 데이터를 상기 커넥터를 통해 상기 외부 모바일 장치로 전송하고, 상기 커넥터를 통해 상기 외부 모바일 장치로부터 상기 식별 데이터에 대응하고 상기 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 수신하고, 상기 펌웨어 업데이트 데이터의 무결성을 검증하고(verify), 상기 펌웨어 업데이트 데이터가 무결한 경우, 상기 펌웨어 업데이트 데이터를 이용하여 상기 메모리에 저장된 상기 펌웨어를 업데이트할 수 있다.
일 실시 예에서, 상기 펌웨어와 관련된 데이터는 상기 펌웨어의 무결성 여부를 검증하기 위한 데이터 또는 상기 펌웨어의 버전(version) 중 적어도 하나를 포함할 수 있다.
일 실시 예에서, 상기 프로세서는, 상기 외부 모바일 장치로부터 상기 펌웨어 업데이트 데이터의 해시 값을 더 수신하고, 상기 수신된 펌웨어 업데이트 데이터의 해시 값을 이용하여 상기 펌웨어 업데이트 데이터의 무결성을 검증할 수 있다.
일 실시 예에서, 상기 프로세서는, 상기 업데이트된 펌웨어의 해시 값을 생성하고, 상기 생성된 펌웨어의 해시 값을 상기 메모리에 저장하고, 상기 메모리에 저장된 상기 펌웨어를 업데이트한 후, 상기 저장된 펌웨어의 해시 값을 이용하여 상기 메모리에 저장된 펌웨어의 무결성을 검증할 수 있다.
일 실시 예에서, 상기 프로세서는, 상기 저장된 펌웨어의 해시 값을 이용하여 상기 메모리에 저장된 펌웨어의 무결성을 주기적으로 검증할 수 있다.
일 실시 예에서, 상기 프로세서는, 상기 인터페이스 장치의 전원 온(on)시, 상기 저장된 펌웨어의 해시 값을 이용하여 상기 메모리에 저장된 펌웨어의 무결성을 검증할 수 있다.
일 실시 예에서, 상기 프로세서는, 상기 수신된 펌웨어 업데이트 데이터를 상기 메모리에 저장하고, 지정된 이벤트 발생시, 상기 저장된 펌웨어 업데이트 데이터를 이용하여 상기 메모리에 저장된 펌웨어를 업데이트할 수 있다.
일 실시 예에서, 상기 인터페이스 장치는 복수의 상기 IC를 포함하고, 상기 프로세서는, 상기 복수의 IC를 위한 펌웨어와 관련된 데이터를 포함하는 상기 인터페이스 장치의 식별 데이터를 상기 커넥터를 통해 상기 외부 모바일 장치로 전송하고, 상기 커넥터를 통해 상기 외부 모바일 장치로부터 상기 복수의 IC를 위한 펌웨어 업데이트 데이터를 수신하고, 상기 복수의 IC 중 일부인 제1 IC를 위한 펌웨어 업데이트 데이터의 무결성을 검증하고, 상기 제1 IC를 위한 펌웨어 업데이트 데이터가 무결한 경우, 상기 제1 IC를 위한 펌웨어 업데이트 데이터를 이용하여 상기 메모리에 저장된 상기 제1 IC를 위한 펌웨어를 업데이트할 수 있다.
일 실시 예에서, 상기 프로세서는, 상기 복수의 IC 중 나머지 일부인 제2 IC를 위한 펌웨어 업데이트 데이터를 이용하여 상기 메모리에 저장된 상기 제2 IC를 위한 펌웨어를 업데이트할 수 있다.
일 실시 예에서, 상기 제1 IC는 펌웨어가 보안 펌웨어 업데이트 방식으로 업데이트되도록 설정된 IC일 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 전자 장치는 커넥터, 무선 통신 회로, 인스트럭션들을 저장하는 메모리, 및 상기 저장된 인스트럭션들을 실행하도록 설정된 적어도 하나의 프로세서를 포함하고, 상기 프로세서는 상기 인스트럭션들을 실행하여, 상기 커넥터를 통해 외부 인터페이스 장치와 연결될 경우, 상기 커넥터를 통해 상기 외부 인터페이스 장치로부터 상기 외부 인터페이스 장치에 포함된 적어도 하나의 IC와 관련된 펌웨어와 관련된 데이터를 포함하는 상기 외부 인터페이스 장치의 식별 데이터를 수신하고, 상기 식별 데이터에 적어도 기반하여 상기 외부 인터페이스 장치가 지정된 조건을 만족하는지 여부를 판단하고, 상기 외부 인터페이스 장치가 지정된 조건을 만족하는 경우, 상기 식별 데이터에 기반하여 상기 적어도 하나의 IC와 관련된 펌웨어 업데이트 데이터를 상기 무선 통신 회로를 통해 외부 서버로 요청하고, 상기 무선 통신 회로를 통해 상기 외부 서버로부터 상기 적어도 하나의 IC와 관련된 펌웨어 업데이트 데이터를 수신하고, 상기 수신된 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 상기 커넥터를 통해 상기 외부 인터페이스 장치로 전송할 수 있다.
일 실시 예에서, 상기 펌웨어 업데이트 데이터를 상기 무선 통신 회로를 통해 외부 서버로 요청하는 동작은, 상기 식별 데이터에 기반하여 상기 외부 인터페이스 장치가 보안 기능을 지원하는 것으로 판단된 경우, 상기 보안 기능에 대응되는 보안 펌웨어 업데이트 데이터를 상기 무선 통신 회로를 통해 상기 외부 서버로 요청하는 동작을 포함할 수 있다.
일 실시 예에서, 상기 펌웨어 업데이트 데이터를 상기 무선 통신 회로를 통해 외부 서버로 요청하는 동작은, 상기 식별 데이터에 기반하여 상기 외부 인터페이스 장치가 보안 기능을 지원하지 않는 것으로 판단된 경우, 비보안(non-secure) 펌웨어 업데이트 데이터를 상기 무선 통신 회로를 통해 상기 외부 서버로 요청하는 동작을 포함할 수 있다.
일 실시 예에서, 터치스크린 디스플레이를 더 포함하고, 상기 프로세서는 상기 적어도 하나의 IC 중 펌웨어를 업데이트할 IC를 선택하는 사용자 입력을 상기 터치스크린 디스플레이를 통해 수신하고, 상기 펌웨어 업데이트 데이터를 상기 무선 통신 회로를 통해 외부 서버로 요청하는 동작은, 상기 선택된 IC를 위한 펌웨어 업데이트 데이터를 상기 무선 통신 회로를 통해 상기 외부 서버로 요청할 수 있다.
일 실시 예에서, 상기 프로세서는, 상기 커넥터를 통해 상기 외부 인터페이스 장치로부터 상기 외부 인터페이스 장치에 포함된 복수의 IC와 관련된 펌웨어와 관련된 데이터를 포함하는 상기 외부 인터페이스 장치의 식별 데이터를 수신하고, 상기 펌웨어 업데이트 데이터를 상기 무선 통신 회로를 통해 외부 서버로 요청하는 동작은, 상기 복수의 IC 중 일부인 제1 IC를 위한 보안 펌웨어 업데이트 데이터 및 상기 복수의 IC 중 나머지 일부인 제2 IC를 위한 비보안 펌웨어 업데이트 데이터를 상기 무선 통신 회로를 통해 상기 외부 서버로 요청하는 동작을 포함할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 인터페이스 장치의 펌웨어 업데이트 방법은 외부 모바일 장치와 연결되면, 적어도 하나의 IC와 관련된 펌웨어와 관련된 데이터를 포함하는 상기 인터페이스 장치의 식별 데이터를 외부 모바일 장치로 전송하는 동작, 상기 외부 모바일 장치로부터 상기 식별 데이터에 대응하고 상기 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 수신하는 동작, 상기 펌웨어 업데이트 데이터의 무결성을 검증하는 동작, 및 상기 펌웨어 업데이트 데이터가 무결한 경우, 상기 펌웨어 업데이트 데이터를 이용하여 상기 메모리에 저장된 상기 적어도 하나의 IC와 관련된 펌웨어를 업데이트하는 동작을 포함할 수 있다.
일 실시 예에서, 상기 적어도 하나의 IC와 관련된 펌웨어와 관련된 데이터는 상기 펌웨어의 무결성 여부를 검증하기 위한 데이터 또는 상기 펌웨어의 버전 중 적어도 하나와 관련된 데이터를 포함할 수 있다.
일 실시 예에서, 상기 적어도 하나의 IC와 관련된 펌웨어 업데이트 데이터를 수신하는 동작은, 상기 외부 모바일 장치로부터 상기 펌웨어 업데이트 데이터의 해시 값을 더 수신하는 동작을 포함하고, 상기 수신된 펌웨어 업데이트 데이터의 해시 값을 이용하여 상기 펌웨어 업데이트 데이터의 무결성을 검증하는 동작을 더 포함할 수 있다.
일 실시 예에서, 상기 업데이트된 펌웨어의 해시 값을 생성하는 동작, 상기 생성된 펌웨어의 해시 값을 저장하는 동작, 및 상기 펌웨어를 업데이트하는 동작 후, 상기 저장된 펌웨어의 해시 값을 이용하여 상기 적어도 하나의 IC를 위한 펌웨어의 무결성을 검증하는 동작을 더 포함할 수 있다.
일 실시 예에서, 상기 수신된 펌웨어 업데이트 데이터를 저장하는 동작, 및 지정된 이벤트 발생시, 상기 저장된 펌웨어 업데이트 데이터를 이용하여 상기 메모리에 저장된 상기 적어도 하나의 IC와 관련된 펌웨어를 업데이트하는 동작을 더 포함할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치 중 적어도 하나를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "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)(예: 내장 메모리(1136) 또는 외장 메모리(1138))에 저장된 명령어를 포함하는 소프트웨어(예: 프로그램(1140))로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 전자 장치(1101))를 포함할 수 있다. 상기 명령이 프로세서(예: 프로세서(1120))에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
Claims (15)
- 외부 모바일 장치와 연결되는 인터페이스 장치에 있어서,커넥터;적어도 하나의 IC(integrated circuit);상기 적어도 하나의 IC를 위한 펌웨어 및 인스트럭션들을 저장하는 메모리; 및적어도 하나의 프로세서를 포함하고, 상기 프로세서는 상기 인스트럭션들을 실행하여,상기 커넥터를 통해 상기 외부 모바일 장치와 연결되면,상기 펌웨어와 관련된 데이터를 포함하는 상기 인터페이스 장치의 식별 데이터를 상기 커넥터를 통해 상기 외부 모바일 장치로 전송하고,상기 커넥터를 통해 상기 외부 모바일 장치로부터 상기 식별 데이터에 대응하고 상기 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 수신하고,상기 펌웨어 업데이트 데이터의 무결성을 검증하고(verify),상기 펌웨어 업데이트 데이터가 무결한 경우, 상기 펌웨어 업데이트 데이터를 이용하여 상기 메모리에 저장된 상기 펌웨어를 업데이트하는, 인터페이스 장치.
- 청구항 1에 있어서,상기 펌웨어와 관련된 데이터는 상기 펌웨어의 무결성 여부를 검증하기 위한 데이터 또는 상기 펌웨어의 버전(version) 중 적어도 하나를 포함하는, 인터페이스 장치.
- 청구항 1에 있어서,상기 프로세서는,상기 외부 모바일 장치로부터 상기 펌웨어 업데이트 데이터의 해시 값을 더 수신하고,상기 수신된 펌웨어 업데이트 데이터의 해시 값을 이용하여 상기 펌웨어 업데이트 데이터의 무결성을 검증하는, 인터페이스 장치.
- 청구항 1에 있어서,상기 프로세서는,상기 업데이트된 펌웨어의 해시 값을 생성하고, 상기 생성된 펌웨어의 해시 값을 상기 메모리에 저장하고,상기 메모리에 저장된 상기 펌웨어를 업데이트한 후, 상기 저장된 펌웨어의 해시 값을 이용하여 상기 메모리에 저장된 펌웨어의 무결성을 검증하는, 인터페이스 장치.
- 청구항 4에 있어서,상기 프로세서는,상기 저장된 펌웨어의 해시 값을 이용하여 상기 메모리에 저장된 펌웨어의 무결성을 주기적으로 검증하는, 인터페이스 장치.
- 청구항 4에 있어서,상기 프로세서는,상기 인터페이스 장치의 전원 온(on)시, 상기 저장된 펌웨어의 해시 값을 이용하여 상기 메모리에 저장된 펌웨어의 무결성을 검증하는, 인터페이스 장치.
- 청구항 1에 있어서,상기 프로세서는,상기 수신된 펌웨어 업데이트 데이터를 상기 메모리에 저장하고,지정된 이벤트 발생시, 상기 저장된 펌웨어 업데이트 데이터를 이용하여 상기 메모리에 저장된 펌웨어를 업데이트하는, 인터페이스 장치.
- 청구항 1에 있어서,상기 인터페이스 장치는 복수의 상기 IC를 포함하고,상기 프로세서는,상기 복수의 IC를 위한 펌웨어와 관련된 데이터를 포함하는 상기 인터페이스 장치의 식별 데이터를 상기 커넥터를 통해 상기 외부 모바일 장치로 전송하고,상기 커넥터를 통해 상기 외부 모바일 장치로부터 상기 복수의 IC를 위한 펌웨어 업데이트 데이터를 수신하고,상기 복수의 IC 중 일부인 제1 IC를 위한 펌웨어 업데이트 데이터의 무결성을 검증하고,상기 제1 IC를 위한 펌웨어 업데이트 데이터가 무결한 경우, 상기 제1 IC를 위한 펌웨어 업데이트 데이터를 이용하여 상기 메모리에 저장된 상기 제1 IC를 위한 펌웨어를 업데이트하는, 인터페이스 장치.
- 청구항 8에 있어서,상기 프로세서는,상기 복수의 IC 중 나머지 일부인 제2 IC를 위한 펌웨어 업데이트 데이터를 이용하여 상기 메모리에 저장된 상기 제2 IC를 위한 펌웨어를 업데이트하는, 인터페이스 장치.
- 청구항 8에 있어서,상기 제1 IC는 펌웨어가 보안 펌웨어 업데이트 방식으로 업데이트되도록 설정된 IC인, 인터페이스 장치.
- 전자 장치에 있어서,커넥터;무선 통신 회로;인스트럭션들을 저장하는 메모리; 및적어도 하나의 프로세서를 포함하고, 상기 프로세서는 상기 인스트럭션들을 실행하여,상기 커넥터를 통해 외부 인터페이스 장치와 연결될 경우,상기 커넥터를 통해 상기 외부 인터페이스 장치로부터 상기 외부 인터페이스 장치에 포함된 적어도 하나의 IC와 관련된 펌웨어와 관련된 데이터를 포함하는 상기 외부 인터페이스 장치의 식별 데이터를 수신하고,상기 식별 데이터에 적어도 기반하여 상기 외부 인터페이스 장치가 지정된 조건을 만족하는지 여부를 판단하고,상기 외부 인터페이스 장치가 지정된 조건을 만족하는 경우, 상기 식별 데이터에 기반하여 상기 적어도 하나의 IC와 관련된 펌웨어 업데이트 데이터를 상기 무선 통신 회로를 통해 외부 서버로 요청하고,상기 무선 통신 회로를 통해 상기 외부 서버로부터 상기 적어도 하나의 IC와 관련된 펌웨어 업데이트 데이터를 수신하고,상기 수신된 적어도 하나의 IC를 위한 펌웨어 업데이트 데이터를 상기 커넥터를 통해 상기 외부 인터페이스 장치로 전송하는, 전자 장치.
- 청구항 11에 있어서,상기 펌웨어 업데이트 데이터를 상기 무선 통신 회로를 통해 외부 서버로 요청하는 동작은,상기 식별 데이터에 기반하여 상기 외부 인터페이스 장치가 보안 기능을 지원하는 것으로 판단된 경우, 상기 보안 기능에 대응되는 보안 펌웨어 업데이트 데이터를 상기 무선 통신 회로를 통해 상기 외부 서버로 요청하는 동작을 포함하는, 전자 장치.
- 청구항 11에 있어서,상기 펌웨어 업데이트 데이터를 상기 무선 통신 회로를 통해 외부 서버로 요청하는 동작은,상기 식별 데이터에 기반하여 상기 외부 인터페이스 장치가 보안 기능을 지원하지 않는 것으로 판단된 경우, 비보안(non-secure) 펌웨어 업데이트 데이터를 상기 무선 통신 회로를 통해 상기 외부 서버로 요청하는 동작을 포함하는, 전자 장치.
- 청구항 11 있어서,터치스크린 디스플레이를 더 포함하고,상기 프로세서는 상기 적어도 하나의 IC 중 펌웨어를 업데이트할 IC를 선택하는 사용자 입력을 상기 터치스크린 디스플레이를 통해 수신하고,상기 펌웨어 업데이트 데이터를 상기 무선 통신 회로를 통해 외부 서버로 요청하는 동작은, 상기 선택된 IC를 위한 펌웨어 업데이트 데이터를 상기 무선 통신 회로를 통해 상기 외부 서버로 요청하는, 전자 장치.
- 청구항 11에 있어서,상기 프로세서는,상기 커넥터를 통해 상기 외부 인터페이스 장치로부터 상기 외부 인터페이스 장치에 포함된 복수의 IC와 관련된 펌웨어와 관련된 데이터를 포함하는 상기 외부 인터페이스 장치의 식별 데이터를 수신하고,상기 펌웨어 업데이트 데이터를 상기 무선 통신 회로를 통해 외부 서버로 요청하는 동작은,상기 복수의 IC 중 일부인 제1 IC를 위한 보안 펌웨어 업데이트 데이터 및 상기 복수의 IC 중 나머지 일부인 제2 IC를 위한 비보안 펌웨어 업데이트 데이터를 상기 무선 통신 회로를 통해 상기 외부 서버로 요청하는 동작을 포함하는, 전자 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/956,539 US11567748B2 (en) | 2017-12-20 | 2018-12-05 | Interface device having updatable firmware, mobile device, and firmware update method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0176536 | 2017-12-20 | ||
KR1020170176536A KR20190074857A (ko) | 2017-12-20 | 2017-12-20 | 펌웨어를 업데이트하는 인터페이스 장치, 모바일 장치 및 펌웨어 업데이트 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019124826A1 true WO2019124826A1 (ko) | 2019-06-27 |
Family
ID=66993555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2018/015291 WO2019124826A1 (ko) | 2017-12-20 | 2018-12-05 | 펌웨어를 업데이트하는 인터페이스 장치, 모바일 장치 및 펌웨어 업데이트 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11567748B2 (ko) |
KR (1) | KR20190074857A (ko) |
WO (1) | WO2019124826A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111786820A (zh) * | 2020-06-16 | 2020-10-16 | 浙江国利网安科技有限公司 | 固件更新方法、装置及网络设备 |
CN113821522A (zh) * | 2021-09-22 | 2021-12-21 | 盐城工学院 | 基于大数据技术的企业业务智能化管理方法及系统 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020231418A1 (en) * | 2019-05-15 | 2020-11-19 | Hewlett-Packard Development Company, L.P. | Update signals |
KR20210037314A (ko) * | 2019-09-27 | 2021-04-06 | 삼성전자주식회사 | 보안 집적 회로를 이용하여 펌웨어를 갱신하기 위한 전자 장치 및 그의 동작 방법 |
JP7477328B2 (ja) * | 2020-03-16 | 2024-05-01 | Fdk株式会社 | 制御装置及び制御プログラムの書き換え方法 |
CN114765465A (zh) * | 2021-01-13 | 2022-07-19 | 三星电子株式会社 | 与充电器通信的便携式设备及其操作方法 |
TWI784500B (zh) * | 2021-04-28 | 2022-11-21 | 威鋒電子股份有限公司 | 電子裝置及其安全韌體更新方法 |
US20220156205A1 (en) * | 2021-06-25 | 2022-05-19 | Intel Corporation | Methods and apparatus to support post-manufacturing firmware extensions on computing platforms |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140078431A (ko) * | 2012-12-17 | 2014-06-25 | 현대자동차주식회사 | 펌웨어 업데이트 시스템 및 방법 |
KR20150048136A (ko) * | 2012-08-29 | 2015-05-06 | 마이크로소프트 코포레이션 | 보안 펌웨어 업데이트 기법 |
KR20150106219A (ko) * | 2014-03-11 | 2015-09-21 | 삼성전자주식회사 | 펌웨어 검증 기능을 갖는 모바일 시스템 그리고 그것의 펌웨어 업데이트 방법 |
KR101563441B1 (ko) * | 2014-12-31 | 2015-10-26 | 한국조폐공사 | 펌웨어의 정당성 확인이 가능한 기계장치 및 이의 펌웨어 업데이트 방법 |
KR20150120640A (ko) * | 2014-04-18 | 2015-10-28 | 주식회사 케이티 | 스마트카드의 펌웨어를 업데이트하는 방법, 장치 및 시스템 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004070571A2 (en) * | 2003-02-03 | 2004-08-19 | Bitfone Corporation | Update system for facilitating firmware/software update in a mobile handset |
JP4576853B2 (ja) | 2004-03-05 | 2010-11-10 | ソニー株式会社 | 情報処理装置、および認証処理方法、並びにコンピュータ・プログラム |
US8353140B2 (en) | 2007-11-07 | 2013-01-15 | Valinge Innovation Ab | Mechanical locking of floor panels with vertical snap folding |
EP4357553A3 (en) | 2007-11-07 | 2024-06-12 | Välinge Innovation AB | Mechanical locking of floor panels with vertical snap folding |
US20090320012A1 (en) * | 2008-06-04 | 2009-12-24 | Mediatek Inc. | Secure booting for updating firmware over the air |
KR101527409B1 (ko) * | 2008-09-22 | 2015-06-09 | 삼성전자주식회사 | 영역 구분을 이용한 영상 보간 장치 및 그 방법 |
US8589302B2 (en) * | 2009-11-30 | 2013-11-19 | Intel Corporation | Automated modular and secure boot firmware update |
CN101924607B (zh) * | 2010-08-27 | 2013-01-23 | 华为终端有限公司 | 基于固件空中传输技术的固件处理方法、装置及系统 |
US8631239B2 (en) * | 2012-01-12 | 2014-01-14 | Facebook, Inc. | Multiple system images for over-the-air updates |
US9218178B2 (en) | 2012-08-29 | 2015-12-22 | Microsoft Technology Licensing, Llc | Secure firmware updates |
US9189225B2 (en) * | 2012-10-16 | 2015-11-17 | Imprivata, Inc. | Secure, non-disruptive firmware updating |
US10073966B2 (en) * | 2013-04-29 | 2018-09-11 | Sri International | Operating system-independent integrity verification |
CN103309709B (zh) * | 2013-06-08 | 2018-10-09 | 华为终端有限公司 | 一种固件升级方法、装置及通信设备 |
US9513898B2 (en) * | 2014-06-30 | 2016-12-06 | Google Inc. | Systems and methods for updating software in a hazard detection system |
US9589155B2 (en) * | 2014-09-23 | 2017-03-07 | Intel Corporation | Technologies for verifying components |
KR101619645B1 (ko) * | 2014-11-20 | 2016-05-18 | 현대자동차주식회사 | 차량의 펌웨어 업데이트 시스템 및 방법 |
TWI608672B (zh) | 2015-06-10 | 2017-12-11 | 廖生興 | 多工型連接裝置 |
US9735525B2 (en) | 2015-06-10 | 2017-08-15 | Sheng-Hsin Liao | Multifunctional connecting device |
US10468893B2 (en) | 2015-08-19 | 2019-11-05 | Delta Electronics, Inc. | USB charging method having protection function |
US9525764B1 (en) | 2015-10-30 | 2016-12-20 | Essential Products, Inc. | Co-mold features on a chassis shell of a mobile device |
US10244089B2 (en) | 2015-10-30 | 2019-03-26 | Essential Products, Inc. | Conjoining functional components of a mobile device |
US10958435B2 (en) * | 2015-12-21 | 2021-03-23 | Electro Industries/ Gauge Tech | Providing security in an intelligent electronic device |
US9852098B2 (en) | 2016-02-26 | 2017-12-26 | Essential Products, Inc. | Systems and techniques for intelligently switching between multiple sources of universal serial bus signals |
US10721072B2 (en) * | 2017-09-29 | 2020-07-21 | Xilinx, Inc. | Network interface device and method |
-
2017
- 2017-12-20 KR KR1020170176536A patent/KR20190074857A/ko unknown
-
2018
- 2018-12-05 US US16/956,539 patent/US11567748B2/en active Active
- 2018-12-05 WO PCT/KR2018/015291 patent/WO2019124826A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150048136A (ko) * | 2012-08-29 | 2015-05-06 | 마이크로소프트 코포레이션 | 보안 펌웨어 업데이트 기법 |
KR20140078431A (ko) * | 2012-12-17 | 2014-06-25 | 현대자동차주식회사 | 펌웨어 업데이트 시스템 및 방법 |
KR20150106219A (ko) * | 2014-03-11 | 2015-09-21 | 삼성전자주식회사 | 펌웨어 검증 기능을 갖는 모바일 시스템 그리고 그것의 펌웨어 업데이트 방법 |
KR20150120640A (ko) * | 2014-04-18 | 2015-10-28 | 주식회사 케이티 | 스마트카드의 펌웨어를 업데이트하는 방법, 장치 및 시스템 |
KR101563441B1 (ko) * | 2014-12-31 | 2015-10-26 | 한국조폐공사 | 펌웨어의 정당성 확인이 가능한 기계장치 및 이의 펌웨어 업데이트 방법 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111786820A (zh) * | 2020-06-16 | 2020-10-16 | 浙江国利网安科技有限公司 | 固件更新方法、装置及网络设备 |
CN113821522A (zh) * | 2021-09-22 | 2021-12-21 | 盐城工学院 | 基于大数据技术的企业业务智能化管理方法及系统 |
CN113821522B (zh) * | 2021-09-22 | 2023-05-12 | 盐城工学院 | 基于大数据技术的企业业务智能化管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US11567748B2 (en) | 2023-01-31 |
KR20190074857A (ko) | 2019-06-28 |
US20220137947A1 (en) | 2022-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019124826A1 (ko) | 펌웨어를 업데이트하는 인터페이스 장치, 모바일 장치 및 펌웨어 업데이트 방법 | |
WO2021025482A1 (en) | Electronic device and method for generating attestation certificate based on fused key | |
WO2020050555A1 (en) | Method for uwb transaction and electronic device therefor | |
WO2019172641A1 (en) | Electronic device and method for managing electronic key thereof | |
WO2020032510A1 (en) | Electronic device including electronic pen and method of controlling communication connection between electronic device and electronic pen | |
AU2019337074B2 (en) | Method for UWB transaction and electronic device therefor | |
WO2019164128A1 (en) | Method and apparatus for multimodal operation of near field communications circuitry | |
WO2020101443A1 (en) | Method for controlling display of vehicle and electronic device therefor | |
WO2022060149A1 (ko) | 탈중앙화 네트워크를 이용하여 권리를 관리하는 전자 장치 및 이의 동작 방법 | |
WO2019039851A1 (ko) | Usb 인터페이스를 통해 외부 장치와 연결하는 방법 및 그를 위한 전자 장치 | |
WO2018190637A1 (ko) | 디바이스의 통신 연결 방법 및 그 장치 | |
WO2020235843A1 (en) | Apparatus for detecting feedback on voltage supplied from electronic device to external device | |
WO2019221562A1 (en) | Electronic device and method of controlling electronic device | |
WO2019225955A1 (ko) | 디스플레이의 균열을 확인하는 방법 및 이를 수행하는 전자 장치 | |
WO2021054784A1 (en) | Electronic device and method for changing user interface according to user input | |
WO2019066307A2 (ko) | 전자 장치에 장착된 외부 장치의 상태에 따라 무선 충전을 제어하기 위한 전자 장치 및 그의 동작 방법 | |
WO2019103471A1 (en) | Method of providing vibration and electronic device for supporting same | |
WO2020171465A1 (en) | Electronic device and application managing method thereof | |
WO2020080857A1 (en) | Electronic device including antenna apparatus using photo-conductive material and antenna control method | |
WO2019117561A1 (ko) | 외부 장치에 따라 다른 서비스를 제공하는 전자 장치 | |
WO2019117644A1 (ko) | 등록 세션을 제어하기 위한 전자 장치 및 그의 동작 방법, 서버 및 그의 동작 방법 | |
WO2020013639A1 (ko) | 소유권을 등록하는 전자 장치 및 방법 | |
WO2019139373A1 (en) | Method of providing notification and electronic device supporting same | |
WO2019240434A1 (en) | Electronic device and method of controlling thereof | |
WO2022182102A1 (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: 18892311 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: 18892311 Country of ref document: EP Kind code of ref document: A1 |