论文部分内容阅读
离散对数问题因其计算复杂、结构灵活多变为密码体制的设计提供了良好的安全性基础。用目前已知的最好的算法求解n阶乘法群中的离散对数仍然需要O((n)1/2)次群运算,它比分解因子问题要更难一些。因此被广泛用于密码体制的设计,如美国的数字签名标准DSS、欧洲的TESS等。目前,离散对数问题已经成为密码学研究中的一类重要原语。本文以基于离散对数的密码系统为研究对象,系统研究其从安全设计到安全实现过程中的一系列问题,以帮助设计者更好地利用离散对数设计并实现密码应用系统。本文系统分析了现有求解离散对数问题的算法的特点、性能以及适用范围,根据算法的计算复杂性给出了密码体制安全参数选择的依据。论文介绍了一些著名的基于离散对数的密码体制,重点研究了作为密码体制的基本构件-承诺体制和知识证明协议的设计与应用,用离散对数构造了一个在CR2(Concurrent-Reset-2)下安全的陷门承诺体制,分析了传统基于离散对数承诺体制的可延伸性,首次将Diffie-Hellman密钥协商方案用于随机挑战的生成以阻止知识证明的可延伸性,设计出了一种新的基于Diffie-Hellman密钥协商的不可延伸的承诺体制。论文也系统研究了密码体制的安全性证明方法学,研究了在随机ORACLE模型、一般群模型以及证据独立性模型下理想系统的安全性证明方法,重点分析了理想系统的可证明安全性并不能蕴涵其应用系统的安全性的原因,提出了离散对数密码体制安全性的一般证明方法,并以数字签名体制为例,对证明过程的有效性与公平性问题进行了探讨。本文还注意到密码体制的安全性证明与数学上的证明不同,其结论只在一定的概率界内成立,绝对的安全是不存在的。论文对离散对数密码系统的安全性进行了全面的分析。从离散对数问题所依赖的群的数学结构与系统实现环节两个方面研究了攻击的可能性和技术途径。通过对素数模乘法群、合数模乘法群以及素数阶子群中离散对数问题的安全性分析,分别给出了这些群的安全结构形式,以阻止攻击者使用具有光滑阶的生成元或使用特殊结构的合数模进行攻击。大量事实表明,基于系统实现中的低级错误和系统执行环境中的漏洞的攻击因其具有实现简单、成本较低等特点,已经对密码系统的安全性形成更大的威胁。由于现实系统中不具有理想系统的随机性与独立性保证,系统实现过程中很容易人为地植入错误,所以理想系统的安全性并不能保证应用系统的安全,这使得系统安全实现问题成为一个新的研究方向。为此,本文重点研究了系统的安全实现技术,采用安全协议工程的思想,提出了密码系统安全实现的基本原则、任务与目标,设计了系统安全实现平台的基本构架,针对离散对数密码系统的特点,研究并设计了参数验证、消息鉴别、密钥独立性与协议执行独立性机制,以防止攻击者利用参数弱化、消息重定向、消息重放及已知密钥等实施攻击。将容侵思想应用密码系统的安全实现,利用失败-停止协议(Fail-stop protocol)的技术原理,设计了基于消息链验证和基于等待时间的容侵机制,使得任何主动攻击都不会造成秘密数据的进一步泄露,为系统提供最后一道安全防线,即使受到攻击也能将危害降到最低。同时,使用基于失败-停止原理的容侵机制可以简化系统的安全实现工作,使设计者将更多的精力放到预防被动攻击和内部攻击上,只要建立合适的主动攻击行为检测机制,则只要系统在被动攻击下是安全的,那么在主动攻击下也是安全的。此外,本文还对目前尚处于发展之中的协议形式化描述语言(如CAPSL等)以及编译器的功能与体系结构进行了介绍与探讨。