1.Netbill协议的概述
Netbill协议是由J.D.Tygar等人设计和开发的关于数字商品的电子商务协议。该协议假定了一个可信赖的第三方Netbill Server,客户与商家的账号均存储于Netbill Server中。
2.Netbill协议的交易流程
Netbillt协议的交易流程可简述如下:
1)客户C向商家M发出购物请求。
2)商家M向客户C报价(目录清单)。
3)客户C向商家M发送消息,表示接受该报价。
4)商家M对客户C订购的数字商品G以密钥K加密,然后发送给客户C:G'=EK(G)。
5)客户生成一个电子采购订单(Electronic Purchase Order,EPO),内容包括价格、已加密商品的加密支票(Cryptographic-checksum of Encrypted Goods)和超时(Time-out)。
客户对EPO进行数字签名:EPO'=DSKC(EPO)。
然后发送给商家M。
6)商家M对收到的EPO'进行数字签名:EPO"=DSKM(EPO')。
并对密钥K进行数字签名:K'=DSKM(K)。
然后将EOP"和K'发送到Netbill Server。(https://www.xing528.com)
7)Netbill Server对收到的EOP"和K'进行解密,确认为商家M所发,再对EPO'解密确认为客户C所发。
K=EPKM(K')
EPO'=EPKM(EPO")
EPO=EPKC(EPO')
再对EPO中的Time-out进行检验,确认尚未过期。然后检验客户C的账号,以确认有足够的资金。
当全部检验无误后即批准此次交易,将数字商品G的价钱从客户C的账号划拨到商家M的账号中。
将密钥K和已加密商品的加密支票存档生成一个收据R,对R和K进行数字签名并发送给商家M:Y=DSKN(R,K)。
8)商家M对收到的信息解密,确认为Netbill Server所发,则验收Netbill签发的收据R:(R,K)=EPKN(Y)。
对收据R进行记录。然后对密钥K和收据R进行数字签名,并发送给客户C:Y'=DSKM(R,K)。
9)客户C对收到的Y进行解密,确认为商家M所发,然后利用K对先前收到的加过密的G进行解密,即获得所购数字商品G:G=DK(G')。
3.Netbill协议的安全性分析
Netbill协议可以处理大量的微交易,协议满足货币原子性、商品原子性和确认发送原子性,是当前电子支付协议中唯一一种满足货币、商品和确认发送原子性的支付协议。
但是,在Netbill协议中,商品在客户未付款的情况下就以加密的形式发送给客户,客户可以在协议的这个步骤完成之后,安全地终止协议并可能考虑采用暴力破解的方式来搜索解密用的对称密钥,存在安全隐患。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
