요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
Mode별 secure variables
sysfs-secvar:33-66Unique ASCII variable directory 아래 size·read-only data·write-only update를 두고 key-management mode에 맞는 key databases만 노출합니다.
PLPKS configuration
sysfs-secvar:67-130Optional ASCII config tree에서 version, object/keystore sizes, used space와 policy·algorithm bitmasks를 제공합니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
What: /sys/firmware/secvar
Date: August 2019
Contact: Nayna Jain <[email protected]>
Description: This directory is created if the POWER firmware supports OS
secureboot, thereby secure variables. It exposes interface
for reading/writing the secure variables
What: /sys/firmware/secvar/vars
Date: August 2019
Contact: Nayna Jain <[email protected]>
Description: This directory lists all the secure variables that are supported
by the firmware.
What: /sys/firmware/secvar/format
Date: August 2019
Contact: Nayna Jain <[email protected]>
Description: A string indicating which backend is in use by the firmware.
This determines the format of the variable and the accepted
format of variable updates.
On powernv/OPAL, this value is provided by the OPAL firmware
and is expected to be "ibm,edk2-compat-v1".
On pseries/PLPKS, this is generated by the kernel based on the
version number in the SB_VERSION variable in the keystore. The
version numbering in the SB_VERSION variable starts from 1. The
format string takes the form "ibm,plpks-sb-v<version>" in the
case of dynamic key management mode. If the SB_VERSION variable
does not exist (or there is an error while reading it), it takes
the form "ibm,plpks-sb-v0", indicating that the key management
mode is static.
What: /sys/firmware/secvar/vars/<variable name>
Date: August 2019
Contact: Nayna Jain <[email protected]>
Description: Each secure variable is represented as a directory named as
<variable_name>. The variable name is unique and is in ASCII
representation. The data and size can be determined by reading
their respective attribute files.
Only secvars relevant to the key management mode are exposed.
Only in the dynamic key management mode should the user have
access (read and write) to the secure boot secvars db, dbx,
grubdb, grubdbx, and sbat. These secvars are not consumed in the
static key management mode. PK, trustedcadb and moduledb are the
secvars common to both static and dynamic key management modes.
What: /sys/firmware/secvar/vars/<variable_name>/size
Date: August 2019
Contact: Nayna Jain <[email protected]>
Description: An integer representation of the size of the content of the
variable. In other words, it represents the size of the data.
What: /sys/firmware/secvar/vars/<variable_name>/data
Date: August 2019
Contact: Nayna Jain <[email protected]>
Description: A read-only file containing the value of the variable. The size
of the file represents the maximum size of the variable data.
What: /sys/firmware/secvar/vars/<variable_name>/update
Date: August 2019
Contact: Nayna Jain <[email protected]>
Description: A write-only file that is used to submit the new value for the
variable. The size of the file represents the maximum size of
the variable data that can be written.
What: /sys/firmware/secvar/config
Date: February 2023
Contact: Nayna Jain <[email protected]>
Description: This optional directory contains read-only config attributes as
defined by the secure variable implementation. All data is in
ASCII format. The directory is only created if the backing
implementation provides variables to populate it, which at
present is only PLPKS on the pseries platform.
What: /sys/firmware/secvar/config/version
Date: February 2023
Contact: Nayna Jain <[email protected]>
Description: Config version as reported by the hypervisor in ASCII decimal
format.
Currently only provided by PLPKS on the pseries platform.
What: /sys/firmware/secvar/config/max_object_size
Date: February 2023
Contact: Nayna Jain <[email protected]>
Description: Maximum allowed size of objects in the keystore in bytes,
represented in ASCII decimal format.
This is not necessarily the same as the max size that can be
written to an update file as writes can contain more than
object data, you should use the size of the update file for
that purpose.
Currently only provided by PLPKS on the pseries platform.
What: /sys/firmware/secvar/config/total_size
Date: February 2023
Contact: Nayna Jain <[email protected]>
Description: Total size of the PLPKS in bytes, represented in ASCII decimal
format.
Currently only provided by PLPKS on the pseries platform.
What: /sys/firmware/secvar/config/used_space
Date: February 2023
Contact: Nayna Jain <[email protected]>
Description: Current space consumed by the key store, in bytes, represented
in ASCII decimal format.
Currently only provided by PLPKS on the pseries platform.
What: /sys/firmware/secvar/config/supported_policies
Date: February 2023
Contact: Nayna Jain <[email protected]>
Description: Bitmask of supported policy flags by the hypervisor,
represented as an 8 byte hexadecimal ASCII string. Consult the
hypervisor documentation for what these flags are.
Currently only provided by PLPKS on the pseries platform.
What: /sys/firmware/secvar/config/signed_update_algorithms
Date: February 2023
Contact: Nayna Jain <[email protected]>
Description: Bitmask of flags indicating which algorithms the hypervisor
supports for signed update of objects, represented as a 16 byte
hexadecimal ASCII string. Consult the hypervisor documentation
for what these flags mean.
Currently only provided by PLPKS on the pseries platform.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
POWER secure-variable sysfs ABI: secvar
1-7| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/firmware/secvar |
| Date | 2019년 8월 |
| KernelVersion | |
| Contact | Nayna Jain <[email protected]> |
| Description | `/sys/firmware/secvar` directory는 POWER firmware가 OS secureboot와 secure variables를 지원할 때 생성되며 secure variables를 read/write하는 interface를 노출합니다. |
POWER secure-variable sysfs ABI: vars
8-13| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/firmware/secvar/vars |
| Date | 2019년 8월 |
| KernelVersion | |
| Contact | Nayna Jain <[email protected]> |
| Description | `/sys/firmware/secvar/vars` directory는 firmware가 지원하는 모든 secure variables를 나열합니다. |
POWER secure-variable sysfs ABI: format
14-32| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/firmware/secvar/format |
| Date | 2019년 8월 |
| KernelVersion | |
| Contact | Nayna Jain <[email protected]> |
| Description | `/sys/firmware/secvar/format`은 firmware가 사용하는 backend를 나타내는 string이며 variable format과 accepted update format을 결정합니다. powernv/OPAL에서는 OPAL firmware가 제공하는 `ibm,edk2-compat-v1`입니다. pseries/PLPKS에서는 kernel이 keystore의 `SB_VERSION` variable version으로 생성합니다. Version numbering은 1부터 시작합니다. Dynamic key-management mode에서는 `ibm,plpks-sb-v<version>` 형식입니다. `SB_VERSION`이 없거나 read error가 있으면 static key-management mode를 나타내는 `ibm,plpks-sb-v0`입니다. |
Platform backend와 key-management mode가 format string을 결정합니다.
POWER secure-variable sysfs ABI: <variable name>
33-47| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/firmware/secvar/vars/<variable name> |
| Date | 2019년 8월 |
| KernelVersion | |
| Contact | Nayna Jain <[email protected]> |
| Description | `/sys/firmware/secvar/vars/<variable name>`에서 secure variable은 unique ASCII `<variable_name>` directory로 표현되고 data와 size는 각 attribute file에서 확인합니다. Key-management mode와 관련된 secvars만 노출됩니다. Dynamic mode에서만 user가 secure-boot secvars `db`, `dbx`, `grubdb`, `grubdbx`, `sbat`를 read/write할 수 있으며 static mode에서는 이 variables를 사용하지 않습니다. `PK`, `trustedcadb`, `moduledb`는 static과 dynamic mode 모두에 공통입니다. |
Dynamic-only databases와 common variables를 구분합니다.
POWER secure-variable sysfs ABI: size
48-53| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/firmware/secvar/vars/<variable_name>/size |
| Date | 2019년 8월 |
| KernelVersion | |
| Contact | Nayna Jain <[email protected]> |
| Description | `/sys/firmware/secvar/vars/<variable_name>/size`는 variable content, 즉 data size를 integer로 나타냅니다. |
Variable directory의 size, current data와 update channel을 비교합니다.
POWER secure-variable sysfs ABI: data
54-59| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/firmware/secvar/vars/<variable_name>/data |
| Date | 2019년 8월 |
| KernelVersion | |
| Contact | Nayna Jain <[email protected]> |
| Description | `/sys/firmware/secvar/vars/<variable_name>/data`는 variable value를 담는 read-only file입니다. File size는 variable data의 maximum size를 나타냅니다. |
POWER secure-variable sysfs ABI: update
60-66| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/firmware/secvar/vars/<variable_name>/update |
| Date | 2019년 8월 |
| KernelVersion | |
| Contact | Nayna Jain <[email protected]> |
| Description | `/sys/firmware/secvar/vars/<variable_name>/update`는 variable의 new value를 submit하는 write-only file입니다. File size는 write할 수 있는 variable data의 maximum size를 나타냅니다. |
POWER secure-variable sysfs ABI: config
67-75| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/firmware/secvar/config |
| Date | 2023년 2월 |
| KernelVersion | |
| Contact | Nayna Jain <[email protected]> |
| Description | `/sys/firmware/secvar/config`는 secure-variable implementation이 정의한 read-only config attributes를 담는 optional directory입니다. 모든 data는 ASCII format입니다. Backing implementation이 채울 variables를 제공할 때만 생성되며 현재는 pseries platform의 PLPKS만 제공합니다. |
Optional pseries PLPKS config values와 encoding을 정리합니다.
POWER secure-variable sysfs ABI: version
76-83| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/firmware/secvar/config/version |
| Date | 2023년 2월 |
| KernelVersion | |
| Contact | Nayna Jain <[email protected]> |
| Description | `/sys/firmware/secvar/config/version`은 hypervisor가 보고한 config version을 ASCII decimal format으로 표시합니다. 현재 pseries PLPKS에서만 제공합니다. |
POWER secure-variable sysfs ABI: max object size
84-96| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/firmware/secvar/config/max_object_size |
| Date | 2023년 2월 |
| KernelVersion | |
| Contact | Nayna Jain <[email protected]> |
| Description | `/sys/firmware/secvar/config/max_object_size`는 keystore object에 허용되는 maximum size를 bytes와 ASCII decimal format으로 표시합니다. Update write에는 object data 외의 content도 들어갈 수 있어 update file에 쓸 수 있는 maximum과 반드시 같지는 않습니다. Update limit에는 update file size를 사용해야 합니다. 현재 pseries PLPKS에서만 제공합니다. |
Object size와 update payload limit는 서로 다를 수 있습니다.
POWER secure-variable sysfs ABI: total size
97-104| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/firmware/secvar/config/total_size |
| Date | 2023년 2월 |
| KernelVersion | |
| Contact | Nayna Jain <[email protected]> |
| Description | `/sys/firmware/secvar/config/total_size`는 PLPKS total size를 bytes와 ASCII decimal format으로 표시합니다. 현재 pseries PLPKS에서만 제공합니다. |
POWER secure-variable sysfs ABI: used space
105-112| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/firmware/secvar/config/used_space |
| Date | 2023년 2월 |
| KernelVersion | |
| Contact | Nayna Jain <[email protected]> |
| Description | `/sys/firmware/secvar/config/used_space`는 keystore가 현재 소비한 space를 bytes와 ASCII decimal format으로 표시합니다. 현재 pseries PLPKS에서만 제공합니다. |
POWER secure-variable sysfs ABI: supported policies
113-121| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/firmware/secvar/config/supported_policies |
| Date | 2023년 2월 |
| KernelVersion | |
| Contact | Nayna Jain <[email protected]> |
| Description | `/sys/firmware/secvar/config/supported_policies`는 hypervisor가 지원하는 policy flags bitmask를 8-byte hexadecimal ASCII string으로 표시합니다. Flag 의미는 hypervisor documentation을 참조합니다. 현재 pseries PLPKS에서만 제공합니다. |
POWER secure-variable sysfs ABI: signed update algorithms
122-130| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/firmware/secvar/config/signed_update_algorithms |
| Date | 2023년 2월 |
| KernelVersion | |
| Contact | Nayna Jain <[email protected]> |
| Description | `/sys/firmware/secvar/config/signed_update_algorithms`는 hypervisor가 object signed update에 지원하는 algorithms를 나타내는 flags bitmask를 16-byte hexadecimal ASCII string으로 표시합니다. Flag 의미는 hypervisor documentation을 참조합니다. 현재 pseries PLPKS에서만 제공합니다. |
Firmware backend와 format
sysfs-secvar:1-32POWER secure-variable tree와 OPAL·PLPKS backend별 update format, dynamic/static key-management version을 식별합니다.