基于移动代理的电子商务交易模型安全机制的研究

来源:岁月联盟 作者:严燕 顾翔 王宽亮 时间:2010-07-01

 摘  要  移动代理应用于商务给电子商务的带来的新的契机,它使得电子商务中费时的工作自动化。本文介绍了一个基于移动代理的电子商务安全交易模型,这个模型由用户主机、代理工厂、认证中心以及商家等组成,详细阐述了交易流程,同时也分析了此模型中使用的代理创建机制、ID机制、认证机制、合同机制等相应的安全机制。
    关键词  移动代理 电子交易 安全机制
 


1 引言
    移动代理(Mobile Agent)是一种可执行的程序,能够携带其代码和状态自主的从中一个节点移动到另一个节点,寻找合适的资源和信息资源,完成特定的任务。代理能在自身的控制之下从一个主机移动到另外一个主机。移动代理的基本特征是自主性和移动性,其基本目标是减少网络传输和实现异步交互。移动代理应用于电子商务,大大推进了电子商务的发展,代理能够代替顾客进行商品的查询、价格比较、磋商价格以及付款等工作,节省了顾客的时间和精力。但信息爆炸的网络面临着多种安全威胁,同时代理本身也面临的多种安全攻击,所以对于移动代理应用于电子商务,我们必须建立一个安全的交易模型。
2  基于移动代理的电子商务的安全需求
    基于移动代理的电子交易的安全需求归纳为:
    (1)密钥隐藏。确保客户的私钥被很好的保护,使移动代理具备在宿主主机上代表客户进行签名能力的同时不会泄露用户的私钥。
    (2)可验证性。对于有效的交易凭证,验证者能通过验证确信这个凭证记载的是客户和商家均认可的交易。
    (3)不可伪造性。唯有商家能以自己的名义产生有效的代理密钥对进行有效的交易签名,即商家身份和报价不可仿冒;唯有客户能发布可代表自己的移动代理,即客户身份和需求不可仿冒。
    (4)有限的可识别性。从移动代理得到的信息中,商家及其他验证者仅能检测代理的有效性,即代理是否经合法客户授权发布,而不知道客户的确切身份。
    (5)商家信息保密性。发布代理的客户可以通过鉴别商家的交易签名确定商家的身份和开价信息,其他人依据商家的交易签名无法知道商家信息。
    (6)不可否认性。一旦通过执行移动代理在宿主主机上生成交易凭证,客户和商家事后均不能否认这个交易凭证的生成。
    (7)滥用防止。商家不能将从移动代理得到的信息用于其他非法目的,万一发生滥用的情况,也能很容易确定滥用者,并追究其责任。
    (8)可追踪性。在发现客户有恶意订购行为或客户发布的移动代理被证明含有恶意代码等情况下,可在可信机构协助下撤消客户匿名性,揭露客户真实身份。
3  基于移动代理的电子交易模型安全机制的研究
3.1  基于移动代理交易的安全模型
    基于移动代理的电子商务安全模型的设计是为了保证安全的电子商务,在此之前,国际上已经开发了很多的基于移动代理的电子商务平台。这里给出我们设计的一个安全模型,如图1所示。

图1 安全模型

    在这个电子商务平台模型中,包含了用户主机,代理工厂,管理服务器,各商家主机,银行系统以及各代理本身,它们的功能在下面进行分别的介绍:
    1)用户主机
    用户主机也就是用户购买代理的所有者,它是整个购买行为的主动者,在用户需要产生购买需求时,首先到代理工厂服务器注册并申请产生购物代理,填写相应的购物需求。一个所有者对它的所有代理具有管理权和责任,负责所有代理的产生到结束。而且,一个代理所有者也可以作为代理漫游过程中的监督人。
    2)代理工厂主机
    代理工厂在代理建立过程中承担了为用户创建代理的基本任务。一个代理工厂根据用户需求定制功能组成一个新的代理。另外,一个代理工厂负责修复和检查代理,这些是代理安全的不可缺少的功能。
    3)管理服务器
    提供代理工厂以及各个商家的注册,查询,认证等服务。是一个由电子商店和代理工厂构成的认证中心。可以共享资源和商场的通用密码策略。它包含了一个登录表,保存注册的代理工厂和登陆代理的基本信息,登录表定期更新。
    4)代理
    代理在系统中起非常重要的作用。所有设备都是用来为代理服务的。每个代理都由一个代理工厂产生并只属于一个所有者。为鉴别自己,每个代理拥有由代理工厂发布的唯一的ID。一个代理携带着交易任务从一个主机漫游到另一主机。
    5)商家主机
    购物代理在经过注册到管理服务器后才能进行交易。当一购物代理来访问后,首先要经过认证后才可与之交互。商家主机提供查询、购物等功能。
    6)银行系统
    在商家和用户达成最后的交易协定后,用户付款,商家送货,它们通过同一家银行或不同的各自银行。这些过程也是由代理完成。
3.2  交易流程设计
    让我们来看看传统的交易流程。对消费者而言,当他有购物需求时,他首先要知道买什么,跟谁买,然后与商家进行协商,签订合同,付款最后取得商品。对销售者而言,他关心的是符合推销自己的商品,挖掘潜在的消费者。当这个交易市场移到网络上,这种交易模式同样也是存在的。因此,网上交易应该提供相关的机制方便买卖双方进行交易。
    1)用户注册流程
    在用户购物之前,必须完成两个登记注册工作,一个是代理工厂到管理服务器的注册,另一个就是各个商家到管理服务器的注册工作。在这两个前提满足的条件之下,用户才可以进行购物,而用户需要购物,就必须首先到代理工厂注册身份。
    ①用户在本地主机派遣注册代理(Register Agent,RA)到代理工厂,提交相应的用户资料,代理工厂验证其身份后注册相应的用户资料到数据库,并建立用户ID。
    ②代理工厂为用户产生公、私钥和证书,将私钥、证书和用户ID发给用户,保留公钥、证书。
    2)用户发送购物请求代理流程
    ①用户根据自己的需求填写需求信息,填写完购买请求后,发送购物请求代理并携带Agent ID和代理工厂证书到管理服务器。
    ②管理服务器验证代理的身份,并验证此Agent ID,如果符合就根据购物请求代理的购物请求检索登记商家的数据库,获得商家的地址、证书以及公钥。
    ③用户请求代理根据获得的商家的地址、证书等移动到各商家,同时携带的还有Agent ID。
    ④商家在验证请求代理的携带的证书以及进行相应的解密信息后获得Agent ID,和先前管理服务器发送的Agent ID比较,如果相同,就接收服务,不同则拒绝服务
    3)用户发送购物请求代理流程
    ①用户根据自己的需求填写需求信息,填写完购买请求后,发送购物请求代理并携带Agent ID和代理工厂证书到管理服务器。
    ②管理服务器验证代理的身份,并验证此Agent ID,如果符合就根据购物请求代理的购物请求检索登记商家的数据库,获得商家的地址、证书以及公钥。
    ③用户请求代理根据获得的商家的地址、证书等移动到各商家,同时携带的还有Agent ID。
    ④商家在验证请求代理的携带的证书以及进行相应的解密信息后获得Agent ID,和先前管理服务器发送的Agent ID比较,如果相同,就接收服务,不同则拒绝服务。
    4)用户与商家磋商流程
    ①购物请求代理携带包含有的各个商家价格清单、付款方式以及送货方式信息回到用户。
    ②用户可自行考虑决定也可由本地智能代理选择合适的商家,并发送磋商代理(Negotiating Agent,NA)到选定商家进行磋商。
   

 ③商家接收到用户的磋商代理后获得磋商信息,与客户进行协商,直到双方满意为止。
    5)合同定制流程
    ①用户和商家达成最后的协议后,就是一个合同定制的过程。商家向管理服务器申请合同代理(Contraction Agent,CA),管理服务器为此产生一个合同ID,存入专门的数据库。
    ②将合同代理发送至用户,用户接收后如果无异议则签名。然后发送到商家。否则终止合同签订。发送终止合同信息到管理服务器。管理服务器删除合同ID,通知商家。
    ③商家阅读后如无异议也进行电子签名,返回到管理服务器。否则终止合同签订。发送终止合同信息到管理服务器。管理服务器删除合同ID,通知用户。
    ④管理服务器将合同存入数据库,附带时效,以便日后检查执行情况。
    6)付款流程
    ①银行接到管理服务器的通知后分别冻结用户和商家的对应商品的价格的资金,如用户在规定期限内没有将相应资金划拨到相应商家,则银行根据合同扣除用户相应的违约金。
    ②用户根据合同划拨相应的资金到商家,此时用户收到一个划拨资金的证明。银行此时将划拨到商家的资金冻结,等商家确定发送货物且用户收到后才解冻。
    ③银行通知用户已经将资金划拨的信息发给商家,商家送货。
    ④用户收到货物后将银行的划拨资金证明发给商家。
    ⑤商家将这个证明发给银行,银行收到后将资金解冻。
4  模型的安全机制分析
4.1 代理定制机制
    在这个系统中,购物代理由代理工厂建立,而为什么不直接由用户来定制购物代理而采用代理工厂,下面介绍采用此构建模型的一些理由和益处。
    ⑴因为大多数用户不能为自己创建代理,这样代理工厂根据用户意图定制代理就更为方便。
    ⑵各个购物代理独自运行缺乏标准化,会导致无序性和代理间通信的困难。这样由代理工厂定制的购物代理具有相同的规范,管理服务器也能够较快的识别用户的购买意图。
    ⑶因为购物代理由授权的工厂创建,管理服务器与代理工厂相互信任,这样可以减轻管理服务器的工作压力,不需要与每一个用户建立信任关系。
    ⑷能提高基于代理的电子购物的安全,代理本身也更加的有效和安全。
4.2 登记机制
    在这个系统模型中,用户、代理工厂、管理服务器、商家以及银行之间的相互的信任关系不是一蹴而就的,而是需要在系统初始化时需要逐一建立彼此间的信任关系,这就是在系统初始化时将自己的的信息登记在相应的通信联系的主体上,如代理工厂到管理服务器登记注册,以及商家到服务管理器的登记注册等。他们都需要通过注册代理(Register Agent,RA)到相应的服务器登记。
    1)代理工厂到管理服务器的登记
    代理工厂派遣注册代理携带相应的信息资料移动到管理服务器,管理服务器检查核对代理工厂的注册资料,认为符合要求就将资料存入到代理工厂的数据库中,同时为这个代理工厂产生密钥对和证书、代理工厂ID等,然后将密钥,证书,代理工厂ID发送给代理工厂,在以后的代理工厂创建的购物代理中,包含有代理工厂ID(Factory ID)。
    2)商家到管理服务器的登记
    各个商家派遣注册代理携带相应的注册资料移动到管理服务器,管理服务器检查核对各个商家的注册资料,认为符合要求就将资料存入到商家的数据库中,同时也为商家产生密钥和证书,然后将密钥、证书等发送给商家保存。在商家的数据库中,保存有商家的名称、地址,以及对应与商家的数据库连接一个为各个商家建立的一个商品名称数据库,在用户购买代理移动到管理服务器获取商家的地址时,可以先检索到具有用户所需商品的商家,这样就可以减少代理做无用的漫游商家的过程,使购买行为具有目的性。商家一旦有新的产品是就可以定时的派遣广告代理(Advertise Agent,AA)到管理服务器,这样定时的更新商家的商品数据库。
    3)银行系统与管理服务器的登记
    在用户与商家达成购物协议后,就必须实行付款交货,而用户和商家都必须在银行系统建立相应的资金帐户,模型中笼统为银行系统,而在实际运行中用户和商家可以是不同家的银行,但都与管理服务器建立关系,一旦合同形成,管理服务器发送银行合同信息,银行才可以进行相应的操作,而如果没有管理服务器的通知,即使用户付款,也不能进行资金划拨操作。所以在此之前,银行系统必须与管理服务器建立信任关系,相互登记,保存对方信息。
    4)用户到代理工厂的登记
    一个用户产生购物欲望,必须寻找一个可信任的代理工厂,选定后到代理工厂登记注册,用户在本地主机派遣注册代理到代理工厂,提交相应的用户资料,代理工厂验证其身份后注册相应的用户资料到数据库,并建立用户ID。代理工厂为用户产生公、私钥和证书,将私钥、证书和用户ID发给用户,保留公钥、证书。这样用户与代理工厂建立信任关系,代理工厂可以为用户建立时效信息,如果用户在完成一次代理定制后超过时限就注销用户,同一用户需要购物时必须重新登记注册,而如果在时效内,则可以不需注册就可定制购物代理。
4.3 认证机制
    当移动代理从一个主机移动到另一个主机进行工作的时候,它需要接受认证的流程,以确定代理的身份。为了使认证工作顺利有效的进行,移动代理在移动的时候应该携带一些信息作为认证之用。每个主机也应该存储相关的信息,具备相关的机制,当代理到来时可以进行认证。
    在用户向代理工厂提交购物申请代理时,此时就需要代理工厂的公钥对对代理进行数字签名,然后用自己的私钥数字签名,可能的话还要携带证书。
    在代理工厂为用户定制好购物代理好后发给用户,用户填好后发送给管理服务器,此时代理拥有Agent ID,时戳等身份属性,用代理工厂发给的管理服务器的公钥加密,用代理工厂密钥生成数字签名,并携带证书。
    购物代理在管理服务器获得商家的地址和公钥,用商家的公钥加密购物信息并对购物代理进行数字签名。
    商家的广告代理也必须拥有管理服务器的证书,用管理服务器的公钥加密代理信息,并数字签名。
4.4  ID 机制
    在每一个购物代理定制之时,代理工厂会为每个购物代理产生一个Agent ID,并且有一个时戳(也就是创建时间),将它们发送到管理服务器,管理服务器将根据时戳存入一个专门的数据库,然后管理服务器将这个Agent ID和时戳发送到各个商家,各个商家也根据时戳将之存入专门的数据库。当然,这个Agent ID不是永久存在的,它有一个时效限制,如果购物代理在规定的时效内没有前来访问,则删除这个Agent ID,这样就可以减轻数据库的负担,同时也起到一定的安全保护作用。当一个移动购物代理到来后经过认证解密后获得Agent ID和时戳,然后在根据时戳在Agent ID数据库中检索,如果找到与之相同的则可接收,否则拒绝服务。ID机制的引入可以使得商家的安全性得到更好的提高,时戳的设置也可以防止恶意用户的攻击,因为恶意用户的攻击可能会延长代理漫游的时间,这样超过时效商家删除了这个记录阻碍了恶意用户的攻击,保护了商家主机的安全。
4.5  合同机制
    在用户和商家经过磋商达成最后的协议之后,就是电子合同的签订过程,电子合同的签订是为了更好的保护商家和用户的利益。一旦某一方违反合同,就会的到相应的惩罚。商家和用户分别对电子合同签名后发送到管理服务器,管理服务器为此电子合同进行鉴定和监督合同的进行情况,并产生一个合同ID,将之发送给用户,用户可以凭合同ID到银行付款,在此之前管理服务器已将合同ID发给了银行。此后管理服务器监督合同的执行情况,如果在合同时效内没有收到银行发来的交易完成的信息,则发送惩罚信息到银行。电子合同机制在一定程度上保护了用户和商家的利益,因为有可能出现用户付款后商家不发货或者用户迟迟不付款商家将货囤积在手中的情况。这样合同签订后就可以监督双方执行。用户首先凭合同ID到银行将资金划拨的商家帐户,银行给用户一个证明,同时银行通知商家,商家就送货,然后用户把证明发给商家,商家发给银行,银行实现真正的资金划拨。银行通知管理服务器合同执行完成,这样就完成了整个合同的执行过程。
4.6  惩罚机制
    用户和商家严格的根据合同办事,双方都可以得到最大的效益。而一旦如果某一方不履行合同,则要承担一定的惩罚。不履行合同有如下一些方式,并要收到相应的惩罚:
    ⑴用户没有在规定的时间内划拨相应的资金到商家帐户。此时银行通知管理服务器,管理服务器首先降低代理工厂的信任级别,并通知相应的代理工厂,代理工厂根据情况降低用户信任级别或删除用户ID,以后不再为其服务。
    ⑵用户付款后在规定时间内没有收到商家的货物。用户通知管理服务器,管理服务器查询商家是否已经将货物送出,如果没有就降低商家信任级别,同时通知银行冻结商家货物价值的20%资金给用户,作为违约金。
    ⑶商家发送货物后发现银行并没有在规定时效内划拨资金给自己,则通知管理服务器,管理服务器通知银行,并惩罚银行。
    对于在系统模型中可能出现的种种违约行为还有很多,在这里不再一一赘述,这也是在以后的研究工作中研究的重中之重。
5  结束语
    移动代理应用于电子商务,为电子商务的带来了曙光。移动代理技术的出现为电子商务提供了一种全新的技术解决方案。移动代理具有移动性、自动性、个性化、智能性以及可适应性等特性,使得移动代理非常适合处理类似电子商务这种信息通信频繁、数据流量庞大并具有个人特性的环境。本文只是提出了一个简单的移动代理的电子商务交易的安全模型和交易流程的设计,其中有很多不够完善的地方,希望在以后的研究工作中能够继续努力。

[1] Frederic.Schutz,Lassaad Gannoune,Julien Francioli,“Security Mechanisms for a Mobile Agent-Based Platform for Electronic Commerce of Internet Domain Names”,CUI - University of Geneva Switzerland. http://www.isoc.org/inet 2000/ cdproceedings/1f/1f_1.htm
[2] Tomas Sander and Christian F. Tschuddin,"Protecting Mobile Agents Against Malicious Hosts",In Mobile Agents and Security,G. Vigna (Ed.),LNCS 1419,Springer-Verlag,1998,pp. 40-60
[3] Sheng-Uei Guan,Fangming Zhu,and C.C. Ko  “Agent Fabrication and Authorization in Agent-based Electronic Commerce”,International ICSC Symposium on Multi-Agents and Mobile Agents in Virtual Organizations and E-Commerce (MAMA ‘ 2000),11-15 December 2000,Wollongong,Australia.
[4] 何炎祥,陈莘萌编.Agent和多Agent系统的设计和应用.武汉大学出版社
[5] 张云勇编著,博嘉科技审.移动agent及其应用.清华大学出版社