在用于银行业务交易的电子系统中用于用户身份的安全认证的系统的制作方法

文档序号:20502243发布日期:2020-04-21 22:50阅读:296来源:国知局
在用于银行业务交易的电子系统中用于用户身份的安全认证的系统的制作方法

本发明涉及一种实现用户认证方法的系统,该系统可以替代或补充当前正在使用的系统,并且可以由自动取款机和支付系统通过其操作的银行间网络使用,更具体而言,本发明涉及一种在用于银行业务交易的电子系统中用于用户身份的安全认证的系统。



背景技术:

就安全性而言,相比于进行支付的人,银行和信用卡电路目前使用的支付系统实际上为接收支付的经济运营商提供了更好的保护。

这是由于几种原因,最重要的一个原因与以下事实相关:接收支付的经济运营商是商业公司,为了使用电子支付服务(即,pos),商业公司向自己的银行支付固定费用和可变费用;因此需要确保服务(因而,实际支付)的最高可能的安全性级别。

在大多数情况下,此类运营商受益的支付通过pos系统和服务发生。pos(销售点)既指电子设备,也指相关联的银行业务服务,它允许卖方直接在其银行账户上接受和兑现借助于电子货币(即,信用卡、借记卡和预付卡(下文中将此类信用卡、借记卡和预付卡统称为“支付卡”))从债务人客户进行的电子支付。

已知几种情况,其中,由于pos系统或设备非常缺乏安全性,进行支付的用户遭受未经授权从其自己的支付卡提款的情况。同样,支付卡克隆和从atm虚假现金提取的现象扩大了非法使用支付卡的问题。

大多数利用创新过程和技术来确保交易安全性的支付系统都基于pos原理,即,向第三方传送进行支付的用户的卡和pin(个人标识码,即,为了授权通过销售点处使用的设备的交易以进行支付而使用的秘密数)的数据。例如,在专利us8763142b2(令牌化支付处理方案)中,使用令牌代替正常支付卡号来进行支付。令牌被传送到卖主的计算机化终端并被用作信用卡号的替代品。由于令牌与对应的支付卡号之间缺乏相关性,从而保证了这种系统的安全性。在远程支付的情况下,这种系统遭受来自潜在消息拦截者的答复攻击的典型漏洞:任何拦截具有令牌的消息的人都可以使用令牌以自己的喜好完成交易,而不必更改大多数消息数据;实际上,他将能够生成与服务提供商的独立交易,并且服务提供商将像他是正常卖方一样进行支付。

其它系统(诸如例如us2014297537中所述的系统)允许卖方或一般而言,第三方,取得支付方的机密数据的访问。这种访问可能性削弱了对支付方及其数据的安全性的任何保证,这可能成为恶意用户攻击的目标。

已经提出了其它系统,其中支付方的数据永远不能被第三方访问,例如在专利us8,720,771b2中描述的那样,其中支付方通过与支付系统的服务器交互来支付,该服务器向支付方返回唯一代码,支付方必须将其展示给卖方/债权人。该系统不能完全保证卖方或一般而言,必须接收支付的人,尤其是在远程销售中,其中唯一代码需要被传输给卖方。专利us8,720,771b2的另一个缺点是卖方必须认证支付系统,以便确保接收到的唯一代码是在实际支付时生成的;与模仿支付服务器的恶意服务器的任何交互都可能导致无法向供应商支付。

缺乏实际已经支付的担保是已针对此问题提出的许多专利的限制(例如,参见欧洲专利申请ep2702572-a1),这些专利没有借助于健壮的系统确保向卖方或债权人证明已实际接收到支付。

其它基于移动设备使用的支付系统提出了对终端的一些修改,以使其实际上类似于pos,但是它需要能够以某种方式读取支付卡;需要对用户终端的硬件部分进行的对移动终端的修改阻碍了这种解决方案的普及,就像专利us8,606,711中描述的那样。

同样,专利us9092777b1(信用卡令牌化技术)也用卖方用于开始支付交易的令牌替换信用卡号。

其它专利,诸如例如专利us2017/0093811,试图将必须保密的部分(例如随机数或,一般而言,“秘密”)细分成n份。因此,专利us2017/0093811遵循阿迪·沙米尔(adishamir)的理论,根据该理论,知道一定数量的k份就足以能够重建秘密,其中k小于数字已被细分成的n份。实际上,在专利us2017/0093811中,k份是通过k条不同的路径发送的,这是基于潜在的攻击将无法截获所有k条路径的事实。如果攻击者成功做到这一点,那么他实际上将能够重建“秘密”。如将关于本文给出的本发明所解释的那样,攻击者没有理论上已知的手段来仅从他可能已经截获的一部分开始重建整个随机数或“秘密”。无论如何,在本发明中将不采用上述阿迪·沙米尔的理论。



技术实现要素:

因此,本发明的目的是提出一种用于在用于银行业务交易的电子系统中用于用户身份的安全认证的系统,该系统可以克服所有上面提到的缺点。

本发明涉及一种在用于银行业务交易的电子系统中用于用户身份的安全认证的系统,所述系统包括至少一个经受所述安全认证的第一用户装置,以及与彼此和与所述第一装置进行双向通信的一个或多个其他装置,其特征在于:

-所述第一装置和属于所述一个或多个其他装置的第二装置包括生成由任何数量的数位(digit)组成的随机数的平等系统,所述随机数分别被划分为第一部分和第二部分,它们是互补的并且是所述随机数的子集;

-所述第一装置包括用于通过所述生成系统生成所述第一部分并将其发送到所述第二装置的单元;

-所述第二装置包括用于通过所述生成系统经由所述随机数中的一个或多个的生成来生成所述第二部分的单元,每个所述随机数的特征在于对应的第一部分,以及用于将由此生成的所述对应的第一部分与从所述第一装置接收到的所述第一部分进行比较、确定与对应的第一部分相关联的所述第二部分等于接收到的第一部分的单元,以及用于将所述第二部分发送到所述第一装置从而获得与所述第一装置相关联的用户身份的安全认证的单元。

本发明的另一个目的是提供一种用于银行业务交易的电子系统,该电子系统包括所述用于用户身份的安全认证的系统。

本发明的另一个目的是提供一种用于银行业务交易的用户终端,该用户终端包括所述用于用户身份的安全认证的系统。

本发明的一个特定目的是提供一种如权利要求中阐述的用于在用于银行业务交易的电子系统中的用户身份的安全认证的系统,其中权利要求是本描述的组成部分。

附图说明

通过参考附图对本发明的优选实施例(及其变型)的以下详细描述,本发明的另外的目的和优点将变得清楚,所述附图仅以非限制性示例的方式提供,其中:

图1至4示出了由根据本发明的用于用户身份的安全认证的系统所执行的步骤序列的一些变型;

图5至9和17、18示出了在通用终端上应用所述步骤序列的一些变型。

图10至13示出了在银行业务终端上应用所述步骤序列的一些变型。

图14至16示出了所述步骤序列的一些操作流程图。

在附图中,相同的附图标记和字母识别相同的项或部件。

具体实施方式

本发明涉及用于用户身份的安全认证的系统,该系统使用一系列高安全性过程(或算法)来进行可通过便携式或固定设备(诸如智能电话、智能卡、个人计算机等)实现的现金支付或提款。

本发明提供的优点是,它保证收款人(以下被称为卖方或债权人)的交易,并为支付方提供了更好的安全性。

本发明将描述可以由处理器执行的一些方法、计算机系统和信息技术,用于实现在三个主要装置之间自动化并分布的所谓的“应用编程接口”(api):支付方用户装置的api,以下被称为apia;债权人(或卖方,如本文所述的许多示例中使用的)用户装置上的api,以下称为apib;提供从a到b的支付服务的服务提供商的系统和/或装置的api在下文中将被称为apis。api的第四个系统,即,那些银行业务系统或管理支付卡或银行账户访问(或者,更一般地,用户a或用户b的支付账户)并与apis、apia和apib接口的api,将被称为apiz。

对于连接apia、apib、apiz和apis有用的网络可以是任何种类:通过射频装置的本地连接(诸如由rfid(射频识别)所使用的)、lan(局域网)、由摄像机传输的光学数据、wifi连接、3g或lte(长期演进)或4.5g或5g移动连接、互联网网络或通过互联网协议(ip)或通过光纤等的任何连接以及此类技术的未来演进。连接也可以经由通过聊天系统(诸如例如whatsapp、facebookmessenger、微信、电报、短消息服务(sms)、mms、电子邮件等)的消息传递来实现。

上述api可以在所谓的聊天机器人中使用。聊天机器人(chatterbot或chatbot)是被设计用于通过使用语音或文本模拟与人类的智能对话的软件,并且主要用于通过在消息或对话中使用自然语言来实现服务。

根据本发明的一些基本方面,提供了用于生成由任何数量的数位组成的随机数m1;这样的数m1被划分为两个部分:sgn和csgn。sgn和csgn这两个部分是互补的并且是m1的子集,因此,本领域技术人员可以用来从m1导出sgn和csgn的方法很多。

仅举例来说,sgn可以是通过提取m1的偶数位置上的数位获得的数,而csgn可以是从m1的奇数位置上的数位获得的数,如图1的1003中所示(另参见图2-4)。

以下将提供sgn和csgn的使用的一般描述。

两个实体或装置α和β共享用于生成m1的相同算法和用于认证或签名给定消息的相同初始化。

因此,α可以将sgn发送到β,并等待β用csgn答复,如图5中所示。为了用csgn答复,已接收到sgn的实体β将必须计算一个或多个m1,直到接收到的sgn与计算出的m1之一匹配为止,β将通过发送与接收并计算的sgn对应并关联的csgn来进行答复,从而完成认证。

为了使错误匹配的可能性降低,在sgn的与csgn的数位相等的一些数位之间引入一些重叠是有用的,如图1的1003中所示。

sgn和csgn之间的重叠数位的数量可以不同:重叠的数位越多,发生错误匹配的可能性就越小。重叠的数位的数量是系统可以以如下方式配置的特征:如果系统无法处理错误的匹配,那么增加重叠的数位的数量。相反,如果在发生错误的匹配时系统可以检测到该错误并进行第二次尝试,那么该系统可以具有较少重叠的数位。拥有具有可配置的部分重叠的两个数字的可能性构成了本发明的一种可能的实现方式。在主要实施例中,在其中发送sgn和csgn的消息的开头或结尾处添加构成sgn和csgn的数位的校验和的几个字节。如已知的,校验和是与正在传输的分组相关联的比特序列,用于验证在通信信道上的传输期间可能经历更改的数据或消息的完整性。

因此,每次当接收到sgn或csgn时,系统将在检查接收到的数位与本地生成的数位匹配之前对接收到的数据进行基于校验和的完整性检查。

在获得对应性之前计算许多m1而非仅一个m1的选项被称为“工作证明(proofofwork)”。“工作证明”是处理器在找到与接收到的sgn对应的一个m1之前必须使用以计算不同的m1(例如,超过一千个)的机器时间。因此,取决于所需的安全性级别,在有或没有“工作证明”的情况下,都可以发生sgn匹配。

因此,“工作证明”是本发明的可选特征,对于提高安全性级别是有用的。a和β之间的消息的拦截者将无法通过读取sgn来重建csgn,因此csgn可以以非常通用的方式被使用,例如用于:

a)证实消息的接收,

b)证实任何种类的交易,例如银行业务或支付交易,

c)认证通信中的身份。在这种情况下,对话者(interlocutor)可以被认证而无需第三方的任何调解;因此,如果a和β想要在网络通信中依赖附加的认证模式,则它们可以实现本文提出的系统和方法。

可以通过已知算法(伪随机生成器,诸如例如yarrow、rule30、xorshift、freebsd、aix、osx、netbsd等)生成码m1。

为了生成m1,除了上面提到的已知算法之外,还有可能使用构成本发明的替代实施例的具体解决方案。

为此,让我们考虑通过由以下给出的逻辑映射方程:

xn的初始值介于0和1之间。k是小于4的正数。对于k的大于3.6的值(确切地从等于3.56995的k开始),就会出现混乱:xn群体的初始值的任何最小变化都将给出不同的结果,这是混乱的主要特征。

然后让我们考虑如图1中的1004中所指示的从3.6到4的k变量,即:

每个用户(u1....un)可以具有具体的k:

用户1=k1,u1具有3.6<k1<4

用户2=k2,u2具有3.6<k2<4

…………………………………

用户n=kn,un具有3.6<kn<4

在替代实施例中,可以例如通过使用伪随机生成器来改变k,该伪随机生成器诸如例如基于yarrow算法或fortuna算法或其它算法的伪随机生成器,其中一些已经在上面提及。一旦生成了将被称为a(1001)的伪随机数,就必须先将其规范化为小于0.2且大于零的值,然后才能加到先前存储的k;该值也可以与0.2不同,只要它介于零和0.4之间即可。

实际上,每个用户可以具有与其他用户不同的具体初始k(1004)。如图1中所示,a和k之和必须小于4。如果该值更大,那么将按照惯例将该值设置为接近本文提出的3.6的值(1001),但是这个值也可以不同,只要它被包括在3.6和4之间即可。一旦被使用,新的k就将被存储,并将再次用于下一次计算。

x的初始值也可以在各个用户之间不同。如1001中所示,一旦已经计算出xn+1,就基于变量k,将其输入到一个或多个密码学不可逆变换函数,例如ashing函数(为简洁起见,在下文中定义为灰化函数),诸如blake-256、sha-1、sha-2等。xn+1被存储并将在下一次迭代中构成xn。本文将仅作为示例使用的灰化算法是sha-1或sha-2。灰化函数的输出是m1。

在图1中,可以看到如何通过具体的方法生成m1或n1:

x的初始值:0<x<1

xn+1=k*xn*(1-xn)

其中3.6<k<4

用于每个具体用户的每个k可以是变量;在每个步骤t处生成一个随机数a。

例如,对于用户u2,在步骤0处:x1=k2,t0*xinitial*(1-xinitial)。考虑到x1具有介于0和1之间的值,其被用作灰化函数的输入以获得m1或n1。u1n是特定于用户n的秘密数。

如图1的示例1003中所示,从m1提取可以具有一些共同元素的两个子集作为所述sgn和csgn。

在替代实施例中,可以通过使用向其输入随机数n1的一个或多个密码学不可逆变换函数(例如,灰化函数ash*,作为示例,诸如blake-256、sha-1、sha-2)获得m1,如图1的1002中所示,在上面提到的那些当中,该随机数n1源自u1、特定于每个用户的秘密数、由商业伪随机生成器生成的随机数之和。而且,在这种模式下,然后从m1中提取sgn和csgn。

被称为sha-256的密码学灰化函数产生32比特输出。另一个典型的灰化函数ripemd160产生20字节的ash。如果要求m1具有多于32个字节,那么可以将sha-256的相同输入输入到第二灰化函数,在本文所示的示例中该第二灰化函数是ripemd160,然后可以将两个输出进行逻辑级联或组合以形成m1。许多方法是可以使m1充分扩展以增强系统的安全性的方法。当m1由多个灰化函数的级联组成时,必须以这样一种方式构造sgn和csgn之间的数位重叠,使得在使用的灰化函数的每个输出中将有重叠的数位的一部分。

在替代实施例中(参见图2),为生成sgn和csgn时的更好安全性,引入了进一步的修改。为此,首先使用由用户输入的代码,或者以任何方式输入到系统中的代码。该代码是任意的并且可以通过发明新的代码在每笔交易中进行修改;因此,用户将不必记住任何秘密代码。被称为pon(个人混淆号码)的这个代码与上面定义的m1组合为各种替代方案,下面将对此进行描述,并由中央支付管理系统和用户的设备使用,以便以不可预测的方式生成随机代码m1。用于生成随机数的技术是异构的,并且本领域技术人员将认识到,使用了由用户输入到系统中的真正随机的分量,从而使m1实际上无法预测。许多是技术性方法,可供本领域技术人员使用并且通常使用不同的算法来生成随机数,随机数可以在使用pon时被采用以便增加m1的随机分量,从而使其完全不可预测。举例来说,我们将仅提及提供执行逻辑组合函数(诸如pon与随机数a以及计算出的数字u1之间的xor或xnor(或另一个逻辑函数))的方法,如图1中1002处所示。这个操作的输出成为灰化函数的输入,也如图1中1002处所示。

使用pon以便修改用于生成随机数a或随机数m1(然后从中提取sgn和csgn)的参数构成了本发明的主要实施例。

一般而言,pon可以被用于确定用于生成随机数的任何商业算法的参数的改变。例如,经适当地规范化的pon可以使生成a的算法所使用的系统的时钟以随机的方式递增(或递减),使得a将在算法允许的随机值当中“跳跃”。在经过适当的规范化之后,根据其使用pon以便改变任何随机数生成器的参数或配置的一般处理包括以下步骤:

-pon首先被规范化;

-经规范化的pon然后以不可预测的方式修改随机数生成器的一个或多个参数;

-然后输出随机数a。

在替代实施例中,可以使用系统来生成取决于特定参数的m1,并且可以在将pon规范化为所述参数的利用率值之后使用pon来改变这种参数。例如,在pon已经以大于零并且具有小于0.4的值的方式被规范化之后,可以将其添加到图4中的4001中作为示例指示的kn。

pon用途的另一示例如下:作为上述逻辑方程的输出的2001(图2)中的数字xn+1可以与pon相加,有可能在pon的数值已经被规范化为0到1之间的值之后。这个和的输出是灰化函数(2001)的输入,并且这种输入在被规范化为0到1之间的值之后被存储并将在下一次迭代中表示xn。灰化函数的输出构成m1。许多是可以通过使用pon进行修改的商业随机数生成器的参数。

在下文中,附图中的符号^将指示可选功能块。

下面将描述一些实现方式示例。

可以使用的一个示例如下:对于每个具体用户,可以将pon(可能已适当规范化)加到最后生成的xn+1。从这个和(图2的2001,xn+1+pon),可以获得密码学灰化算法(诸如blake-256、sha-1、sha-2等)的输入,密码学灰化算法的输出是新ml。在0和1之间规范化的和xn+1+pon的结果被存储并将在下一次迭代中构成xn。

可以使用的另一个示例如下:对于每个具体用户,可以将pon加到特定于用户u1的秘密数。从图2的2002的和u1+pon(或图2的2002,a+pon+u1)获得密码学灰化算法(诸如blake-256、sha-1、sha-2等)的输入,密码学灰化算法的输出是m1。

还存在从中可获得密码学灰化算法的输入的其它组合,诸如图3的3001的xn+1+pon+u1,密码学灰化算法的输出仍为m1。和xn+1+pon+u1的输出被规范化为0到1之间的值,然后被存储,以便在下一次迭代中构成xn。

如果对安全性的要求不太严格,那么可以考虑不使用诸如blake-256、sha-1、sha-2等的密码学灰化算法,而是直接使用和a+pon+u1的输出,如图3的3002中所描述的。

一般而言,灰化函数也可以从3001(图3)和2001(图2)中消除。而且在这些情况下(以及在这些实施例中),csgn是m1的子集,并且可以具有与sgn的数位重叠的一些数位,sgn是m1的另一个子集。

随着pon的引入,csgn和sgn变得更加不可预测,并且某种交易签名被创建:csgn和/或sgn表示服务提供商的签名,以作为对服务的卖方和/或供应商的保证。csgn的对应性确保已从可能从pon开始生成相同m1的唯一主体发送消息。

存在许多可能的pon场景和应用。在描述一些应用示例之前,以下将描述该方法,而稍后将检查可以加入到消息中的任何其它内容。

在图8中可以看出,在用户α已经输入pon之后,用户装置的api生成m1、sgn和csgn。pon被发送到实体β,实体β基于初始条件和已发送pon的用户的简档来计算m1、sgn和csgn。实体β将csgn发送给α,以证明其身份或证明给定的操作。相反,如果必须认证的是用户α,那么将以不同的方式交换消息:将用户α输入的pon发送到β,β计算m1和sgn。β将sgn发送到α,α基于pon来计算与接收到的sgn对应的m1。α将csgn发送到β以确认用户的身份。

例如,让我们考虑pon的以下应用,并让我们看看在营业场所(无论是物理的还是在线的)如何使用它来确保实际进行了支付。

出于此目的,在通用营业场所,卖方将pon码(连同其它有关支付交易的信息一起,如图15和/或图16中所述,msg2)输入到他自己的用户装置中,因此输入到apib中。支付方a不必看到pon。

为了举例说明,由卖方在支付交易的起点处输入的pon可以被包括在可视qr码中,该可视qr码与开始支付交易所需的其它信息一起被编码,诸如例如待支付的金额、卖方的标识数据和所购买产品的数据。此类数据在图15和图16中进行了描述,并包含在消息msg2中。稍后将描述消息msg2的数据crypto1及其用法。msg2的服务数据中可以包括的信息(图15和图16)是用户b的发票税收数据和/或在b的销售点处可以处于活动状态的忠诚卡(fidelitycard)程序的数据和/或关于进行交易的收银台的编号的数据。这种信息与支付数据的集成构成了本发明的特征元素。

实际上,可以用可视qr码以外的许多方式来接收pon。实际上,用于将pon发送到支付方正在使用的支付设备的通信信道可以是通过wifi网络或3g、4g或5g移动网络或经由蓝牙或互联网或rfid或通过任何其它手段(诸如sms或通过聊天机器人或其它消息传递系统,例如whatsapp、messenger、telegram、wechat等,仅举几例)行进的ip(ip协议)上的简单消息。

由支付方a接收的pon从同一支付方发送到中央交易处理系统,而没有经过支付方的任何修改,支付方无法访问这种数据。用户a将必须输入pin以证实支付交易和/或输入他的指纹或他的另一个生物特征。由a执行的这种活动将在下文中进一步描述。

在替代实施例中,包含pon的字段可以由apib加密。出于这个原因,在另一个替代实施例中,卖方可以将pon直接发送到apis(图16的msg.11):中央支付交易处理系统。在卖方的支付设备上,一旦输入了pon,设备的apib就计算m1。由apis基于接收到的pon并基于卖方的标识符(id)来计算相同的m1。从支付方发送到apis的支付交易请求由apis基于先前记录的支付方的数据来执行。

必要的支付方数据是例如支付卡或借记卡号、卡pin(个人标识码)和卡有效期、卡安全号或仅仅是银行账户号(或iban-国际银行账户号,如下文中将优先指示的)和用于从那个具体iban进行银行转账的授权数据。

基于支付方的数据,apis将请求卖方受益的支付交易,例如银行转账,它已经在支付方发送的消息:msg3(图15)中接收到卖方的数据。接收支付的卖方的数据可以是其iban和/或可充值卡的号码等。为了进行支付,apis将使用正常的银行间标准。

中央支付系统将通过经由标准过程和协议与银行间系统接合来进行支付(例如,通过使用emv标准或者还有正常的银行转账)。上面提到的emv标准代表europay、mastercard和visa,即,发起用于经由pos装置上的智能卡进行支付和用于atm现金提款的技术标准的三家公司。

在实践当中,apis将使用客户的银行可用的基于web的支付过程进行银行转账。作为替代方案,apis将使用例如emv标准来请求:i)在这种情况下,要从用户a的给定支付卡中扣款,就好像是pos一样;或ii)从虚拟atm现金提款,以在给定的支付卡上收费。虚拟提取的钱将用于将进行的等额支付,例如,经由银行转账到卖方b的iban。

当apis正在执行由支付方开始的交易时,相同的apis会将csgn发送到卖方。如果卖方接收到的csgn与从卖方b的系统上本地生成的m1提取的csgn相匹配,那么该交易将针对卖方完成并被证明,卖方将接收关于该具体卖方只能基于由该卖方输入的pon生成apis的确认。一旦成功地完成了支付,该事件就还将通过消息msg5通知给支付方,如图15和图16中所示。

pon也可以在三个不同的实体之间使用,其中的两个δ和β是安全的当事方,扮演着不同的角色,承担着不同的责任。让我们考虑例如图9,其中,在有来自用户α的输入时,基于这样的输入,δ生成pon(或修改从α接收的pon)并将其发送到β和α。发送到α的pon将被加密或者α不可用,直到α接收到来自β的具有用于读取该pon的密钥的消息。在接收到pon之后,β将生成许多m1,并且将从选择的最终m1中提取sgn和csgn。β还将把sgn(除了用于读取pon的密钥之外)发送到α,而把csgn发送到δ。基于现在可用的pon,α将生成许多m1,直到它找到与从β接收到的sgn对应的m1。然后它将对应的csgn发送到δ。如果从α接收的csgn等于通过安全通信信道从β接收的csgn,那么δ将能够向α提供服务,因为α将被授权。

在图9中表示的示出了pon的使用的图可以在取款机或atm(下文中将不加区别地使用这两个术语)处找到实施例。通过对系统软件的修改,应当使atm系统包括在无卡模式下提取现金的选项,图10的101。(图10:步骤1-atm场景)根据这个选项,atm软件系统通过atm显示器向提款方发送输入pon的请求,102。一旦输入了pon,atm系统202就将在本地生成qr码。除了标识atm的坐标外,qr码还将包括刚输入并由atm软件部分修改的pon。从由用户输入的那个pon修改的这个pon在下文中将始终被称为pon并且将不做任何进一步的修改。

pon可以通过多种方式进行修改,因为不必改变所有数位,而只需改变其一部分,即,可替换为由atm软件临时生成的随机数。提款方捕获qr码,例如借助于智能电话等。在这种情况下,澄清以下是有用的:qr码中包含的数据可以由提款方以许多替代方式(例如,经由rfid、蓝牙、wifi、3g、4g、5g连接等)接收。

通过专用软件(例如,聊天机器人或智能电话应用,或类似于已经提到的消息传递系统),提款方会将此类数据发送到apis。在这种情况下,我们将把提款方的终端正在使用的所有api称为apib。apib将存储从atm捕获或接收的pon。由apib存储的这个pon也可以被加密,例如,用特定于那个atm并且用户b不可用的对称密钥。apis必须识别用户b,然后基于接收到的pon生成代码m1。

为了识别用户,apis必须已在经过认证的消息(例如,图11的消息1)中接收到那个用户的凭证。(图11:步骤2:atm场景)。因此,除了pon和单义的atm标识符(atmid)之外,这种消息还将包括用户id字段中包含的用户b的数据;这个字段还意在包括当以后再次使用时的至少一个用户标识号码,该用户标识号码具有至少一个编码的生物特征数据以及标识同一用户的终端的一个或多个号码。

服务数据字段(图11和图13的msg1)可以包括诸如时间戳(日期和时间)和其它服务信息之类的数据:例如,它可以指示pon是否已加密。在一个实施例中,服务数据还可以包含用户根据来自atm的请求输入的要提取的金额。为了能够基于接收的pon生成合适的m1,apis必须询问数据库(bd203),其中用于计算m1的特定算法(例如,alg1)与单个用户b的每个标识号码对应,并且包括针对那个具体用户更新为最后的m1计算的初始系统数据。

然后,将基于pon和m1计算算法来计算(204)一个或多个代码m1(工作证明),其中该计算算法可以特定于识别出的用户b。如果pon已被加密,那么数据库(bd203)将具有专用于发生提款的那个atm的密钥以用于解密pon。数据库(bd203)可以位于不同的环境中。

apis可以从数据库(bd203)接收新的m1,或者,在替代实施例中,它可以在从数据库(bd203)接收到计算所必需的数据之后自主地对其进行计算。在计算出(或接收到)m1之后,apis将在msg2中向识别出的atm或控制atm的银行的apiz发送提款请求(205),参见图11。从apis发送到apiz的提款授权请求将包括提款方的账户的数据,诸如atm卡号和个人标识号码(pin)、支付卡的有效期以及其它信息(图11的msg2中的服务信息),即,由提款方在订阅本发明的支付和提取服务时由提款方输入的所有数据,这是从apiz获得授权所必需的。服务数据将允许提出符合法规和标准(如emv)的演进的提款请求,因此,图11的消息msg2将以透明方式在服务数据字段中传输此类附加数据,以便能够遵循emv标准(或其它程序)的演进。

根据一种实现方式选项,服务数据可以包含要提取的金额。例如,图11的msg2将在服务数据中包括与提款方的认证相关的其它信息,这是银行间协议的典型特征。如果apiz确认并授权提款,那么它将向apis发送图11的msg3。apis将使用从数据库(db203)接收的(或计算的)m1以便从中提取sgn和csgn。sgn将通过图11的msg5发送到提款方的设备apib。

在本发明的一种实现方式选项中,除了sgn之外,还将发送用于解密apib存储的pon的密钥和指向用于计算sgn的alg1算法的指针:这个信息将包含在图11的msg5的密钥字段中。csgn将通过图11的msg4被发送到apiz。

在解密(如果有必要)先前存储的pon之后并且在接收到sgn(即,“质询”)之后,apib将开始通过使用alg1算法来生成许多m1,直到找到与刚刚接收到的sgn对应并且因此也与csgn对应的m1为止。从计算的m1提取出的csgn将是安全代码,一般与所谓的银行业务pin对应。

提款方b(图12:步骤3-atm场景)将被请求(图12的301)输入通常被称为pin的授权码:如上所述,在这种情况下,这个代码等于数csgn或其一部分;一般而言,要输入的授权码csgn将比银行业务pin通常使用的五个数位长。

因此,用户b将把由他自己的设备计算出的代码csgn输入到进行提款的atm中。atm将通过正常的银行间过程与apiz通信,以便将代码csgn传递给apiz。例如,按照被称为“验证”的emv过程,代码csgn或其部分通过将其输入到pin字段或其适当扩展的等价物中而被发送到apiz。输入到atm中的代码csgn证明进行提款的用户与请求交易的用户相同。atm所遵循的过程可以尽可能遵循emv标准的“获取数据”303和“验证”304过程。如果提款方输入的代码csgn与atm接收的(或者作为替代,由atm软件本地计算的)代码匹配,那么提款将成功完成。

在替代实施例中,随后通过在atm上显示的消息302(视频提示)请求提款方b输入他希望提款的金额。

在替代实施例中,apiz功能可以驻留在发生提款的atm中。

一般而言,本文所述的操作可以在不同的替代实施例中修改:例如,如上所述,当请求pon时,提款方可以输入要提取的金额;在这个实施例中,除了pon和atm标识码之外,qr码还在图11的msg1的服务数据中携带要提取的金额。在这个实施例中,提款方将仅被请求(301)把cgsn代码输入到atm中,并且提款授权将仅取决于cgsn的正确性。可以通过修改数据库的位置和一些消息交换来实现许多替代实施例。

例如,m1可以由atm本地生成。在这种情况下,只有在将取款方输入的csgn代码与本地生成的csgn代码进行比较之后,atm才会向apiz和/或apis请求现金交付授权。通过使用本文所述的技术,提款方已经能够在没有信用卡或借记卡且没有账户号或pin的情况下提取现金。他只是在atm上选择了无卡模式选项,输入了随机数(pon),并在其智能电话上从其服务运营商接收到csgn后通过atm键盘输入它来代替pin。由于atm仅使用新的软件功能和/或经修改的通信协议,因此它没有附加硬件。

令人关注的替代实施例利用sgn和csgn而不要求用户输入pon,如图13中所示(图13:“无pon”atm场景)。与前面的实施例的不同之处在于以下事实:用户没有输入pon,因此在图13的msg.1中仅发送与他自己的身份相关的数据,即,包括用户b的至少一个生物特征数据的用户id。图13的msg.1的其它数据是atm标识符(即,atmid)和服务数据字段,该服务数据字段可以包括诸如时间戳(日期和时间)和其它服务信息(诸如要提取的金额)之类的数据。基于用户数据,将请求apiz授权提款;图13的msg.2等于在pon场景中实现的功能。与pon情况一样,图13的msg.3包含apiz对交易的授权或拒绝。

基于识别出的atm、b的身份和初始配置数据,apis生成(图13的504)pon,并基于后者生成不同的m1,直到它选择sgn和csgn为止。如果交易得到授权,apis将把sgn和从中生成sgn的pon发送到apib(图13的msg.5)。apib将计算与接收到的pon和sgn对应的csgn,并将向用户返回称为被psgn的数),psgn由接收到的pon和csgn或其部分组成。这种psgn可以通过多种方式构建;举例来说,它可以由csgn的前5-6个数位组成,并加上pon的作为最高有效数位的数位。apis将计算出相同的psgn,并在图13的msg.4中将其发送到apiz。

这样获得的psgn数将是用于授权在atm上提款的安全代码。

提款方b被请求(601)输入提款授权代码,在这种情况下,该授权代码等于psgn数(或其部分),并且通常这种授权代码比通常用于银行业务pin的五个数位长得多。用户b将把在自己的设备中由apib计算出的psgn代码输入到atm中。atm将与apiz通信,以将psgn代码传递给apiz,以便验证其正确性。

通过遵循例如正常emv过程,可以将psgn代码或其部分发送到apiz,以便将psgn输入到pin字段或具有更多数位的扩展等同物中。被输入到atm中的psgn代码将证明提款用户与已请求交易的用户相同。atm遵循的过程可以尽可能类似于emv标准的获取数据(603)和验证(604)过程。如果提款方输入的psgn代码与apiz的(或者作为替代选择,由atm软件本地计算的)psgn代码匹配,那么提款将成功完成。

在“无pon”场景的一个替代实施例中,apis将在图13的msg4中发送csgn,而不是psgn代码,并且apib在计算出与接收到的pon和sgn对应的csgn之后将向用户b传送csgn而非psgn代码作为授权代码。本实施例与前述实施例的不同之处仅在于使用csgn代替psgn。

通过使用本文描述的技术,提款方能够提取现金而无需信用卡或借记卡,也不需要账户号或银行业务pin(除了要在其设备中或其上键入的之外)。在这种无pon选项中,提款方除了要提取的金额以及所接收的用于证明提款的psgn代码外,不输入任何内容。有或没有pon的本发明的使用模式是多种多样的,并且本文仅以示例的方式描述了两种。因此,这是对操作进行签名的一般模式,如果安全性要求允许的话,它会添加到当前技术中,或者甚至取代它们。

与当前的电子签名系统相比,优点在于它要求更少的处理能力。

当用作生成加密密钥的系统的输入时,pon还可以被用于为必须以加密模式进行通信的两个系统生成新的加密密钥。在这种情况下,pon传输信道必须是安全信道。如1001、1002、2001、2002、3001、4001中所示生成的m1或m1的级联可以构成两个系统α和β之间的对称加密密钥,这两个系统α和β通过安全通信信道交换pon。4002示出了利用m1或多个m1数作为加密密钥的被称为“密码(cipher)”的两个加密系统的示例。

如已经描述的,本发明涉及使用一系列高安全性过程(或算法)进行电子支付的系统和方法,该电子支付可以通过便携式或固定设备(诸如智能电话、智能卡、个人计算机等)来实现。

使用这种系统的用户,无论是作为支付方的a还是作为债权人的b,一旦注册到服务中,就可以在移动或固定终端、智能卡等上使用浏览器或软件应用或聊天机器人,这将允许通过实现apia和/或apib来进行支付和/或接收支付。移动或固定终端可以是个人计算机、智能电话、平板电脑等。因此,系统允许支付方和债权人(或卖方)使用相同的用户装置和可以包括apia和apib功能的软件应用。

在实践当中,apib和apia虽然执行不同的功能,但可以使用同一个用户装置。在下文中,仅出于阐明apia和apib具体实现哪些功能的目的而对apia和apib进行区分。关于apis,这些功能通常可以在与apia和apib分开的软件堆栈上运行,但是在一些情况下,没有什么可以阻止apis与apia和/或apib共存。

当a和/或b订阅服务时,为了使系统能够向第三进行支付或从第三方接收支付,用户将必须发送数据,诸如他的银行账户号,可选地多个银行账户号,以及相关联的持有人数据。举例来说,用户可以发送其个人iban(国际银行账户号)、其业务之一等。

对应银行账户的持有人数据将与每个iban相关联;可选地,可以将账户持有人的个人和/或营业税码以及用户使用的忠诚卡号与这种银行数据相关联。为了通过支付电路(诸如例如借记卡、预付卡和/或信用卡使用的支付电路)或者通过符合emv标准的支付电路进行支付,用户必须在订阅服务时发送关于其支付卡的一些具体信息,诸如支付卡号、有效期、pin、卡安全号和支付卡持有人姓名。

为了将他自己的支付卡的这种数据传送到apis,用户必须使用安全连接并必须被认证。一旦被apis认证,他就将必须通过安全连接(例如,https)发送其自己的支付卡的所述数据,以便随后能够通过最重要的支付卡电路(诸如例如visa、mastercard、cirrus、maestro、visaelectron、bancomat、pagobancomat、americanexpress、vpay和plus等)进行支付。

接收此类数据的apis将存储它们,并且还将iban(和/或支付卡号)以及那个iban和/或支付卡的持有人数据(以及可选地持有人的税码或增值税号)翻译成数值数据。

用于将这种数据翻译成单义数值数据的技术是密码学灰化函数,诸如例如sha-256、blake-256、hefty1等,或者这些函数的组合。可选地,简单的灰化数据可以通过apis系统不时从用户接收具有“工作证明”变量的消息来补充。“工作证明”由灰化数据加上apis系统的附加处理工作量组成。在这种情况下,除了通过应用所选择的灰化函数或灰化函数的组合对接收到的字段进行编码之外,apis还可以生成具有某些特征的单义数据,这要求处理器的一些处理工作:举例来说,在iban号和持有人数据(名字、姓氏、税码...)的末尾添加一个数,然后递增(iban+数据+01、iban+数据+02、iban+数据+03);然后将灰化函数应用于每个数据块,并确定相关联的增量,直到确定输出为止,例如,该输出以三个数位1级联开始(例如1110d98b388e77eec46660de9c6f042ac67134cbb497ce)。

因此,apis系统必须应用灰化函数,直到找到以三个数位1开始的输出为止。

概括以上概念,apis系统能够在每次银行业务交易时生成新的用户身份,作为数m1的第一部分和/或第二部分(sgn,csgn)和/或随机代码(pon)与有明文和/或机密的用户身份数据的组合,并且在与先前交易相关的每笔银行业务交易中将不可逆变换函数(例如灰化函数)迭代地应用于这个组合。

apis系统可以周期性地更新这样的密码,或者至少针对不同的用户使用不同的工作证明:代替以数字1的三个数位开始,它可以以数字0的四个数位开始。用于生成这种不大可能的密码开头的apis必须花费处理器的资源,处理器将必须重复操作,直到找到具有作为工作证明的密码开头(或结尾)的输出为止。

所有这些都阻碍了许多欺诈行为,并允许进行一些持续的验证,并且最重要的是,用户的身份是单义的。从这个角度来看,采用生成的工作证明和相关联的数据(有效期、持有人姓名、设备标识号等)或无论如何对通过使用例如授予访问支付账户的权限的web过程来访问远程支付功能有用的持有人数据来识别用户a的支付卡是有用的。这种数据的集合在下文中将被称为pan(个人账号)。

图6中所示的过程允许在每次交易时改变pan字段和用户id字段的数据(参见图15和图16)。该过程通过使用最后一笔交易(例如,最后计算的csgn)的数据来重新计算pan或用户id(等等),从而使其可变并且总之是不可修改的。

在图6所示的示例中,新的用户id(将被称为用户id#2)等于灰化函数的输出,该灰化函数将旧用户id与上次使用的csgn和可以特定于每个用户的数un组合作为输入。可以针对每个用户标识数据(例如pan)重复针对用户id所述的相同过程。

同样在图6的过程中,如果要生成某种工作证明,那么有可能重复应用灰化函数:例如,应用于数据块:用户id#1+csgn+un+01,然后应用于块:用户id#1+csgn+un+02...用户id#1+csgn+un+in,并以这种方式继续进行,直到增量in产生所需的工作证明为止。然后,新计算出的用户id#2将被发送到用户的设备,在那里将其存储在先前的用户id(在本示例中为“用户id#1”)的位置。un是特定于用户的秘密数,并且是可选的。如果没有un,那么数据块将变为:用户id#1+csgn+01,用户id#1+csgn+02...用户id#1+csgn+in。一旦找到了所需的“工作证明”,就将获得新的用户id,称为用户id#2。新计算出的用户id#2将被发送到用户的设备,在那里将其存储在先前的用户id(在本示例中为用户id#1)的位置。

图6的过程的优点不仅与在每次交易时不改变的用户id的安全性改善相关,而且还与难以取消由给定用户id执行的操作的事实相关。

图7示出了变型,其中所存储的userid#1在使用之前被修改。在图7的示例中,已存储的userid#2在使用之前进行了如下修改:将用户的一些个人数据添加到userid#2,包括所存储的并与系统共享的生物特征数据和/或pin,并且可能还有其它共享数据也可以添加(即,设备号码)。对于添加(例如,求和)到userid#2的所有这些数据,应用灰化函数,并获得经修改的userid*#2。图7的apis系统期望接收从所发送的userid#2修改来的用户id*#2,以确认用户知道pin并且具有给定的生物特征(例如指纹)的事实。与图6中描述的情况一样,在图7中描述的情况下也可以实现工作证明。

在各种情况下描述的工作证明还允许轻松地对要接收支付的主体的真实性进行中间验证,例如通过验证数据是以三个1还是四个0开始。在大多数情况下,无需工作证明即可简单地生成密码。

密码()在涉及b的数据时将被称为crypto1并且可以包括工作证明)在支付交易之前由apis连同工作证明的指示(即,示例中的111)和一个或多个交易标识符(tid)一起发送(图14的msg1)到将必须接收支付的人的终端(并因此发送到apib),其中,在未经apib处理的情况下,msg.1将保持存储在安全区域中。

当用户a必须向在其终端上具有crypto1的b支付时,将通过安全信道激活从b到a的传输(图15的msg2),以传输包含crypto1的消息,并可能具有用于生成crypto1的工作证明的类型的指示,以及从如前所述由终端b的apib生成的随机数m1中提取的sgn代码。

从b到a的消息可选地包括两个字段:pd和服务数据。pd(产品数据)字段包含有关购买的产品和要支付的价格的信息。除了由apis生成的交易标识符(tid)之外,服务数据字段还包含服务信息,诸如日期和时间(时间戳)。

图15或图16的msg2的服务数据中必须包括的一些信息包括卖方b的发票税收数据,指示b的具体支付地点(例如收银台)的数据以及在b的销售点处有效的忠诚卡程序的数据。此类数据(即,a)b的税收数据、b)指示在销售点处有效的忠诚卡程序的类型的数据、c)指示b的具体支付地点(例如收银台)的数据)与支付数据的集成构成本发明的特征要素。所述消息(msg2,图15)从b到a的传输可以通过安全的web连接(ip协议)发生,或者,如果两者位于同一个环境中,那么可以通过rfid(射频识别)或蓝牙或wifi或3g、4g或5g移动连接,或经由apib生成随后由a的终端(例如智能电话,在这种情况下将配备相机)拍摄的msg1的qcode。

借助于安全算法alg来生成随机数m1。这样的算法可以在apib和apis上运行。m1用于生成用于对交易进行签名的电子签名sgn,使得当apis通过apia(或直接从apib)接收到所述消息时,它将生成对应的反签名csgn,以发送到apib以便证实交易并证明已完成的支付。图15和图16图示了两个不同的选项:在图15中,sgn在消息msg2中行进,而在图16中,sgn在消息msg11中行进并且apis直接从apib接收它。

如已经说明的,当apis接收到sgn时,apis将生成不同的m1,直到出现接收到的sgn的数位与从最后本地生成的m1提取的sgn的数位完全相等为止。当a接收到消息msg2时,a将通过输入支付服务的安全代码、指纹(或至少另一个生物特征数据)来授权交易,并将把消息msg3发送到apis。消息msg3在mile字段中(如果a期望的话)包括可以从正进行的购买之后的积分中受益的a的忠诚卡的号码。借助msg2的服务数据字段,可以自动选择存储在apia中的a的忠诚卡的号码,msg2的服务数据字段指示在销售点b(无论是物理的还是在线的)处有效的忠诚计划。通过使用msg3(图15和图16)中接收到的信息,并且使用在服务配置期间为每个用户存储的数据,apis将请求通过使用常见的银行间支付过程从用户a的支付卡中提取等于应付金额的金额:例如,对于支付卡,可以使用基于针对智能卡的iso/iec7816标准或基于针对非接触式卡的iso/iec14443标准的emv技术标准,或者其演进。一旦执行了用于从a的支付卡中提取应付金额的过程,apis就将通过使用b的iban号向b提供相同金额的银行转账,或者,如果银行转账不可用,就采用另一种转账方式。如果apis可以直接访问a的支付账户,那么它可以直接从a的账户进行使b受益的银行转账。在向b进行支付之后,apis将向apib发送构成csgn的数位,即,sgn的反签名。apib将验证csgn与作为相同随机数m1的补码生成的sgn兼容;如果通过了验证,那么可以合理地确定接收到的消息是由apis签名的,作为对支付请求的保证。在缺少由csgn组成的保证机制的情况下,apib可能会接收到虚假消息作为支付确认,因此被骗。在apib和apis上运行的同一软件算法alg的两个实例之间的同步可能以几种方式发生,例如借助于交易号tid。可用的解决方案很多,本描述仅涉及一个易于实现的示例。为了更好的安全性,即使仅利用apib和apis之间的对称密钥,也可以加密发送sgn和csgn。卖方b的支付安全性以及通过sgn和csgn的快速验证的这一方面允许为b提供具有高安全性级别的本文所述的支付方法和系统的快速实现方式。

在高安全性的替代实施例中,要求b输入一些随机数位,例如四个或更多个数位,这将构成我们已经称为pon(个人混淆号码)的内容,它将代替sgn通过安全和/或加密连接发送到apis。由用户b的设备使用pon以便利用来自用户的增加其混乱分量的输入来计算数m1。数m1将更加难以确定,因为它是基于pon计算的,从而导致系统安全性增加。如前所述,pon可以以多种方式用于计算具有大随机分量的m1。举例来说,pon号码用于以不可预测的方式增加生成m1的系统的时钟。整体上,数m1永远不会经过网络的通信信道,并且用户b将在csgn字段中从apis接收支付确认消息。

在替代实施例中,msg2(图15和9)也可以包含关于a购买的产品或服务的信息。这个字段将被指示为pd(产品数据)。除了由b输入并包括在消息msg2中的要支付的价格外,pd还可以包括与所购买产品相关的具体信息,pd字段中包含的该信息将与交易结束时在服务数据字段中包含的日期和时间相关联。

a的终端上的api(apia)在接收到b的数据(msg2,图15和9)并验证了crypto1的任何工作证明的合规性之后将接收到的数据包括到新消息:msg3中。crypto1、pon(或者作为替代,sgn)、服务数据和tid字段将以透明方式包括在新消息msg3中。在一些替代实施例中,一些数据可以被压缩到单个字段中或被删除:例如,时间戳,在下文中被称为时间,并且tid可以被包含在消息的相同字段中,或者在一些实施例中可以被删除,在这种情况下,可以通过接收装置的时钟来设置交易时间。

除了上面列出的msg2数据外,apia生成的新消息(并被称为msg3)还将包括pan(个人账户号):

1)pan将包含用户a的标识符(不管是数字和/或是a的生物特征数据)以及可能用户a的终端的一个或多个特征数字,这两者都可以通过使用apia和apis之间的对称密钥来加密。

2)可替代地,pan将包含通过使用灰化函数序列加密的用户a的标识符(不管是数字和/或是a的生物特征数据),如先前为crypto1提供的,具有工作证明以及可能用户a的终端的一个或多个特征数字的产生。

3)可替代地,pan将包含标识a的数据的组合,诸如税码和支付卡号(或者,如果已经向apis注册,那么是指向卡号的指针)和/或其它标识号和/或a的生物特征数据以及可能用户a的终端的一个或多个特征数字,所有内容都可以可选地借助于例如apia和apis之间的对称密钥或灰化函数进行加密,如对crypto1所做的那样。

以上三种情况指示本领域中的不同内容,以下将其综合称为pan。这种pan字段将被包括在由apia生成并发送到apis的消息中。在所有三种情况下,如上所述,必须将a的用户终端的至少一个号码(imei、imsi等)与pan相关联。除了由a输入并为启用支付交易所必需的秘密代码之外,msg3还将包括消息msg2的正文。

此类秘密代码通常被指示为pin:个人标识号,即,一种秘密密码。通常,这种pin不应当与支付卡的pin一致,并且通常是特定于本文描述的支付服务的新pin。作为输入pin的替代方法,并且除了诸如例如指纹之类的生物特征识别数据之外,用户还可以简单地说出经受语音识别的关键字。如果该关键字被语音识别系统识别,它将替换pin,并且其数值编码将在与pin正常通信的同一pass字段中行进。其它生物特征数据可以与语音或指纹相关联。

本发明的详细描述允许使用如图5、8和9中所述的α和β之间的认证,其中α、β和δ的相应身份是用户id#2和/或如前所述在传输之前被修改的用户id*#2。图6和7图示了在没有pon的情况下进行认证的操作。当包括用户的pon输入时,此类方案将分别如图17和18所示那样改变。

在认证之后,用户a将选择由卖方b加入的忠诚计划,关于其的信息已通过服务数据到达a。忠诚计划的选择可以在apia上自动进行。关于a的用于所选择的忠诚计划的卡的号码的信息存储在msg.3(图15或图16)的mile字段中。由apia生成的这个消息(图15或图16的msg3)被发送到apis。在接收到msg3后,apis将验证cryptol的身份是否与生成的tid一致。它将验证pan是正确的,并且pass字段中的信息与接收的或解密的pan一致。如果pass字段中包含的信息有误,那么apis将必须请求apia再次发送这种信息。如果其它验证不成功,那么必须拒绝支付请求。

通过使用在msg3中接收的信息以及在服务的配置期间为每个用户存储的数据,apis将根据银行间支付过程要求从a的iban号或从a的支付卡中支付应付金额。

apis系统将向apib发送msg4,以证明已完成支付。msg4将包含csgn数,用于证明交易的目的。csgn只能由apis生成,因此apib将确认交易和支付已真正执行。如果csgn是加密的,那么apib将必须解密csgn字段并提取明文csgn数。apis将验证csgn实际上是与sgn互补的数,并且,如果是,那么它将接受图15和图16的消息msg4,作为对a进行支付的确认。除了实际支付的价格外,图15和图16的消息msg4的pd字段还将包含apis基于从apib收集的数据生成的与产品开发票相关的其他数据。

图15和图16消息msg4的包含apia的忠诚卡的数据的mile字段将允许基于消费金额记入由卖方b加入并由用户a参与的忠诚计划的积分。积分将在pd字段中在图15和图16的msg.5中从apib传送到apia,有可能与并用于财务目的收据一起,并具有所支付的金额的指示。

关于所购买产品和已付价格的具体信息是从pd字段导出的信息,该信息将与完成支付交易的日期和时间相关联。通过使用与用于生成crypto1的方法类似的方法,可以将这种信息编码为密码,该密码将被称为crypto2。在这种情况下,灰化函数的输入将是以下数据:税收数据和已付金额、产品规格、日期和时间。输出将由crypto2组成。crypto2是对购买者a获取所购买的产品并要求保修有用的电子文档。

因此,crypto2必须由apia存储,apia无法对其进行修改。所购买产品的制造商或其它授权实体将把crypto2识别为证明在给定日期购买给定产品的电子文档,因为它是单义的并且不能被a修改。就像apib与发票系统之间的接口一样,apib与系统之间的用于存储忠诚计划的积分的接口不是本发明的目的。

以下将提供关于图5至9和17、18的一些另外的解释性细节。

参考图5:

-α生成随机数m1并提取sgn

-α向β发送sgn

-β在网络中进行各种其它可能的接收之后从α接收sgn。β使用与α所使用的方法相同的方法生成许多m1,直到找到与接收到的sgn匹配为止

-β提取csgn并将csgn发送到α

-如果csgn对应,那么对等的β将通过认证。

β可以将不同的用户作为α进行管理

参考图6和17:

用户id#2由α存储并且不被α修改

用户id#2==ashing[(用户id#1)+csgn+un]

β*是可以接收csgn的第三方,并且是可选的

un是特定于第n个最终用户的代码,并且可以是可选的。

参考图7和18:

-用户id#2=ashing[(用户id#1)+csgn+un]

-ash(用户id#2+pin+生物特征数据+其它)==用户id*#2

用户id#2由α存储,但被α修改,其中包括用户的pin和/或生物特征数据和/或其它数据,诸如终端的序列号和/或电话号码。apis

β*是可以接收csgn的第三方,并且是可选的。

当它接收到与发送的用户id#2不同的用户id*#2时,apis将使用与α使用的相同的过程来计算用户id*#2,并将验证对应性。

un是特定于第n个最终用户的代码,并且可以是可选的。

参考图8:

-pon输入(由终端α的用户输入)

-α将pon发送到β

-β在网络中其它可能的接收之后从α接收sgn。β基于通过在α上可用的同一系统获得的pon生成m1、sgn和csgn。

-β将csgn发送到α

-如果该csgn与α生成的csgn匹配,那么对等的β将通过认证。

β可以将不同的用户作为α进行管理

参考图9:

-pon输入(由用户α提供),pon被δ修改

-经修改的pon被发送到β和α

-β基于接收到的pon生成m1、sgn和csgn

-β将sgn发送到α

-β将csgn发送到δ

-α接收到sgn并生成许多m1,直到找到与接收到的sgn匹配的m1

-α将csgn发送到δ

-如果从α接收到的csgn与从β接收到的csgn匹配,那么δ将执行具体动作

本发明可以有利地借助于计算机程序来实现,该计算机程序包括当该程序在计算机上执行时用于执行方法的一个或多个步骤的编码单元。因此,应理解的是,保护范围扩展到所述计算机程序以及包括记录的消息的计算机可读单元,所述计算机可读单元包括当在计算机上执行所述程序时用于执行方法的一个或多个步骤的程序编码单元。

可以在不脱离本发明的保护范围的情况下对实施例的上述非限制性示例进行改变,包括本领域技术人员已知的所有等同设计。

在不脱离本发明的保护范围的情况下,可以将各种优选实施例中示出的要素和特征组合在一起。

本发明允许实现一种用于货币支付和提款的系统和方法,该系统和方法可以适用于各种各样的用户终端,对支付方和收款人都具有非常高的安全性级别,这也要归功于对收款人的具体交易保证。

根据以上描述,本领域技术人员将能够产生本发明的目的而无需引入任何进一步的构造细节。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1