论文部分内容阅读
虚拟网络环境下的安全问题,始终是一个意义重大同时也极具挑战的研究课题。现代密码学已经并且正在成功解决众多开放网络和公共信道下的保密问题。认证是现代密码学中的一个关键问题。本文选择认证理论和应用中的用户智能卡实体认证、服务器辅助公开密钥认证和大数模幂计算三个基本问题,展开了深入的研究。用户智能卡实体认证和服务器辅助公开密钥认证问题分别属于认证服务的两个主要方面,即实体认证和数据源认证。而大数模幂计算问题则是实现认证的支持应用技术。这些都是对安全工程实践具有切实指导意义而目前领域内尚未很好解决的热点问题。综括起来,笔者取得了如下创新性成果:
(1)适合于用户智能卡执行的可证安全单边和双边实体认证方案在用户智能卡实体认证方面,作为导引,分类研讨了具有代表性的客户端一服务器模式下认证方案,提出或拓展了针对各个具体方案的攻击方法,包括在3.4.2.3小节中,指出Lee等人时问戳方案存在反射攻击问题;在3.4.2.4小节中,指出Lee等人随机数方案存在冒充攻击的问题等等。
在对前人成果的分析研究基础之上,我们开始讨论如何构造一个安全合理的智能卡实体认证方案。我们的整体思路是分两个阶段:第一阶段,不考虑智能卡的因素,而只是力图设计一个客户端—服务器模式下轻型而安全的实体认证方案;第二阶段,加入智能卡的因素,在充分考虑智能卡安全的情况下,得出最终设计结果。考虑到认证方案的易出错性,第一个阶段我们采用目前最为流行的形式化规约安全的方法进行设计,而不再使用前人启发式安全设计和分析方法。我们首次明确定义了在攻击模型下认证方案需要达到的安全目标,其中,一个特色是将用户注册安全问题考虑进来。分别提出了单边和双边认证方案,并使用对称密码本原基本安全假设规约证明了我们提出的两个认证方案可以达到定义的安全目标。本文在这方面的工作是使用计算观点形式化设计与分析此类应用型方案迈出的第一步。第二阶段重点考虑智能卡执行认证方案的合理设计。为此,我们提出了全新的智能卡丢失假设:如果将用户智能卡当作一个黑盒处理,那么,即使用户不慎丢失了智能卡,方案也能为其提供一定的安全保障。基本设计思想是,服务器发送给用户用来认证其身份的强秘密参数用智能卡的安全存储介质保护;而用户自己选择一个弱口令来保护个人嵌入式设备智能卡。在此思路指导下,得到的最终认证方案设计可以在智能卡丢失假设下为用户提供免于被攻击者冒充的安全保护。
我们设计的用户智能卡实体认证方案与同类方案比较其优势可以归纳为以下几点:
第一,从安全角度来看,该设计方案在用户注册、会话和智能卡执行几个方面都提供了更强的保障。
第二,从执行开销来看,该设计方案在计算、通信和存储三方面要求都是最低的,非常适合于智能卡执行。
第三,从用户的角度来看,该设计方案提供了最符合传统认证使用习惯的用户界面。
取得上述效果的一个主要原因是采用了阶段设计方法。该方法的意义在于,可以指导目前大量涌现的各种针对具体应用环境的密码安全方案和协议设计,其中包括各种无线网络环境和各种移动计算环境等等。
(2)针对离散对数密码体制的可证安全服务器辅助公开密钥认证方案在公钥密码体制中,用户公开密钥的认证是一个棘手且需要首先解决的问题。一条思路是从公钥密码体制本身设计入手试图彻底解决这一问题,如建立基于身份的密码体制。这方面的工作虽然取得了很大进展,但是,离实用还有一定的距离。因此,实际情况就是公钥基础设施统治了公开密钥认证服务。随着认证信任结构的复杂化和用户数量增加,带来的是各种宝贵资源的巨大开销。为了最大限度降低这种开销,更是为了在中小型系统中避开对繁琐的公钥基础设施的依赖,不少学者探索利用现有安全部件实现公开密钥认证服务的可能性。最为典型的一项技术就是使用服务器上的口令认证文件为用户同时提供公开密钥认证服务。
在回顾了这方面的各种典型公开密钥认证方案后,我们发现方案普遍对应用环境的描述较为含糊不清,同时,公开密钥的认证计算结构也存在不少安全漏洞。不能达到方案自己宣称的安全特性的情况常常发生,例如,我们在4.2.3.3小节给出的对Peinado方案的伪造公开密钥攻击;在4.2.4.2小节展示的Zhang和Kim方案,不能提供用户公开密钥不可否认服务等等。
我们认为克服上述问题的有效手段是使用规约证明的方法设计服务器辅助公开密钥认证方案。我们首先明确描述了公开密钥认证的运作方式和认证文件的特性,分析了用户与权威机构的关系。在此基础上,明确定义了一组公开密钥认证方案的基本安全目标。接着,根据安全目标,提出了一个针对离散对数密码体制公开密钥进行认证的方案。最后,通过离散对数问题标准假设和数论中的理论一一规约证明了这个方案可以达到安全目标的各项要求。同时,还对该方案的具体执行和参数选择进行了讨论。安全目标的明确定义和对该方案的严谨规约,保证了提出的方案在目前同类方案中安全性能最好。该方案与同类方案在执行效率方面相比,优势也较为明显。
我们还以此方案为例,进一步对服务器辅助公开密钥认证中的认证文件的地位、认证方案与标准签名技术的比较、权威机构的信任等级展开了研讨。
认证文件机制的历史要长于公钥密码体制,考虑利用服务器上大量现有的认证文件因势利导辅助公开密钥认证,这条思路为大幅度削减公开密钥认证的各种开销提供了可能。这也正是该方案的价值所在。
(3)基于从右向左二进制算法的快速模幂计算方法一t-fold方法由于公钥密码学的飞速发展与广泛应用,大数模幂计算问题不仅有重大的理论价值,同时也具有重大的实用价值。追求更快速的大数模幂计算方法是值得重视的课题。由于大数模幂计算的代数结构不断扩充以及近年来出现的对大数模幂计算执行的边信道攻击,都要求丰富大数模幂计算的方法集,为实际工程应用提供更多的选择。
大数模幂计算问题基础的解决方法是二进制方法,包括从左向右二进制算法和从右向左二进制算法。绝大多数的快速模幂计算方法都是在从左向右二进制算法的基础发展起来,而基于从右向左二进制算法的快速方法却非常之少。我们转换了一个角度思考处理模幂计算问题,突破了对这一问题传统的研究倾向探索提出了一个基于从右向左二进制算法的快速计算方法:t—fold方法。经过分析表明,我们的t-fold方法在基于从右向左二进制算法的快速模幂方法中的地位,与著名的m一ary方法在基于从左向右二进制算法的快速模幂方法中的地位相当。正是有了m-ary;疗法,基于从左向右二进制算法的快速模幂方法才蓬勃发展起来,因此,更重要的一点是,t-fold方法的提出是发展基于从右向左二进制算法的快速模幂方法的第一步,也是稳健的一步。这一研究成果的意义在于,可以为进一步开发更好的此类快速模幂方法提供启迪。这不仅将丰富模幂问题的研究内容,提供一系列解决此类问题新的计算方法,而且还将有可能据此进一步开发出适应各种不同复杂应用背景的快速模幂方法。