Electronic device and method for controlling electronic device

The electronic device and method validate application certificates to securely supply data by associating permission information, addressing the issue of unauthorized data access in existing UEFI BIOS methods.

JP2026044070AActive Publication Date: 2026-03-12LENOVO (SINGAPORE) PTE LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-29
Publication Date
2026-03-12

AI Technical Summary

Technical Problem

Existing methods for supplying data from UEFI BIOS to applications allow any application to obtain data if the Globally Unique Identifier (GUID) or protocol existence is known, compromising data security.

Method used

An electronic device and method that stores a certificate associated with permission information for each application, verifying the certificate's signature data before supplying data, and using this information to securely provide data to authorized applications.

Benefits of technology

Ensures secure data supply to specific applications by validating certificates, preventing unauthorized access and enhancing data security during system initialization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026044070000001_ABST
    Figure 2026044070000001_ABST
Patent Text Reader

Abstract

An electronic device and a method for controlling an electronic device that can safely supply data to a specific application are provided. [Solution] The electronic device comprises a processor and a memory that stores, for each application, a certificate associated with information indicating permission to supply data to the application.When the system is started, the processor checks whether the certificate of an application running on the system is stored in the memory, and if the certificate of the application is stored in the memory and the signature data of the certificate is successfully verified, the processor supplies data to the application.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an electronic device and a method for controlling an electronic device. [Background technology]

[0002] Conventionally, electronic devices such as personal computers (PCs) initialize the electronic device and start up an operating system (OS) by executing a basic input output system (BIOS). UEFI BIOS, which employs the Unified Extensible Firmware Interface (UEFI), which defines a software interface between the OS and platform firmware, has also been developed (see, for example, Patent Document 1). UEFI BIOS allows the use of secure boot to prevent malicious software from being executed. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 2023-116381 Summary of the Invention [Problem to be solved by the invention]

[0004] There are two ways to supply data from the UEFI BIOS to an application, for example:

[0005] In the first method, the UEFI BIOS uses SetVariable to store data in SPI (Serial Peripheral Interface) ROM (Read Only Memory), and the application retrieves the data using GetVariable. In the second method, the UEFI BIOS installs a protocol to provide data to the application, and the application retrieves the data by locating the protocol.

[0006] However, with the first method, if the GUID (Globally Unique Identifier) ​​and Name are known, any application can use GetVariable to obtain the data. Also, with the second method, if the existence of a protocol is known, any application can obtain the data by locating the protocol. Therefore, it is necessary to prevent any application from obtaining the secret data.

[0007] In view of the above, an object of the present invention is to provide an electronic device and a method for controlling an electronic device that can safely supply data to a specific application. [Means for solving the problem]

[0008] One aspect of the present invention is an electronic device comprising a processor and memory that stores, for each application, a certificate associated with information indicating permission to supply data to the application, wherein, when the system is started, the processor checks whether the certificate of an application running on the system is stored in the memory, and if the certificate of the application is stored in the memory and the signature data of the certificate is successfully verified, the electronic device supplies data to the application.

[0009] In one aspect of the present invention, when the certificate of the application is stored in the memory, the processor may store the data in a storage area accessed by the application.

[0010] In one aspect of the invention, when the certificate for the application is stored in the memory, the processor may install a protocol for providing the data to the application.

[0011] One aspect of the present invention is a control method for an electronic device having a processor and a memory that stores, for each application, a certificate associated with information indicating permission to supply data to the application, and includes the steps of: when starting the system, checking whether the certificate of an application running on the system is stored in the memory; and, when the certificate of the application is stored in the memory and the signature data of the certificate is successfully verified, supplying data to the application. [Effects of the Invention]

[0012] According to the present invention, an electronic device and a method for controlling an electronic device can securely provide data to a specific application. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 1 is a diagram illustrating an example of a hardware configuration of an electronic device according to an embodiment. [Figure 2] FIG. 1 is a diagram illustrating an example of a functional configuration of an electronic device according to an embodiment. [Figure 3] FIG. 10 is a diagram illustrating an example of a certificate stored in a BIOS database according to an embodiment. [Figure 4] 10 is a flowchart illustrating an example of the operation of the electronic device according to the embodiment. [Figure 5] 10 is a flowchart illustrating an example of the operation of the electronic device according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0014] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

[0015] An example of the hardware configuration of an electronic device 10 according to an embodiment will be described with reference to Fig. 1. Fig. 1 is a block diagram showing an example of the hardware configuration of the electronic device 10.

[0016] The electronic device 10 includes a CPU 11, a main memory 12, a video subsystem 13, a display unit 14, a chipset 21, a BIOS memory 22, a storage medium 23, an audio system 24, a WLAN card 25, a USB connector 26, an embedded controller 31, an input unit 32, a power supply circuit 33, and a battery 34.

[0017] The CPU 11 executes various arithmetic processes under program control and controls the entire electronic device 10. For example, the CPU 11 executes processes based on programs of an OS (Operating System) and a BIOS (Basic Input Output System). The CPU 11 is an example of a processor.

[0018] The main memory 12 is a writable memory used as a read area for the execution program of the CPU 11 or as a work area for writing processing data for the execution program. The main memory 12 is composed of, for example, multiple DRAM (Dynamic Random Access Memory) chips. The execution program includes an OS, various drivers for operating peripheral devices, various service / utilities, application programs, etc.

[0019] Video subsystem 13 is a subsystem for realizing functions related to image display, and includes a video controller. The video controller processes drawing commands from CPU 11, writes the processed drawing information to a video memory, and also reads the drawing information from the video memory and outputs it to display unit 14 as drawing data (display data).

[0020] The display unit 14 is, for example, a liquid crystal display or an organic EL display, and displays a display screen based on the drawing data (display data) output from the video subsystem 13.

[0021] The chipset 21 includes controllers for a Universal Serial Bus (USB), a Serial AT Attachment (Serial ATA), a Serial Peripheral Interface (SPI) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express bus, and a Low Pin Count (LPC) bus, and is connected to a plurality of devices, such as a BIOS memory 22 (described later), a storage medium 23, an audio system 24, a WLAN card 25, a USB connector 26, and an embedded controller 31.

[0022] The BIOS memory 22 is configured with an electrically rewritable nonvolatile memory such as an EEPROM (Electrically Erasable Programmable Read Only Memory) or a flash ROM. The BIOS memory 22 stores the BIOS and system firmware for controlling the embedded controller 31. The BIOS memory 22 is an example of a sub-memory.

[0023] The storage medium 23 includes a hard disk drive (HDD), a solid state drive (SSD), etc. For example, the storage medium 23 stores an OS, various drivers, various services / utilities, application programs, and various data.

[0024] The audio system 24 is connected to a microphone and a speaker (not shown) and records, plays back, and outputs sound data. The microphone and the speaker are built into the electronic device 10, for example.

[0025] The WLAN (Wireless Local Area Network) card 25 connects to a network via a wireless LAN to perform data communication. For example, when the WLAN card 25 receives data from the network, it generates an event trigger indicating that the data has been received. The USB connector 26 is a connector for connecting peripheral devices that use USB.

[0026] The input unit 32 collectively refers to input devices (input equipment) provided in the electronic device 10. The input unit 32 includes a keyboard, a mouse, etc. The input unit 32 outputs input information input by a user operation to the embedded controller 31.

[0027] The power supply circuit 33 includes, for example, a DC / DC converter, a charge / discharge unit, an AC / DC adapter, etc. For example, the power supply circuit 33 converts a DC voltage supplied from an external power source such as an AC adapter (not shown) or a battery 34 into a plurality of voltages required to operate the electronic device 10. The power supply circuit 33 also supplies power to each component of the electronic device 10 based on control from the embedded controller 31.

[0028] The battery 34 is, for example, a secondary battery such as a lithium ion battery. When power is supplied to the electronic device 10 from an external power source, the battery 34 is charged via the power supply circuit 33. When power is not supplied to the electronic device 10 from an external power source, the battery 34 outputs the stored power via the power supply circuit 33 as operating power for the electronic device 10.

[0029] The embedded controller 31 is a one-chip microcomputer that monitors and controls various devices (peripheral devices, sensors, etc.) regardless of the system state of the electronic device 10. The embedded controller 31 includes a CPU, ROM, RAM, A / D input terminals for multiple channels, a D / A output terminal, a timer, and digital input / output terminals (not shown). The digital input / output terminals of the embedded controller 31 are connected to an input unit 32, a power supply circuit 33, etc., and the embedded controller 31 controls the operations of these components. The embedded controller 31 also controls changes in the clock frequency of the CPU 11 via the chipset 21.

[0030] The electronic device 10 may be a clamshell-type personal computer, a tablet terminal, a smartphone, or other portable device in which a display device is integrally attached to a housing. Alternatively, the electronic device 10 may be a desktop personal computer in which the device body and the display device are separate. The electronic device according to this embodiment is applicable to all devices equipped with a CPU.

[0031] An example of the functional configuration of the electronic device 10 will be described with reference to Fig. 2. Fig. 2 is a block diagram showing an example of the functional configuration of the electronic device 10 related to the UEFI BIOS.

[0032] The electronic device 10 includes a control unit 100 and a memory 110. The control unit 100 is an example of a processor. The functions of the control unit 100 are realized by a CPU 11, an embedded controller 31, or a combination of the CPU 11 and the embedded controller 31.

[0033] The memory 110 stores the program of the control unit 100, data used by the control unit 100, and data generated by the control unit 100. The functions of the memory 110 are realized by the main memory 12, the BIOS memory 22, or a combination of the main memory 12 and the BIOS memory 22.

[0034] The control unit 100 loads an application using LoadImage of UEFI and transfers control to the application using StartImage. The control unit 100 manages the certificate used for secure boot for each application.

[0035] 3 shows an example of certificates stored in the BIOS database 111 in the memory 110. The BIOS database 111 stores certificates C1 to C4. The certificates C1 to C4 are certificates issued to the applications A1 to A4, respectively. The certificates C1 to C4 contain signature data signed with the secure boot keys K1 to K4, respectively. A user with administrator privileges can add or delete certificates.

[0036] If the supply of data to application A4 is permitted, information indicating this is associated with certificate C4 of application A4. This information is stored in the BIOS database 111. This information may be included in certificate C4. If the information indicating the permission to supply data is separate from certificate C4, there is no need to change the secure boot certificate, and certificate C4 can be configured in the same way as certificates C1 to C3.

[0037] The control unit 100 executes a power-on self-test (POST) when the system of the electronic device 10 is started up. At this time, the control unit 100 verifies the signature data of the certificates C1 to C4. If the signature data verification is successful, the control unit 100 permits the launch of the applications A1 to A4. Furthermore, since information indicating permission to supply secret data is associated with the certificate C4, the control unit 100 permits the supply of secret data to the application A4.

[0038] The process executed by the electronic device 10 will be described with reference to Fig. 4. Fig. 4 is a flowchart showing an example of the operation of the electronic device 10.

[0039] (Step S100) When the power supply of the electronic device 10 is turned on and the system of the electronic device 10 starts up, the control unit 100 starts the POST.

[0040] (Step S105) The control unit 100 initializes each device included in the electronic device 10 .

[0041] (Step S110) The control unit 100 starts up LoadImage in accordance with a preset boot order.

[0042] (Step S115) The process branches according to the secure boot setting. If the secure boot setting is valid, step S120 (described later) is executed. If the secure boot setting is not valid, step S135 (described later) is executed.

[0043] (Step S120) If the secure boot setting is enabled, the control unit 100 obtains the name of the application from LoadImage and verifies the signature data of the certificate for that application stored in the BIOS database in the memory 110. If the verification of the signature data is successful, step S125, which will be described later, is executed. If the verification of the signature data fails, the launch of the application is aborted.

[0044] (Step S125) If the verification of the signature data is successful in step S120, the control unit 100 checks whether the information indicating permission to supply data is associated with a certificate. If the information is associated with a certificate, the supply of data to the application is permitted, and step S130, described below, is executed. If the information is not associated with a certificate, the supply of data to the application is not permitted, and step S135, described below, is executed.

[0045] (Step S130) If the information indicating permission to supply data is associated with a certificate, the control unit 100 executes SetVariable without attaching the EFI_VARIABLE_NON_VOLATILE attribute. By not attaching this attribute, the data is saved in Volatile memory instead of SPIROM, which has the security advantage that the data will not remain at the next boot.

[0046] (Step S135) The control unit 100 executes StartImage and starts the application.

[0047] In the operation example shown in FIG. 4, the control unit 100 executes SetVariable to store data in the Volatile memory, and the application executes GetVariable to obtain the data from the Volatile memory.

[0048] Fig. 5 is a flowchart showing another example of the operation of the electronic device 10. Description of the same processes as those shown in Fig. 4 will be omitted. Instead of step S130 shown in Fig. 4, step S140 described below is executed.

[0049] (Step S140) If the information indicating permission to supply data is associated with the certificate, the control unit 100 installs a protocol (SecretDataPassProtocol) for supplying data to the application.

[0050] In the operation example shown in FIG. 5, the control unit 100 installs a protocol, and an application acquires data by locating the protocol.

[0051] As described above, memory 110 stores, for each application, a certificate associated with information indicating permission to supply data to the application. When starting the system, control unit 100 checks whether the certificate of the application running on the system is stored in memory 110. If the certificate of the application is stored in memory 110 and the signature data of the certificate is successfully verified, data is supplied to the application. This allows electronic device 10 to securely supply data to a specific application.

[0052] When the certificate of the application is stored in the memory 110, the control unit 100 stores the data in a storage area accessed by the application. In the above example, the control unit 100 can securely provide the data to the application by executing SetVariable.

[0053] When the application's certificate is stored in memory 110, control unit 100 installs a protocol for providing data to the application. In the above example, control unit 100 can securely provide data to the application by installing the Secret Data Pass Protocol.

[0054] The above has described in detail an embodiment of the present invention with reference to the drawings, but the specific configuration is not limited to the above embodiment, and design changes and the like are also included within the scope that does not deviate from the gist of the present invention. [Explanation of symbols]

[0055] 10 Electronic device, 11 CPU, 12 Main memory, 13 Video subsystem, 14 Display unit, 21 Chipset, 22 BIOS memory, 23 Storage medium, 24 Audio system, 25 WLAN card, 25 WLAN card, 26 USB connector, 31 Embedded controller, 32 Input unit, 33 Power supply circuit, 34 Battery, 35 Switch, 100 Control unit, 110 Memory

Claims

1. a processor; a memory for storing, for each application, a certificate associated with information indicating permission to provide data to the application; Equipped with The processor: When starting the system, verify whether the certificate of an application running on the system is stored in the memory; When the certificate of the application is stored in the memory and the signature data of the certificate is successfully verified, data is provided to the application. electronic equipment.

2. When the certificate of the application is stored in the memory, the processor stores the data in a storage area accessed by the application. The electronic device according to claim 1 .

3. When the certificate for the application is stored in the memory, the processor installs a protocol for providing the data to the application. The electronic device according to claim 1 .

4. 1. A method for controlling an electronic device comprising: a processor; and a memory that stores, for each application, a certificate associated with information indicating permission to supply data to the application, the method comprising: when starting the system, verifying whether the certificate of an application running on the system is stored in the memory; providing data to the application when the certificate of the application is stored in the memory and signature data of the certificate is successfully verified; A control method for an electronic device comprising:

Citation Information

Patent Citations

  • Storage of EFI variable in BMC using api

    JP2023116381A