论文部分内容阅读
随着全球信息化的迅猛发展,计算机网络极大地方便了人们的交流与信息的传递。但是,计算机网络在给人们带来巨大便利的同时,也对信息的安全保护提出了巨大的挑战。密钥协商是密码学研究中继加密和签名之后另外一个重要的密码学原语。群密钥协商广泛应用于许多协作和分布式应用场景,如多方计算、文件共享、分布式音频/视频会议和聊天系统等。因此对群密钥协商进行研究具有重要的理论和实践意义。在公开的、不安全的信道上实现安全的密钥协商,最重要的是要防止敌手篡改通信的消息或者冒充合法用户执行协议。认证是解决这一问题最好的方法。有认证功能的群密钥协商协议可以使用户在公开网络上安全地进行密钥协商,确保非密钥协商方不能获得协商的共享密钥。但是我们通过阅读大量现有的群密钥协商协议,总结归纳发现现有的可认证群密钥协商协议都是基于以下两种机制来实现对用户的认证:公钥基础设施和基于身份的密码机制。不过这两种方式都存在自己的缺陷。在基于公钥基础设施的这种群密钥协商协议中,由于每个用户的公钥都对应一张证书,这样证书的产生,保存,分发和更新等将带来严重的证书管理负担。而在基于身份的群密钥协商协议中又存在固有的密钥托管问题,因为用户的私钥完全由私钥生成中心产生,所有用户必须完全信任私钥生成中心。本文重点研究避免上述缺陷的群密钥协商协议。在分析和总结前人研究成果的基础上,将无证书公钥密码技术引入到群密钥协商研究中来,提出了无证书可认证的群密钥协商协议的概念。在无证书公钥密码机制中,用户的私钥是由用户的部分私钥和用户自己选择的一个秘密值组成,其中部分私钥由一个半可信的密钥生成中心产生。在这种机制中就不存在密钥托管问题和证书管理问题。基于无证书公钥密码学的思想,本文构造出一个具体的无证书可认证的群密钥协商协议。它满足群密钥协商一般公认需要达到的各种典型的安全属性。更重要的是,没有基于公钥基础设置的协议的证书管理负担,也没有基于身份的公钥密码体制的协议的密钥托管问题。在许多资源受限的开放网络环境下,这是非常可贵的属性。此外,基于配对的密码函数库,本文在Linux环境下使用C语言编程实现了协议的基本算法。程序运行结果表明,算法运行的时间成本低,协议是有效且实用的。