---
# System prepended metadata

title: Building Trust in Container En
tags: [paper]

---

## Building Trust in Container Environment

* TPM(truested platform module): 提供硬體做身份識別的軟體
https://support.microsoft.com/zh-tw/topic/%E4%BB%80%E9%BA%BC%E6%98%AF-tpm-705f241d-025d-4470-80c5-4feeb24fa1ee
=>如果TPM辨識身份成功，系統才可以順利完成開機程序
* CRTM(Core Root of Trust for Measurement)收集BIOS開機資訊，並且把這些收集的metrics給TPM

現在需要用到一樣的道理，用一個vPTM的東西作為kernel或是user space層管理container security的工具

* IMA(ntegrity Measurement Architecture)測量所有在OS上執行的檔案，透過TPM處理

#### vPTM希望可以收集container runtime的資料，而如何將這些metrics從container送出給vPTM呢？

* remote attestation protocol:

> 需要提供host certicate,以及user certificate,container需要先透過os kernel的host signature list確認過是合法的程式才會到user certificate程序,user certificate會決定哪個user的container可以執行哪些程式

![](https://hackmd.io/_uploads/BJRl6YJa3.png) 
(base64)

* signature list:會動態改變目前list上面的資料，如果有新執行的process就會先取得permission(kernel)-->hash,signature
* signature list 會和host certificate一同被compile進kernel內部(這是load latency)
* use_valid(identity verification time)-->歸類在paper裡面的Executables Measurement and Verification Overhead

在push container image前，需要先將container image做fingerprint並且紀錄container signature list

### vTPM可以放在user space或是kernel space
![](https://hackmd.io/_uploads/HylYeq1Tn.png)

>The loading delay is the time to load the signature list and certificate into the kernel. We measure them by inserting measurement functions in runc.

如何管理這些certificates?
![](https://hackmd.io/_uploads/HyTqMc163.png)

改造後打包的container image:
![](https://hackmd.io/_uploads/SyEpMcJ63.png)

