| 研究生: |
鄒昊霖 Tsou, Hao-Lin |
|---|---|
| 論文名稱: |
運用iO技術來落實SVM演算法於公有雲平台 Using Indistinguishability Obfuscation to Implement Support Vector Machine Algorithm on Public Cloud Platform |
| 指導教授: |
胡毓忠
Hu, Yuh-Jong |
| 口試委員: |
葉慶隆
Yeh, Ching-Long 左瑞麟 Tso, Ray-Lin 胡毓忠 Hu, Yuh-Jong |
| 學位類別: |
碩士
Master |
| 系所名稱: |
理學院 - 資訊科學系 |
| 論文出版年: | 2018 |
| 畢業學年度: | 107 |
| 語文別: | 中文 |
| 論文頁數: | 42 |
| 中文關鍵詞: | 程式混淆 、無差別混淆 、安全式機器學習 、軟體保護 、資料保護 、安全式雲端計算 、多重租賃公有雲 |
| 外文關鍵詞: | Program obfuscation, Indistinguishability obfuscation ( iO ), Multilinear maps(MMAPs), Security machine learning, Program protection, Security cloud computing, Multi-leasing public cloud |
| DOI URL: | http://doi.org/10.6814/THE.NCCU.CS.020.2018.B02 |
| 相關次數: | 點閱:265 下載:2 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
現今知名公有雲平台對於個人資料委外於雲端的保護僅限於資料傳輸與存放時的加密保護,不提供使用資料進行計算時的保護,以及對於進行資料分析所使用的機器學習軟體也不提供保護。因此在公有雲平台上無法落實安全式機器學習即服務的軟體與資料共同保護。本研究提出「機器學習即服務」軟體模組,在資料加密以及軟體混淆的共同保護下,來完成資料分析時的正確分類與預測。本研究將使用Kaggle上的“Titanic: Machine Learning from Disaster”資料集,以明文及明碼的方式訓練出最佳化模型,透過Indistinguishability Obfuscation(iO)的Graded Encoding Schemes(GES)技術將資料分析所使用的Support Vector Machine(SVM)二元分類函式及測試資料進行混淆達到程式及資料共同保護,搭配運用5GenCrypto套件進行,來完成進行安全式機器學習於公有雲平台,並具體提出本方法的量化與質化的運算觀察結果。
Nowadays, the protection of personal data on some famous public cloud platforms is applicable only when the data is in transmission or at rest by encryption. It does not protect the data in use, and the machine learning programs for data analysis. Therefore, it cannot protect both program and data for secure Machine Learning as a Service(MLaaS). This research proposed a MLaaS program model which is able to make correct classification and prediction on data analysis with the protection on both data encryption and program obfuscation. This research used the dataset “Titanic: Machine Learning from Disaster” on Kaggle, and the plaintext to train the best model. Then, we use the Graded Encoding Schemes(GES) method of Indistinguishability Obfuscation(iO)to obfuscate the SVM binary classification hyperplane and test data to ensure both program and data protection. We use 5Gen Crypto package to execute secure machine learning on public cloud platform, and concluding the calculation results of quantization and quality by this method.
摘要 i
Abstract ii
致謝 iii
目錄 iv
圖目錄 vi
表目錄 viii
第一章 導論 1
1.1 研究動機 1
1.2 研究目的 2
第二章 研究背景 4
2.1 雲端平台隱私保護與挑戰 4
2.2 Indistinguishability Obfuscation (iO) 5
2.2.1 Branching Programs 6
2.2.2 Matrix Branching Programs 7
2.2.3 Randomized Matrix Branching Programs 8
2.2.4 Graded Encoding Schemes (GES) 10
2.2.5 Executing Obfuscated Programs 11
2.3 Support Vector Machine(SVM) 12
第三章 相關研究 13
3.1 Fully Homomorphic Encryption (FHE) 13
3.2 對加密資料進行機器學習分類 14
3.3 程式碼轉換 15
第四章 研究方法與架構 16
4.1 研究架構 16
4.2 使用Scikit-learn進行資料前處理及分析與建模 17
4.3 設計SVM Hyperplane相對應的Circuit 18
4.4 使用5GenCrypto套件進行軟體程式混淆處理 24
4.4.1 Multilinear Maps (MMAPs) and Graded Encoding Scheme (GES) 25
4.5 Graded Encoding 計算 26
第五章 研究實作與結果 30
5.1 資料前處理 30
5.2 從SVM Hyperplane 轉換到 Circuit 33
5.3 使用5GenCrypto進行程式混淆與運算 35
5.4 研究結果 36
第六章 結論與未來展望 40
6.1 結論 40
6.2 未來展望 40
參考文獻 41
[1] Chandramouli, R., et al., Cryptographic Key Management Issues & Challenges in Cloud Services. NISTIR 7956, NIST, U. S. Department of Commerce, 2013.
[2] Damgard, I., et al., Secure Key Management in the Cloud. IMA CC 2013, 2013.
[3] Gentry, C., Computing on the Edge of Chaos: Structure and Randomness in Encrypted Computation. Proc. of the Int. Congress of Mathematicians, Seoul, 2014.
[4] Garg, S. et al., Candidate Indistinguishability Obfuscation and Functional Encryption for All Circuits. FOCS13, pp. 40-49, 2013.
[5] Barrington, A. D., Bounded-Width Polynomial-Size Branching Programs Recognize Exactly Those Language in NC1. Journal of Computer and System Science 38, pp. 150-164, 1989.
[6] Barak, B., Hopes, Fears, and Software Obfuscation. CACM, 59(3), March, 2016.
[7] Garg, S., et al., Hiding Secrets in Software: A Cryptographic Approach to Program Obfuscation. CACM, 59(5), May 2016.
[8] Lewi, K., et al., 5Gen: A Framework for Prototyping Applications Using Multilinear Maps and Matrix Branching Programs. CCS’16, 2016.
[9] Collberg, C. and Nagra, J., Surreptitious Software: Obfuscation, Watermarking,
and Tamerproofing for Software Protection. Wiley, 2009
[10] Horváth, M., Survey on Cryptographic Obfuscation. Cryptology ePrint Archive, Report, 2015/412
[11] Barak, B., et al. On the (Im)possibility of Obfuscating Programs. Journal of
the ACM, 59(2),Apr. 2012.
[12] Sauerhoff, M., et al. Relating branching program size and formula size over the full binary basis. STACS 99: 16th Annual Sysmposium on Theoretical Aspects of Computer Science, volume 1563 of Lecure Notes in Computer Science, pages 57-67, Trier, Gemery, Mar. 4-6 1999.
[13] Apon, D., et al., Implementing Cryptographic Program Obfuscation. ePrint Archive, Report, 2014/779
[14] Garg, S. et al., Candidate multilinear maps from ideal lattices. EUROCRYPT 2013, LNCS 7881, pp. 1–17.
[15] Coron, J. S. et al., Practical multilinear maps over the integers. CRYPTO 2013, LNCS 8042, pp. 476–493.
[16] Cortes, C. and Vapnik, V., Support-Vector Networks. Machine Learning, pp. 273-297, 1995.
[17] Gentry, G., Fully Homomorphic Encryption Using Ideal Lattices. STOC’09, 2009.
[18] Fan, J. and F. Vercauteren, Somewhat Practically Fully Homomorphic Encryption. ICAR Cryptology ePrint archive, 2012.
[19] Bost, R., Machine learning classification over encrypted data. NDSS’15, Feb. 2015.
[20] Graepel, T., et al., ML Confidential: Machine Learning on Encrypted Data. Information Security and Cryptology – ICISC, LNCS, Springer, 2012.
[21] Collberg, C. et al.,. A Taxonomy of Obfuscating Transformations. Computer Science Technical Reports 148, 1997.