← Documents Documentation/devicetree/bindings/tpm/microsoft,ftpm.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / TPM

Microsoft Firmware TPM

ARM TrustZone 기반 Microsoft fTPM과 event log memory를 설명합니다.

Source pathDocumentation/devicetree/bindings/tpm/microsoft,ftpm.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약과 해설

microsoft,ftpm.yaml:1-47

ARM TrustZone 기반 Microsoft fTPM과 event log memory를 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며 compatible, interrupt, bus, register, phandle, 수치와 줄 좌표를 원형대로 보존합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/tpm/microsoft,ftpm.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Microsoft firmware-based Trusted Platform Module (fTPM)
8
9 maintainers:
10 - Thirupathaiah Annapureddy <[email protected]>
11 - Sasha Levin <[email protected]>
12
13 description: |
14 Commodity CPU architectures, such as ARM and Intel CPUs, have started to
15 offer trusted computing features in their CPUs aimed at displacing dedicated
16 trusted hardware. Unfortunately, these CPU architectures raise serious
17 challenges to building trusted systems because they omit providing secure
18 resources outside the CPU perimeter.
19
20 Microsoft's firmware-based TPM 2.0 (fTPM) leverages ARM TrustZone to overcome
21 these challenges and provide software with security guarantees similar to
22 those of dedicated trusted hardware.
23
24 https://www.microsoft.com/en-us/research/publication/ftpm-software-implementation-tpm-chip/
25 https://github.com/Microsoft/ms-tpm-20-ref/tree/main/Samples/ARM32-FirmwareTPM
26
27 properties:
28 compatible:
29 const: microsoft,ftpm
30
31 required:
32 - compatible
33 - linux,sml-base
34 - linux,sml-size
35
36 allOf:
37 - $ref: tpm-common.yaml#
38
39 unevaluatedProperties: false
40
41 examples:
42 - |
43 tpm {
44 compatible = "microsoft,ftpm";
45 linux,sml-base = <0x0 0xc0000000>;
46 linux,sml-size = <0x10000>;
47 };
48

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

Microsoft firmware TPM

1-26

GPL-2.0-only 또는 BSD-2-Clause 라이선스의 이 스키마는 Microsoft firmware-based Trusted Platform Module(fTPM)을 정의합니다. ARM과 Intel 같은 commodity CPU architecture는 dedicated trusted hardware를 대체하려는 trusted computing 기능을 제공하기 시작했지만 CPU 경계 밖의 secure resource가 없어 trusted system 구축에 중대한 어려움이 있습니다.

Microsoft fTPM 2.0은 ARM TrustZone을 활용해 이 문제를 극복하고 dedicated trusted hardware와 유사한 security guarantee를 software에 제공합니다. 연구 문서와 ARM32 reference implementation 링크가 원문에 포함됩니다. Maintainer는 Thirupathaiah Annapureddy와 Sasha Levin입니다.

Event log memory

27-40

`compatible`은 `microsoft,ftpm`입니다. `compatible`, `linux,sml-base`, `linux,sml-size`가 필수이며 공통 TPM 속성은 `tpm-common.yaml`에서 상속합니다. 평가되지 않은 추가 속성은 허용하지 않습니다.

properties:
  compatible:
    const: microsoft,ftpm

required:
  - compatible
  - linux,sml-base
  - linux,sml-size

allOf:
  - $ref: tpm-common.yaml#

unevaluatedProperties: false

64 KiB event log 예제

41-47

예제 `tpm` node는 fTPM event log base를 0xc0000000, size를 0x10000인 64 KiB로 지정합니다.

examples:
  - |
    tpm {
        compatible = "microsoft,ftpm";
        linux,sml-base = <0x0 0xc0000000>;
        linux,sml-size = <0x10000>;
    };