论文部分内容阅读
为了系统的说明本文设计的方案,我们前三章对基础知识进行了必要的介绍。其中,第一章介绍了密码学发展概况,并简述了本文的内容和结论。第二章介绍了密码学的一些基本组件,说明了这些组件的定义和作用。第三章介绍了数字签名安全性的基本概念,然后列举了RSA数字签名、ElGamal数字签名、不可否认数字签名等经典的签名,接着又介绍了数字签名的实现,并说明随机数是怎样生成的,以及怎样判断一个随机数是否是素数。
我们在第四章设计了一种电子支票的签名方案。该方案实际上是把ElGamal签名方案和不可否认签名方案组合起来,使这两种签名方案共用一部分数据,安全性得到了加强。然后我们再添加各种因素使其成为一个实际可行的电子支票签名方案,该签名方案具有双重验证性,其中第二轮验证为可选,以对不同金额的支票提供不同的安全性。
首先,我们假设了用户的基本要求,用户希望对小额支票和大额支票区别对待,小额支票由银行验证签名后即可使用,而大额支票必须通知用户后才能使用,并且用户要求对大额支票的签名和金额进行进一步的验证,以提高安全性。我们还要防止用户开具空头支票、商店重复花费和篡改金额等情况。
其次,我们给出了电子支票的签名方案。签名方案分为公钥证书、付款协议和存款协议。公钥证书是银行对用户的基本信息生成证书,只要在用户建立账号时执行一次就可以了,公钥证书能防止用户开具空头支票。付款协议是用户消费后向商店开具支票的过程,我们在签名过程中添加了时间信息,以防止重复花费。商店得到签名后要对签名进行验证,以确保签名的有效性。存款协议是商店使用支票到银行进行转账的过程。银行在得到签名后也要对签名进行验证,银行对小额支票签名的验证同大额支票是不同的,小额支票只进行第一轮验证,银行自己就可以完成验证,不需要用户的参与。而且我们在验证过程添加了支票金额信息,篡改支票金额就无法通过验证。大额支票要进行两轮验证,第二轮验证必须有用户的参与才能完成,因此大额支票在使用时必须通知用户才能使用。并且在第二轮验证中进一步验证了支票签名和金额,同样商店不能篡改支票金额。
再者,我们分析了电子支票签名方案的安全性。指出了一些误用签名方案的情况下存在的安全隐患:如果不使用Hash函数,对第一轮签名存在存在性伪造;如果在签名中使用相同的y值,将会导致第一轮签名的私钥泄露,从而导致小额支票的签名不再安全。在正确的使用签名方案的情况下,我们说明了签名方案对目前已知的攻击方法都是安全的。
最后,我们把电子支票同实物支票、信用卡、电子货币进行了比较,分析了电子支票的优缺点。其中优点有:
1.电子支票的安全性较高,要伪造用户的签名在计算上是不可行的。
2.电子支票不需要在互联网上传送自己的密码,可以防止盗号行为。
3.电子支票可以防止用户开具空头支票。
4.商店得到支票后就可以验证签名的真伪,从而防止欺骗行为。
5.电子支票可以防止商店篡改支票金额。
6.电子支票不受互联网的限制,可以随时随地的开具支票。
7.本文设计的方案将两个已有的签名方案组合在一起,两个方案共用一部分数据,还交叉含有支票金额的数据,安全性得到了加强。
8.本文设计的方案双重验证性,其中第二轮验证为可选,可以对不同金额的支票提供不同的安全性。
电子支票的缺点有:
1.电子支票虽然能够控制用户每次开具支票的金额,但无法控制用户开具支票的次数,这也是实物支票本身就存在的缺点。
2.电子支票需要一个设备来生成签名。