会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电子钱包 / 电子钱包间安全操作的电子钱包系统

电子钱包间安全操作的电子钱包系统

申请号 CN01109281.5 申请日 2001-03-06 公开(公告)号 CN1207681C 公开(公告)日 2005-06-22
申请人 汤姆森多媒体公司; 发明人 阿兰·迪朗; 西尔万·勒列夫尔; 杨-梅伊·唐-塔尔皮;
摘要 本发明披露的电子钱包系统包括多个通过局域网络互联并可以在网络上进行电子商务交易的设备。各设备含有智能卡阅读器。多个智能卡代表可以存储电子货币的电子钱包。设备之一含有实体,即服务器,该实体内含有数据条目列表,各条目对应于应从系统的其它电子钱包接收包含在代用币内的电子货币的电子钱包。在电子钱包间转移的代用币被临时存储到服务器。
权利要求

1.一种电子钱包系统,该系统包括:

n个设备(10-13),可以在网络(40,140)上进行电子商务交易并 包含智能卡阅读器(130-133),其中n大于或等于1,所述设备通过局 域网络(250)互联;

多个智能卡(31-3p),代表电子钱包可以含有电子货币;

其中所述设备之一包括被称为服务器的实体(1,101),实体内含 有数据条目列表,各条目对应于应从所述系统的其它电子钱包接收包含 在代用币内的电子货币的电子钱包;

当代用币在电子钱包之间转移时,所述服务器临时存储所述代用 币;

以及,在代用币转移操作期间,在所述设备和/或所述智能卡之间交 换的消息被密钥保护,密钥仅存储在所述智能卡内。

2.根据权利要求1所述的系统,其特征在于每一个智能卡含有:●唯一电子钱包标识符(PIDi);

●资金计数器;

●电子钱包交易标识符(TransIDi P);

●第一电子钱包标识符密钥(SKA);以及

●第二交易标识符密钥(SKT);

所述第一密钥和第二密钥被所述系统的所有电子钱包共享。

3.根据权利要求2所述的系统,其特征在于,在系统安装时, 将所述资金计数器和所述交易标识符(TransIDi P)初始化为0。

4.根据权利要求2或权利要求3所述的系统,其特征在于,在 所述服务器内对应于电子钱包(Pi)的每一个条目含有:●所述电子钱包标识符(PIDi)和使用所述第一密钥SKA的所述 电子钱包标识符签名;

●服务器交易标识符(TransIDi S)以及利用所述第二密钥(SKT) 的所述交易标识符签名和所述电子钱包标识符签名;以及●服务器为所述电子钱包接收的代用币数索引(Indexi)。

5.根据权利要求4所述的系统,其特征在于,每一个智能卡还 包含所述系统的所有电子钱包共享的第三代用币密钥(SK);以及其中,索引(Indexi)大于0时,在所述服务器内对应于电子钱包(Pi) 的各条目进一步包含:至少一个代用币,该代用币包含:

●金额(N);

●所述电子钱包标识符(PIDi);以及

●所述服务器交易标识符(TransIDi S)。

和利用所述第三密钥的所述代用币签名。

6.根据权利要求5所述的系统,其特征在于所述代用币进一步 包含有关代用币发送者的信息。

7.根据权利要求2所述的系统中注册电子钱包(Pi)的方法,所 述方法包括所述服务器的设备进行的步骤:(a)接收称为根卡的特定智能卡;

(b)接收用户在所述设备上输入的个人识别码(rootPIN)并将所 述个人识别码发送到所述根卡,所述根卡验证所接收的个人 识别码是否与在所述根卡存储的个人识别码一致;并且如果 验证正确,则:(c)接收对应于将被注册的电子钱包(Pi)的智能卡;以及(d)从所述智能卡接收的数据,所接收的数据包含:●电子钱包标识符(PIDi)和利用所述第一密钥(SKA) 的所述电子钱包标识符签名;

●利用在所述智能卡存储的电子钱包交易标识符 (TransIDi P)的数值初始化的服务器交易标识符 (TransIDi S)和利用所述第二密钥(SKT)的所述服务 器交易标识符签名和所述电子钱包标识符(PIDi)签名; 以及(e)将从所述智能卡接收的数据存储到所述服务器内对应于所述 电子钱包的条目。

8.根据权利要求5或6所述的电子钱包系统中将第一电子钱包 (PA)发送的代用币保存到第二电子钱包(PB)的方法,其特征在于所 述方法包括称为客户机的实体(21、22、2k;121至124)的设备完成 的步骤:(a)接收对应于所述第一电子钱包(PA)的智能卡;

(b)从服务器接收(步骤153)的数据(PurseInfo),所接收的数 据包括:●所述第二电子钱包(PB)的电子钱包标识符(PIDB)和 利用第一密钥(SKA)的所述电子钱包标识符签名;以 及●所述第二电子钱包的服务器交易标识符(TransIDB S)和 利用第二密钥(SKT)的所述服务器交易标识符签名和 所述第二电子钱包标识符(PIDB)签名;

(c)将从所述服务器接收的所述数据(PurseInfo)和将对所述第二 电子钱包保存的金额(N)发送(步骤154)到所述智能卡;

所述智能卡利用所述第一密钥(SKA)和所述第二密钥(SKT) 验证所述数据内的签名,并且如果验证正确,则:(d)从所述智能卡接收(步骤155)数据(TokenInfo),所接收的 数据包括:●代用币和利用第三密钥(SK)的所述代用币签名;以及●所述第二电子钱包的递增服务器交易标识符 (TransIDB S++)和利用第二密钥(SKT)的所述递增服 务器交易标识符签名和所述第二电子钱包标识符签名;

(e)将从所述智能卡接收的所述数据发送(步骤156)到所述服务 器。

9.根据权利要求8所述的方法,其特征在于该方法在步骤(b) 之前进一步包括步骤:(a1)将第一消息(getPurseList)发送到所述服务器以请求应接收 代用币的电子钱包列表;

(a2)从所述服务器接收应接收代用币的电子钱包的电子钱包标识 符列表(PID1,...,PIDm);以及(a3)将第二消息(getPurseInfo(PIDB))发送到所述服务器以请求 有关所述第二电子钱包(PB)的信息。

10.根据权利要求8所述的方法,其特征在于,在步骤(d)之前, 对应于所述第一电子钱包(PA)的所述智能卡将所述第一电子钱包帐目 递减为所述第二电子钱包保存的金额(N)。

11.根据权利要求8所述的方法,其特征在于包含在步骤(d)发 送的数据内的代用币包括:●为所述第二电子钱包保存的金额(N);

●所述第二电子钱包标识符(PIDB);

●所述第二电子钱包的服务器交易标识符(TransIDB S);以及●随机数(C)。

12.根据权利要求11所述的方法,其特征在于所述代用币进一步 包括:所述第一电子钱包标识符(PIDA)。

13.根据权利要求5或6所述的电子钱包系统中电子钱包(PB) 接收代用币的方法,其特征在于所述方法包括称为客户机的实体(21、 22、2k;121至124)的设备完成的步骤:(a)接收对应于所述电子钱包(PB)的智能卡;

(b)将消息(GetNextToken(PIDB))发送到服务器以请求在服务器 内为所述电子钱包(PB)存储的代用币(步骤162),并且如 果在对应于所述电子钱包(PB)的条目内至少存储了一个代用 币,则:(c)从服务器接收索引(IndexB)和在对应于所述电子钱包的条目 内存储的代用币(步骤163);

(d)将此代用币发送到所述智能卡;以及

(e)当接收的索引(IndexB)的数值大于0时,重复步骤(b)至 步骤(d)。

14.根据权利要求13所述的方法,其特征在于在步骤(c)之前, 服务器递减所述索引(IndexB)。

15.根据权利要求13所述的方法,其特征在于在步骤(b)之前, 进一步包括步骤:(a1)将第一消息(getPID)发送到所述智能卡以请求电子钱包标 识符(步骤160);以及(a2)从所述智能卡接收所述电子钱包标识符(PIDB)(步骤161)。

16.根据权利要求13所述的方法,其特征在于将使用所述第三密 钥(SK)的代用币签名附加到在步骤(c)接收的代用币,并在步骤(d) 将它发送到所述智能卡;

对于所述智能卡,所述步骤进一步包括步骤:

(d1)验证代用币的所述签名,

(d2)验证包含在所述代用币内的服务器交易标识符(TransIDB S) 大于或等于在所述智能卡存储的电子钱包交易标识符(TransIDB P);并 且如果验证结果正确,则:(d3)将电子钱包帐目递增存储在所述代用币内的金额(N);以及(d4)将逐1递增的服务器交易标识符(TransIDB S)的数值存储到 所述电子钱包交易标识符(TransIDB P)。

17.根据权利要求8所述的方法,其特征在于在电子钱包系统中 的各智能卡进一步含有对应从其它电子钱包接收代用币的各电子钱包保 存的踪迹数据,所述数据包括:●电子钱包间交易标识符;以及

●电子钱包间保存计数;以及

其中在步骤(d)之前,对应于所述第一电子钱包(PA)的所述智能 卡:●利用在步骤(b)接收的所述第二电子钱包的所述服务器交易标 识符(TransIDB S)数值,对所述第二电子钱包更新电子钱包间交 易标识符(TransIDAB);以及●将为所述第二电子钱包(PB)预定的金额(N)与所述第二电子 钱包的电子钱包间保存计数相加(sum_of_depositedAB)。

18.根据权利要求16所述的方法,在电子钱包系统中,各智能卡 进一步含有接收踪迹数据,该接收踪迹数据包括接收计数,其中,步骤(d4)之后,所述智能卡将包含在所述代用币内的金额 与所述电子钱包(PB)的接收计数(sum_of_receivedB)相加。

19.在根据权利要求5或6所述的电子钱包系统中,利用根据权 利要求17所述的方法对一个第一电子钱包(PD)存入、但是利用权利要 求18所述的方法时还未被所述电子钱包接收的代用币恢复的方法,其 特征在于所述方法包括服务器的设备完成的步骤:(i)依次接收对应于所述系统的所有其它电子钱包的智能卡,并且 对于各所述电子钱包(PX),接收所述第一电子钱包(PD)的 保存踪迹数据(TraceXD),所述保存踪迹数据包括:●电子钱包间交易标识符(TransIDXD);以及●电子钱包间保存计数(sum_of_depositedXD);

(j)接收对应于所述第一电子钱包(PD)的智能卡;

(k)将在步骤(i)接收的所有保存踪迹数据发送到所述智能卡;

该过程进一步包括所述智能卡完成的步骤:

(l)计算接收的电子钱包间保存计数(∑Xsum_of_depositedXD)减 所述第一电子钱包(PD)的接收计数(sum_of_receivedD)的结果并利用 此计算结果递增所述第一电子钱包(PD)的帐目;

(m)将所述第一电子钱包的接收计数(sum_of_receivedD)设置为 0。

20.根据权利要求19所述的方法,其特征在于在步骤(i)之前, 该方法进一步包括步骤:(h1)接收对应于所述第一电子钱包(PD)的智能卡;

(h2)将请求随机数的第一消息(getChallenge)发送到所述智能卡 (步骤180);以及(h3)从所述智能卡接收随机数(C);

在步骤(i),利用第一电子钱包标识符(PIDD)以第二消息 (getDepositTraces(PIDD,C))的形式将所述随机数(C)发送到对应于 所述系统的所有其它电子钱包的各智能卡,并且其中在步骤(i)接收的所述第一电子钱包(PD)的各保存踪迹数据 (TraceXD)进一步含有:●所述随机数(C);

●其它各电子钱包的电子钱包标识符;以及

●所述第一电子钱包标识符(PIDD)。

21.根据权利要求20所述的方法,其特征在于在各智能卡进一步 含有第四代用币恢复密钥(SKR)的系统中,其中,利用所述第四密钥 的所述保存踪迹数据签名被附加到在步骤(i)接收的所述保存踪迹数据。

22.根据权利要求21所述的方法,其特征在于在步骤(l)之前, 该方法进一步包括对应于所述第一电子钱包(PD)的智能卡完成的步骤:●利用所述第四密钥(SKR)验证所述保存踪迹数据的签名;以 及●验证包含在所述保存踪迹数据内的随机数(C)是否与在步骤 (h3)之前由所述智能卡产生的随机数一致;

只有当所述验证正确时,才执行步骤(l)和步骤(m)。

23.根据权利要求22所述的方法,其特征在于在步骤(l)之后, 该方法进一步包括对应于所述第一电子钱包(PD)完成的步骤:利用下列内容的最大数值更新所述第一电子钱包交易标识符 (TransIDD P):●所述第一电子钱包交易标识符(TransIDD P);以及●包含在逐1递增的保存踪迹数据(TransIDXD+1)内的各电子钱 包间交易标识符。

24.根据权利要求1或2所述的电子钱包系统,其特征在于该系统 的各智能卡进一步含有所述服务器在网络上的地址,并且其中利用与所 述网络连接的远程电子钱包系统,各设备可以进行远程代用币保存处理 过程和/或远程代用币接收处理过程。

说明书全文

技术领域

本发明一般地涉及在诸如互联网的网络上进行电子商务交易的电子 钱包,更具体地说,本发明涉及一种新电子钱包结构与在电子钱包之间 转移代用币(电子货币单位)的方法。

背景技术

与本申请同一日(2000年3月7日)提交的、同一申请人申请的标 题为“电子钱包系统”的另一个第00400606.0号欧洲专利申请披露了一 种具有客户机/服务器结构并包括多个电子钱包的电子钱包系统。关于客 户机/服务器结构电子钱包系统的专利申请对诸如机顶盒(STB)的设备 进行了披露并且该系统使得电子钱包间的操作安全。

发明内容

本发明提供一种在电子钱包系统中可以保证电子钱包间操作安全的 替换解决方案。
本发明涉及一种电子钱包系统,该系统包括n个可以在网络上进行 电子商务交易并含有智能卡阅读器的设备,其中n大于或等于1,并且 代表电子钱包的多个智能卡可以存储电子货币。这些设备通过局域网互 联,并且其中一个设备包括称为服务器的实体,该实体包括数据条目列 表,各数据条目对应于应从系统内其它电子钱包接收包含在代用币内的 电子货币的电子钱包。当代用币在电子钱包之间转移时,服务器临时存 储代用币。根据本发明,在代用币转移操作期间,利用只存储在智能卡 内的密钥对在设备和/或智能卡之间交换的消息进行保护。
本发明进一步涉及在这种电子钱包系统中注册电子钱包的过程,如 本说明书A-2部分所述。
本发明还涉及在这种电子钱包系统中将代用币从第一个电子钱包存 放到第二个电子钱包的过程,如本说明书A-3部分所述,并且本发明 还涉及在电子钱包中接收代用币的方法,如本说明书A-4部分所述。
此外,本发明还涉及代用币恢复过程,代用币恢复过程将在以下本 说明书的A-3部分所述的代用币存储过程存储到一个电子钱包,但还 未在以下本说明书的A-4部分所述的代用币接收过程被所述电子钱包 收到的代用币恢复。在本说明书的B部分说明此丢失代用币的恢复过程。
此外,本发明还涉及电子钱包系统,在此系统中,系统的各智能卡 进一步含有网络上的服务器地址,并且在此系统中,利用与网络连接的 远程电子钱包系统,各设备均可以进行在本说明书的C-1部分所述的 远程代用币的存储过程,和/或本说明书的C-2部分所述的远程代用币 的接收过程。

附图说明

现在,参考附图说明本发明的各种特征和优点及其优选实施例,对 于本发明范围,附图仅具有说明性而不具有限制性。
图1示出根据本发明的电子钱包系统的一般结构;
图2示出根据本发明的电子钱包系统的硬件结构实例;
图3示出存储在电子钱包系统的一个称为服务器的实体内的一些数 据;
图4示出在代用币从电子钱包系统的一个电子钱包转移到另一个电 子钱包的过程中包含的第一处理过程;
图5示出在代用币从电子钱包系统的一个电子钱包转移到另一个电 子钱包的过程中包含的第二处理过程;
图6示出将一个电子钱包注册到电子钱包系统服务器中的注册过 程;
图7示出将代用币从一个电子钱包转移到另一个电子钱包并附加安 全特征的第一处理过程;
图8示出将代用币从一个电子钱包转移到另一个电子钱包并附加安 全特征的第二处理过程;
图9示出说明丢失代用币恢复过程的实例;
图10描述丢失代用币的恢复过程;
图11示出电子钱包系统通过网络的互联情况;
图12和图13示出在电子钱包系统通过图11所示的网络互联情况下 将代用币从一个电子钱包转移到另一个电子钱包的远程处理过程。

具体实施方式

图1示出与家庭系统配置相一致的根据本发明的局域电子钱包系统 的一般结构。
正如从图1中所看到的那样,电子钱包系统具有三个实体:
-第一实体,连接到网络40(例如互联网),被称为服务器。 此实体负责电子钱包间的操作,以下将作更详细的说明;
-一组k个第二实体21至2k,也连接到网络40(例如互联网), 被称为客户机。此外,每个客户机还通过局域家庭网络连接到服务器;
-一组p个智能卡31至3p,为实现电子钱包的第三实体(其 中p为家庭中的人数)。因此,每个家庭成员均持有其专用电子钱包, 即智能卡。
利用这些不同的实体,各家庭成员就可以参与安全的电子商务活动。 事实上,智能卡为用户提供了一种安全有效地存储所有个人敏感数据(例 如:专用密钥、数字代用币、验证数据等)的方式。
图2示出此结构的硬件实现实例。在优选实施例中,利用在诸如机 顶盒、计算机、游戏台、移动电话或任何其它家用电器的设备中运行的 软件应用程序,可以实现实体“服务器”和“客户机”。
在图2所示的实例中,第一机顶盒10含有服务器应用程序101和一 个客户机1应用程序121。例如,第一机顶盒位于家庭住宅的起居室。位 于住宅另一个房间的第二机顶盒含有另一个客户机2应用程序122,例 如,位于小孩卧室的两个其它设备,游戏台12和计算机13分别含有客 户机3应用程序123和客户机4应用程序124。这些设备均设置了智能卡 阅读器130至智能卡阅读器133并均被连接到家庭网络250,家庭网络250 可以是IEEE1394有线网络也可以是无线网络。此家庭网络250为所有 设备10至13提供到网络的连接。
所有应用程序101、121至124均利用设备的某些资源来访问智能卡 130至智能卡133并访问局域网络和/或网络。
为了简化更多的讨论,除了被称为“服务器”的装置也含有客户机 应用程序之外,以下所使用的术语“服务器”和“客户机”既可以指应 用程序本身也可以指含有应用程序的设备。因此,当用户想进行电子理 财时(电子商务、代用币购买、电子钱包到电子钱包的代用币转移等), 他必须将其智能卡插入客户机的智能卡阅读器(在此,指设备),在客 户机中含有进行所有这些活动(大额支付协议,小额支付协议等)所需 的一切软件。
请注意,服务器还可以进行电子理财和电子业务管理,因为服务器 还含有客户机并且在极端的解决方案中,电子钱包系统仅含有一个具有 服务器应用程序和一个服务器应用程序的设备。
现在我们将解释电子钱包之间的操作过程。
与传统理财过程(电子商务、代用币购买、等)不同,电子钱包之 间的操作需要服务器的参与。在电子钱包之间进行这些操作所需的必需 信息集中在通过局域家庭网络(图2中的250)与所有客户机相连的服 务器。
在电子钱包之间转移代用币需要进行两个步骤:代用币保存和代用 币接收。在进行代用币保存操作期间,用户A从任何一个客户机为家庭 成员B预定保存x代用币。x代用币从用户A的电子钱包借记并临时存 储到服务器。下一次,当用户B将其电子钱包插入任何一个客户机时, 调用代用币接收操作从服务器下载x代用币。这样,利用服务器可以将 代用币从用户A的电子钱包转移到用户B的电子钱包。
结果,服务器含有所有可以从其它电子钱包接收代用币的注册电子 钱包列表,。注册电子钱包用于临时存储预定到电子钱包所有者的代用 币列表。
图3示出位于服务器上的这些内部数据的实例。在图3中,将被表 示为PA、PB和PD的三个电子钱包注册到服务器。对于电子钱包PA,没 有存储代用币意味着电子钱包PA没有从另一个电子钱包接收任何代用 币。对于PB,由(10,PA)表示的代用币T1表明电子钱包PB从电子钱包 PA收到10$(或10欧元,或在电子钱包系统中使用的任何10个货币单 位)。在下一次使用PB时,此代用币还将被转移到电子钱包PB。对于电 子钱包PD,在下一次使用PD时,将代用币T2(从电子钱包PA接收的20 个货币单位)和代用币T3(从电子钱包PB接收的1个货币单位)转移 到电子钱包PD。
因此,必须考虑代用币存入和代用币接收操作之外的第三个操作过 程,即电子钱包注册过程。此操作过程包括将电子钱包注册到服务器。 请注意,只有希望从家庭的其它电子钱包持有人那里接收代用币的用户 必须将其电子钱包进行注册。
现在根据图4说明被称为代用币保存处理过程的第一操作过程。
当拥有电子钱包PA的用户A要求向另一个电子钱包转移代用币时, 用户A首先将其对应于电子钱包PA的智能卡插入客户机并通过客户机 的用户接口选择用于向另一个电子钱包转移代用币的应用程序。然后, 用户A所连接的客户机(这意味着,在其上插入了代表电子钱包PA的 智能卡)向服务器发送请求(在图4所示的步骤50发送消息 “getPurseList”),服务器以“ListPurses(m,P/D1,...,P/Dm)”消息的形式 将具有注册电子钱包列表的响应送回(指定哪个可以接收代用币)(步 骤51),其中“m”表示注册电子钱包数而“P/D1,...,P/Dm”代表注册电 子钱包列表内的不同电子钱包的标识符。一旦客户机收到此列表,它向 用户A显示谁可以选择代用币转移的接收者PB以及将转移的数量。
接着,客户机将消息
“Deposit(amount,purse_recipient,purse_sender)”发送到服务器(步 骤52),其中“amount”表示转移的货币单位数量),“purse_recipient”为 接收者的电子钱包标识符(在此,它表示PIDB),“purse_ sender”为涉 及代用币发送者的信息。方便地是,此信息可以是发送者的电子钱包标 识符PIDA或用户A的姓名。当服务器收到此消息时,服务器就将代用 币Ti=(amount,PA)添加到在对应于电子钱包PB的条目存储的代用币列表 内。在本发明的简化实施例中,可以将“purse_sender”信息从“Deposit()” 消息中删除。在这种情况下,存储在服务器内的代用币仅含有“amount” 信息。
现在将参考图5说明称为代用币接收处理过程的第二操作过程。
用户B每次将其代表电子钱包PB的智能卡插入客户机时都完成此处 理过程,并且此处理过程用于访问服务器以下载在服务器内对应于电子 钱包PB的条目内存储的代用币。
只要在对应于电子钱包PB的服务器条目内存储有剩余代用币,则在 步骤60、61、60’、61’交换下列两条消息。
利用作为电子钱包标识符的“purse_id”(在此为PIDB),客户机将 第一条消息“GetNextToken(purse_id)”发送到服务器(步骤60、60’)。 收到此消息后,服务器将附加在purse_id条目的列表的第一代用币拷贝 并删除此代用币。然后,服务器将第二消息“Token(purse_id,amount)” 发送到客户机(步骤61、61’),其中“purse_id”为电子钱包标识符(在 此为PIDB),“amount”指出将转移的金额。当客户机接收此第二条消息 时,它就将所指出的金额贷记到电子钱包PB。
                       A-安全问题
在利用本发明的电子钱包系统进行电子商务活动以及电子钱包之间 的操作之前,用户必须确保系统不会被容易地攻击,并且,为此目的, 建议提供了足够安全级别的解决方案。
我们首先说明涉及由电子钱包系统进行的电子钱包间操作过程的安 全要求。然后,根据这些安全要求,说明能够确保电子钱包系统具有足 够安全级别的本发明安全解决方案。
以下列出对电子钱包系统的主要威胁:
●在服务器注册的电子钱包属于家庭之外的人;
●货币是非法臆造的;
●在电子钱包间操作期间,常常丢失代用币;
●为用户预定的代用币被家庭内部或外部的另一个用户偷窃。
因此,本发明建议的安全解决方案可以减少这些威胁并满足以下安 全要求:
●只有属于家庭成员的电子钱包可以注册到服务器(当然,此要 求并不是严格限制到实际的家庭成员也可以扩展到“认为”是 家庭成员的人。);
●防止臆造的货币;
●应能检测并恢复在电子钱包间的操作过程中丢失的代用币。
●应将代用币转移到指定的人。
1.配置
每个家庭均持有一组被家庭成员持有的电子钱包共享的密钥SK、 SKA、SKT和SKP(在下表1中对这些缩写进行解释)。在它们进行转 移之前,这些密钥被隐藏在电子钱包(即智能卡)内并且只有电子钱包 的制造商知道这些密钥。
以下我们假设一个家庭有p个电子钱包(即p个智能卡)并且有m 个电子钱包注册到电子钱包系统服务器(其中m≤p)。
根据本发明,用于保证电子钱包系统的电子钱包间操作安全的所有 密钥仅被存储到智能卡,即电子钱包系统的电子钱包。
每个电子钱包Pi(即每个智能卡SCard1至SCardp)含有如下表1中 所列的信息(其中1≤i≤p):       缩写/简写                    意义 SK 用于转移代用币的密钥 SKA 用于电子钱包注册的密钥 SKT 用于安全交易的密钥 SKR 用于恢复丢失代用币的密钥 Receive Trace(PIDi) 记忆从其它电子钱包接收代用币的踪迹,用于恢 复丢失的代用币(在后面的部分B解释) Deposit Trace(PIDI, PIDj) 记忆被电子钱包Pi保存到其标识符为PIDj的注册 电子钱包的代用币的踪迹(其中1≤j≤m),用于 恢复丢失的代用币(在后面的部分B解释) PIDi 唯一电子钱包标识符 Counter 存储在电子钱包内的货币单位数 TransIDi p 电子钱包接收的代用币的交易标识符,制造商将 电子钱包系统的初始值设置为0。
                       表1
服务器含有条目列表。各条目代表其电子钱包标识符为PIDi(其中 1≤i≤m)的注册电子钱包。条目含有如下表2中所列的信息:     信息                    意义 SSKA(PIDi) 注册电子钱包PIDi的签字标识符 SSKT(PIDi, TransIDS I) 为电子钱包PIDI存储的代用币的签字交易标识符 Tokens 为从其它电子钱包接收的电子钱包PIDi预定的代用 币列表 Indexi 在服务器上仍为电子钱包PIDi保留的代用币数
                       表2
请注意,在本说明书中,符号Sk(M)用于指定“M‖Sign(K,M)”, 其中“Sign(K,M)”为使用密钥K的消息M的签名或MAC(MAC代表 “消息验证代码”,欲知更详细情况请参考《Handbook of applied cryptography,Alfred J.Menezes,Paul C.van Oorschot,Scott A.Vanstone, 1997,第325页》),其中“‖”代表并置算符。
2.电子钱包的注册过程
如上所述,为了从其它电子钱包接收代用币,电子钱包必须注册到 负责电子钱包间操作的服务器。
因此,在用户B(例如:儿童)从用户A(例如:他/她的父母亲) 接收代用币之前,必须将用户B的电子钱包注册到服务器。
在本发明的优选实施例中,注册步骤能确保只有家庭成员可以将他 们的电子钱包注册到服务器。当然,这并不严格限制为实际家庭成员, 注册电子钱包也可以扩展到被“认为”是家庭成员的人。
因此,建议一个指定的家庭成员具有将全部家庭成员的电子钱包进 行注册的根权利。不同于其它家庭成员,只许可此优先权用户(以下被 称为根用户)可以完成此注册步骤。在电子钱包系统中,根用户被认为 是“第三信托方”,“第三信托方”将确保所有注册电子钱包均属于家庭 成员。
为了实现此功能,除了提供电子钱包系统的其它实体之外,电子钱 包系统制造商还提供专用智能卡,该智能卡的PIN(个人识别码)具有 管理权(“根”权)。以下将此专用智能卡简称“根卡”。将“rootPIN” 存储到根卡以提供一种验证试图进行注册步骤的用户是否为根用户的方 法。此外,在优选实施例中,执行此注册步骤的软件只优先存储到服务 器并且始终在服务器上进行此注册步骤。
在另一个实施例中,此根卡可以是一个电子钱包系统的电子钱包。
现在我们将参考图6更确切地说明如何根据优选实施例完成此注册 步骤的。我们假设用户X为根用户。当X想进行注册过程时,X首先将 根卡插入服务器。然后,为了进入注册过程,他输入rootPIN来证实他 确实就是根用户。
服务器以消息“register(rootPIN)”的形式将输入的rootPIN送到智 能卡(根卡)(步骤70)。然后,根卡验证所接收的rootPIN是否与根卡 内存储的rootPIN相符。
使用rootPIN可以确保只有被指定的人有权注册家庭电子钱包。这 样可以确保只有属于家庭成员的电子钱包可以注册到服务器。。
因此,如果验证确实是,则根用户就可以取出根卡并将代表希望注 册到服务器的电子钱包(例如属于用户B的电子钱包PB)的智能卡插入。
代表PB的智能卡创建标记标识符SSKA(PIDB)和标记交易标识符SSKT (PIDB,TransIDB S),其中利用存储在PB内的TransIDB P将TransIDB S初 始化。请注意,在系统安装时,将TransIDB S初始化为0。
SSKA(PIDB)防止电子钱包标识符PIDB在传输期间或在存储到服务 器时被改变。
SSKT(PIDB,TransIDB S)用于将为电子钱包PB保存的代用币的交易 标识符TransIDB S初始化。TransIDB S与PIDB有关并利用密钥SKT对 TransIDB S进行标记。这样可以防止TransIDB S在传输期间或在被存储到 服务器时被改变。
智能卡以消息“RegInfo”的形式将此信息发送到服务器(步骤71)。 然后,服务器为电子钱包PB创建条目并将包含在RegInfo内的信息存储 到此条目。
对将要注册的m个电子钱包内的每个电子钱包重复这些步骤。
请注意,改变在服务器的一个条目内存储的PIDB或TransIDB S将导 致代用币被其所预定的电子钱包所拒绝,因此,会导致丢失这些代用币。
此外,在最初系统安装时优先进行此注册过程。还请注意,在由于 技术故障或破坏性攻击使服务器丢失注册电子钱包信息的情况下,应经 过同样过程重新注册电子钱包。
在注册过程的变换实施例中,根卡含有电子钱包系统的所有电子钱 包的电子钱包标识符PIDi以及密钥SKA和SKT。在此特定实施例中, 在系统安装时进行注册过程并且无需插入代表服务器内电子钱包系统的 电子钱包的所有智能卡。在步骤71对每个注册电子钱包发送的RegInfo 消息均是由根卡利用含有被初始化为0的标记交易标识符信息建立的。 因此,例如对于电子钱包PB,RefInfo含有:
RegInfo=SSKA(PIDB),SSKT(PIDB,0).
此变换注册过程只可以在系统安装时使用,并且当再一次注册一个 电子钱包时(例如,当服务器丢失注册此电子钱包的信息时)仍可以使 用以上根据优选实施例说明的过程。
3.代用币保存过程
图4示出代用币保存过程的一般原理。现在将说明在第一处理过程 使用的改进的安全协议,并将此改进的安全协议示于图7。
假设具有电子钱包PA的用户A想为另一个电子钱包PB保存一些代 用币。用户A首先将代表电子钱包PA的智能卡插入客户机并在客户机 上选择代用币保存应用程序。然后,在步骤150,客户机将消息 “getPurseList”送到服务器请求已注册电子钱包的列表。
收到此消息后,在步骤151,服务器将消息“PID1,...,PIDm”内的 已注册电子钱包的标识符列表送回客户机。客户机向用户出示此列表, 然后用户选择接收者电子钱包标识符PIDB。
此后,在步骤152,客户机将消息“getPurseInfo(PIDB)”送到服务 器请求某些有关已选择的接收者电子钱包的信息。接着,服务器产生含 有在服务器上对应于PIDB的条目内存储的局域数据的“PurseInfo”消息。 “PurseInfo”消息含有标记的电子钱包标识符SSKT(PIDB)和标记的交易 标识符SSKT(PIDB,TransIDS B),并在步骤153,将“PurseInfo”消息送到 客户机。利用签名SSKA和SSKT,在传输期间PIDB和TransIDS B就不会被 改变。
TransIDS B是逐渐增加的整数,并以服务器局域数据的形式存储到对 应于已注册电子钱包PB的条目内。它记忆从电子钱包PB注册后对电子 钱包PB保存的代用币数。保存的代用币数被临时存储到服务器并在下一 次使用电子钱包PB时通过“代用币接收”过程将保存的代用币数据传送 到电子钱包PB。如上所述,将交易标识符TransIDB S初始化为在注册阶 段存储到电子钱包的电子钱包交易标识符TransIDB P的值(在系统安装时 该值为0)。然后,当对电子钱包PB将代用币保存到服务器时,它就递 增。
当客户机接收“PurseInfo”消息时,在步骤154,它就将消息 “debitToken(N,PurseInfo)”发送到代表电子钱包PA的智能卡(将智能 卡插入客户机)。此消息待发送到电子钱包PB的N个货币单位款项借记 到电子钱包PA。
收到“debitTokens(N,PurseInfo”消息后,智能卡(对应于电子钱包 PA)完成下列操作:
●智能卡利用密钥SKA校验电子钱包标识符PIDB的签名;
●智能卡利用密钥SKT校验交易标识符TransIDB S的签名;
●如果这些验证正确,则智能卡产生随机数C;
●智能卡将电子钱包PA的计数器递减N个货币单位;
●智能卡产生标记代用币“SSK(N,PIDB,TransIDB S,PIDA,C)”,该 标记代用币意味着将电子钱包PA中的N个货币单位预定给电子 钱包PB;
●智能卡递增接收的交易标识符TransIDB S并产生签字的递增交易 标识符“SSKT(TransIDB S++)”;以及
●在步骤155,智能卡以消息“TokenInfo”的形式将签字的代用币 和签字的递增交易标识符送到客户机。
由于代用币被家庭内电子钱包所共享的密钥SK签字,所以攻击者 不可能伪造或改变代用币。此外,由于PIDB包含在代用币表示中,所以 攻击者不可能偷窃预定给另一个家庭成员代用币。将交易标识符 TransIDB S引入代用币以防止重复攻击并且包含在代用币内的随机数C对 通过分析输出的密码文本解密智能卡密钥SK的攻击进行计数。
此外,在另一个简化实施例中可以省去在代用币内包含的信息 PIDA。
当客户机接收“TokenInfo”消息时,它就在步骤156以命令消息 “putTokens(TokenInfo)”的形式将此消息转发到服务器。收到此命令后, 服务器将相应代用币存储到电子钱包PB的条目内,服务器递增Index并 用以TokenInfo消息形式接收的递增交易标识符更新标记交易标识符 TransIDB S。
4.代用币接收过程
已参考图5说明了代用币接收过程的基本原理。我们现在说明在电 子钱包间操作的第二处理过程中使用的改进保密协议,并将该协议示于 图8。
每次进行此处理过程时,用户均将他/她的智能卡,即电子钱包插入 客户机。在此,假设用户具有标识符为PIDB的电子钱包PB。
对于客户机,第一步骤160在于将消息“getPID”发送到智能卡以 请求电子钱包标识符。通过在步骤161将电子钱包标识符PIDB发送到客 户机,智能卡响应此请求。然后,客户机将消息“GetNextToken(PIDB)” 发送到服务器(在步骤162)以取出在服务器上存储的下一个代用币。
收到此消息后,服务器校验代用币是否被存储到对应于电子钱包 PIDB的条目。如果没有为电子钱包PIDB保存代用币,则服务器将“-1” 发送到客户机(在步骤163)。否则:
●服务器取出在对应于PB的条目中存储的第一个代用币(事实上 是标记代用币“T1=Ssk(N,PIDB,TransIDB S,PIDA,C)”);
●服务器递减条目PB的IndexB,IndexB指出仍然保留在服务器条 目PB上的代用币数;以及
●在步骤163,服务器将IndexB和代用币发送到客户机。
如果在步骤163客户机未收到“-1”,则它就以在步骤164发送的 命令消息“CreditToken(Token)”的形式将代用币转发到电子钱包PB。
当电子钱包PB通过creditToken命令收到代用币时,通过验证是否 满足下列条件,它就对代用币的有效性进行校验:
●VSK(Ssk(N,PIDB,TransIDB S,PIDA,C))==N,PID,TransIDB S,PIDA; C(验证接收的代用币的签名);以及
●TransIDB S≥TransIDB P
其中密钥SK、电子钱包PID以及电子钱包校验标识符TransIDB P由 用户电子钱包PB产生;其中从接收的代用币复制询问C、电子钱包发送 器标识符PIDA、服务器交易标识符TransIDBS以及货币单位数N;以及, 如果利用密钥SK来标记消息M,则“VSK(SSK(M))==M”。
电子钱包交易标识符TransIDB P为存储在电子钱包PB内的逐渐增加 的整数。它记忆从电子钱包PB接收的代用币数据。从服务器下载这些代 用币。当电子钱包系统制造商注册电子钱包时,将电子钱包记忆标识符 初始化为0。收到代用币后,电子钱包验证TransIDB P是否等于或小于包 含在代用币内的服务器交易标识符(TransIDB S)。如果此验证与代用币 签名的验证均为正确,则电子钱包将其帐目数递增N并将其交易标识符 由TransIDB P更新为TransIDB S+1。利用此特征,相同的代用币使用次数 不会多于1次以贷记到电子钱包。
接着,如果(在步骤163接收的)IndexI大于0,则重复进行验证之后 的步骤162至步骤164和由电子钱包PB完成的上述处理。
                   B-丢失代用币的恢复
根据上述安全解决方案,可以确保只有家庭成员拥有的电子钱包可 以注册到电子钱包系统中。此外,在电子钱包间操作期间,代用币永远 不会被伪造、改变、重复或偷窃。
此外,没有能够防止代用币被丢失的解决方案。由于诸如局域网或 电子钱包系统的机顶盒发生技术故障等某些偶然错误均会引起代用币丢 失。类似删除存储在服务器内或传输中的代用币等的破坏性攻击也会导 致代用币丢失。
因此,在本发明的优选实施例中,在电子钱包系统内实现能够识别 并恢复丢失的代用币的审计过程。
当且仅当从电子钱包PA或PB借记但又没有贷记到电子钱包PD时, 代用币被定义为被丢失。这里我们用实例来说明PA和PB通过服务器1 将代用币发送到PD的处理过程,如图9所示。
1.开始此处理过程
当PD的持有人声称(错误地或正确地)他还未从电子钱包PA和PB 收到代用币时,就开始进行审计处理过程。另一个解决方案是周期性调 用审计处理过程。
电子钱包系统的根用户在局域进行审计处理过程。根用户必须收集 家庭成员的所有电子钱包(即代表家庭成员电子钱包的所有智能卡)。 该处理过程由电子钱包系统的服务器完成。
在审计处理期间,为了恢复丢失的代用币,将对存储在所有电子钱 包(PA、PB、PC)的“交易踪迹”进行研究。
2.用于审计的交易踪迹
对于电子钱包PA和PB,它们存储预定给电子钱包PD的“Token depositing”交易的踪迹,被注解为:
DepositTraces(PX,PD)=
TransIDXD为电子钱包间的交易标识符,sum_of_depositedXD为电子 钱包间保存计数。
换句话说,每次当电子钱包PX将含有N个货币单位的1个代用币 和服务器交易标识符TransIDD S保存到电子钱包PD时,TransIDXD被更新 为TransIDD S并且将N加到sum_of_depositedXD。电子钱包间操作(代用 币保存过程和代用币接收过程)的定义可以确保transIDXD保持逐渐递增 的顺序。请注意,本例中X可以是A或B。
对于电子钱包PD,电子钱包PD存储由电子钱包PA和PB发出的“代 用币接收”交易踪迹,被注解为:
Receive Traces(PD)=sum_of_receivedD
其中sum_of_receivedD为接收计数。
换句话说,每次当电子钱包PD恢复含有由电子钱包PX发送的N个 货币单位的1个代用币时,将N加到sum_of_receivedD。
3.根据交易踪迹识别丢失的代用币
根据电子钱包间操作的定义,可以证明:
●始终保持∑Xsum_of_depositedXD≥sum_of_receivedD,意味着不可 能进行代用币伪造;
●如果∑Xsum_of_depositedXD=sum_of_receivedD,则没有代用币 被丢失;
●如果∑Xsum_of_depositedXD>sum_of_receivedD,则某些代用币被 丢失。
给PD预定的代用币的丢失量等于:
LostTokens(PD)=∑Xsum_of_depositedXD-sum_of_receivedD
4.丢失代用币的恢复
为了恢复丢失的为PD(含有当前电子钱包交易标识符TransIDD S) 预定的代用币,应完成4部操作:
●第一步,LostTokens(PD)贷记PD的帐目;
●第二步,将电子钱包交易标识符更新为Max(TransIDD P,TransIDXD +1);
●第三步,将sum_of_receivedD设置为0;
●第四步,对于电子钱包PX,将sum_of_depositedXD设置为0,其 中在本例中X可以为A或B。
请注意,第二步操作的目的在于防止下列攻击:PD持有人保持预定 给他的代用币并声称丢失了那些代用币。如果PD的交易标识符未被更 新,则通过“代用币接收”操作,他可以恢复那些代用币。此攻击会导 致制造货币。
5.保密审计过程
图10示出允许借助于在家庭成员电子钱包内存储的交易踪迹恢复丢 失的预定给电子钱包PD的代用币的保密审计过程。
在第一步(图10中未示出),正如在注册过程一样,根用户必须将 根卡插入服务器并在允许进行保密审计过程之前输入根PIN。
然后,在第二部,根用户将电子钱包PD插入在步骤180向电子钱包 PD发送消息“getChallenge”请求电子钱包PD产生随机数C的服务器。 收到此消息后,电子钱包PD产生并存储询问C,然后在步骤181,电子 钱包PD将C发送到服务器。此随机数C被存储到电子钱包PD和该服务 器。利用C,在另一个审计过程执行期间的一个过程的执行期间就不可 能重播消息。
然后,根用户将家庭成员的所有其它电子钱包(本例中为PA和PB) 插入。对于插入服务器的各电子钱包PX,服务器首先将消息 “getDepositTraces(PID,C)”发送到电子钱包PX(图10中所示的步骤182 和步骤184)。根据此消息,利用存储在电子钱包PX内的 “DepositTrace(PIDX,PIDD)”字段,电子钱包PX产生如下消息:
TraceXD=SSKR(TransIDXD,sum_of_depositedXD,PIDX,PIDD,C)
在步骤183和步骤185将此消息发送到服务器。
然后,当电子钱包PX将TraceXD消息发送到服务器时,将存储在PX 内的DepositTrace(PIDX,PIDD)的sum_of_depositedXD字段设置为0。
利用密钥SKR,为电子钱包PD预定代用币的电子钱包PX将TraceXD 消息标记。因此,没有人能够伪造或改变此消息。SKR是在丢失代用币 的恢复过程中使用的密钥。与其它密钥相同,它也被电子钱包系统制造 商存储到代表电子钱包的智能卡并被家庭成员所共享。
随机数C(在步骤182、步骤184以“getDepositTrace”消息的形式 发送的由电子钱包PX接收)被引入TraceXD消息以对可能的重播攻击进 行计数(例如:如下所述,重播recoverTokens消息)。
将服务器接收的所有TraceXD消息存储到服务器内与电子钱包PD对 应的条目。
然后,当根用户成功将家庭成员的所有其它电子钱包引入服务器并 去除时,他最终将电子钱包PD重新引入服务器。
接着,在步骤186,通过recoverTokens命令,将所有TraceXD消息 发送到PD。
PD收到TraceXD消息后,则通过验证是否满足下列条件,对TraceXD 的签名进行校验:
VSKR(SSKR(TraceIDXD,sum_of_depositedXD,PIDX,PIDD,C)==TransIDXD, sum_of_depositedXD,PIDX,PID,C;
其中密钥SKR,电子钱包标识符PID以及询问C从电子钱包PD获 得;
其中从接收的TraceIDXD消息拷贝TransIDXD、sum_of_depositedXD以 及PIDX;以及
其中如果利用密钥SKR将消息M标记,则“VSKR(SSKR(m)))==M”。
然后,如果验证正确,则利用电子钱包PD进行如下计算:
LostTokens(PD)=∑Xsum_of_depositedXD-sum_of_receivedD =sum_of_depositedAD+sum_of_depositedBD-sum_of_receivedD
其中从在PD内存储的ReceiveTraces(PD)内取sum_of_receivedD。
此计算的结果给出由于丢失代用币而丢失的货币单位数N。此数N 被贷记到PD帐目。
然后,正如上述第4点所说明的那样,PD的交易标识符被更新:
TransIDD P=Max(TransIDD P,TransIDAB+1,TransIDBD+1)
最后,将ReceiveTraces(PD)的sum_of_receivedD字段设置为0。
此外,请注意,在开始进行这里说明的保密审计处理过程之前,根 用户负责收集家庭成员的所有电子钱包。否则,某些丢失的代用币就不 能被恢复。
                     C-远程访问模式
利用图1所示的根据本发明的电子钱包系统的结构,可以通过如图 11所示的网络240将几个电子钱包系统200...300互联。
在图11中,我们示出:
●第一电子钱包系统200,它包括:服务器201、一组客户机221 至22k以及一组代表第一家庭的电子钱包231至23p的p个智能 卡;以及
●另一个电子钱包系统300,它包括:服务器301、一组客户机321 至32I以及一组代表另一个家庭的电子钱包331至33q的q个智 能卡。
服务器201、301以及客户机221至22k,客户机321至32I均被连 接到网络240(例如:因特网)。
利用此被扩展的结构,可以在几个局域电子钱包系统之间进行电子 钱包间的操作,因此,根据接收者电子钱包(在代用币保存处理过程情 况下)或根据局域客户机(在代用币接收处理过程情况下),可以在本 地或在远程实现以上部分A-3和部分A-4所说明的电子钱包间的操 作。
更准确地说,用户A连接到如愿电子钱包系统,并且每次他将代表 其电子钱包的智能卡插入如愿电子钱包系统的客户机时均可以从家庭的 任一电子钱包接收代用币,无论如愿电子钱包系统是在住宅的内、外, 用户A均可以向家庭的另一个电子钱包发送其电子钱包内的代用币。
利用各电子钱包系统服务器均被连接到网络(例如:因特网)并具 有在网络上用于识别服务器并被所有家庭成员所知的唯一IP地址(“IP” 代表“因特网协议”)的事实,可以实现此特征。优先将服务器的此IP 地址存储到家庭的智能卡,例如在系统初始化时。
我们现在将根据上述(部分A-3和部分A-4中所述的)保密协议 来说明如何进行远程电子钱包间的操作。
1.远程代用币保存过程
图12示出此过程。
假设具有第一电子钱包系统电子钱包PA的用户A欲将含有N个货 币单位的代用币保存到在属于同一个电子钱包系统的服务器S注册的电 子钱包PB。
用户A将其代表电子钱包PA的智能卡插入与局域服务器S’相连的 客户机。
首先,在步骤251,将存储在PA内的服务器S的IP地址发送到客户 机。然后,客户机校验接收的IP地址是否是一个局域服务器S’。
如果S和S’为同一个服务器,则选择局域模式并且处理过程与上述 参考图7所述的处理过程相同。否则,如果S’与S属于不同的电子钱包 系统,则选择远程模式。
在此,我们假设S与S’为不同电子钱包系统上的不同服务器并选择 了远程模式。
在这种情况下,在下一步骤252,客户机将第一消息“getPurseList(IP address S)”发送到服务器S’。除了在远程模式下,其上注册了接收者电 子钱包PB的服务器S的IP地址被附加到该消息之外,此消息与在图7 所示的步骤150发送的消息相同(由于后面有其它消息)。在下一步骤 253,服务器S’通过网络240以公知的方式利用服务器S的IP地址将此 消息转发到服务器S。
收到此消息后,在步骤255,通过将注册的电子钱包“PID1,...,PIDB, PIDm”列表发送到将此消息转发到用户A连接的客户机的服务器S’,服 务器S作响应。
客户机向可以选择接收者电子钱包PB的用户A显示接收的列表并 显示将发送到PB的金额数N。然后,在步骤256,客户机将消息 “getPurseInfo(PIDB)”发送到服务器S’(与图7所示的步骤152相同), 在步骤257,服务器S’将此消息转发到服务器S。在步骤258,通过将 “PurseInfo”消息发送到服务器S’(与图7所示的步骤153相同),服务 器S作响应,在步骤259,服务器S’将“PurseInfo”消息转发到用户A 连接的客户机。
收到此“PurseInfo”消息后,在步骤260,客户机将与在图7所示 的步骤154发送的消息类似的“debitToken(N,PurseInfo)”消息发送到 代表电子钱包PA的智能卡。
接着,通过利用密钥SKA和密钥SKT校验电子钱包标识符PIDB的 签名和交易标识符TransIDB S的签名,智能卡(或电子钱包PA)验证 “PurseInfo”的内容。
请注意,各电子钱包系统具有其专用密钥SK、SKA、SKT和SKR, 这些密钥被嵌入家庭成员的电子钱包并且一个电子钱包系统密钥与另一 个电子钱包系统的密钥不同。在这种情况下,如果电子钱包PA与电子钱 包PB属于同一个电子钱包系统,则它们共享相同一组密钥SK、SKA、SKT 和SKR并且PA可以验证“PurseInfo”消息的内容。
参考图12,如果对“PurseInfo”消息内容的验证正确,则在步骤261, 电子钱包PA以消息“TokenInfo”的形式将标记代用币和标记递增交易 标识符发送到客户机(与图7所示的步骤155发送的消息相同)。
当客户机收到“TokenInfo”消息时,它就在步骤262以命令消息 “putTokens(TokenInfo)”的形式将此消息发送到服务器S’,在步骤263, 服务器S’将此消息转发到服务器S。
收到此命令后,服务器S将相应的代用币存储到电子钱包PB的条目 并进行与上述图7所示的步骤156之后的相同过程。
2.远程代用币接收过程
参考图13说明此过程。
现在,我们假设用户B已将其电子钱包PB注册到第一电子钱包系 统的服务器S并且用户B希望接收发送到其电子钱包的代用币并将此代 用币登记到服务器S。
或者在用户将其代表电子钱包的智能卡一插入与局域服务器S’连接 的客户机就开始代用币接收过程,或者当用户通过客户机的用户界面选 择开始此过程时开始代用币接收过程。在此,我们假设用户B已将其电 子钱包PB插入客户机并开始进行代用币接收过程。
在第一步骤270,客户机将消息“getPID”发送到代表电子钱包PB 的智能卡。电子钱包通过发送其电子钱包标识符和它所注册的服务器S 的IP地址(在步骤271发送的消息“PIDB,IP address S”)作响应。
当客户机收到此消息时,它就校验接收的IP地址是否是它所连接的 或是在局域模式与远程模式之间不选择的局域服务器S’的IP地址。如 果S和S’为相同的服务器,则选择局域模式并且代用币的接收过程与上 述根据图8所示的代用币接收过程相同。否则,选择远程模式。
以下,我们假设S和S’为不同电子钱包系统内的不同服务器并且对 于代用币接收过程选择远程模式。
在这种情况下,在步骤272,客户机将消息“GetNextToken(PIDB,IP address S)”发送到局域服务器S’。当服务器S’接收此消息时,它就校验 此消息内的IP地址并且如果此IP地址与其本身的IP地址不一致,那么, 就在步骤273通过网络240将此消息转发到服务器S。
服务器S收到此消息时,它就与上述根据图8所说明的当服务器在 步骤162收到消息“GetNextToken(PIDB)”时的相同方式进行处理。如 果在服务器S上至少为电子钱包PB保存了一个代用币,则服务器在步骤 274将消息“IndexB,Token”(与图8所示的步骤163发送的消息相同) 送回服务器S’,然后,在步骤275,服务器将此消息转发到用户B所连 接的客户机。
接着,在步骤276,客户机以与在图8所示的步骤164发送的命令 消息相同的命令消息“CreditToken(token)”的形式将代用币转发到电子 钱包PB。代表电子钱包PB的智能卡进行与根据图8说明的在步骤164之 后进行的验证和操作相同的验证(利用存储在智能卡内的密钥SK)和 操作。
智能卡完成上述验证和操作之后,当IndexB(在步骤275接收的) 大于0时,重复步骤272至步骤276。