
林璟鏘 鄭昉昱 王偉 劉哲 王瓊霄
密碼算法實現的軟件化已經成爲了大趨勢,然而密碼軟件區別於一般軟件的特殊性在於其密鑰極其敏感,但目前主流的密碼軟件實現方案只將密鑰數據當做一般數據進行處理。密鑰等敏感數據如果被當作密碼算法實現中一般數據對待,密碼軟件會遭受常見軟件攻擊進而泄露密鑰,包括操作系統的漏洞、軟件實現自身存在的漏洞、從未清零動態內存中獲取密鑰、基於內存數據擴散進行密鑰的獲取等軟件層面的攻擊,以及面向內存數據的Cold-Boot攻擊和DMA攻擊等物理攻擊。但是目前軟件實現主要依賴於操作系統的安全機制,密鑰的存儲和使用都存在着一定的風險。 本書主要介紹密碼軟件實現中所面臨的各類安全問題,並介紹一些針對軟件實現的常見密鑰防護方式,包括基於寄存器、Cache、處理器增強、虛擬化技術、雲計算技術等方式的密鑰安全方案。