| 网站首页 | 新闻中心 | 系统安全 | 网络安全 | 安全技术 | 下载中心 | 
课件制作网.
收藏本站
设为首页
安全365
一种无可信任仲裁的网上投票协议
一种无可信任仲裁的网上投票协议
作者:佚名 文章来源:不详 点击数: 更新时间:2007-1-26 11:57:27
1 引言
网上选举投票系统开发和应用是电子政务和有效评估自动化的热点问题,它与传统投票方式相比,具有高效率和低成本的优点,能够快速准确的统计出投票结果。但是大部分网上选举投票系统一直都没有解决好投票的有效性和安全性问题,文献[4]中给出了提出了一种基于身份证号和JCA的网上可信任投票系统模型,但是该模型是基于具有完全可信任仲裁的条件下得到的,不适合投票个体之间互不信任、无可信任仲裁的情况,纯粹的PKI下讨论如何进行网络安全投票在实践中由于其实现的困难性并没有很好的可行性,因此我们提出了一种新的无可信任仲裁的网上投票协议。
2 安全网上投票的关键问题与分析
安全的网上投票系统的关键问题主要体现在以下两个方面:
(1)       投票的有效性:包括投票者的合法性、投票格式的合法性和一人只能投一次票。投票者合法性是指投票者必须具备投票资格,否则投票无效;投票格式的合法性,指的是必须按照格式要求投票,否则投票无效。
(2)       投票的安全性:投票的结果往往会关系到一些人或者某个集团的利益,因此在网络环境中,很有可能会有人试图通过黑客手段来篡改数据,因此投票的安全性问题不容忽视。
(3)       投票的公正性:投票者必须能够自己的投票是有效的,即投票过程是公平的,所有投票人能够知道最后的投票结果和自己是否有效的参与了投票。
对于一个应用于重要场合的网上投票系统而言,除了必须保证投票的有效性、投票的安全性外,还必须具有投票电子票据存根存档功能和管理功能。有些时候在某些特殊的场合还既要保证投票者投票的身份不可抵赖性,又要保证投票者身份的保密性。另外对于一个公司和企业内部的投票,还必须能够防止投票者之间的合谋攻击。
3 协议中用到的密码学基础
3.1公钥算法RSA与数字签名
RSA是使用最广泛的公钥密码系统,1977年由Rivest, Shamir, Adleman 首次实现了著名的RSA密码系统,它的安全是基于大整数素因子分解的困难性上。它可以用在保密性和数字签名。在本文协议中,我们用它来进行数字签名。我们假设有两个参与加密的实体A和B,该加密算法实现过程入下:
[加密]
S1.  B得到实体A的真实公钥 ;
S2.  把消息表示成整数 ;
S3.  B计算 ;
S4.  B将密文 发送给A;
 
[解密]
S5.  A接受到密文 ,使用自己的私钥 计算 , .
如果要进行数字签名,只要将公钥和私钥倒过来使用。
3.2哈希函数与数据完整性和消息认证
哈希函数主要用于数据完整性和消息认证它的基本思想是把哈希函数值 看成 的消息摘要(Message Digest),当 中任一个二进制位发生变化时都将引起哈希函数值的变化。这样我们就可以用对 的签名代替对 的签名。数据完整性是指数据在生成、传输或存储以来没有被非法改动过。山东大学王小云教授提出的几个重要的哈希函数的破解对消息论证虽然构成了挑战,但是在实际使用中并没有构成太多的威胁,主要原因是要构造有意义的明文具有相同数字摘要几乎不可能。使用哈希函数提供数据完整性的最简单一种方法如下:
假设A是消息 的源,B是预期的接收者。A计算 ,发送 给B。B通过其它手段确定数据源A的身份,分离出接受到的数据 ,计算 并与接受到的 相比较。如果相等,则B知道 来自A,并且在传输过程中 没有改变。
3.3 时间戳
    假设敌手攻破某人的签名之后可以堂而皇之地对任何其它消息签名。由此产生两种问题:
(1)发现自己密钥丢失,声明用此密钥所作的签名作废(也包括丢失前的签名);
(2)某人对前段时间的签名反悔,谎称自己的密钥丢失。
为了区分这两种情况需要确定“何时签署的消息”。时间戳就是要提供“在特定时间签名”的证明。此外对于实现有时间限制的访问控制,使用时间戳还可以用于唯一性保证,以便发现消息的重用(Reuse)和重放(Replay)。
发送消息的一方从当地时间得到时间戳,用密码学手段把它与消息捆绑在一起。对方在接到盖有时间戳的消息后,从自己的时钟得到当前时间减去时间戳的时间。如果:
(1)时间差在可接受的范围(实现规定好的量,如10微秒或20秒)之内,而且
(2)以前没有接到过来自同一个人并有相同时间戳的消息,
则接受该消息是在时间戳表示的时间前创建的,不是已有消息的重用或重放。
4 无可信任仲裁的网上投票协议
4.1关于协议的符号说明
为了叙述方便,现将协议中用到的符号说明如下:
(1) 表示投票实体A的公钥, 表示A的私钥,K表示参与协议过程所有人协商得到的对称加密密钥;
(2)加密过程: ,解密过程: .“ ”表示利用A的公钥加密,“ ”表示利用A的私钥进行解密,“ ”表示使用对称加密密钥加密,“ ”表示使用对称加密密钥加密;
(3)生成消息摘要: .其中 中的 为任何需要生成消息摘要的信息;
(4)数字签名: .例如“ ”表示利用A的私钥进行数字签名,它等价于“ ”;
(5)生成时间戳: . 例如“ ”表示生成A的时间戳;
(6)传递消息: . 例如“ ”表示A将信息传递给B;
(7)信息连接: .例如“ ”表示将 与 连接在一起.
(8)协议解释:/*…*/.该符号用来解释一步协议目的
4.2无可信任仲裁的网上投票协议条件
   在该协议中,投票人数为 ,投票者编号为: , .投票者能够进行上述加密、解密、数字签名、生成消息摘要、生成数字签名等所有密码学及其相关操作。投票协作服务器为B,B的功能如下:
(1)  为投票者提供初始的会话密钥(对称加密密钥) ;
(2)  为投票者提供公钥系统所需要的一切条件,使得每个投票者在投票之前能够通过投票协作服务器生成自己的公钥 和私钥 ;
(3)  为投票者提供通讯信道,能够为所有投票者转发消息,但本身不参与投票过程。
4.3无可信任仲裁的网上投票协议过程描述
4.3.1 发起投票与投票初始化
S1) : ;
/* B向每个投票者发送初始会话密钥 、公共模数 、底数 和关于投票相关信息 */
S2) : ;
/*每个 选择一个自己的随机数 ,计算出 ,并对初始会话密钥 进行数字签名,并生成时间戳,然后一起发送给 */
S3) : ,
得到: , ; 
/* 解密每个 发送过来的加密信息,分离出每个投票者的 ,并验证其数字签名,确定发送者身份,同时检查时间戳*/
S4) : ;   /*计算工作密钥 */
S5) : ;/* 向每个投票者发送工作密钥 */
S6) : ,
        .
/*每个 得到工作密钥 并验证其数字签名,确定发送者身份,同时检查时间戳*/
4.3.2 进行投票
该过程比较复杂,描述时候我们对必要的地方先给出相关说明,再给出协议表达式,且同时假设所有投票者能够保留自己的操作和数据存根(目的是能够在后来检查自己的投票是否存在).
S1)每个 给出自己的投票 (其长度固定),并任意选择足够长随机2进制序列 ,连接 与 ,依次用所有人的公钥加密一次,得到最终结果 ,并计算 得到其消息摘要,描述如下:
: ,
S2) 计算 ,其中 为 任意选取的足够长的二进制序列, ,然后 计算:
描述如下:
: ,
     
S3) :
S4) 收集来自每个 发送过来的信息,并解密,得到每个 ,并验证其数字签名,确定发送者身份,同时检查时间戳,描述如下:
: ,
;
S5) 将所有的 发送给 , 解密后得到每个 ,并验证 其数字签名,确定发送者身份,同时检查时间戳.然后 用自己的私钥 对每个 一次解密,观察自己的选票是否在其中,并除去所有的 ,得到 个如下的消息:
将这 个消息作为新的 通过 发送给 , 重复同样的操作,并发送给 ,以次类推,最后 完成后,分离出所有的 , 将所有 个 发送给 .该段描述如下:
: ,
,
,
      验证散列值,确定自己的选票在其中,去到每个 ,令:
,
: , ;
: ,
, ;
: , ;
: , ;
: ,
, ;
S6) 将所有的 加密后发送给 , 接收到发送过来的信息并解密,得到每个 ,并验证其数字签名,确定发送者身份,同时检查时间戳, 然后 用自己私钥 对每个 进行一次解密,得到: , ,再次观察自己的选票是否在其中,令 , ,确认后对所有投票进行一次进行数字签名得到:  , .然后 通过 将 个 发送给 , 利用 的公钥解开 个 得到所有的 ,然后 重复 的操作后,再发给 ,依此类推,直到 ,最后得到所有的: , ,分离出 ,即所有的投票结果. 对所有的 进行数字签名,得到 , ,将所有的 由 将转发给 , .每个 通过 的公钥除去 的数字签名,得到 , .至此,每个投票者都可以知道投票的结果,并且可以检验自己的投票是否在其中,但是不知道其它的投票具体是谁投的.该部分协议形式化描述与S5类似,不再详细叙述.
5 总结与进一步说明
该协议通过初始传输时候使用了临时初始密钥,接着通过基于离散对数难解性的方法得到工作密钥,通讯各方对所有发送信息进行加密,因此可以大大的增强底层通讯协议的安全性.协议中用到的随机数 用来保证每个投票者能够识别出自己的最终投得票,每次计算 采用了散列函数有三个目的:一是为了区分选票,二是为了加强雪崩效应,三是防止恶意篡改.这样,不同用户只要初始的 不同,那么以后每次用来区分选票的辅助信息 相同的可能性几乎为0.另外在每次发送信息时候,同时将发送者的数字签名和时间戳一并发送过去,这样可以有效的防止中间人攻击和重放攻击.
参考文献
[1]N. Asokan, V. Shoup and M. Waidner, “Fair exchange of digital signature,” IEEE Journal ON Selected Areas in Communications, vol. 18, No. 4, April 2000.
[2]L. Gong, M. Lomas, R. Needham, J. Saltzer, Protecting poorly chosen secrets from guessing attacks, IEEE J. Selected Areas Comm. 11 (5) (1993) 648–656.
[3]N. Asokan, Victor Shoup, and Michael Waidner, Optimistic fair exchange of digital signatures, in Advances in Cryptology - EUROCRYPT ’98, LNCS vol. 1403, pp. 591-606, SpringerVerlag, 1998.
[4]左黎明,刘二根.一种可信任网上投票系统模型与设计[J].计算机工程,2005.3
[5]卢开澄.计算机密码学[M].北京:清华大学出版社,1998
[6]William Stallings.密码编码学与网络安全:原理与实践[M].北京:电子工业出版社,2001.
[7][美]Bruce Schneier,吴世忠等译.应用密码学[M].北京:机械工业出版社,2000.
[8]冯登国、裴定一.密码学引论[M].北京:科技出版社,1993.
【转自世纪安全网 http://www.21safe.com】
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     
     
     
    IP地址被盗的一种有效解
    能够使防火墙无效的一种
    一种察看asp源代码的思路
    一种点对多点无线视频数

    Copyright © 2006-2008 www.anquan365.com 安全365
    建议使用1024*768分辨率及第三方浏览器对本站进行浏览