一种用于电子交易的密码系统和方法

文档序号:6571243阅读:163来源:国知局
专利名称:一种用于电子交易的密码系统和方法
本申请是申请日为1999年5月5日,申请号为99807072.6,发明名称为“一种用于电子交易的密码系统和方法”的发明专利申请的分案申请。
本发明涉及用于安全电子交易的密码系统和方法,更具体地说,涉及一种电子卡,该电子卡采取“智能卡”和/或其等效软件的形式。
通称“智能卡”一般表示集成电路(IC)卡,即,嵌有微芯片的信用卡大小的塑料片。智能卡上的IC芯片通常,但不是必须地,由微处理器(CPU),只读存储器(ROM),随机存取存储器(RAM),输入/输出装置,和诸如电可擦可编程只读存储器(EEPROM)之类的一些持久性存储器组成。该芯片能实现算术计算,逻辑处理,数据管理以及数据通信。
智能卡主要分成接触式和非接触式两种。国际标准组织(ISO)已在ISO系列下制定了关于这种电子卡的规范。特别地,ISO 7816适用于集成电路卡。由于其具有计算能力,智能卡可支持许多安全特征,例如认证,安全读/写,对称性密钥和非对称性密钥加密/解密。这些智能卡安全特征使智能卡非常适合于电子商务,在电子商务中,数据安全和认证是最重要的。
智能卡已被应用于许多特定领域中,例如公共交通,健康保险,停车场,校园,加油站等等。并且其在电子商务和其它金融领域中的潜在应用,正在以较快的步伐日益普及。在1996年5月28日授予Robert S.Power的美国专利No.5521362,“具有多个存储器以防止欺诈使用的电子钱包及其方法”描述了一种电子钱包应用。Power的发明证明了智能卡被用作安全的金融工具的能力,而不仅仅是用作存储装置。
随着技术的进步,使智能卡芯片的计算速度越来越快,存储器容量越来越大,“多用途智能卡”的概念日益变得从经济上和物理上均是可行的。1996年6月25授予Douglas C.Tarylor的美国专利No.5530232,“多用途数据卡”描述了一种多用途卡,该多用途卡能够代替各种现有的单用途卡,并能满足金融和非金融要求。该多用途卡使用常规的数据链路连接智能卡和远程服务提供商。Taylor的多用途卡专利并不涉及任意类型的开放式网络或加密方法。
1996年8月5日授予Mandelhaum等的美国专利No.5544246,“适于多个服务提供商,并且适于其远程设置的智能卡”描述了一种智能卡,该智能卡允许不同的服务提供商共存于同一智能卡上。每个服务提供商被看作是智能卡的一个用户,并由智能卡的发行者/所有者设置在该智能卡上。允许每个用户建立树形文件结构,并利用口令文件保护其树形文件结构。Mandelbaum的发明描述了一种允许产生和删除多种应用的智能卡。Mandelbaum的智能卡通过使用适当的口令文件控制对每种应用的访问。
1997年9月23日授予Taher Elgamal的美国专利No.5671279,“使用安全信使系统的电子商务”描述了一种利用公钥/密钥密码学,在公用网络上实现电子商务的系统。Elgamal的专利没有提及智能卡作为实施电子商务的工具的应用,并且是通过利用数字凭证来验证电子商务参与者的。安全信使系统需要诸如因特网之类开放式网络上,交易各方之间的安全通道,例如安全套接层(Secure Socket Layer)(SSL)。
1998年8月4日授予Fox等的美国专利No.5790677,“用于安全电子商务交易的系统和方法”描述了具有位于交易程序之前的登记程序的系统和方法。在登记阶段中,每一位交易参与者通过向服务器发送登记包,登录信任的凭证约束服务器(trusted credential bindingserver)。服务器根据接收的请求,产生独特的凭证,并将其发送给请求发起者。在交易阶段中,交易的发起者请求,接收并核实商务文件和/或契约的所有预期接受者的凭证,并利用单独接受者的公钥对文件和/或契约加密。这样,各个接收方可解密并访问只打算供其使用的商务文件。Fox的专利描述了反映所谓的“安全电子交易”(SET)标准的主题的程序,安全电子交易标准是由几家主要的金融公司和软件公司目前正在共同支持的一项计划,以便建立基于电子商务系统的数字凭证和凭证管理机构。
1998年8月18日授予Derek L.Davis的美国专利No.5796840,“提供保密通信的设备和方法”描述了一种半导体器件,该半导体器件能够产生将在后续的消息验证和数据通信中使用的特定于器件的密钥对。该半导体器件使用公钥/密钥密码学,以确保通信双方的可靠性。
1996年7月9日授予Simon G.LainR和Matthew P.Bowcock的美国专利No.5534857,“实现智能卡的安全,分散个人化的方法和设备”描述了把来自发行者的机密数据安全地写入位于远方的用户智能卡的方法和设备。通过使用存储在保密计算机和零售商智能卡中的公用密钥,产生用于对保密终端和保密计算机之间的数据传送进行加密的共同对话密钥。
根据上面提及的发明,显然安全电子商务系统的结构涉及公钥基础结构和与之相关的数字凭证管理机构。
开放式网络中,基于保密密钥的系统在密钥分配和密钥管理方面灵活性较差。另一方面,基于公钥/密钥的系统固然有优于保密密钥系统的优点,但是也具有自已的使人望而生畏的任务,即使交易各方相互认证。本发明提出另一种系统和方法,该系统和方法不需要凭证管理机构和数字凭证。本发明是一种用于电子交易的混合系统。该混合系统在密钥交换阶段内使用公钥/密钥,并在交易阶段中使用对话密钥作为保密密钥。
本发明是用于使用电子卡(EC)并通过通信网络联系的电子交易的密码系统和方法,该电子卡呈智能卡或等效软件的形式。
本发明的优选实施例使用开放式网络,例如因特网。本发明的备选实施例可使用其它类型的网络。本发明的一个实施例或者使用物理的智能卡,或者使用实现为计算机软件包,并在诸如个人计算机(PC)之类的计算装置上运行的智能卡。同样,交易中涉及的商家可使用作为销售点终端的商家装置,或者使用主计算机上的软件与EC和服务提供商通信的装置。当使用智能卡时,需要智能卡读卡器,以允许智能卡与主设备,例如网络就绪商家终端,PC或者能够支持智能卡交易的任意其它电子装置通信。
在基于公共密钥和数字凭证的系统中,交易参加者通过利用由凭证管理机构(CA)或证书约束服务器签发和证明的数字凭证或其它电子证书,交换公共信息。CA或服务器与每个交易参加者之间的通信必须保密。随机数和数字签名被用于确保在交易参加者之间传送的消息的真实性和有效性。
本发明的优选实施例的密码系统和方法也使用公共/专用密钥密码法,不过运用方式稍有不同。本发明的密码系统和方法并不试图建立另一种信任关系,这种信任关系类似于存在于数字凭证持有者和凭证管理机构之间的那种信任关系。本发明特别地是以大型的会员制金融机构,诸如大型的信用卡公司及其所有持卡人,或者主要银行和其所有ATM持卡人作为其潜在用户。非金融机构也可使用这种密码系统和方法,从而通过网络执行电子商务或非金融交易。
服务提供商(SP)向其会员提供某些服务。金融机构正是一种类型的服务提供商。服务提供商在本质上还可以是非金融的。不论服务提供商是金融机构还是非金融机构,产生的过程基本相同。涉及金融机构的交易和涉及非金融机构的交易之间的唯一区别是消息可能包括不同的数据字段。
当EC持卡人和服务提供商之一签订使用服务契约之后,服务提供商在EC上产生一个专用表目。每个表目含有服务提供商的帐户信息,SP的公共密钥,存取控制信息和其它相关数据。每个EC可支持预定数目(例如10)的这种表目,并且每个这种表目代表一个服务提供商。
通过使用公共/专用密钥密码学,极大地简化了密钥分配过程。EC持卡人他/她自己或者任意受托第三方,例如银行支行或者甚至邮局都可执行密钥分配工作。SP的公共密钥只用于SP和持卡人之间的初始密钥交换。在初始密钥交换步骤之后,SP分配对话密钥,对话密钥保护持卡人和SP之间,或者持卡人他们自己之间的任意进一步消息交换。
这种既使用公共密钥/专用密钥密码学又使用保密密钥密码学(即对话密钥)的混合系统和其它保密密钥系统的不同之处在于在混合系统中,保密密钥(即对话密钥)只对单个对话期有效,不适用于其它对话期。对话期具有确定的时间长度。当超逾时间期限或者当条件被满足时,对话期会终止。
在交易中涉及商家的情况下,商家经历大体和EC持卡人相同的程序和SP通信。商家将首先执行与SP的密钥交换,并接收对话密钥。对话密钥将由商家用于与SP的后续通信。持卡人和商家对发给SP的每条消息进行数字签名,SP类似地对回送给持卡人和商家的响应消息签名。
在交易需要与另一基于以电子凭证为交易机制的系统的相互作用的情况下,在基于在初始的密钥交换之后的进一步信息交换,验证持卡人和商家之后,SP可充当持卡人和商家的凭证代理人。在最极端的情况下,SP独立地执行该代理功能,变成以电子凭证为交易机制的系统的网关。这种类型的层次结构是非常理想的,因为减少了在多个系统之间,执行交易所需的信任关系的数目。另外,用户因此不必携带凭证。


图1是表示根据本发明的一个实施例的系统的各个部分之间的系统的方框图。
图2表示了经过网络的这两个交易阶段的流程。
图3是EC的概略表示。
图4表示了服务提供商数据区的格式。每个服务提供商的信息在该表中被分配一个表目,并受到存取条件的保护。
图5表示了数字签名是如何用在本发明的实施例中的。
图6A-6Q表示了为了通过开放式通信网络,例如因特网,执行电子交易,在本发明的一个实施例中使用的密码系统和方法的示意流程图。
图7-11描绘了在密钥阶段和交易阶段中,组合请求和响应消息的最终格式和内容。
图12表示了一个服务提供商与被串联布置的多个交易参加者进行交易。
图13表示了一个服务提供商在网络上与已被布置成层次组织形式的多个交易参加者进行交易。
本发明的优选实施例是一种利用呈智能卡或等效软件形式的电子卡(EC),并通过通信网络通信的,用于电子交易的密码系统和方法。
在本发明优选实施例中,网络是诸如因特网之类的开放式网络。在本发明的备选实施例中,可使用其它开放式网络和/或封闭式网络建立服务提供商和其会员之间的通信。例如,服务提供商可使用其自己所有的金融网络和其会员通信。
任何因特网协议可用于因特网连接。可使用的协议的例子包括TCP/IP,UDP,HTTP等等。
也可借助诸如使用传统的模拟电话业务(又名简易老式电话业务或POTS)的公用交换电话网络(PSTN)之类的通信网络传送业务,或者通过使用诸如T-1,E1或DS-3数据电路,综合业务数字网络(ISDN),数字用户线路(DSL)业务之类的数字通信业务,或者甚至使用无线业务等等,实现通信。当利用这种业务实现时,可独立于通信协议(即,在电子接口层)实现本发明。
还可借助局域网(LAN)或广域网(WAN),例如以太网,令牌网,FDDI,ATM等等实现通信。可使用的协议的例子包括TCP/IP,IPX,OSI等等。
其它通信链路可包括光纤连接,无线RF调制解调器连接,蜂窝调制解调器连接,卫星连接等等。
只要在服务提供商和其会员之间可建立通信路径,即可采用本发明。上面的例子是用来举例说明可实践本发明的各种通信环境的几个例子。本领域的普通技术人员清楚,本发明并不局限于上面详述的那些环境。
EC可采取智能卡或在诸如个人计算机(PC)之类计算机系统上运行的软件包的形式。当EC被实现为智能卡时,它可用在诸如PC之类的网络就绪(network-ready)计算机系统上,以便和另一会员和/或选定的服务提供商交易。将需要和计算机系统通信的读/写接口装置,以及连接智能卡持有者和网络的一些应用软件,例如因特网浏览器。如果EC是载入计算机系统中的软件包,则不需要读/写接口。本发明关于EC的例证实施例作电子钱包(或者虚拟钱包)的作用,该电子钱包的功能和真实钱包的相类似。真实钱包可带有信用卡,借记卡,ATM卡,保健卡(health provider card),会员卡,现金等等。EC具有所有上述金融和非金融工具的数字等同物,并能够通过因特网实施安全交易。
服务提供商会员可以是商家和/或EC卡持卡人。商家是由服务提供商向其支付交易酬金的会员。会员可以既是商家又是EC卡持卡人。商家可参与和其它持卡者的交易,其结果是服务提供商向该商家支付交易酬金。商家还可以是EC卡持卡人,并从例如供货商那里购买供应品。
密码系统可包括服务提供商和任意数目的服务提供会员之间的通信。这样,通信可在EC和SP之间,可在商家和SP之间,可在第一EC,第二EC和SP之间,可在第一商家,第二商家和SP之间,等等。EC可直接和服务提供商通信,以便查询帐户余额。商家可以只以其自己的名义,而不是以EC的名义和服务提供商通信,因为,例如商家希望了解他自己与服务提供商的帐户余额。SP和其会员之间的通信可遵守SP和其会员的任意排列组合。SP和其会员之间的通信链路的组织可以是连续的和/或分层的。SP和其会员之间的通信也可借助路由器实现,路由器在SP和其会员之间按规定路线发送消息。
加密方法是一个分为两阶段的密钥交换-交易模式。第一个阶段是密钥交换阶段。第二个阶段是交易阶段。在密钥交换阶段中,会员和服务提供商交换密钥。会员把他们的密钥发送给服务提供商,服务提供商使用这些密钥向会员发送对话密钥。对话密钥保护持卡人和SP之间的,或者持卡人他们自己之间的其它消息交换。在交易阶段中,SP可主导交易或者持卡人他们自己可实施交易。
图1是表示根据本发明的一个例证实施例的系统的各个构成部分之间的关系的方框图,它涉及一个持卡人,一个商家及一个服务提供商。
EC持卡人20可以经由网络50实施交易,并且或者通过利用连接在发端计算机84上的EC读/写装置82,或者通过利用在发端计算机90运行的EC等效软件92和商家通信。
商家可通过利用网络就绪的销售点(POS)终端40,或者通过利用在商家装置70上运行的EC等效软件,经过网络实施交易,从而经过诸如因特网之类的网络50与选定的服务提供商60执行电子交易。
一旦对EC卡的访问条件被满足,则持卡人可通过网络50执行与系统的其它参加者的金融或非金融交易。图1中表示了可通过网络执行交易的三种不同方案。
(1)在POS交易中(图1的左上方),持卡人20在商家店铺内将EC刷过/插入商家的EC读/写卡器30。EC读/写卡器与网络就绪的商家POS终端40相连。网络就绪商家PSO终端40是一个防止篡改的可编程装置,它包括诸如键盘之类的输入装置,显示器,处理器和EC读/写卡器30(EC接口装置)。POS终端40通常是一个小型计算机,例如装有与开放式网络的通信链路的PC。POS终端经过网络50与SP通信。
(2)(图1的右侧)持卡人可通过把EC 20插入读/写装置82,执行与系统的其它参加者的交易,读/写装置82与为发端计算机的持卡人的个人计算机84相连。发端计算机和网络50相连,使EC能够和商家计算机70通信。商家计算机70具有使商家能够接收EC产生的消息,并产生组合EC信息和商家信息的消息的EC等效软件72。随后,组合的消息经过网络被发送给SP。
(3)(图1的下方)持卡人可通过利用用户持卡人的个人计算机90上的EC等效软件92,执行与系统的其它参加者的交易。交易开始于发端计算机90,即,持卡人的个人计算机。持卡人通过网络50实施交易,并与商家的计算机70通信,商家的计算机70再经过网络50与SP 60通信。
在本发明的优选实施例中,个人计算机被用于保持EC等效软件,而在本发明的备选实施例中,其它电子装置可用于保持EC等效软件。
在本发明的优选实施例中,用于使EC能够和商家通信的网络和用于使商家能够与SP通信的网络相同。在另一实施例中,用于使EC能够与商家通信的网络可以不同于用于使商家能够与SP通信的网络。在又一实施例中,用于使一个商家能够与SP通信的网络可不同于用于使另一商家能够与该SP通信的网络。在又一实施例中,用于使EC能够与商家通信的网络可不同于用于使另一EC能够与另一商家通信的网络。一个实施例可由多样性的网络组成,不同的交易各方借助这些网络通信。
在本发明的优选实施例中,交易被分为两个阶段密钥交换阶段和交易阶段。图2是一个特例,图2图解说明了SP主导交易阶段的两阶段密钥交换-交易模式。当SP主导交易时,交易参加者之间不存在任何敏感性信息的直接交换。
在交易阶段位于持卡人他们自己之间,以及在SP主导交易阶段的情况下,密钥交换阶段都是相同的。在交易阶段位于持卡人他们自己之间的情况下,持卡人使用SP对话密钥相互通信,并执行交易。
图2展示了SP主导交易阶段的金融交易。所示的交易涉及三方EC(交易发起者)102,商家104和服务提供商(SP)106。发起方是作为顾客的EC持卡人,并由计算机102表示。计算机104代表商家。计算机106代表服务提供商。SP由EC和商家双方选择。
图2表示了处理流程从EC到商家,再到SP的金融交易。加密方法的处理流程并不局限于商家和EC持卡人之间的任意特定顺序。图2仅仅是从EC至商家,再至服务提供商的特定交易的一个例子。处理流程也可从商家至EC,再到服务提供商。图2展示了服务提供商会员(这种情况下,为EC持卡人和商家)是如何产生,附加及向服务提供商发送消息的。
图2中编号为1-10的10个箭头表示了在这两个交易阶段中,消息是如何在交易三方之间流动的。步骤1-4属于密钥交换阶段,步骤5-10属于交易阶段。在图2中,商家作为EC和SP之间的中介。在步骤1中,EC格式化产生密钥交换请求,并把该请求发送给商家。在步骤2中,商家组合自己的密钥交换消息和EC的密钥交换消息,并把组合的密钥交换消息发送给SP。在步骤3中,SP格式化产生一个给商家的密钥交换响应,格式化产生一个给EC的密钥交换响应,组合这两个密钥交换响应,从而形成组合的密钥交换响应,并把组合的密钥交换响应发送给商家。在步骤4,商家使发给商家的密钥交换响应和发给EC的密钥交换响应分开,并把EC的密钥交换响应消息转发回EC。步骤4终结密钥交换阶段中的主要活动。
交易阶段开始于步骤5。在步骤5中,EC格式化产生其交易请求消息,并把该消息发送给商家。在步骤6中,商家组合接收的交易请求消息和它自己的交易请求消息,并把组合的交易请求消息发送给SP。在步骤7中,SP格式化产生一个给商家的交易响应消息,格式化产生一个给EC的交易响应消息,组合这两个交易响应消息,并把组合的交易响应消息发送回商家。在步骤8中,商家使发给商家的交易响应消息和发给EC的交易响应消息分开,并把EC的交易响应消息转发回EC。在步骤9中,EC格式化产生确认消息,并把确认消息发送给商家。在步骤10中,商家组合接收的确认消息和它自己的确认消息,并把组合的确认消息发送给SP。步骤10终结交易的交易阶段。
虽然图2展示了一个简单的交易,但是一些交易可能涉及多个消息。在一些交易过程中,为了完成每个阶段,可能需要一个以上的消息,即使是这种情况下,这些消息仍将遵守相同的组合规则和流程模式。例如,在交易阶段中,SP可能要求EC和商家首先发送帐户信息。如果帐户信息被验证为有效的,则SP在响应消息中发送帐户信息的确认消息。一旦商家和EC接收该响应消息,则EC和商家在传送给SP的下一消息中发送交易金额和其它与交易相关的信息。SP随后批准或否决该交易。图2中的步骤既适用于帐户消息,又适用于交易消息。
如果交易的完成要求和诸如基于公钥和数字凭证的系统108之类的外界系统的的交互作用,则SP将起EC和商家的凭证代理人的作用,并以EC和商家的名义与外界系统打交道。本发明的一个理想结果是使交易的所有参加者与外界系统隔绝,从而降低完成交易所需的信任关系的数目。如果交易的一个参加者具有本系统和外界系统的双重会员身份,则他可以选择充当本系统的会员或者充当外界系统的会员。在后一情况下,SP将利用外界系统的规则面接该参加者。例如,为了和基于公钥和数字凭证或证书的外界系统打交道,SP在其所有物中具有满足外界系统要求的信任关系的全部所需凭证或证书。为了SP和外界系统完成由EC和商家发起的交易,需要这样的凭证。这种情况下,只有SP需要具有与外界系统的信任关系。基于这种信任关系,单个的EC和商家能够和假定的外界系统完成交易。
图3表示了EC的一个优选实施例。在本发明的一个优选实施例中,EC在内部由图3中所示的软件/硬件部分构成。EC基于ISO 7816标准,并支持ISO 7816中规定的同类型的通信协议和命令。
EC具有管理EC内部资源的卡操作系统550。卡上的加密装置650可以软件的形式实现,或者由加密协处理器(图3中未表示),或者其它硬件解决方案,或者软件和硬件混合物实现。
EC的一个独有特征是EC存储器中的服务提供商数据区(SPDA),该数据区含有服务提供商的帐户和密钥信息。服务提供商数据区(SPDA)700含有许多存储槽。在优选实施例中,SPDA含有预定确定数目(例如10个)的存储槽-每个存储槽用于一个可能的服务提供商。在另一实施例中,存储槽的数目是可动态改变的。关于每个服务提供商的记录可被放入一个空的存储槽中。每个记录含有特定服务提供商的帐号、公钥、以及其它相关信息。
根据EC设计,SPDA可选择性地允许每个SP包括一些管理其自己的卡上数据,并提供SP卡数据和主应用程序之间的接口的软件(例如JAVA术语中的“小应用程序”)。换句话说,SPDA不仅可含有简单的数据;SPDA可允许每个SP把自有的应用程序(例如小应用程序)放到EC上,以便向持卡人提供其所有的独特服务。这种设计的优点是现在使EC自身与它可提供的服务的类型分离开。每个SP可藉此实现其自身的服务能力。当另一SP替换卡上的SP时,不必对EC平台作任何改变。只需简单地把新的SP小应用程序载入卡中,新的SP小应用程序将执行所设计的功能。
在SPDA中,每个服务提供商都分配有存储公钥的空间。在许多交易中,只使用一对密钥,但是对于一些在线交易来说,需要两对或更多对的密钥。如果SP对于输入的消息和输出消息的签名都使用相同的公共密钥/专用密钥对,则一个公共密钥就足够了。如果SP对于签名使用不同的密钥,则在SPDA中需要两个SP公共密钥(一个用于输入消息,另一个用于输出消息的签名)。
在本发明的优选实施例中,使用两对公共密钥/专用密钥,而不是一对公共密钥/专用密钥,通过网络与其它应用程序通信,因为使用两对公共密钥/专用密钥比使用一对公共密钥/专用密钥的安全性更好。一对用于解密输入的消息,即,发送者利用接收者的公共密钥解密消息,接收者利用对应的专用密钥解密消息。另一对用于发送者对他发送的消息进行数字签名,接收者使用对应的发送者的公共密钥验证数字签名。
每个服务提供商分配有用于由服务提供商使用的许多公用密钥的空间。如果SP对于输入的消息和输出消息的签名都使用相同的公共密钥/专用密钥对,则一个公共密钥就足够了。如果对于接收消息和对消息签名,SP使用不同的密钥对,则在SPDA中,两种SP的公共密钥都需要。
在本发明的一个备选实施例中,为了提供更高的交易安全性,服务提供商可能需要并使用两对以上的公共密钥/专用密钥。
当EC持卡人接受一个新的金融或非金融工具时,发行机构或信任的第三方将把包含记录的所需信息载入可用存储槽中。当服务提供商帐户被取消时,可消除该存储槽中的信息。在交易过程中,存储槽中的一些信息可被读取并被修改,例如帐户余额。诸如帐号之类的一些信息受到读保护,但是可被读取。诸如专用密钥之类的一些信息即不能读又不能写。存取条件600含有诸如PIN,生物测量数据之类的安全信息,为了打开卡,以便使用或者可以获得卡上存储的信息,EC用户必须提交这种安全信息。
传统的个人身份识别码(PIN)或者诸如生物测量数据之类的其它安全措施被用于保护EC。生物测定学涉及持卡人的生物特性,例如物体特征和行为特征的测量。生物测量系统可测量个人的指纹,手的几何形状,笔迹,面貌,语音,身体动作,击键节奏,眼睛特征,呼吸,体味,DNA或者持卡人的任意其它身体属性。只有在所有存取条件已被满足之后,才可启动EC提供的功能。驻留在卡上的每个服务提供商可随意地实现其它存取条件。
图4表示了本发明的优选实施例的服务提供商数据区的格式。在表中,每个服务提供商的信息被分配一个表目,该表目可由附加的存取条件加以保护。PIN 712和杂项数据字段714允许服务提供商要它所支持的工具提供额外的保护或数据字段。名称字段702含有服务提供商的名称,在开始在线交易时,持卡人可使用服务提供商的名称为交易选择适当的服务提供商。密钥类型字段704规定服务提供商选择使用的密钥的类型,保密密钥,公共密钥等等。密钥值706和帐户信息字段708含有每个服务提供商独有的信息。卡类型字段710规定服务提供商支持的工具的类型。
在本发明的优选实施例中,卡上操作系统(COS)为持卡人提供一些基本服务。下面是可由COS执行的大致功能的列表(1)诸如存储器管理,任务管理之类的传统OS功能。
(2)用户数据的外部通信-读/写和通信协议处理。
(3)卡上持卡人信息的装载和更新。
(4)用户PIN改变。
(5)诸如单个服务提供商信息的装载和更新之类的服务提供商数据区管理,SPDA存取控制等等。
COS还将在交易的各个阶段内提供支持。例如,COS可在交易开始时处理SP选择,并当交易完成时,把交易记录到记录文件中。本发明的一个实施例可实现关于COS的下述两种设计途径之一,或者这两种设计途径的混合。
(1)可把绝大多数情报放入COS中,COS借此支持绝大多数的EC功能。从而,每个卡上服务提供商区域依赖于COS执行与商家和SP的交易。在这种途径中,COS可为所有的卡上SP提供与外界的统一接口,并且一旦已选择SP,能够有效地执行交易。
(2)或者,COS可以是每个卡上SP可使用的一般性服务组合。每个SP数据区可含有小应用程序,这些小应用程序具有执行和商家及SP的交易所需的情报。在这种途径中,当执行交易时,SP具有更多的机会实现其自己的独有特征。
图5表示了在本发明的优选实施例中,数据签名是如何被使用的。消息的发送者首先准备消息M的数据部分900,并使其通过单向散列算法H(*)902。散列算法的输出被称为消息M的消息摘要MD 903。随后利用发送者的专用密钥(Pri)对MD加密,即数字签名,E(*)904。结果被称为消息M的数字签名DS。随后结合该DS和初始消息M 900,形成随时可通过网络50传输的完整消息906。
公共密钥加密/解密函数可以是许多加密/解密函数中的任意加密/解密函数。其名字取自RSA开发者(Ronald Rivest,Adi Shamir和Len Adelman)姓的首个字母的RSA正是公共密钥加密/解密方法的一个例子,该加密/解密方法可被用在本发明的一个实施例中。
当预期的接收者从网络50收到消息时,他首先使消息M的数据部分900和与之相结合的数字签名912分开。随后,接收者使消息M的数据部分900通过相同的散列算法910,散列算法910用于对消息M的数据部分900编码,从而得到消息M的消息摘要MD^911。接收者随后利用发送者的公共密钥,对源始消息中所含的数字签名912解密,D(*)908,恢复初始的消息摘要,这里初始消息摘要被表示为MD 909。把MD 909和新计算的MD^911进行比较。如果两者不相同,则初始消息已被破坏,并应被拒绝。
下面是图5-11中使用的符号和缩写的列表Acknowledgement DataEC=由EC回送给SP的一部分消息。它通知SP先前的消息已被成功地接收和处理。
Acknowledgement DataM=由商家回送给SP的一部分消息,它通知SP先前的消息已被成功地接收和处理。
AIEC=EC持卡人的帐户信息。
AIM=商家的帐户信息。
CRYPTO=密码。
D=解密功能。
DSP-Private-key=利用SP的专用密钥进行解密。
DS=数字签名功能DSEC-Private-Key=由EC签在消息上的数字签名。
DSM-Private-Key=由商家签在消息上的数字签名。
DSSP-Private-Key=由SP签在消息上的数字签名。
E=加密功能。
E(Data)=使用数据加密密钥进行的数据加密。
ESP-PK,ESP-Public-Key=由SP公共密钥加密的数据。
ESkey-EC,DSkey-EC=利用SP为EC产生的对话密钥的加密/解密。
ESkey-M,DSkey-M=利用SP为商家产生的对话密钥的加密/解密。
EC=电子卡或电子卡等效软件H(M)=对M应用单向散列算法。它产生M的消息摘要(MD)。
KE=密钥交换阶段。
M=商家MD=消息摘要MD^=由消息接受者利用刚接收的作为输入数据的消息,产生的消息摘要
MDEC=从EC传至SP的消息的消息摘要MDM=从商家传至SP的消息的消息摘要。
MDSP-M=从SP传至商家的消息的消息摘要。
MDSP-EC=从SP传至EC的消息的消息摘要。该消息摘要由商家传递。
PLAIN TEXT明文,无需加密即可传送出的交易数据。明文可因不同的消息和交易方而有所不同。
PLAIN TEXTECEC在其输出消息中提供的部分交易数据。明文数据字段对安全性不敏感。于是,不需加密即可传送。注意当用在不同的消息中时,该符号的内容可不同。
PLAIN TEXTM商家在其输出消息中提供的部分交易数据。明文数据字段对安全性不敏感。于是,不需加密即可传送。注意当用在不同的消息中时,该符号的内容可不同。
PLAIN TEXTSP-ECSP在其输出消息中,仅仅提供给EC的交易数据的一部分。明文数据字段对安全性不敏感。于是,不需加密即可传送。注意当用在不同的消息中时,该符号的内容可不同。
PLAIN TEXTSP-MSP在其输出消息中,仅仅提供给商家的交易数据的一部分。明文数据字段对安全性不敏感。于是,不需加密即可传送。注意当用在不同的消息中时,该符号的内容可不同。
STD=敏感的交易数据,在传送过程中需要加密。
STDEC=由EC在其输出消息是提供的敏感交易数字数据。注意当用在不同的消息中时,该符号的内容可不同。
STDM=由商家在其输出消息中提供的敏感交易数字数据。注意当用在不同的消息中时,该符号的内容可不同。
PK=公共密钥EC-PK,PKEC=电子卡的公共密钥M-PK,PKM=商家的公共密钥SP-PK,PKSP=选择的服务提供商的公共密钥ResPonse DataSP-EC=SP-EC交易响应数据在交易的交易阶段中,由SP回送给EC的一部分消息。它可包括批准/否决数据和/或任意其它相关数据。
Response DataSP-M=SP-M交易响应数据在交易的交易阶段中,由SP回送给商家的一部分消息。它可包括批准/否决数据和/或任意其它相关数据。
RN=随机数RNEC=由EC产生的,并被发送给SP的随机数。
RNSP-EC=由SP产生的,并被发送给EC的随机数。
RNM=由商家产生的随机数。
RNSP-M=由SP产生的,并被发送给M的随机数。
SP=金融或非金融服务提供商。
TA=交易(货币)金额交易识别号SP-EC,TIDSP-EC(交易IDSP-EC)=在交易的密钥交换阶段中,其值由SP分配的数据字段。在同一交易过程中,EC将使用该值和SP通信。
交易识别号SP-M,TIDSP-M(交易IDSP-M)=在交易的密钥交换阶段中,其值由SP分配的数据字段。在同一交易过程中,商家将使用该值和SP通信。
*=在加密E或解密D中,数据的组合和级联。
图6A-6Q包括关于密码系统和方法的优选实施例的流程图。为了简化图6A-6Q中所含的说明和符号表示,流程图假定交易中所涉及的交易各方均使用一对密钥。在本发明的另一实施例中,可使用两对公共密钥,在这种情况下,这两对公共密钥均需要被交换。
本发明的优选实施例由不同的两个阶段组成密钥交换阶段和交易阶段。
阶段I密钥交换阶段(握手协商阶段)EC持卡人把EC插入读/写卡器或者启动EC等效软件,并输入PIN码和/或满足存取条件110,以便使用EC卡。把输入的安全信息条件与卡上信息114进行比较112,以验证用户是否被授权使用该EC卡。如果安全信息和卡上的安全信息不匹配,则使用该EC卡的请求被拒绝116。否则,该EC卡就会被开启118,以供使用。一旦卡被开启,则用户可请求可供选择的卡上SP的列表,并通过向EC发出SP选择命令做出选择120。一旦SP被选择,则EC进而开始与SP的密钥交换(KE)。从EC的SPDA得到由符号SP-PK和PKSP代表的选择的SP的公共密钥,并用于对将发送给SP的消息加密。
KE的主要目的是向SP安全地发送持卡人的公共密钥PKEC126和EC随机数RNEC124。SP对EC的响应将向EC赋予对话密钥和交易ID,它们将由EC使用,以便在余下的交易过程中和SP通信。为了格式化KE消息,EC产生随机数RNEC124,使之与EC的公共密钥PKEC126,以及与交易相关的和/或SP所要求的EC敏感交易数据STDEC128级联。EC利用从SPDA 120得到的SP的公共密钥PKSP对它们加密122。随后把得到的EC密码EES-PK(RNEC*PKEC*STDEC)和消息的明文部分PLAIN TEXTEC132(如果有的话)相结合130,形成EC组合消息,PLAIN TEXTEC*ESP-PK(RNEC*PKEC*STDEC)。当形成EC组合消息时,EC的公共密钥PKEC126可被放入明文PLAINTEXTEC中,而不是被加密。
只有敏感数据才被加密。非敏感响应数据包括在明文中。只有SP才能够读取敏感数据。在多方交易中,SP具有对所有交易者的敏感信息的完全存取权。
随后使得到的EC组合消息通过散列算法134,形成散列消息,该散列消息是EC消息摘要MDEC。EC 136利用EC专用密钥138对EC消息摘要MDEC进行数字签名,形成数字签名消息DSEC-Private-Key。随后命名数字签名消息DSEC-Private-Key与EC组合消息结合140。明文PLAIN TEXTEC,密码CRYPTOEC和数字签名DSEC-Private-Key是来自于EC的KE消息,并通过网络被发送给商家158。明文包括所有各种非敏感的交易数据字段,于是可以清晰可辨的形式被传送;明文不需要加密。这些数据字段因各个消息而不同,并由交易各方确定。
为了和SP通信,商家格式化它自己与SP的KE消息所经历的步骤和EC格式化自己的与商家的KE消息所经历的步骤基本相同。持卡人和商家并不单独与SP通信,而是通过组合消息与SP通信。从而,在持卡人和商家之间,不必交换任何机密的金融信息。商家准备好他自己的用于交易的装置142,并从驻留在商家的装置中的他自己的SPDA中,选择和EC持卡人已为该交易挑选的同一个SP。从SP的SPDA中得到由符号SP-PK和PKSP代表的SP的公共密钥,并用于对将发送给SP的消息加密。
为了格式化他自己的KE消息,商家产生随机数RN148,使之与商家的公共密钥PKM150和商家的敏感性交易数据STDM级联,该敏感性交易数据是和交易相关的和/或SP 152所要求的数据。商家利用服务提供商PKSP的公共密钥,对组合数据加密146。随后使得到的密码与消息的明文部分PLAIN TEXTM156(如果有的话)组合154,形成商家组合消息。当形成商家组合消息PLAIN TEXTM*ESP-PK(RNM*PKM*STDM)时,商家的公共密钥PKM150可放入明文PLAINTEXTM中,而不必被加密。
进一步使商家组合消息[PLAIN TEXTM*ESP-PK(RNM*PKM*STDM)]与EC的KE消息{[PLAIN TEXTEC*ESP-PK(RNEC*PKEC*STDEC)]*DSEC-Private-Key}组合158,形成用于商家和EC的KE消息的数据部分,即,EC-商家组合消息{[PLAINTEXTEC*ESP-PK(RNEC*PKEC*STDEC)]*DSEC-Private-Key}*[PLAINTEXTM*ESP-PK(RNM*PKM*STDM)]。使EC-商家组合消息通过散列算法160,形成散列消息,该散列消息是商家消息摘要MDM。商家利用商家的专用密钥164对商家消息摘要MDM进行数字签名162,形成商家数字签名消息DSM-Private-Key。随后使商家数字签名消息DSM-Private-Key和消息的数据部分,即EC-商家组合消息组合166,形成商家和EC的密钥交换请求消息<<{[PLAIN TEXTEC*ESP-PK(RNEC*PKEC*STDEC)]*DSEC-Private-Key}*[PLAIN TEXTM*ESP-PK(RNM*PKM*STDM)]>>*DSM-Private-Key。最后得到的消息通过网络被发送给SP。图7表示了从商家到SP的密钥交换请求消息的最后格式和内容。
在本发明的优选实施例中,商家并不检查EC请求消息的MD,即MDEC,因为EC已对其公共密钥进行了加密。但是,在备选实施例中,如果EC选择不对其公共密钥加密,则商家在把EC的MD传给SP之前,可随意地检查EC的MD。在EC对其公共密钥加密或者EC不对其公共密钥加密的任一情况下,为了提高安全性,并防止商家可能发生的处理错误,SP仍然可以检查EC的MD。当商家从SP收到发给他自己和EC的组合响应时,商家不必为EC检查MD,因为该MD是由单个发起者-SP形成的整个消息的一部分。商家只需检查他从SP收到的整个消息的MD。
当SP收到KE请求消息时,SP首先使KE请求消息的数据部分和DS分开168,并把KE请求消息的数据部分送入单向散列算法,以便重新计算消息摘要,该消息摘要变成MDM。随后SP分离商家的明文PLAIN TEXTM,密码CRYPTOM,数字签名DSM-Private-Key和EC的KE请求消息PLAIN TEXTEC*CRYPTOEC*DSEC-Private-Key。通过利用其自己的专用密钥,SP对商家的密码170解密,并且除了其它信息之外还恢复商家的随机数RNM148和商家的公共密钥PKM150。随后SP使用恢复的PKM对商家签名的数字签名DSM-Private-Key解密,并恢复商家的KE消息的MDM。SP把散列得到的新MD^M168和通过对DS解密,从原始的KE消息恢复的MDM170进行比较172。如果MD^M和MDM之间存在差异,则KE消息已被破坏,于是该KE消息被拒绝174。如果MD^M和MDM匹配,则SP使EC的KE请求消息的数据部分与DS分开,并把EC的KE请求消息的数据部分送入单向散列算法,以便重新计算消息摘要(MD^EC)。随后在步骤176,SP分离EC的KE请求消息的数据部分中的EC的明文PLAIN TEXTEC(如果有的话),密码CRYPTOEC,和数字签名DSEC-Private-Key。通过利用其自己的专用密钥,SP对EC的密码解密,并且除了其它消息之外还恢复EC的随机数RNEC和EC的公共密钥PKEC。随后SP利用恢复的PKEC对EC签名的数字签名解密,并恢复EC的KE消息的MDEC。在步骤718中,SP把散列得到的新MD^EC176和通过对DS解密,从原始的KE消息中恢复的MDEC进行比较。如果MD^EC和MDEC之间存在差异,则KE消息已被破坏,于是KE消息被拒绝180。否则,SP准备向商家和EC回送KE响应消息。
为了格式化给EC的KE响应消息,SP产生一个随机数RNSP-EC184,和给EC的对话密钥SkeyEC186,并使它们与EC产生的随机数RNEC188,服务提供商敏感交易数据STDSP-EC190结合,并利用EC的公共密钥PKEC对它们加密192。所得到的密码EEC-PK(RNEC*RNSP-EC*SkeyEC*STDSP-EC)与SP分配给EC的交易识别号TIDSP-EC194,和明文PLAIN TEXTSP-EC195(如果有的话)组合196,形成发给EC的响应消息的数据部分。SP使该数据通过散列算法,以便计算消息摘要MDSP-EC198。通过利用其自己的专用密钥202,SP通过对消息摘要MDSP-EC进行数字签名,为响应消息产生数字签名DSSP-Private-Key200。在使该消息的数据部分与计算得到的新的DSSP-Private-Key组合204之后,完成SP发给EC的KE响应消息[TIDSP-EC*PLAIN TEXTSP-EC* EEC-PK(RNEC*RNSP-EC*SkeyEC*STDSP-EC)]*DSSP-Private-Key。
为了格式化给商家的KE响应消息,SP产生随机数RNSP-M208,和给商家的对话密钥SkeyM210,并使它们与商家产生的随机数RNM212,敏感交易数据STDSP-EC214结合,并利用在步骤170接收的商家的公共密钥PKM对它们加密206。使所得到的密码由与SP分配给商家的交易识别号TIDSP-M218,和明文PLAIN TEXTSP-M220(如果有的话)组合216,形成发给商家的响应消息的数据部分。所得到的组合消息TIDSP-M*PLAIN TEXTSP-M*EM-PK(RNSP-M*RNM*SkeyM*STDSP-M)进一步与发给EC的KE响应消息[TIDSP-EC*PLAIN TEXTSP-EC*EEC-PK(RNEC*RNSP-EC*SkeyEC*STDSP-EC)]*DSSP-Private-Key。组合222,形成SP的最终KE响应消息的数据部分,[TIDSP-EC*PLAIN TEXTSP-EC* EEC-PK(RNEC*RNSP-EC*SkeyEC*STDSP-EC)]*DSSP-Private-Key*[TIDSP-M*PLAIN TEXTSP-M*EM-PK(RNSP-M*RNM*SkeyM*STDSP-M)]。SP使该数据部分通过散列算法,以便计算消息摘要224。通过利用其自己的专用密钥228,SP通过对该消息摘要进行数字签名,为响应消息产生数字签名DSSP-Private-Key226。在使该消息的数据部分与计算得到的新的DS 226组合230之后,完成发给EC和商家的KE响应消息。该响应消息<<{[TIDSP-EC* PLAIN TEXTSP-EC*(EEC-PK*RNEC*RNSP-EC*SkeyEC*STDSP-EC)]*DSSP-Private-Key}*[TIDSP-M*PLAIN TEXTSP-M*EM-PK(RNSP-M*RNM*SkeyM*STDSP-M)]>>DSSP-Private-Key通过网络被回送给商家。图8表示了从SP到商家的组合KE响应消息的最终格式和内容。
当商家收到KE响应消息232时,商家首先分离由SP签名的DSSP-Private-Key,随后把组合KE响应消息的数据部分送入单向散列算法,以便重新计算消息摘要MD^SP-M。随后商家分离SP的KE响应消息的数据部分,即,TIDSP-M,PLAIN TEXTSP-M,CRYPTOSP-M,[(TIDSP-EC*PLAIN TEXTSP-EC*CRYPTOSP-EC)]*DSSP-Private-Key。商家使用SP的公共密钥(选自144)对数字签名DSSP-Private-Key解密,恢复消息摘要MDSP-M。商家把散列得到的新的MD^SP-M与MDEC进行比较234。如果在MD^SP-M和MDSP-M之间存在任何差异,则KE响应消息已被破坏,于是被拒绝236。如果MD^SP-M和MDSP-M匹配,则商家识别意欲发送给他的响应消息部分,并利用他自己的专用密钥对密码CRYPTOSP-M解密238。商家应能够恢复他在KE请求消息中发送给SP的原始随机数RNM(见步骤148)。在步骤240中,商家把恢复的随机数RNM(步骤238)与原始的随机数RNM进行比较。如果两值不相等,则消息已被破坏,在步骤242拒绝该消息。由于随机数RNM只有SP利用正确的SP专用密钥才能恢复,因此确定消息的发送者真正地是所选的SP。随后商家把EC的KE响应消息[(TIDSP-EC*PLAIN TEXTSP-EC*CRYPTOSP-EC)]*DSSP-Private-Key转发给EC,并为交易的交易阶段做准备。
当EC收到KE响应消息260时,EC首先分离由SP签名的DSSP-Private-Key,随后把给EC的KE响应消息的数据部分送入单向散列算法,产生MD^SP-EC。随后EC分离该消息的数据部分,即,TIDSP-EC,PLAIN TEXTSP-EC,CRYPTOSP-EC,DSSP-Private-Key。EC使用SP的公共密钥(在步骤120中选择)对数字签名DSSP-Private-Key消息解密,恢复消息摘要MDSP。EC把散列得到的新的MD^SP-EC(在步骤260中得到)与通过对DSSP-Private-Key解密,从给EC的KE响应消息中恢复的MDSP-EC进行比较262。如果在MD^SP-EC和MDSP-EC之间存在任何差异,则发给EC的KE响应消息已被破坏,于是在步骤264被拒绝。如果MD^SP-M和MDSP-M匹配,则EC识别意欲发送给他的响应消息部分,并利用他自己的专用密钥对包含在该消息中的密码CRYPTOSP-EC解密266。EC应能够恢复在EC的KE请求消息中发送的原始随机数RNEC(见步骤124)。在步骤268中,EC把恢复的随机数RNEC(步骤266)与原始的随机数RNEC(步骤124)进行比较。如果这两个随机数不相等,则消息已被破坏,在步骤270拒绝该消息。由于只有SP利用正确的SP专用密钥才能够恢复随机数RNEC,因此这可确保消息的发送者真正地是所选的SP。EC为交易的交易阶段做准备。
在EC和商家中将有一个预选确定的超时期。在交易中,如果在超时期内没有收到响应消息,则EC和商家将认为该交易被放弃,并将进行重试或者启动恢复进程。
在成功地完成KE消息交换之后,SP具有EC的公共密钥和商家的公共密钥。这时,EC和商家都具有来自于SP的随机数,交易ID和对话密钥。为了完成交易的密钥交换阶段,EC和商家必须把从KE响应消息恢复的这两个随机数回送给SP。这可以两个方式实现。可借助来自于EC和商家的确认消息回送随机数。或者随机数可作为从EC和商家输出的,传到SP的下一消息,例如交易消息一部分被回送。第二种方法较简单,并在下面的阶段II中进行说明。为了确保SP和商家之间,以及SP和EC之间密钥交换的正确性,随机数只被使用一次。一旦已建立对话密钥和交易识别号,就不再使用随机数。
阶段II交易阶段在交易阶段中,商家和EC均向SP发送他们自己的诸如帐号之类的帐户信息,以及其它和交易相关的数据,例如交易金额,请求批准交易或者其它处理数据。同样,EC和商家单独地与SP商谈,不过是通过组合消息与SP商谈,商家负责组合消息,并把组合后的消息作为一个消息发送给SP。
EC首先通过使来自于SP的随机数RNSP-EC274和与选择的SP有关的EC帐户信息,AIEC276,交易金额TA 280,以及与交易相关的和/或SP要求的任意其它敏感数据278级联,形成交易消息。EC利用SP分配的对话密钥SkeyEC对它们加密。SkeyEC是保密密钥,并使用和用于公共密钥加密的加密算法不同的加密算法。随后在步骤282,使所得到的密码CRYPTOEC,即SkeyEC(RNSP-EC*STDEC*AIEC*TA)与交易ID TIDSP-EC284和明文PLAIN TEXTEC286(如果有的话)组合,形成EC的交易消息的数据部分,TIDSP-EC*PLAINTEXTEC*CRYPTOEC。数据部分282被输入单向散列算法288,以便计算消息摘要MDEC,随后利用EC的专用密钥292对该消息摘要MDEC进行数字签名290。在步骤294,使得到的数字签名290与消息的数据部分(来自于步骤282)组合,形成EC的交易请求消息[TIDSP-EC*PLAIN TEXTEC*SkeyEC(RNSP-EC*STDEC*AIEC*TA)]*DSEC-Private-Key,随后将其发送给商家。
商家经历基本相同的步骤,形成他的交易消息。商家通过使来自于SP的随机数RNSP-M246和与选择的SP有关的商家帐户信息,AIM248,交易金额TA 252,以及与交易相关的和/或SP要求的任意其它敏感数据STDM250级联,形成他的交易消息。商家利用SP分配的对话密钥SkeyM对它们加密244。对话密钥SkeyEC是保密密钥,并通过利用和用于公共密钥加密的加密算法不同的加密算法,例如DES产生。对话密钥SkeyM用于在此时执行加密,以产生密码CRYPTOM。随后在步骤254,使所得到的密码CRYPTOM,即SkeyM(RNSP-M*STDM*AIM*TA)与交易ID TIDSP-M256和明文PLAINTEXTM258(如果有的话)组合,形成商家的交易消息的数据部分,TIDSP-M*PLAIN TEXTM*CRYPTOM。在步骤296,使该数据与EC的交易请求组合,形成给SP的最终交易请求消息的数据部分,[TIDSP-EC*PLAIN TEXTEC*SkeyEC(RNSP-EC*STDEC*AIEC*TA)]*DSEC-Private-Key*[TIDSP-M*PLAINTEXTM*SkeyM(RNSP-M*STDM*AIM*TA)]。和前面一样,商家把他的组合数据输入单向散列算法298,以计算消息摘要MDM,随后利用商家的专用密钥302对该消息摘要MDM进行数字签名300。在步骤304,使得到的数字签名DSM-Private-Key300与消息的数据部分(来自于步骤296)组合,形成最终的交易请求消息{[TIDSP-EC*PLAINTEXTEC* SkeyEC(RNSP-EC*STDEC*AIEC*TA)]*DSEC-Private-Key*[TIDSP-M*PLAINTEXTM*SkeYM(RNSP-M*STDM*AIM*TA)]}*DSM-Private-Key,随后将其发送给SP。图9表示了交易请求消息的最终格式。
当SP收到交易请求消息时,SP首先检查EC和商家发送的这两个交易识别号,即,TIDSP-EC和TIDSP-M,确保它们是有效的。当在步骤306发现或者TIDSP-M(步骤210)或者TlDSP-EC(步骤186)无效时,则在步骤308拒绝该消息。如果交易识别号都有效,则SP着手使DSM-Private-Key和消息的数据部分分开,并把消息的数据部分,{[TIDSP-EC*PLAIN TEXTEC*SkeyEC(RNSP-EC*STDEC*AIEC*TA)]*DSEC-Private-Key*[TIDSP-M*PLAIN TEXTM* SkeyM(RNSP-M*STDM*AIM*TA)]}输入单向散列算法,以计算该消息的消息摘要MD^M。SP分离消息的数据部分,即TIDSP-M,PLAIN TEXTM,CRYPTOM,DSM-Private-Key,(TIDSP-EC*PLAIN TEXTEC*CRYPTOEC)*DSEC-Private-Key。SP利用商家的公共密钥对DSM-Private-Key加密310,并把新恢复的消息摘要MDM和刚计算的消息摘要MD^M(步骤306)进行比较。如果MD^M和MDM不等,则消息已被破坏,于是在步骤314被拒绝。如果MD^M和MDM匹配,则SP利用它在KE阶段中分配给商家的对话密钥SkeyM(步骤210)对消息的加密部分解密316,并恢复加密部分中所含的数据字段。在步骤318,SP把商家在消息中回送的随机数RNSP-M和SP最初发送给商家的消息中的随机数RNSP-M(见步骤208)进行比较。如果两个随机数不相等,则商家没有通过相互的验证测试,于是在步骤320,拒绝该消息。
另外,SP将验证EC的帐户信息AIEC和诸如交易金额TA之类的交易数据。如果AI不再有效,则在步骤320拒绝该消息。当来自EC的TA和来自商家的TA不相符时,该消息也将被拒绝。可具有使消息无效的其它条件。如果帐户信息AIEC和交易数据是有效的,则SP继续验证消息的EC部分。
正如商家的消息的情况一样,SP首先使DSEC-Private-Key和EC的消息分开322,并把EC的消息的数据部分(TIDSP-EC*PLAINTEXTEC*CRYPTOEC)输入单向散列算法,以计算EC消息的消息摘要MD^EC。SP分离EC的交易请求的数据部分,TIDSP-EC,PLAINTEXTEC,CRYPTOEC,DSEC-Private-Key。SP利用EC的公共密钥PKEC对DSEC-Private-Key解密324,并恢复MDEC。在步骤326,SP把恢复的MDEC和MD^EC进行比较。如果MD^EC和MDEC不等,则消息已被破坏,于是在步骤328拒绝该消息。如果MD^EC和MDEC相符,则SP利用它在KE阶段中分配给EC的对话密钥SkeyEC(步骤186),对EC消息的加密部分解密330,并恢复该加密部分中所含的数据字段。在步骤332,SP把EC在消息中回送的随机数RNSP-EC和SP最初发送给EC的随机数RNSP-EC(步骤184)进行比较。如果随机数不等,则EC未能通过相互的验证测试,于是在步骤334拒绝该消息。SP将验证商家的帐户信息AIM和诸如交易金额TA之类的交易数据,当帐户信息无效,或者当交易数据不满足SP的标准时,在步骤334将拒绝该消息。一旦已确立整个消息的完整性和真实性,则SP可处理消息中所含的数据,并回送响应消息。在该消息中回送的随机数终结SP和商家之间的相互验证,以及SP和EC之间的相互验证。在该消息之后,不再需要执行任何随机数的交换。SP可选择把随机数用作交易识别号,在商家和EC发送给SP的所有后续消息中,商家和EC将使用该交易识别号。
和前面一样,响应消息含有回复给EC和商家的信息。为了格式化回复给EC的交易响应消息,SP产生回复给EC的响应数据,Response DataSP-EC338,并利用分配给EC的对话密钥SkeyEC对其加密336。只有敏感性数据才被加密。非敏感性响应数据包含在明文中。在步骤340,使密码CRYPTOSP-EC,即ESkey-EC(Response DataSP-EC)和SP分配给EC的交易识别号TIDSP-EC342(步骤194),以及SP要回复给EC的明文PLAIN TEXTSP-EC344(如果有的话)结合,形成要回复给EC的响应消息的数据部分,即,TIDSP-EC*PLAIN TEXTSP-EC*ESkey-EC(Response DataSP-EC)。把该消息的数据部分输入散列算法346,产生SP利用SP的专用密钥350对其进行数字签名348的MDSP-EC。在步骤352,使DSSP-Private-Key和响应消息的数据部分(步骤340)结合,形成要回复给EC的完整响应消息,[TIDSP-EC*PLAIN TEXTSP-EC*ESkey-EC(Response DataSP-EC)]*DSSP-Private-Key。
为了格式化要回复给商家的交易响应消息,SP产生要回复给商家的响应数据,Response DataSP-M356,并利用分配给商家的对话密钥SkeyM(步骤210)对其加密354。在步骤358,使密码CRYPTOSP-M与在步骤360分配给商家的交易识别号TIDSP-M(步骤218),以及SP要回复给商家的明文PLAIN TEXTSP-M(如果有的话)362结合,形成要回复给商家的响应消息的数据部分,TIDSP-M*PLAIN TEXTSP-M*CRYPTOSP-M。随后在步骤364使该数据与要回复给EC的完整的响应消息结合,形成要回复给EC和商家的响应消息的数据部分,[TIDSP-EC*PLAIN TEXTSP-EC*ESkey-EC(Response DataSP-EC)]*DSSP-Private-Key*[TIDSP-M*PLAIN TEXTSP-M*ESkey-M(ResponseDataSP-M)]。
随后把该数据输入散列算法366,产生SP利用SP的专用密钥370对其数字签名368的MDSP-M。在步骤372,使DSSP-Private-Key和要回复给EC和商家的响应消息的数据部分结合,形成要回复给EC和商家的完整的响应消息,<<{[TIDSP-EC*PLAIN TEXTSP-EC*ESkey-EC(Response DataSP-EC)]*DSSP-Private-Key}*[TIDSP-M*PLAINTEXTSP-M*ESkey-M(Response DataSP-M)]>>DSSP-Private-Key。随后SP把其响应消息回送给商家。图10表示了交易响应消息的最终格式。
当商家收到该消息时,商家首先在步骤374检查消息中的交易识别号TIDSP-M,并确保该交易识别号有效。如果交易识别号无效,则在步骤376拒绝该消息。如果TIDSP-M有效,则商家使被SP签名的DSSP-Private-Key和该消息的数据部分分开,随后把交易响应消息的数据部分<<{[TIDSP-EC*PLAIN TEXTSP-EC*ESkey-EC(ResponseDataSP-EC)]*DSSP-Private-Key}*[TIDSP-M*PLAIN TEXTSP-M*ESkey-M(Response DataSP-M)]>>输入单向散列算法,产生MDSP-M。商家把消息的数据部分分离成不同的部分,TIDSP-M,PLAIN TEXTSP-M,CRYPTOSP-M,DSSP-Private-Key(TIDSP-EC*PLAIN TEXTSP-EC*CRYPTOSP-EC*DSSP-Private-Key),并准备把SP的交易响应消息传发给EC。在步骤378,商家利用在KE阶段中,由SP分配的对话密钥SkeyM,对SP的消息的加密部分解密,并恢复其中所含的数据字段。随后商家使用SP的公共密钥,PKSP(步骤144),对数字签名DSSP-Private-Key解密,以便恢复MDSP-M。在步骤380,商家把散列得到的新的MD^SP-M(步骤374)和恢复的MDSP-M进行比较。如果MD^SP-M和MDSP-M不符,则交易响应消息已被破坏,于是在步骤382拒绝该消息。如果这两个消息摘要相符,则商家开始处理该消息。照常,把交易响应消息的EC部分(TIDSP-EC*PLAIN TEXTSP-EC*CRYPTOSP-EC*DSSP-Private-Key)传给EC。
当EC收到交易响应消息时,EC首先在步骤394检查消息中的交易识别号TIDSP-EC,并确保该交易识别号有效。如果交易识别号无效,则在步骤396拒绝该消息。如果交易识别号有效,则商家使被SP签名的DSSP-Private-Key和交易响应消息的数据部分分开,随后把EC交易响应消息的数据部分TIDSP-EC*PLAIN TEXTSP-EC*ESkey-EC(ResponseDataSP-EC)输入单向散列算法,产生MD^SP-EC。EC把消息分离成不同的部分,TIDSP-EC,PLAIN TEXTSP-EC,CRYPTOSP-EC,DSSP-Private-Key。在步骤398,EC利用在KE阶段中,由SP分配的对话密钥Skey,对SP的消息的加密部分解密,并恢复其中所含的数据字段。EC使用SP的公共密钥(步骤120)对数字签名DSSP-Private-Key解密,以便恢复消息摘要MDSP-EC。在步骤400,商家把散列得到的新的MD^SP-EC394和恢复的MDSP-EC进行比较。如果MD^SP-EC和MDSP-EC不符,则交易响应消息已被破坏,于是在步骤402拒绝该消息。如果这两个消息摘要相符,则EC开始处理该消息。
在交易的最后,如果SP要求的话,EC和商家可向SP发送确认消息,通知响应消息已被正确地接收和处理。如果在交易结束之前,在SP和商家及EC之间,将交换多个消息,则该确认数据可作为要发送给SP的下一消息的一部分。或者确认数据单独成为一个消息。
为了格式化确认消息,EC首先在步骤404,利用对话密钥SkeyEC对确认数据Acknowledgement DataEC406(如果有的话)的敏感部分加密,从而产生SkeyEC(Acknowledgement DataEC)。在步骤408,EC把得到的密码和由SP分配的交易识别号TIDSP-EC410,以及明文PLAIN TEXTEC412(如果有的话)结合。形成EC的确认消息的数据部分,TIDSP-EC*PLAIN TEXTEC*SkeyEC(AcknowledgementDataEC)。随后把该组合数据输入单向散列算法414,产生MDEC。随后EC利用EC的专用密钥418对得到的MDEC进行数字签名416,产生DSEC-Private-Key。在步骤420,使DSEC-Private-Key和消息的数据部分(来自于步骤408)结合,形成EC的完整的确认消息,[TIDSP-EC*PLAINTEXTEC*SkeyEC(Acknowledgement DataEC)]*DSEC-Private-Key。随后把该确认消息发送给商家。
商家经历相同的步骤,形成他自己的确认消息。为了格式化确认消息,商家首先利用SP分配给商家的对话密钥SkeyM对确认数据Acknowledgement DataM386(如果有的话)的敏感部分加密,从而产生SkeyM(RNSP-M*Acknowledgement DataM)。在步骤388,商家把得到的密码和SP分配的交易识别号TIDSP-M390,以及明文PLAINTEXTM(来自于步骤392)(如果有的话)结合。形成商家的确认消息的数据部分,TIDSP-M* PLAIN TEXTM* SkeyM(RNSP-M*Acknowledgement DataM)。在步骤422,使该数据部分进一步和从EC接收的确认消息结合,形成要发送给SP的组合确认消息的数据部分,{[TIDSP-EC*PLAIN TEXTEC*SkeyEC(AcknowledgementDataEC)]*DSEC-Private-Key}*[TIDSP-M* PLAIN TEXTM* SkeyM(Acknowledgement DataM)]。商家把要发送给SP的组合确认消息的数据部分输入单向散列算法,产生消息摘要MDM。随后商家利用商家的专用密钥428对得到的MDM进行数字签名,产生DSM-Private-Key426。在步骤430,使DSM-Private-Key和消息的数据部分(来自于步骤422)结合,形成要发送给SP的EC和商家的最终的组合确认消息,<<{[TIDSP-EC* PLAIN TEXTEC* SkeyEC(AcknowledgementDataEC)]*DSEC-Private-Key}*[TIDSP-M*PLAIN TEXTM*SkeyM(Acknowledgement DataM)]>>*DSM-Private-Key。随后把该消息发送给SP。图11表示了交易确认消息的最终格式。
TIDSP-M是SP分配给商家的交易识别号(来自于步骤218),TIDSP-EC是SP分配给EC的交易识别号(来自于步骤194)。当收到交易确认消息时,SP在步骤432检查由EC和商家发送的这两个交易识别号TIDSP-M和TIDSP-EC,并确保它们有效。当发现TIDSP-M或TIDSP-EC无效时,则在步骤434拒绝该消息。如果交易识别号都有效,则SP着手使DSM-Private-Key和组合的确认消息分开,并把组合的确认消息的数据部分<<{[TIDSP-EC* PLAIN TEXTEC* SkeyEC(Acknowledgement DataEC)]*DSEC-Private-Key}*[TIDSP-M*PLAINTEXTM*SkeyM(Acknowledgement DataM)]>>输入单向散列算法,以便计算该消息的消息摘要MD^M。SP把消息的数据部分分离成TIDSP-M,PLAIN TEXTM,CRYPTOM,DSM-Private-Key,(TIDSP-EC*PLAIN TEXTEC*CRYPTOEC)*DSEC-Private-Key。在步骤436,SP利用商家的公共密钥PKM对DSM-Private-Key解密,并把恢复的消息摘要MDM432和刚计算的消息摘要MD^M436进行比较。如果MD^M和MDM相符,则SP在步骤442,利用它在KE阶段中,分配给商家的对话密钥SkeyM(来自于步骤210),对商家的确认消息的加密部分解密,并恢复其中所含的确认数据。
在步骤444,SP使DSEC-Private-Key和EC的确认消息分开,并把EC的确认消息的数据部分TIDSP-EC*PLAIN TEXTEC*CRYPTOEC输入单向散列算法,以计算该消息的消息摘要MD^EC。SP把EC的确认消息的数据部分分离成TIDSP-EC,PLAIN TEXTEC,CRYPTOEC,DSEC-Private-Key。在步骤446,SP利用EC的公共密钥PKEC对DSEC-Private-Key解密,并在步骤448,把恢复的MDEC和刚计算的消息摘要MD^EC444进行比较。如果这两个消息摘要相符,则SP在步骤452,利用它在KE阶段中,分配给EC的对话密钥SkeyEC(来自于步骤186),对该消息的加密部分解密,并恢复其中所含的确认数据。随后在步骤454,结束交易的交易阶段的处理。
在整个交易过程中,在优选实施例中,EC使用由诸如MicrosoftExplorer或Netscape Navigator之类的因特网浏览器软件提供的软件。在一个典型的对话期中,持卡人使其浏览器指向商家的URL,并从商家定购货物或服务。在支付费用时,浏览器将调用EC接口软件,EC接口软件可嵌入浏览器中,或者作为插入式可附加软件成分包括于其中,并允许交易继续进行。持卡人可把他的浏览器指向任意SP会员的URL。
上面在图6A-6Q中描述的两阶段交易只是应用本发明的两阶段密钥交换-交易模式的一个特例。在图6A-6Q中描述的两阶段交易中,参加交易的交易者一共有三位EC,商家和SP。两阶段密钥交换-交易模式类似地可适用于涉及的交易方的数目为二位到多位不等。在涉及的交易者多于三位的交易中,只有一方担任SP的角色。所有其它各方使用选定的SP的公共密钥执行初始的密钥交换,并使用SP分配的对话密钥和交易ID进行交易。
两阶段密钥交换-交易模式适用于组织方案,其中(1)交易参加者可被安排成和可能的多个路由器与服务提供商串联排列;或者(2)交易参加者可和可能的路由器被安排在分层组织中。这些额外的组织方案可涉及把消息送到下一层次的路由器。分层结构中的一个层次可由任意数目的交易参加者和/或路由器组成。下一层次是在顺序上或者层次上邻接的下一交易参加者或路由器。在分层组织方案中,下一层次包括所有可能的下一交易参加者和路由器。对于分层组织方案来说,SP建立用于确定消息将被发送给它的下一交易参加者或路由器的准则。
路由器是网关/管道,它收集来自前一层次的消息,并按照诸如组合消息之类的SP要求,对消息进行某些处理,随后把消息转给SP。每个交易参加者只需形成他自己的消息(数据和数字签名),并将其发送给下一层次。交易参加者把他接收的所有消息和他自己的消息结合起来,形成组合消息,并在将其发送给下一层次之前,对该组合消息进行数字签名。在分层组织的最简单形式中,只有一个消息路由器,该路由器收集来自于所有其它交易参加者的消息,并把组合消息发送给SP。
在串联组织中,交易的发起者与路由器和/或交易参加者串联,路由器和/或交易参加者再与服务提供商60串联。在本发明的一个优选实施例中,图12中所示的每个成分是一个交易参加者。在本发明的备选实施例中,交易发起者和SP之间的任何中间成分可以是路由器。
交易发起者与如图12中所示的串联排列的交易参加者1100,1120,1140和1160,以及服务提供商执行交易。这类似于在图6A-6Q中描述的三方方案,只是现在所涉及的交易方更多。注意交易参加者3,4,5,6...n-2是以串联方式排列的。每个交易参加者准备好他自己的消息,把他自己的消息和从在前的交易参加者(如果有的话)收到的消息合并,对合并后的消息附加数字签名,随后将其发送给串联路径上的下一交易参加者。组合消息最终被发送给SP,SP据此形成响应消息,并通过初始的请求消息经过的同一路径回送响应消息。
图13表示了层次组织方案中布置的成分,这里每个成分X1,1到X1,n(n=1,2,3...)1200是一个交易参加者,而不是消息路由器,每个成分Xj,k(j=2,3,4,...;k=1,2,3,...,m;m是n类型的变量;对于层次结构的不同层次来说,m可以是不同的值)1210可以交易参加者,也可以是路由器。向上的粗体箭头代表发送请求消息1220。向下的箭头代表发送响应消息1230。
每个交易参加者收集来自于他所负责的多个参加者的消息,并在把收集的消息和他自己的消息合并,形成新的消息之后,把该新消息发送给下一层次。层次组织方案可以只包括一个交易参加者,也可包括所需的尽可能多的交易参加者(层次方案的最简化的情况是一个交易参加者和一个服务提供商)。最后,在服务提供商之前的最后一个成分Xσ,1处,所有消息被组合成一个消息1240,σ是一个类型n,该消息1240随后被发送给SP 60。同样,SP形成响应消息,并通过相同的路线回送该响应消息。
在SP不主导交易的情况下,会员使用由SP产生的对话密钥,在他们自己之间进行交易。交易可在两个或多个会员之间发生。当交易中涉及的会员多于两个时,消息可以任何顺序从一个会员传至另一会员。会员发送交易请求消息,并接收交易响应消息。会员不必从他向其发送交易请求消息的同一会员那里接收交易响应消息。例如,交易中的三个会员可被组织成环形,并围绕该环发送消息。甲会员可向乙会员发送交易请求消息,乙会员再向丙会员发送交易请求消息和交易响应消息。丙会员向甲会员发送交易请求消息和交易响应消息,甲会员再向乙会员发送交易响应消息。接收交易请求消息的会员产生交易响应消息,该交易响应消息最终将被发送给发出交易请求消息的会员。
在密钥交换阶段,SP获得所有参加交易会员的公共密钥。在交易参加会员在他们之间进行交易之前,SP向每个交易参加会员发送其它会员的公共密钥。交易请求消息和交易响应消息包括明文(如果有的话),密码和发送方的数字签名。
在当SP需要充当EC和/或商家的凭证代理人,以便和基于凭证的外界系统打交道的情况下,SP使EC和/或商家与外界接口的操作隔绝。SP只向EC和/或商家返回完成与EC和/或商家的交易所需的信息。
虽然这里已描述了本发明的优选和例证实施例,不过对于本领域中的普通技术人员来说,本发明的其它修改将是显而易见的。于是,需要在附加权利要求中保护落入本发明的精神和范围内的所有这种修改和延伸。本发明将被解释为包括落入附加权利要求的范围内的本发明的所有实施例,并且本发明只应由下面的权利要求限定。另外,本领域中的普通技术人员将理解在不脱离本发明的精神和范围的情况下,其它应用可用于代替这里陈述的那些应用。
权利要求
1.一种使用电子卡执行电子交易的方法,该方法包括下述步骤在服务提供商处产生对话密钥;通过从会员向服务提供商发送密钥,并从服务提供商向该会员发送对话密钥,交换密钥;和利用该对话密钥执行交易。
2.按照权利要求1所述的方法,其中交易密钥的步骤包括下述步骤从会员向服务提供商发送密钥交易请求消息;和格式化包括发给会员的对话密钥的密钥交换响应,并把该密钥交换响应发送给会员。
3.按照权利要求1所述的方法,其中利用对话密钥执行交易的步骤包括下述步骤利用对话密钥格式化会员交易请求消息,并把会员交易请求消息发送给服务提供商;和在服务提供商处,格式化要发给会员的交易响应消息,并把该交易响应消息发送给该会员。
4.按照权利要求1所述的方法,其中使用对话密钥执行交易的步骤包括下述步骤第一会员利用对话密钥格式化交易请求消息,并把交易请求消息发送给第二会员,交易请求消息包括第一会员的数字签名;和第二会员利用对话密钥格式化交易响应消息,并把交易响应消息发送给第一会员,交易响应消息包括第二会员的数字签名。
5.按照权利要求1所述的方法,其中利用对话密钥执行交易的步骤包括下述步骤第一会员利用对话密钥格式化交易请求消息,并把交易请求消息发送给中间会员,交易请求消息包括第一会员的数字签名;中间会员利用对话密钥格式化交易响应消息,并把交易响应消息发送给最后的会员,交易响应消息包括中间会员的数字签名;最后的会员利用对话密钥格式化交易响应消息,并把交易响应消息发送给第一会员,交易响应消息包括最后的会员的数字签名。
6.按照权利要求1所述的方法,其中交换密钥的步骤包括下述步骤从电子卡向商家终端发送密钥交易请求消息;在商家终端,组合商家密钥交易请求消息和电子卡的密钥交换请求消息,并把组合的密钥交换请求消息发送给服务提供商;格式化要发给商家终端的包括对话密钥的密钥交换响应,格式化要发给电子卡的包括对话密钥的密钥交换响应,把这两个密钥交换响应组合成一个组合密钥交换响应,并把该组合密钥交换响应发送给商家终端;在商家终端,使发给商家的密钥交换响应和发给电子卡系统的密钥交换响应分开,并把发给电子卡的密钥交换响应转发给电子卡。
7.按照权利要求1所述的方法,其中利用对话密钥执行交易的步骤包括下述步骤利用对话密钥格式化电子卡的交易请求消息,并将其发送给商家终端;在商家终端,利用对话密钥格式化商家交易请求消息,组合接收的交易请求消息和商家的交易请求消息,并把组合的交易请求消息发送给服务提供商;服务提供商利用对话密钥格式化要发给商家的交易响应消息,及要发给电子卡系统的交易响应消息,把这两个交易响应消息组合成一个组合交易响应消息,并把该组合交易响应消息发送给商家终端;和在商家终端,使发给商家的交易响应消息和发给电子卡的交易响应消息分开,并把发给电子卡系统的交易响应消息转发给电子卡。
8.按照权利要求1所述的方法,其中当服务提供商主导交易时,只有服务提供商才能读取会员发来的消息内的敏感交易数据。
9.按照权利要求1所述的方法,其中当服务提供商不主导交易时,只有服务提供商才能读取在密钥交换阶段内,从会员处发来的消息内的敏感交易数据。
10.按照权利要求2所述的方法,其中密钥交换响应还包括发给交易中涉及的每个会员的公共密钥。
11.按照权利要求2所述的方法,其中密钥交换请求消息包括位于密钥交易消息的加密部分内的会员产生的随机数。
12.按照权利要求2所述的方法,其中密钥交易请求消息包括会员产生的数字签名。
13.按照权利要求2所述的方法,其中来自会员的密钥交换请求消息包括密码,该密码包括会员的随机数;和会员的敏感数据。
14.按照权利要求3所述的方法,其中交易消息包括位于交易消息的加密部分内的随机数。
15.按照权利要求3所述的方法,其中交易消息包括发送方的数字签名。
16.按照权利要求3所述的方法,其中只有服务提供商才可读取交易消息内的敏感交易数据。
17.按照权利要求3所述的方法,还包括下述步骤7在会员处,利用对话密钥,格式化交易确认消息,并把该交易确认消息发送给服务提供商。
18.按照权利要求7所述的方法,还包括下述步骤在电子卡处,利用对话密钥,格式化交易确认消息,并把该交易确认消息发送给商家;和在商家的终端处,利用对话密钥,格式化商家交易确认消息,组合接收的交易确认消息和商家交易确认消息,并把组合的交易确认消息发送给服务提供商。
19.按照权利要求13所述的方法,其中密钥交换请求消息还包括明文。
20.按照权利要求13所述的方法,其中密钥交换请求消息还包括3会员的数字签名。
21.按照权利要求13所述的方法,其中密码还包括会员的公共密钥。
22.按照权利要求14所述的方法,其中交易消息包括发送方的数字签名。
23.一种发送密钥交换消息的方法,包括下述步骤由电子卡持卡人满足电子卡存取条件;由电子卡持卡人选择服务提供商;由电子卡产生电子卡随机数;电子卡利用服务提供商的公共密钥对随机数、电子卡公共密钥和电子卡敏感交易数据加密,形成电子卡密码;电子卡组合电子卡密码和明文(如果有的话),形成电子卡组合消息;对电子卡组合消息应用散列算法,形成电子卡消息摘要;电子卡利用电子卡专用密钥对电子卡消息摘要进行数字签名,形成电子卡数字签名消息;电子卡把电子卡组合消息和电子卡数字签名消息结合在一起,形成来自于电子卡的密钥交换消息;和通过网络,把来自电子卡的电子卡密钥交换消息发送给商家。
24.按照权利要求23所述的方法,还包括下述步骤商家装置产生商家随机数;商家装置利用服务提供商(SP)的公共密钥,对商家随机数,商家公共密钥和商家敏感数据加密,形成商家密码;商家装置组合商家密码和明文(如果有的话),形成商家组合消息;商家装置把电子卡(EC)密钥交换消息和商家组合消息结合在一起,形成EC-商家组合消息;对EC-商家组合消息应用散列算法,形成商家消息摘要;商家装置利用商家的专用密钥,对商家消息摘要进行数字签名,形成商家数字签名消息;商家把EC-商家组合消息和商家数字签名消息结合在一起,形成来自于商家的商家密钥交换请求消息;和通过网络,把商家密钥交换请求消息从商家发送给服务提供商。
25.一种在串联排列的多方之间执行电子交易的方法,包括下述步骤从电子卡向第一方发送密钥交换请求消息,这里第一方是消息路由器或交易参加者;如果第一方是路由器,则从第一方向下一方发送密钥交换请求消息;如果第一方是交易参加者,则组合第一方的密钥交换请求消息和电子卡的密钥交换请求消息,并把组合的密钥交换请求消息发送给下一方;如果当前一方是消息路由器,则把密钥交换请求消息发送给下一方;如果当前一方是交易参加者,则组合当前一方的密钥交换请求消息和上一方的密钥交换请求消息,并把组合的密钥交换请求消息发送给下一方;由服务提供商把发给每个交易参加者的密钥交换响应格式化成一个消息,并沿着把密钥交换请求消息发送给服务提供商的路径的相反顺序,发送该消息;每个交易参加者使发给它自己的密钥交换响应和发给其它交易参加者的密钥交换响应分开,并沿着把密钥交换请求消息发送给服务提供商的路径的相反顺序,把剩余的密钥交换响应转发给其它交易参加者,直到电子卡收到它自己的密钥交换响应为止。
26.一种在串联排列的多个交易方之间执行电子交易的方法,包括下述步骤从电子卡向第一方发送交易请求消息,这里第一方是消息路由器或交易参加者;如果第一方是路由器,则从第一方向下一方发送交易请求消息;如果第一方是交易参加者,则组合第一方的交易请求消息和电子卡的交易请求消息,并把组合的交易请求消息发送给下一方;如果当前一方是消息路由器,则把交易请求消息发送给下一方;如果当前一方是交易参加者,则组合当前一方的交易请求消息和上一方的交易请求消息,并把组合的交易请求消息发送给下一方;由服务提供商把发给每个交易参加者的交易响应格式化成一个消息,并沿着把交易请求消息发送给服务提供商的路径的相反顺序,发送该消息;每个交易参加者使发给它自己的交易响应和发给其它交易参加者的交易响应分开,并沿着把交易请求消息发送给服务提供商的路径的相反顺序,把剩余的交易响应转发给其它交易参加者,直到电子卡收到它自己的交易响应为止。
27.一种在被安排成层次组织的多个交易方之间执行电子交易的方法,包括下述步骤从电子卡向第一方发送密钥交换请求消息,这里第一方是消息路由器或交易参加者;如果第一方是消息路由器,则把密钥交换请求消息发送给下一方Xj,k(j=2,3,4,...;k=1,2,3,...,m;m是类型n的变量;n=1,2,3...;对于不同的j值来说,m可是不同的值);如果第一方是交易参加者,则组合第一方的密钥交换请求消息和电子卡的密钥交换请求消息,并把组合的密钥交换请求消息发送给下一方Xj,k;如果当前一方Xj,k是消息路由器,则把密钥交换请求消息发送给下一方Xj,k;如果当前一方Xj,k是交易参加者,则组合当前一方Xj,k的密钥交换请求消息和上一方的密钥交换请求消息,并把组合的密钥交换请求消息发送给下一方Xj,k;由服务提供商把发给每个交易参加者的密钥交换响应格式化成一个消息,并沿着把密钥交换请求消息发送给服务提供商的路径的相反顺序,发送该消息;每个交易参加者使发给它自己的密钥交换响应和发给其它交易参加者的密钥交换响应分开,并沿着把密钥交换请求消息发送给服务提供商的路径的相反顺序,把剩余的密钥交换响应转发给其它交易参加者,直到电子卡收到它自己的密钥交换响应为止。
28.一种在被安排成层次组织的多个交易方之间执行电子交易的方法,包括下述步骤从电子卡向第一方发送交易请求消息,这里第一方是消息路由器或交易参加者;如果第一方是消息路由器,则把交易请求消息发送给下一方Xj,k(j=2,3,4,...;k=1,2,3,...,m;m是类型n的变量;n=1,2,3...;对于不同的j值来说,m可是不同的值);如果第一方是交易参加者,则组合第一方的交易请求消息和电子卡的交易请求消息,并把组合的交易请求消息发送给下一方Xj,k;如果当前一方Xj,k是消息路由器,则把交易请求消息发送给下一方Xj,k;如果当前一方Xj,k是交易参加者,则组合当前一方Xj,k的交易请求消息和上一方的交易请求消息,并把组合的交易请求消息发送给下一方Xj,k;由服务提供商把发给每个交易参加者的密钥交换响应格式化成一个消息,并沿着把密钥交换请求消息发送给服务提供商的路径的相反顺序,发送该消息;每个交易参加者使发给它自己的交易响应和发给其它交易参加者的交易响应分开,并沿着把交易请求消息发送给服务提供商的路径的相反顺序,把剩余的交易响应转发给其它交易参加者,直到电子卡收到它自己的交易响应为止。
全文摘要
一种电子交易系统,该系统简化了包括持卡人(20),商家(70)和服务提供商(SP)(60)的多个交易方之间的安全电子交易。该系统涉及通常被称为智能卡的电子卡,以及它们的等效计算机软件包。电子卡模仿真实的钱包,并含有诸如信用卡、支票簿或驾驶执照之类的常见金融或非金融载具。交易受到混合密钥加密系统的保护,并且通常在诸如因特网之类的公共网络上执行。数字签名和随机数被用于确保完整性和真实性。电子卡使用诸如由服务提供商(SP)分配的对话密钥之类的保密密钥,确保每项交易的保密性。SP独自负责验证每个交易参加者的敏感消息,并分配对话密钥。交易中所需的唯一信任关系是单个交易参加者和SP之间所存在的那种信任关系。
文档编号G06Q20/00GK101087189SQ200710006378
公开日2007年12月12日 申请日期1999年5月5日 优先权日1998年5月5日
发明者杰伊·C·陈 申请人:杰伊·C·陈
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1