跳到主要內容

簡易檢索 / 詳目顯示

研究生: 李建源
Jian-Yuan Li
論文名稱: 以 vTPM 為基礎之邊緣環境容器系統安全
vTPM-based edge environment container system security
指導教授: 張貴雲
Guey-Yun Chang
口試委員:
學位類別: 碩士
Master
系所名稱: 資訊電機學院 - 資訊工程學系
Department of Computer Science & Information Engineering
論文出版年: 2018
畢業學年度: 106
語文別: 中文
論文頁數: 71
中文關鍵詞: 容器系統映像檔安全倉庫
外文關鍵詞: container system, image security, registry
相關次數: 點閱:9下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 本論文提出了一個適用於邊緣環境的安全機制。我們利用物聯網設備數量龐大的特性,可以藉由周圍多個服務提供者,取得驗證相關資訊,進而達成快速檢查映像檔的完整性的功能。我們機制沒有過去單一認證的缺點:如果其中一份金鑰遺失、遭竊或認證失敗,就會對整個認證下游的服務造成安全性的風險或是服務延遲。我們在映像檔的倉庫中使用vTPM的功能進行金鑰的簽名,提高金鑰的安全性,對邊端設備(如樹莓派等嵌入式設備)達成便宜有效的安全防護。我們在x86、pine64、樹莓派3三種系統上,實際測試docker、lxd、hypercontainer三種容器技術。在容器啟動與AES加密所花費的時間,認為docker將會是比較適合於邊緣環境上的容器技術,最後實際修改當前docker與倉庫服務的程式碼,測量我們的方法在實際系統中時間上的花費,結果在有線的環境裡認證的所花時間幾乎不超過1秒,對於整個映像檔的下載總體時間而言不會佔太多比例,在無線的環境下雖然平均會高到1.6秒,但是因為金鑰證書可以使用快取的方式,減少我們認證中最主要的花費,可以在0.1秒內認證完成,達到快速的映像檔認證。


    Security is an important issue, especially in edge environment. Due to the development of virtualization in edge environments, image file tampering is one of the most serious threat. In this paper, we design a low-cost distributed image verification scheme. We use well-known Rasberry Pi 3 and open source container technique, e.g., docker, to build an edge enviromnent,
    and implement our scheme by modfiying the source code of docker-ce and registry. According to our experiment results, our scheme can achieve better security.

    中文摘要 i Abstract ii Contents iii List of Figures vi List of Tables viii 1 緒論 1 2 背景知識 5 2.1 相關研究 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 容器系統的風險與建議 . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.1 映像檔 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.2 倉庫 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 IoT 環境安全機制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3.1 IoT 環境與 TPM 有何關係 . . . . . . . . . . . . . . . . . . . . 8 2.3.2 Trusted Platform Module (TPM) . . . . . . . . . . . . . . . . . . 8 2.3.3 Virtual Trusted Platform Module (vTPM) . . . . . . . . . . . . . 9 3 以 vTPM 為基礎之邊緣環境容器系統安全 10 3.1 主要想法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2 環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3 系統架構 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.3.1 階層式管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.3.2 安全架構 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.3.3 角色 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.4 建立過程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.4.1 私鑰的配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.4.2 證書的配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.5 映像檔完整性確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.5.1 映像檔資訊確認 . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.6 數量的信任 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.6.1 簽名的認證 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.6.2 映像檔的信任 . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.7 認證鍊 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4 實作與實驗 29 4.1 容器系統的效能測試 . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.1.1 比較的容器系統 . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.1.2 實驗環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.1.3 效能測試 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.1.3.1 啟動時間 . . . . . . . . . . . . . . . . . . . . . . . . 32 4.1.3.2 服務增加加密所花時間 . . . . . . . . . . . . . . . . 35 5方法實做與分析 41 5.1 硬體設備 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.2 程式修改部份 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.3 實驗結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.3.1 有線網路環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.3.1.1 未使用金鑰證書快取 . . . . . . . . . . . . . . . . . . 43 5.3.1.2 使用金鑰證書快取 . . . . . . . . . . . . . . . . . . . 46 5.3.2 無線網路環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.3.2.1 未使用金鑰證書快取 . . . . . . . . . . . . . . . . . . 46 5.3.2.2 使用金鑰證書快取 . . . . . . . . . . . . . . . . . . . 46 6 結論 54 Bibliography 55

    [1] “Gartner 4.9 billion connected ”things” will be in use in 2015,” 2014. http://www.gartner.com/newsroom/id/2905717.
    [2] “Docker Article docker network configuration document,” 2017. https://docs.docker.com/v1.7/articles/networking/.
    [3] N. Fernando and W. R. Seng W. Loke, “Mobile cloud computing: A survey,” January 2013.
    [4] S. Lal, S. Ravidas, I. Oliver, and T. Taleb, “Assuring virtual network function image integrity and host sealing in telco cloud,” May 2017.
    [5] Y. C. Hu, M. Patel, D. Sabella, N. Sprecher, and V. Young, “Mobile edge computing a key technology towards 5g,” September 2015. http://www.etsi.org/images/files/ETSIWhitePapers/etsi_wp11_mec_a_key_technology_towards_5g.pdf.
    [6] W. Shi, J. Cao, Q. Zhang, Y. Li, and L. Xu, “Edge computing: Vision and challenges,” June 2016.
    [7] B. Varghese, N. Wang, S. Barbhuiya, P. Kilpatrick, and D. S. Nikolopoulos, “Challenges and opportunities in edge computing,” November 2016.
    [8] “Container and kernel-based virtual machine(kvm) virtualization for network function virtualization (nfv),” August 2015. https://builders.intel.com/docs/container-and-kvm-virtualization-for-nfv.PDF.
    [9] M. Souppaya, J. Morello, and K. Scarfone, “Application container security guide,” September 2017. https://doi.org/10.6028 NIST.SP.800-190.
    [10] CoreOS, “Clair.” https://github.com/coreos/clair.
    [11] Google, “Swarm mode overview.” https://docs.docker.com/engine/swarm/.
    [12] Google, “Kubernetes.” https://kubernetes.io/.
    [13] Google, “Labels and selectors.” https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/.
    [14] A. Grattafiori, “Understanding and hardening linux containers,” April 2016. https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2016/april/understanding-and-hardening-linux-containers/.
    [15] Canonical, “For cto’s: the no-nonsense way to accelerate your business with containers,” February 2017. https://pages.ubuntu.com/container-whitepaper.html.
    [16] J. Hertz, “Abusing privileged and unprivileged linux containers,” June 2016. https://www.nccgroup.trust/us/our-research/abusing-privileged-and-unprivileged-linux-containers/.
    [17] N. Bila, P. Dettori, A. Kanso, Y. Watanabe, and A. Youssef, “Leveraging the server-less architecture for securing linux containers,” June 2017.
    [18] IBM, “Openwhisk.”https://github.com/apache/incubator-openwhisk.
    [19] J. Rosland, “Container os comparison.” container-os-comparison/. https://blog.codeship.com/[20] D. Safford and S. Berger, “Swtpm - software tpm emulator.” https://github.com/stefanberger/swtpm.
    [21] “ubuntu.” https://hub.docker.com/_/ubuntu/.
    [22] B. Abinaya, S. Gurupriya, and M. Pooja, “Iot based smart and adaptive lighting in street lights,” July 2017.
    [23] R. Elberg and E. Woods, “Smart street lighting as a smart city platform,” 2017. https://www.echelon.com/assets/blt339a50e1c88306c2/Navigant%20Research-Echelon%20Smart%20Street%20Lighting%20White%20Paper%20-%20Full%20Report.pdf.
    [24] D. Cooper, S. Santesson, S. Farrell, S. Boeyen, R. Housley, and W. Polk, “Internet x. 509 public key infrastructure certificate and certificate revocation list (crl) profile,” May 2008. https://tools.ietf.org/html/rfc5280.
    [25] “Hypercontainer - hypervisor-agnostic docker runtime.” https://github.com/hyperhq/hyperd.
    [26] “About hypercontainer.” https://docs.hypercontainer.io/index.html.
    [27] “Lora server, open-source lorawan network-server.” https://www.loraserver.io/.
    [28] S. Berger, “runc.” https://github.com/stefanberger/runc/tree/vtpm.
    [29] https://staff.csie.ncu.edu.tw/gychang/student/107/vTPM-basededgeenvironmentcontainersystemsecurity.zip.

    QR CODE
    :::