【文档说明】第7讲电子商务协议.pptx,共(43)页,113.407 KB,由精品优选上传
转载请保留链接:https://www.ichengzhen.cn/view-333020.html
以下为本文档部分文字说明:
第7讲电子商务协议1◼电子商务协议(EC.protocol):◼在EC模型中,四方交流交互关系必须遵循的规则。以此保证各方利益和安全,并能控制风险。27.电子EC协议的设计原则◼1。匿名性(anonymity)◼匿名性可以保护客户的隐私,但许多国家将匿名交易定
为非法。如没过反洗钱法规定EC必须保证:1.超过1万美元交易即报告2.超过100美元应记录◼解决办法:通过可信任的采购代理购物,◼由采购代理保存客户信息,追踪到代理为止。3◼2。安全性(security)◼是EC中最重要的性质,当前信用卡方式不安全,∵
卡号经网络传送,容易被窃取。◼1997.7~1998.614600名美、加游客在墨西哥游玩,信用卡损失达2500万美元。◼3。不可否认性(nonrepudiation)◼EC中通过数字签名确保各方发出信息的不可抵赖性。
4◼4。原子性(atomicity)◼1.钱原子性:EC中的资金流守性,现金交易满足钱原子性。一方减少=另一方增多。◼2.商品原子性:首先满足钱原子性,其次,保证付款一定会得到商品。得到了商品则一定付了款。不存在付了款未得
到商品或者得了商品而未付款的情况。货到付款即满足该性质。◼3.确认发送原子性:首先满足3.一定满足1.和2.,其次确认客户得到了商品(保质保量),商家发送了商品。实现时,可设计一个可信第三方。◼5。交易规模(transactionsi
ze)◼开发特定的微交易(<$1美元)5◼8.几类EC协议:①SSL,②SET,③匿名原子交易协议,④NETbill协议,⑤安全智能贸易代理协议,⑥基于PKC的安全电子软件分销协议。◼1。电子交易协议SET◼(secureelectronictransaction)◼SET:1.满足钱原子性,但不
满足商品原子性和确认发送原子性。6◼2.采用数字签名防止任一方的抵赖。①客户C,②商家M,③支付网关P,④收单行A,⑤金融专网,⑥发卡行I图3SET协议流程C①(customer)客户M②(merchant)商家P(payment③gateway)A④(a
cquirer)收单行I(issuer)⑥发卡行abcdejfighinternetinternet7(1)客户C向商家M发出来采购请求(图3中的消息a)。(2)商家M向客户C报价(目录清单)(图3中的消息b)。(3)客户C同意报价,并对订单O
I(orderinstructions)进行数字签名:OI`=DSKC(OI)◼然后将OI`发给商家M(图3中的消息C)◼(4)商家M堆收到的OI`解密:◼OI`=EPKC(OI`)确认订单OI为客户C所发。商家将自己的数字证
书CerM、支付网关的数字证书Cerp(事先储存再商家M的服务器中)以及付款要求Pay进行数字签名:◼γ=DSKM(CerM,Cerp,Pay)◼然后发给客户C(图3中的消息d)8◼(5)客户C收到γ,对γ进行解密:◼(CerM,Cerp,Pay)=EPKM(γ)◼确认γ为M所发,
确认商家M和支付网关p的身份。客户C生成按Pay要求的支付命令P1(paymentinstructions),并进行数字签名:PI`=DSKC(PI)◼客户C取随机生成的一个对称密钥K,由K对PI`进行加密
:PI``=EK(PI`)◼对客户C的帐户信息PAN(C的性命、信用卡号等)和K用支付网关p的公钥进行加密:◼P1=EPKP(PAN,K)◼以上两步加密防止了商家M获悉有关客户C支付的信息,只有支付网关p才能解密。对客户C
的数字证书CerC,PI``及P1进行数字签名:◼γ1=(CerC,PI``,P1)◼然后发给商家M(图3中的消息e)。9◼(6)商家M对收到的γ1进行解密:◼(CerC,PI``,P1)=EPKC(γ1)确认为客户C所发。◼对CerC,PI``,P1和商家M自己的数字证书CerM进行数字签名
:γ2=DSKM(CerM,CerC,PI``,PI)◼然后发送给支付网关p(图3中的消息f)◼(7)支付网关p对收到的γ2进行解密:◼(CerM,CerC,PI``,PI)=EPKM(γ2)确认为商家M所发。
对P1进行解密,确认为客户C所发信息(PAN,K)=DSKP(P1)利用其中的对称密钥K对PI``进行解密:PI`=DK(PI``)再对所得到的PI`进行解密:PI=EPKC(PI`)获得曾由客户C数字签名的支付命令P
I。将支付命令PI经由安全的金融专网发给发卡行I(图3中的消息g)。10◼(8)发卡行I进行验证,确认客户C的帐号有效(有足够余额),然后将经验证有效的支付命令PI经以后金融专网发还给支付网关p(图3中的消息h),客户帐号和商家帐号间发生资金划拨(这不是由SE
T协议规定的)。◼(9)支付网关p向商家M法支付已讫消息Msg(图3中的消息i):M`sg=DSKP(Msg)◼(10)商家M对收到的M`sg进行解密,确认为支付网关p所发:Msg=EPKP(M`sg)◼商家M向客户C发货(图3中的消息j)。11◼综上
所述:客户C要验证商家M的数字证书、支付网关p的数字证书以及商家M所发的付款请求。商家M要验证客户C所发的订单OI、客户C的数字证书、客户C所发的消息γ1以及支付网关所发的消息Msg。◼支付网关p要验证商检M所发的消息γ2、商家M的数字证书、客户C的数字正书以及客户
C所发的支付命令PI。发卡行I要验证客户C的帐号有效。12◼从以上描述可知,在SET协议中,客户、商家、银行的身份要互相认证。客户C的订货信息只有商家M知晓,银行并不知道,而客户C的信用卡号等信息商家M并不知道,从而防止了信用卡交易中的商
家欺诈.在SET协议的消息交流中采用数字签名的办法,因而有效地防止了任一方的抵赖,也确认了消息发送者的身份。◼SET协议显然满足钱原子性,但并不满足商品原子性和确认发送原子性。13◼虽然SET协议与SSL协议相比具有上述
优点,但SET协议复杂,开销大,代价高。协议各方包括客户必须安装相应的软件,这有碍于它的普及和流行。一种折中的办法是,在客户和商家之间采用SSL协议,而在商家和银行之间采用SET协议。◼在以上对SET协议的描述中,尚可采用若干变
通的办法以减低开销。例如,在第(5)步中生成的对称密钥K用于对支付命令PI进行加密。其实,省略这一步,直接用支付网关p的公钥PKP对PI进行加密是可行的。当然,其安全程度较原来方法有所不同,且加工效率亦不相同。通常DES算法的效率比RSA算法的效率要高1000倍[2
7]。14◼2。安全套接层协议SSL(SecureSocketLayer)◼安全套接层协议SSL是目前使用最为广泛的电子商务协议,它由Netscape公司设计开发,由于内置于用户浏览器和商家的Web服务器中,故能方便而低开销地进行信息加密,多用
于信用卡号的传送。它相当于在客户和商家之间建立一条保密通道连接,以传送信用卡号等信息。◼详见讲义15◼SSL协议如下:◼(1)客户C与商家M建立连接。◼(2)商家M向客户传送自己的数字证书。◼(3)客户C利用浏览器中的SSL软件随机产生传输密钥,以商
◼家的公钥加密后传送给商家。◼(4)客户将自己的信用卡号用传输密钥加密后传送给商家。◼SSL协议只保证在信息传送过程中不因被截而泄密,但不能◼防止商家利用获取的信用卡号进行欺诈[29]。此外,商家的服务◼器也不能保证安全。它满足钱原子性。◼SSL协议对商家进行了认证,但未对客户进
行认证(也许是一◼个黑客,也许是在洗钱,也许是盗窃的信用卡,也许是抵赖订◼货),这应该引起重视。16◼SSL协议的安全性分析:◼1。安全性:◼(1)防止“监听”和“中间人”式的攻击。◼SSL使用一个经过通讯双方协商确定的
加密算法和密钥,对不通的安全级别要求的用户,可以设计不通的加密算法。◼对密钥管理:每次连接后产生一个hash函数生成一个临时的会话密钥,每一次连接的两个传输方向上使用各自单独的密钥。◼尽管SSL为监听者提供
很多明文,但因采用RSA◼交换密钥具有较好的密钥保护,以及频繁更换密钥,◼因此,对监听和中间人具有较高的可靠性。17◼(2)防止“剪一贴”攻击◼“剪一贴”是从数据包中“剪下”一段精心选择的密文,将其“粘贴”到另一段密文中,这样接收端有可能泄漏解密后的明文。例如,恰好是“用户口令”。◼S
SL对不通的上下文使用独立的“会话标识”,从而阻止对不通连接或同一连接不同方向之间的“剪贴”攻击。对加密包进行MAC认证,则避免同一方向的剪贴攻击。18◼(3)防止报文“重发”攻击◼SSL中对消息认证码M
AC的计算包含一个不断变化的序列号参数,以此阻止“报文重发、重排序、删除”等攻击。◼2。安全漏洞◼客户机和服务器在互相以明文形式发送自己的加密算法时,易于攻击。◼所有会话密钥都由主-key生成,因此主-key◼尽可能少在通讯
中使用。19◼3。安全智能贸易代理协议◼在因特网上提供的产品和服务的数量十分庞大,而且每天都在不断地增加,若采用人工方式来分析如此大量的网上产品、服务及其报价是不大可能的。于是,提出了一种智能贸易代理ITA(intell
igenttradeagent)的方案。ITA是一个◼软件,可在网上漫游(roam),收集与商务有关的数据(business-related)。然后以持有者的立场分析这些数据并决定购买哪些产品和服务[32]。与此相关的协议是由VanderMerwe和VonSol
ms提出的,现描述如下图4所示,其中:◼ITA智能贸易代理;ARAgentReposity,驻留所有Agents的库;ASAuthorizationServer,在线授权服务器;S1,……,Sn提供网上产品和服务的服务器。20①支付协议②购买者Fig4VanderMerwe-VonSolm
sprotocol图4VanderMerwe-VonSolms协议ASS1S2SnITAITAITAITABuyer②(1)(2)(6)(8)Paymentprotocol①(4,4)(4,3)(4,1)(4,2)(3)(5)(7)……AR21◼协议步骤如下:◼(1)购买者向AR出示自己的身份,
以便指挥ITA。◼(2)得到认可后,购买者指示ITA她要购买的商品。◼(3)ITA上网漫游,首先到服务器S1。◼(4)ITA搜索S1,若找到一种商品item1符合第(2)步的指示,ITA则决定进行交易。22◼(4.1)ITA将购买者的信用卡号用AS的公钥加密,发送给服务器S1,它智能由
AS读取。◼(4.2)ITA对选中的item1进行描述,包括其价格信息,然后用ITA的私钥签名,再用AS的公钥加密,发送给S1。该信息仅能由AS读取,并必为ITA所写。◼(4.3)S1对被选中的商品进行描述,包括item1的价格等信息,
然后将该消息用S1的私钥签名,再用AS的公钥加密,最后将此消息和ITA发来的消息(第(4.2)步)一并送交AS。◼(4.4)AS收到这两个消息后用自己的私钥解密,比较所得到的两个消息,若一致,则执行支付协议,以便将购物款转给销售者的帐号。典型地,AS可以是银行,通过第(4.1)步所得到的购
买者的信用卡号不难完成支付协议。23◼(5)ITA漫游到下一个服务器,重复以上的采购和支付。◼(6)购买者告知该ITA返回AR。也可以通过第(2)步由购买者给出一定的跳进,自动出发完成召唤命令。◼(7)ITA返回AR。◼(8)购买者验证该ITA购买了什么商品。24◼以上协议还存在一些不足
之处:◼(1)购买者必须信任ITA,将自己的信用卡号交给ITA。◼(2)授权服务器(银行)必须是在线的,才能认证和完成交易,这对可用性(availability)、连结AS的带宽、计算时间等都有较高的要求。◼(3)AS知道一切
(信用卡号、身份、购买商品的性质),不能保证匿名性。◼4。具有离线授权服务器和不可信任代理的匿名电子商务协议。25◼5.8.1秘密交换协议(secretexchangeprotocol)◼设A,B双方各有2n个秘密的m位的数要交换,
{ai,1≤i≤2n},{bi,1≤i≤2n}。◼A将2n个数分为n对,例如(a2j-1,a2j),j=1,…,n。◼然后从每对中选一个送给B,但A并不知道所选的是◼a2j-1还是a2j,二者被选中的几率均为1/2,这称为◼1
-2健忘传送(oblivioustransfer)[33]。26◼B也将2n个数分成n对,例如(b2j-1,b2j),◼j=1,…,n。然后从每对中选一个送给A,也采用1-2健忘传送。◼A和B互送所有2n个数:ai,bi,i=1,…,2n的第1位,然后互送第2位,…,直至互送
第m位。A要欺骗B,其成功的几率仅为1/2n。因为在第(1)步B已经收到2n个ai中的n个,而A并不知道是ai中的哪n个。这种协议有一个缺陷[34]:若A已送出其秘密数的第k位之后,B中止协议,即B少送一位,则B有2对1的好处。Tedrick在文献[35]中解决了此问题,使先走第1步的一方
的不利因素减至最小。27◼5.8.2安全合同签字协议(securecontractsigning)◼(1)ITA随机生成2n个对称密钥(DES-like)Kjn(I=1,…,2n)及n对消息(Ljn,Rjn)(j=1,…,n)。然后对此n对消息进行
加密:Pjn=EKjn(Rjn),j=1,…,n;◼Qjn=EKn+jn(Ljn),j=1,…,n。◼(2)服务器S也同样随机生成2n个对称密钥Kis(I=1,…,2n)及n对消息(Ljs,Rjs)(j=1,…,n)。然后对此
n对消息进行加密:◼Pjs=EKjs(Rjs),j=1,…,n;◼Qjs=EKn+js(Ljs),j=1,…,n。28◼(3)ITA和S协商一个合同,当且仅当ITA能解密◼Pjs和Qjs(1≤j≤n)并且S能解密Pjn和Qjn(1≤j≤n)◼◼(
4)ITA和S按照5.8.1节中的秘密交换协议交换双◼方的对称密钥Kin和Kis(I=1,…,2n)。29◼5.8.3具有离线授权服务和不可信任的匿名电子商务协议◼步骤如图5所示。①客户②银行Fig5NewanonymousITAprotocol图5
新的匿名ITA协议S1S2SnITAITAITAARbank②Customer①(2)(3)(7)(9)(4)(8)(1)(1)(5,1)(5,2)(5,3)……30◼(1)客户按第5.5.1节中的办法向银行提款,得到
匿名代币Token(Q,Val)。◼(2)客户和ITA按第5.8.2节所述的安全合同签字协议签一份合同,内容包括欲购商品的属性、价格范围、品质要求等,亦可包括ITA返回AR的条件。◼(3)客户将Token(Q,Val)交给ITA。◼
(4)ITA漫游至服务器S1。◼(5)ITA按第(2)步的客户要求查找,当找到一个符合条件的商品item1时即开始交易:31◼(5.1)ITA和S1按安全合同签字协议签定一份合同,合同中指明交易条件,包括item1号、价格、付款、发货等。◼
(5.2)ITA将Token(Q,Val)发送给S1。◼(5.3)S1向ITA发送item1。◼(6)ITA漫游至下一个服务器,重复第(5)步。◼(7)客户告知ITA返回AR,亦可通过第(2)步的预置条件的触发而返回。◼(8)ITA返回AR(9
)客户检验该ITA采购的商品。◼特点:客户保护了匿名性;交易期间AS不必在线。325。基于PKC的安全电子软件分销协议◼匿名原子交易协议、Netbill协议等可以保证数字商品网上销售的原子性,但不能防止客户将购得的
软件转给非授权用户。据统计,1998年全球软件的侵权损失达110亿美元,使用中的软件38%以上为非法拷贝[36]。因此,研究防止软件侵权的协议具有重要的实际意义。335.9.1基于PKC的安全电子软件分销协议◼S.-M.Lee等人[37]提出
了一种基于PKC的安全电子软件分销协议(secureelectronicSoftwaredistributionprotocolbasedonpublickeycryptography)。它使用电子许可证ELC(electroniclicencecertificate)和验证代理
AA(authenticationagent)来防止软件侵权和非法拷贝。当有非法拷贝的情况发生时,商家可根据电子许可证追究原来许可的拥有者的责任。34◼电子许可证ELC由商家M经由因特网发送给用户C,它包含3部分:◼H(Secre
t,C-ID,password)◼DSKM(EPKC(Product-Code,LicenceNo))◼DSKM(Product-Code,LicenceNo)◼其中H是Hash加密函数;Secret为一个随机串,存储在验证代理AA之中,仅有AA和商家M知
道;C-ID是客户标识;Password为口令;产品号和许可号在第2部分中由客户的公钥加密并由商家数字签名,在第3部分中由商家数字签名。35◼验证代理AA随数字商品一起发送给客户,驻留在客户的计算机中,它使用循环地址(l
oopbackaddress(127.0.0.1))和预定义门户(port)。AA不仅验证客户对数字商品的安装,而且也验证数字商品的运行。数字商品的安装过程如图6所示。36Computerofcustomer’
s①AA(authenticationagent)(127.0.0.1)③InstallationProgram④①客户计算机②安装请求③验证代理AA④安装程序Fig6Secureinstallationprocedure图6安全安装过程Installationrequest
②EPKC(Product-Code,licenseNo)Ek(Product-Code,LicenseNo,TimeStamp)C-ID,PasswordEK(ADMISSION,TimeStamp)37◼(1)当客户执
行安装程序时,首先通过循环地址和预定义门户与验证程序AA连接,然后给AA发送一个安装请求。◼(2)AA用商家M的公钥解密电子许可证的第2部分,得到EPKC(Product-Code,LicenceNo)并发送给安装程序。◼(3)安装程序用客户私钥解
密所收到的信息,得到(Product-Code,LicenceNo),并同时解密ELC的第3部分,将二者进行比较,若相同则继续进行。安装程序生成一个时间戳,◼以防止重放攻击(replayattack)。初始化时有一个对称密钥K装入AA和安装程序,此事
安装程序将(Product-Code,LicenceNo)和TimeStamp放在一起,用K加密后送给AA。38◼(4)安装程序将客户C在商家注册的客户标识C-ID和口令发给AA。◼(5)AA将收到的C-ID,Password和原来存储
的Secret一起用Hash函数计算,将所得结果与ELC中的第1部分比较,若两者相同,AA向安装程序发送准许安装的消息。◼(6)安装程序解密收到的消息,并验证时间戳,证实与第(3)步发送的一致,即着手安装。◼(7)若第5步的比较不一致,则AA向安装程
序发送夭折消息。39◼5.9.2软件执行的验证◼得到授权的客户在成功地安装了所购得的软件之后,要运行其已安装的可执行软件还需接受AA的验证,以防止非授权的用户运行。其过程如图7所示。客户计算机②验证代理AA③安装请求④验证线索⑤安装⑥执行线索Fig7Sec
ureexecutionprocedure图7安全执行过程AA(authenticationagent)(127.0.0.1)②Authenticationthread④ExecutionThread⑥Softwareexecutio
nrequest③EPKC(Product-Code,licenseNo)Ek(Product-Code,LicenseNo,TimeStamp)EK(ADMISSION,TimeStamp)40(1)当客户运行一个可执行文件时生成两个线索并行
运行,第一个线索执行该文件,第二个线索验证该客户的电子许可证。并行运行是为了提高效率,因为电子许可证的验证很费时。验证线索首先建立与AA的连接,发出执行软件的请求。(2)AA使用商家的公钥解密ELC的第二部分,得到EPKC(Product-Code,Licen
ceNo),并发给验证线索。41◼(3)验证线索用客户私钥解密收到的消息,得到(Product-Code,LicenceNo)。然后生成一个时间戳,将其与(Product-Code,LicenceNo)一起用对称密钥K加密,发给AA。◼(4)AA收到后对其解密,并与ELC中的
第二部分进行解密后加以比较。若两者相同,则验证成立;否则为非法用户,AA发送一个夭折消息给验证线索,后者使执行线索夭折。42◼对不同客户来说,其C-ID,Password,SKC都不相同,故防止非法拷贝软件的运行是安全的。本协议的不足之处是,验证代理AA常常驻客户计算机的内存,而且要求客户计算机
的操作系统能保证AA的安全。43