论文部分内容阅读
密码学是计算机安全的重要组成部分,密码技术是解决计算机信息安全问题的重要技术之一。密码算法和密码协议确保了信息的机密性、认证性和完整性,在数据存储、安全传输和身份认证中发挥重要作用。正确的使用密码学能够提供很强的安全保证,但是现实情况是,将复杂的密码学算法和协议应用于实际系统比较困难,同时由于一般开发者密码知识的欠缺,导致了密码学误用现象广泛的出现在各种应用场景中。密码学应用的场景非常广泛,包括移动平台、嵌入式平台和服务器平台,而不同的平台又有各自相异的特性:1、不同平台中的应用特点是不同的2、不同场景开发人员具备的知识背景不同3、不同场景本身的属性和功能、特点也不相同。比如Android平台应用市场众多,来源广泛,安全检测也会相对不足,密码学误用现象更为严重。移动平台的众多开发者具备的密码学知识参差不齐;另外,嵌入式平台相比服务器平台来说,由于硬件功能有一定的局限性,在随机数产生时会出现问题,而服务器平台本身在PKI体系或者web服务等环境中也实现了特定的功能。这些平台特性的差异,直接导致了特定密码学误用问题更多的出现在某类平台中。如何在现实应用中正确的实现密码系统,如何审查不同场景中密码学实现情况已成为当务之急。本文围绕软件代码中密码学实现时的误用问题,综合讨论现有的研究成果,并结合各类应用程序的实际部署场景,从不同应用平台所具备的特性差异出发,分析密码学误用与平台的相关性,同时依据对误用问题和攻击的分析,提出针特定场景中密码学执行时的安全标准和审计方法,并通过实验对现实系统中密码学实现情况进行调查和评估。本文的主要贡献如下:1.全面总结了现有对密码学误用问题的研究工作,包括常用密码系统和协议实现时存在的误用问题、针对密码学误用的典型攻击、现有的检测技术等。2.分析密码学所部署的移动平台、嵌入式平台和服务器平台特性差异,收集密码学误用(CWE-310)相关CVE(Common Vulnerabilities and Exposures)[7],总结不同平台密码学误用问题严重程度,同时研究了不同误用问题产生的原因与平台特征之间的相关性。3.根据不同应用平台特征,研究密码系统误用问题审计方法,给出密码学正确实现的标准。4.结合密码学正确实现标准以及密码系统误用审计方法,通过实验方法具体评估不同应用场景密码学执行情况。