首页> 中国专利> 用于维护群组交易中的用户隐私的系统、方法和计算机程序产品

用于维护群组交易中的用户隐私的系统、方法和计算机程序产品

摘要

提供用于维护用户隐私的方法,并且所述方法可以包括:建立用于多个用户装置之间的通信的秘密密钥,所述多个用户装置包括与请求用户相关联的第一用户装置和与第二用户相关联的第二用户装置,其中至少一个服务器计算机不具有对所述秘密密钥的访问权;从所述第一用户装置接收包括加密数据的拆分支付请求消息,所述拆分支付请求消息中包括的所述加密数据是基于所述秘密密钥加密的;基于所述拆分支付请求消息的所述加密数据生成所述请求用户和所述第二用户的加密余额;以及将包括所述请求用户和/或所述第二用户的所述加密余额的拆分支付确认消息传输到所述第二用户装置。还提供系统和计算机程序产品。

著录项

  • 公开/公告号CN112655009A

    专利类型发明专利

  • 公开/公告日2021-04-13

    原文格式PDF

  • 申请/专利权人 维萨国际服务协会;

    申请/专利号CN201980055253.X

  • 申请日2019-08-29

  • 分类号G06Q20/38(20060101);G06Q20/10(20060101);G06Q20/14(20060101);G06Q30/06(20060101);

  • 代理机构11112 北京天昊联合知识产权代理有限公司;

  • 代理人张娜;顾丽波

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 10:35:20

说明书

相关申请交叉引用

本申请要求2018年8月29日申请的第62/724,235号美国临时专利申请的优先权,所述美国临时专利申请以全文引用的方式并入本文中。

技术领域

本公开涉及支付和交易系统,并且在一些非限制性实施例或方面,涉及一种用于维护群组交易中的用户隐私的系统、方法和计算机程序产品。

背景技术

开发了支付拆分应用程序,通过提供便利的界面和记账系统来追踪用户群组中的一个或多个用户之间的公共成本和/或用户成本,从而解决群组成员之间的欠款追踪问题。常见的用例包括在朋友或同事之间分摊餐费,在室友之间分摊杂货费、水电费和/或房租,以及在旅行团成员之间分摊活动费用。人群可能短期存在,例如度假群组,也可能无限期存在(例如室友)。

存在数量众多、种类繁多的支付拆分应用程序,例如,多种支付拆分应用程序的下载量超过一百万次,Google

目前,本领域需要能够隐藏在计算装置之间传送的一些和/或所有交易数据的计算机实现的方法、系统和计算机程序产品,以提高此类通信的安全性。

发明内容

因此,公开了用于维护群组交易中的用户隐私的改进的系统、方法和计算机程序产品。

根据非限制性实施例或方面,提供一种用于维护群组交易中的用户隐私的计算机实现的方法,包括:使用至少一个处理器建立用于多个用户装置之间的通信的秘密密钥,所述多个用户装置包括与请求用户相关联的第一用户装置和与第二用户相关联的第二用户装置,其中至少一个服务器计算机不具有对所述秘密密钥的访问权;使用所述至少一个服务器计算机从所述第一用户装置接收包括加密数据的拆分支付请求消息,所述加密数据包括第一值和第二值,其中所述拆分支付请求消息中包括的所述加密数据是基于所述秘密密钥加密的;使用所述至少一个服务器计算机基于所述拆分支付请求消息的所述加密数据生成所述请求用户和所述第二用户的加密余额;以及使用所述至少一个服务器计算机将包括所述请求用户和/或所述第二用户的所述加密余额的拆分支付确认消息传输到所述第二用户装置。

在一些非限制性实施例或方面,所述计算机实现的方法可以包括:使用所述至少一个服务器计算机从所述第二用户装置接收包括第二加密数据的拆分支付确认响应消息,所述第二加密数据包括所述第一值和/或所述第二值获批准的指示;使用所述至少一个服务器计算机基于所述请求用户和所述第二用户的所述加密余额和所述拆分支付确认响应消息的所述第二加密数据生成所述请求用户和所述第二用户的更新的加密余额;以及使用所述至少一个服务器计算机将包括所述请求用户和所述第二用户的所述更新的加密余额的拆分支付响应消息传输到所述第一用户装置。

根据一些非限制性实施例或方面,所述计算机实现的方法可以包括:使用所述至少一个服务器计算机从所述第二用户装置接收拆分支付消息,所述拆分支付消息包括与不修改所述第一值和所述第二值的交易相关联的空值;使用所述至少一个服务器计算机基于所述拆分支付确认消息的数据生成所述请求用户和所述第二用户的更新的加密余额,其中所述更新的加密余额不修改所述请求用户和所述第二用户的所述加密余额;以及使用所述至少一个服务器计算机将包括所述请求用户和所述第二用户的所述更新的加密余额的拆分支付响应消息传输到所述第一用户装置。

在一些非限制性实施例或方面,所述拆分支付确认响应消息可以是在从所述拆分支付确认消息被传输到所述第二用户装置的时间点开始经过随机时间间隔之后接收到的。

根据一些非限制性实施例或方面,基于所述拆分支付请求消息的所述加密数据生成所述请求用户和所述第二用户的所述加密余额可以包括:使用所述至少一个服务器计算机基于所述拆分支付请求消息的所述加密数据和加法同态密码算法生成所述请求用户和所述第二用户的所述加密余额。

在一些非限制性实施例或方面,所述计算机实现的方法可以包括:使用所述至少一个服务器计算机基于所述拆分支付确认消息的所述数据和/或所述请求用户和所述第二用户的所述加密余额生成至少一个校验和值;以及使用所述至少一个服务器计算机将所述至少一个校验和值传输到所述第一用户装置和/或所述第二用户装置。

根据一些非限制性方面或实施例,所述计算机实现的方法可以包括:使用所述至少一个服务器计算机从所述第二用户装置接收包括第二加密数据的拆分支付确认响应消息,所述第二加密数据包括所述第一值和/或所述第二值未获批准的指示;响应于接收到所述指示,使用所述至少一个服务器计算机基于所述请求用户和所述第二用户的所述加密余额和所述拆分支付确认响应消息的所述第二加密数据生成所述请求用户和所述第二用户的更新的加密余额,其中所述更新的加密余额对应于在所述加密余额的所述生成之前建立的初始加密余额;以及使用所述至少一个服务器计算机将包括所述请求用户和所述第二用户的所述更新的加密余额的拆分支付响应消息传输到所述第一用户装置。

根据非限制性实施例或方面,提供一种用于维护群组交易中的用户隐私的系统,包括至少一个处理器,所述至少一个处理器被编程或配置成:从与请求用户相关联的第一用户装置接收包括与拆分支付交易的值相关联的加密数据的拆分支付请求消息,所述拆分支付请求消息中包括的所述加密数据是至少部分地基于至少一个秘密密钥加密的,其中所述至少一个秘密密钥是建立用于多个用户装置之间的通信,并且其中至少一个服务器计算机不具有对所述至少一个秘密密钥的访问权;基于所述拆分支付请求消息的所述加密数据生成多个响应用户中的至少一个响应用户的加密余额;以及将至少一个拆分支付确认消息传输到所述多个用户装置中的至少一个用户装置,所述拆分支付确认消息包括所述请求用户和/或所述至少一个响应用户的所述加密余额。

在一些非限制性实施例或方面,所述至少一个处理器可以被进一步编程或配置成:从多个第二用户装置中的至少一个第二用户装置接收包括第二加密数据的拆分支付确认响应消息,所述第二加密数据包括所述拆分支付交易被与所述加密余额相关联的所述至少一个响应用户批准的指示;基于所述请求用户和接受所述拆分支付交易的所述至少一个响应用户的所述加密余额生成所述请求用户和批准所述拆分支付交易的与所述加密余额相关联的所述至少一个响应用户的更新的加密余额;以及将包括所述请求用户和/或批准所述拆分支付交易的所述至少一个响应用户的所述更新的加密余额的拆分支付响应消息传输到所述第一用户装置。

根据一些非限制性实施例或方面,所述至少一个处理器可以被进一步编程或配置成:响应于将所述至少一个拆分支付确认消息传输到所述多个用户装置中的所述至少一个用户装置,从所述多个第二用户装置中的另一第二用户装置接收拆分支付消息,所述拆分支付消息包括与不修改所述拆分支付交易的所述值的交易相关联的空值,其中生成所述请求用户和批准所述拆分支付交易的所述至少一个响应用户的所述更新的加密余额是基于所述拆分支付确认消息的数据,并且其中当生成所述请求用户和批准所述拆分支付交易的所述至少一个响应用户的所述更新的加密余额时,所述拆分支付确认消息的所述数据不会使所述至少一个处理器修改所述请求用户和接受所述拆分支付交易的所述至少一个响应用户的所述加密余额。

在一些非限制性实施例或方面,所述拆分支付确认响应消息可以是在从所述拆分支付确认消息被传输到所述多个用户装置中的所述至少一个用户装置的时间点开始经过随机时间间隔之后接收到的。

根据一些非限制性实施例或方面,当基于所述拆分支付请求消息的所述加密数据生成所述多个响应用户中的所述至少一个响应用户的所述加密余额时,所述至少一个处理器可以被编程或配置成:基于所述拆分支付请求消息的所述加密数据和加法同态密码算法生成所述多个响应用户中的至少一个响应用户的所述加密余额。

在一些非限制性实施例或方面,所述至少一个处理器可以被进一步编程或配置成:基于所述拆分支付确认消息的所述数据和/或所述请求用户和批准所述拆分支付交易的所述至少一个响应用户的所述加密余额生成至少一个校验和值;以及将所述至少一个校验和传输到所述多个用户装置中的一个或多个用户装置。

根据一些非限制性实施例或方面,所述至少一个处理器被进一步编程或配置成:从与所述至少一个响应用户相关联的所述至少一个第二用户装置接收包括第二加密数据的拆分支付确认响应消息,所述第二加密数据包括所述拆分支付交易未获批准的指示;响应于接收到所述指示,基于所述请求用户和未批准所述拆分支付交易的所述至少一个响应用户的所述加密余额和所述拆分支付确认响应消息的所述第二加密数据生成所述请求用户和未批准所述拆分支付交易的所述至少一个响应用户的更新的加密余额,其中所述更新的加密余额对应于在所述加密余额的所述生成之前建立的初始加密余额;以及将包括所述请求用户和未批准所述拆分支付交易的所述至少一个响应用户的所述更新的加密余额的拆分支付响应消息传输到所述第一用户装置。

在非限制性实施例或方面,提供一种计算机程序产品,包括至少一个非瞬态计算机可读介质,所述至少一个非瞬态计算机可读介质包括一个或多个指令,所述一个或多个指令在由至少一个处理器执行时使所述至少一个处理器:建立用于多个用户装置之间的通信的至少一个秘密密钥,所述多个用户装置包括与请求用户相关联的第一用户装置和与多个响应用户相关联的多个第二用户装置,其中至少一个服务器计算机不具有对所述至少一个秘密密钥的访问权;从所述第一用户装置接收包括加密数据的拆分支付请求消息,所述加密数据与拆分支付交易的值相关联,所述拆分支付请求消息中包括的所述加密数据是至少部分地基于所述秘密密钥加密的;基于所述拆分支付请求消息的所述加密数据和加法同态密码算法生成所述多个响应用户中的至少一个响应用户的加密余额;以及将至少一个拆分支付确认消息传输到所述多个用户装置中的至少一个用户装置,所述拆分支付确认消息包括所述请求用户和/或所述至少一个响应用户的所述加密余额。

根据一些非限制性实施例或方面,所述一个或多个指令进一步使所述至少一个处理器:从与所述加密余额相关联的所述至少一个响应用户中的至少一个第二用户装置接收包括第二加密数据的拆分支付确认响应消息,所述第二加密数据包括所述拆分支付交易被与所述加密余额相关联的所述至少一个响应用户批准的指示;基于所述请求用户和接受所述拆分支付交易的所述至少一个响应用户的所述加密余额生成所述请求用户和批准所述拆分支付交易的与所述加密余额相关联的所述至少一个响应用户的更新的加密余额;以及将包括所述请求用户和/或批准所述拆分支付交易的所述至少一个响应用户的所述更新的加密余额的拆分支付响应消息传输到所述第一用户装置。

在一些非限制性实施例或方面,所述一个或多个指令进一步使所述至少一个处理器:响应于将所述至少一个拆分支付确认消息传输到所述多个用户装置中的所述至少一个用户装置,从所述多个第二用户装置中的另一第二用户装置接收拆分支付消息,所述拆分支付消息包括与不修改所述拆分支付交易的所述值的交易相关联的空值,其中生成所述请求用户和批准所述拆分支付交易的所述至少一个响应用户的所述更新的加密余额是基于所述拆分支付确认消息的数据,并且其中当生成所述请求用户和批准所述拆分支付交易的所述至少一个响应用户的所述更新的加密余额时,所述拆分支付确认消息的所述数据不会使所述至少一个处理器修改所述请求用户和接受所述拆分支付交易的所述至少一个响应用户的所述加密余额。

根据一些非限制性实施例或方面,所述拆分支付确认响应消息可以是在从所述拆分支付确认消息被传输到所述多个用户装置中的所述至少一个用户装置的时间点开始经过随机时间间隔之后接收到的。

在一些非限制性实施例或方面,所述一个或多个指令进一步使所述至少一个处理器:基于所述拆分支付确认消息的所述数据和/或所述请求用户和批准所述拆分支付交易的所述至少一个响应用户的所述加密余额生成至少一个校验和值;以及将所述至少一个校验和传输到所述多个用户装置中的一个或多个用户装置。

根据一些非限制性实施例或方面,所述一个或多个指令进一步使所述至少一个处理器:从与所述至少一个响应用户相关联的所述至少一个第二用户装置接收包括第二加密数据的拆分支付确认响应消息,所述第二加密数据包括所述拆分支付交易未获批准的指示;响应于接收到所述指示,基于所述请求用户和未批准所述拆分支付交易的所述至少一个响应用户的所述加密余额和所述拆分支付确认响应消息的所述第二加密数据生成所述请求用户和未批准所述拆分支付交易的所述至少一个响应用户的更新的加密余额,其中所述更新的加密余额对应于在所述加密余额的所述生成之前建立的初始加密余额;以及将包括所述请求用户和未批准所述拆分支付交易的所述至少一个响应用户的所述更新的加密余额的拆分支付响应消息传输到所述第一用户装置。

在以下编号条款中阐述进一步的非限制性方面或实施例:

条款1:一种计算机实现的方法,包括:使用至少一个处理器建立用于多个用户装置之间的通信的秘密密钥,所述多个用户装置包括与请求用户相关联的第一用户装置和与第二用户相关联的第二用户装置,其中至少一个服务器计算机不具有对所述秘密密钥的访问权;使用所述至少一个服务器计算机从所述第一用户装置接收包括加密数据的拆分支付请求消息,所述加密数据包括第一值和第二值,其中所述拆分支付请求消息中包括的所述加密数据是基于所述秘密密钥加密的;使用所述至少一个服务器计算机基于所述拆分支付请求消息的所述加密数据生成所述请求用户和所述第二用户的加密余额;以及使用所述至少一个服务器计算机将包括所述请求用户和/或所述第二用户的所述加密余额的拆分支付确认消息传输到所述第二用户装置。

条款2:根据条款1所述的计算机实现的方法,进一步包括:使用所述至少一个服务器计算机从所述第二用户装置接收包括第二加密数据的拆分支付确认响应消息,所述第二加密数据包括所述第一值和/或所述第二值获批准的指示;使用所述至少一个服务器计算机基于所述请求用户和所述第二用户的所述加密余额和所述拆分支付确认响应消息的所述第二加密数据生成所述请求用户和所述第二用户的更新的加密余额;以及使用所述至少一个服务器计算机将包括所述请求用户和所述第二用户的所述更新的加密余额的拆分支付响应消息传输到所述第一用户装置。

条款3:根据条款1或2所述的计算机实现的方法,进一步包括:使用所述至少一个服务器计算机从所述第二用户装置接收拆分支付消息,所述拆分支付消息包括与不修改所述第一值和所述第二值的交易相关联的空值;使用所述至少一个服务器计算机基于所述拆分支付确认消息的数据生成所述请求用户和所述第二用户的更新的加密余额,其中所述更新的加密余额不修改所述请求用户和所述第二用户的所述加密余额;以及使用所述至少一个服务器计算机将包括所述请求用户和所述第二用户的所述更新的加密余额的拆分支付响应消息传输到所述第一用户装置。

条款4:根据条款1至3中任一项所述的计算机实现的方法,其中所述拆分支付确认响应消息是在从所述拆分支付确认消息被传输到所述第二用户装置的时间点开始经过随机时间间隔之后接收到的。

条款5:根据条款1至4中任一项所述的计算机实现的方法,其中基于所述拆分支付请求消息的所述加密数据生成所述请求用户和所述第二用户的所述加密余额包括:使用所述至少一个服务器计算机基于所述拆分支付请求消息的所述加密数据和加法同态密码算法生成所述请求用户和所述第二用户的所述加密余额。

条款6:根据条款1至5中任一项所述的计算机实现的方法,进一步包括:使用所述至少一个服务器计算机基于所述拆分支付确认消息的所述数据和/或所述请求用户和所述第二用户的所述加密余额生成至少一个校验和值;以及使用所述至少一个服务器计算机将所述至少一个校验和值传输到所述第一用户装置和/或所述第二用户装置。

条款7:根据条款1至6中任一项所述的计算机实现的方法,进一步包括:使用所述至少一个服务器计算机从所述第二用户装置接收包括第二加密数据的拆分支付确认响应消息,所述第二加密数据包括所述第一值和/或所述第二值未获批准的指示;响应于接收到所述指示,使用所述至少一个服务器计算机基于所述请求用户和所述第二用户的所述加密余额和所述拆分支付确认响应消息的所述第二加密数据生成所述请求用户和所述第二用户的更新的加密余额,其中所述更新的加密余额对应于在所述加密余额的所述生成之前建立的初始加密余额;以及使用所述至少一个服务器计算机将包括所述请求用户和所述第二用户的所述更新的加密余额的拆分支付响应消息传输到所述第一用户装置。

条款8:一种系统,包括:至少一个处理器,所述至少一个处理器被编程或配置成:从与请求用户相关联的第一用户装置接收包括与拆分支付交易的值相关联的加密数据的拆分支付请求消息,所述拆分支付请求消息中包括的所述加密数据是至少部分地基于至少一个秘密密钥加密的,其中所述至少一个秘密密钥是建立用于多个用户装置之间的通信,并且其中至少一个服务器计算机不具有对所述至少一个秘密密钥的访问权;基于所述拆分支付请求消息的所述加密数据生成多个响应用户中的至少一个响应用户的加密余额;以及将至少一个拆分支付确认消息传输到所述多个用户装置中的至少一个用户装置,所述拆分支付确认消息包括所述请求用户和/或所述至少一个响应用户的所述加密余额。

条款9:根据条款8所述的系统,其中所述至少一个处理器被进一步编程或配置成:从多个第二用户装置中的至少一个第二用户装置接收包括第二加密数据的拆分支付确认响应消息,所述第二加密数据包括所述拆分支付交易被与所述加密余额相关联的所述至少一个响应用户批准的指示;基于所述请求用户和接受所述拆分支付交易的所述至少一个响应用户的所述加密余额生成所述请求用户和批准所述拆分支付交易的与所述加密余额相关联的所述至少一个响应用户的更新的加密余额;以及将包括所述请求用户和/或批准所述拆分支付交易的所述至少一个响应用户的所述更新的加密余额的拆分支付响应消息传输到所述第一用户装置。

条款10:根据条款8或9所述的系统,其中所述至少一个处理器被进一步编程或配置成:响应于将所述至少一个拆分支付确认消息传输到所述多个用户装置中的所述至少一个用户装置,从所述多个第二用户装置中的另一第二用户装置接收拆分支付消息,所述拆分支付消息包括与不修改所述拆分支付交易的所述值的交易相关联的空值,其中生成所述请求用户和批准所述拆分支付交易的所述至少一个响应用户的所述更新的加密余额是基于所述拆分支付确认消息的数据,并且其中当生成所述请求用户和批准所述拆分支付交易的所述至少一个响应用户的所述更新的加密余额时,所述拆分支付确认消息的所述数据不会使所述至少一个处理器修改所述请求用户和接受所述拆分支付交易的所述至少一个响应用户的所述加密余额。

条款11:根据条款8至10中任一项所述的系统,其中所述拆分支付确认响应消息是在从所述拆分支付确认消息被传输到所述多个用户装置中的所述至少一个用户装置的时间点开始经过随机时间间隔之后接收到的。

条款12:根据条款8至11中任一项所述的系统,其中当基于所述拆分支付请求消息的所述加密数据生成所述多个响应用户中的所述至少一个响应用户的所述加密余额时,所述至少一个处理器被编程或配置成:基于所述拆分支付请求消息的所述加密数据和加法同态密码算法生成所述多个响应用户中的至少一个响应用户的所述加密余额。

条款13:根据条款8至12中任一项所述的系统,其中所述至少一个处理器被进一步编程或配置成:基于所述拆分支付确认消息的所述数据和/或所述请求用户和批准所述拆分支付交易的所述至少一个响应用户的所述加密余额生成至少一个校验和值;以及将所述至少一个校验和传输到所述多个用户装置中的一个或多个用户装置。

条款14:根据条款8至13中任一项所述的系统,其中所述至少一个处理器被进一步编程或配置成:从与所述至少一个响应用户相关联的所述至少一个第二用户装置接收包括第二加密数据的拆分支付确认响应消息,所述第二加密数据包括所述拆分支付交易未获批准的指示;响应于接收到所述指示,基于所述请求用户和未批准所述拆分支付交易的所述至少一个响应用户的所述加密余额和所述拆分支付确认响应消息的所述第二加密数据生成所述请求用户和未批准所述拆分支付交易的所述至少一个响应用户的更新的加密余额,其中所述更新的加密余额对应于在所述加密余额的所述生成之前建立的初始加密余额;以及将包括所述请求用户和未批准所述拆分支付交易的所述至少一个响应用户的所述更新的加密余额的拆分支付响应消息传输到所述第一用户装置。

条款15:一种计算机程序产品,包括至少一个非瞬态计算机可读介质,所述至少一个非瞬态计算机可读介质包括一个或多个指令,所述一个或多个指令在由至少一个处理器执行时使所述至少一个处理器:建立用于多个用户装置之间的通信的至少一个秘密密钥,所述多个用户装置包括与请求用户相关联的第一用户装置和与多个响应用户相关联的多个第二用户装置,其中至少一个服务器计算机不具有对所述至少一个秘密密钥的访问权;从所述第一用户装置接收包括加密数据的拆分支付请求消息,所述加密数据与拆分支付交易的值相关联,所述拆分支付请求消息中包括的所述加密数据是至少部分地基于所述秘密密钥加密的;基于所述拆分支付请求消息的所述加密数据和加法同态密码算法生成所述多个响应用户中的至少一个响应用户的加密余额;以及将至少一个拆分支付确认消息传输到所述多个用户装置中的至少一个用户装置,所述拆分支付确认消息包括所述请求用户和/或所述至少一个响应用户的所述加密余额。

条款16:根据条款15所述的计算机程序产品,其中所述一个或多个指令进一步使所述至少一个处理器:从与所述加密余额相关联的所述至少一个响应用户中的至少一个第二用户装置接收包括第二加密数据的拆分支付确认响应消息,所述第二加密数据包括所述拆分支付交易被与所述加密余额相关联的所述至少一个响应用户批准的指示;基于所述请求用户和接受所述拆分支付交易的所述至少一个响应用户的所述加密余额生成所述请求用户和批准所述拆分支付交易的与所述加密余额相关联的所述至少一个响应用户的更新的加密余额;以及将包括所述请求用户和/或批准所述拆分支付交易的所述至少一个响应用户的所述更新的加密余额的拆分支付响应消息传输到所述第一用户装置。

条款17:根据条款15或16所述的计算机程序产品,其中所述一个或多个指令进一步使所述至少一个处理器:响应于将所述至少一个拆分支付确认消息传输到所述多个用户装置中的所述至少一个用户装置,从所述多个第二用户装置中的另一第二用户装置接收拆分支付消息,所述拆分支付消息包括与不修改所述拆分支付交易的所述值的交易相关联的空值,其中生成所述请求用户和批准所述拆分支付交易的所述至少一个响应用户的所述更新的加密余额是基于所述拆分支付确认消息的数据,并且其中当生成所述请求用户和批准所述拆分支付交易的所述至少一个响应用户的所述更新的加密余额时,所述拆分支付确认消息的所述数据不会使所述至少一个处理器修改所述请求用户和接受所述拆分支付交易的所述至少一个响应用户的所述加密余额。

条款18:根据条款15至17中任一项所述的计算机程序产品,其中所述拆分支付确认响应消息是在从所述拆分支付确认消息被传输到所述多个用户装置中的所述至少一个用户装置的时间点开始经过随机时间间隔之后接收到的。

条款19:根据条款15至18中任一项所述的计算机程序产品,其中所述一个或多个指令进一步使所述至少一个处理器:基于所述拆分支付确认消息的所述数据和/或所述请求用户和批准所述拆分支付交易的所述至少一个响应用户的所述加密余额生成至少一个校验和值;以及将所述至少一个校验和传输到所述多个用户装置中的一个或多个用户装置。

条款20:根据条款15至19中任一项所述的计算机程序产品,其中所述一个或多个指令进一步使所述至少一个处理器:从与所述至少一个响应用户相关联的所述至少一个第二用户装置接收包括第二加密数据的拆分支付确认响应消息,所述第二加密数据包括所述拆分支付交易未获批准的指示;响应于接收到所述指示,基于所述请求用户和未批准所述拆分支付交易的所述至少一个响应用户的所述加密余额和所述拆分支付确认响应消息的所述第二加密数据生成所述请求用户和未批准所述拆分支付交易的所述至少一个响应用户的更新的加密余额,其中所述更新的加密余额对应于在所述加密余额的所述生成之前建立的初始加密余额;以及将包括所述请求用户和未批准所述拆分支付交易的所述至少一个响应用户的所述更新的加密余额的拆分支付响应消息传输到所述第一用户装置。

在参考附图考虑以下描述和所附权利要求书之后,本公开的这些和其它特征和特性以及相关结构元件和各部分的组合的操作方法和功能以及制造经济性将变得更加显而易见,所有附图形成本说明书的部分,其中相似附图标号在各图中标示对应部分。然而,应明确地理解,图式仅用于说明及描述的目的,且不希望作为对本公开的限制的定义。除非上下文另外明确规定,否则在本说明书和权利要求书中使用时,单数形式“一”和“所述”包括多个指示物。

附图说明

图1是用于维护群组交易中的用户隐私的系统的非限制性方面或实施例的图;

图2是用于维护群组交易中的用户隐私的过程的非限制性实施例或方面的流程图;

图3是用于维护群组交易中的用户隐私的过程的非限制性实施例或方面的实施方案的图;

图4是用于维护群组交易中的用户隐私的过程的非限制性实施例或方面的实施方案的图;

图5是用于维护群组交易中的用户隐私的系统的图;以及

图6是图1的一个或多个装置和/或一个或多个系统的部件的非限制性方面或实施例的图。

具体实施方式

下文出于描述的目的,术语“端”、“上”、“下”、“右”、“左”、“竖直”、“水平”、“顶部”、“底部”、“横向”、“纵向”以及其衍生词应涉及本公开如其在附图中的定向。然而,应理解,除了明确指定相反情况之外,本公开可以采用各种替代变化和步骤序列。还应理解,附图中所说明的以及在以下说明中描述的特定装置和过程仅仅是本公开的示例性实施例或方面。因此,除非另有指示,否则与本文公开的实施例或实施例的方面相关的特定维度和其它物理特性不应被视为限制。

本文所使用的方面、部件、元件、结构、动作、步骤、功能、指令和/或其类似者都不应当被理解为关键的或必要的,除非明确地如此描述。并且,如本文所使用,冠词“一”希望包括一个或多个项目,并且可以与“一个或多个”和“至少一个”互换使用。此外,如本文所使用,术语“集合”希望包括一个或多个项目(例如,相关项目、不相关项目、相关项目与不相关项目的组合和/或其类似者),并且可以与“一个或多个”或“至少一个”互换使用。在希望仅有一个项目的情况下,使用术语“一个”或类似语言。且,如本文所使用,术语“具有”等希望是开放式术语。另外,除非另外明确陈述,否则短语“基于”希望意味着“至少部分地基于”。

如本文所使用,术语“通信”和“传送”可以指信息(例如,数据、信号、消息、指令、命令等)的接收、接纳、传输、传送、提供等。一个单元(例如,装置、系统、装置或系统的部件、其组合等)与另一单元通信意味着所述一个单元能够直接或间接地从所述另一单元接收信息和/或向所述另一单元发送(例如,传输)信息。这可以指代本质上有线和/或无线的直接或间接连接。另外,即使所传输的信息可能在第一单元与第二单元之间被修改、处理、中继和/或路由,这两个单元也可以彼此通信。例如,即使第一单元被动地接收信息且不会主动地将信息发送到第二单元,第一单元也可以与第二单元通信。作为另一示例,如果至少一个中间单元(例如,位于第一单元与第二单元之间的第三单元)处理从第一单元接收的信息且将处理后的信息发送到第二单元,则第一单元可以与第二单元通信。在一些非限制性实施例或方面,消息可以指包括数据的网络包(例如,数据包等)。

如本文所使用,术语“发行方”、“发行方机构”、“发行方银行”或“支付装置发行方”可以指向个体(例如,用户、客户等)提供用于进行例如信用卡支付交易和/或借记卡支付交易的支付交易的账户的一个或多个实体。例如,发行方机构可以向客户提供唯一地标识与所述客户相关联的一个或多个账户的账户标识符,例如主账号(PAN)。在一些非限制性实施例或方面,发行方可以与唯一地标识发行方机构的银行标识号码(BIN)相关联。如本文所使用,“发行方系统”可以指由发行方或代表发行方操作的一个或多个计算机系统,例如执行一个或多个软件应用程序的服务器。例如,发行方系统可以包括用于授权交易的一个或多个授权服务器。

如本文所使用,术语“账户标识符”可以包括与账户相关联的一种或多种类型的标识符(例如,与账户相关联的PAN、与账户相关联的卡号、与账户相关联的支付卡号、与账户相关联的令牌等)。在一些非限制性实施例或方面,发行方可以向用户提供账户标识符(例如,PAN、令牌等),所述账户标识符唯一地标识与所述用户相关联的一个或多个账户。账户标识符可以体现在支付装置(例如,用于进行支付交易的物理工具,例如支付卡、信用卡、借记卡、礼品卡等)上,和/或可以是向用户传送的电子信息,用户可以将其用于电子支付交易。在一些非限制性实施例或方面,账户标识符可以是原始账户标识符,其中在创建与账户标识符相关联的账户时,将原始账户标识符提供给用户。在一些非限制性实施例或方面,账户标识符可以是补充账户标识符,其可以包括在原始账户标识符提供给用户之后被提供给用户的账户标识符。例如,如果原始账户标识符被遗忘、被盗等,可将补充账户标识符提供给用户。在一些非限制性实施例或方面,账户标识符可直接或间接地与发行方机构相关联,使得账户标识符可以是映射到PAN或其它类型账户标识符的令牌。账户标识符可以是字母数字、字符和/或符号的任何组合等。

如本文所使用,术语“令牌”可以指账户的用作另一账户标识符(例如PAN)的替代或替换的账户标识符。令牌可以与一个或多个数据结构(例如一个或多个数据库等)中的PAN或另一原始账户标识符相关联,使得令牌可以用于进行支付交易而无需直接使用原始账户标识符。在一些非限制性实施例或方面,PAN等原始账户标识符可以与用于不同个体或目的的多个令牌相关联。在一些非限制性实施例或方面,令牌可以与PAN或一个或多个数据结构中的其它账户标识符相关联,使得令牌可以用来进行交易,而无需直接使用PAN或其它账户标识符。在一些示例中,PAN等账户标识符可以与用于不同用途或目的的多个令牌相关联。

如本文所使用,术语“商家”可以指基于支付交易等交易向用户(例如,客户、顾客等)提供商品、服务和/或对商品和/或服务的访问的一个或多个实体(例如,零售业务的运营商)。如本文所使用,术语“商家系统”可以指由商家或代表商家操作的一个或多个计算机系统,例如执行一个或多个软件应用程序的服务器。如本文所使用,术语“产品”可以指由商家提供的一个或多个商品和/或服务。

如本文所使用,术语“销售点(POS)装置”可以指可被商家用来进行交易(例如,支付交易)和/或处理交易的一个或多个电子装置。另外或替代地,POS装置可以包括外围装置、读卡器、扫描装置(例如,代码扫描器等)、

如本文所使用,术语“销售点(POS)系统”可以指商家用来进行交易的一个或多个客户端装置和/或外围装置。例如,POS系统可以包括一个或多个POS装置,和/或可用于进行支付交易的其它类似装置。在一些非限制性实施例或方面,POS系统(例如,商家POS系统)可以包括被编程或配置成通过网页、移动应用程序等处理在线支付交易的一个或多个服务器计算机。

如本文所使用,术语“交易服务提供商”可以指接收来自商家或其它实体的交易授权请求且在一些情况下通过交易服务提供商与发行方机构之间的协议来提供支付保证的实体。在一些非限制性实施例或方面,交易服务提供商可以包括信用卡公司、借记卡公司、支付网络(例如

如本文所使用,术语“支付网关”可以指实体和/或由此类实体或代表此类实体操作的支付处理系统,所述实体(例如,商家服务提供商、支付服务提供商、支付服务商、与收单方有合约的支付服务商、支付聚合商(payment aggregator)等)向一个或多个商家提供支付服务(例如,交易服务提供商支付服务、支付处理服务等)。支付服务可以与由交易服务提供商管理的便携式金融装置的使用相关联。如本文所使用,术语“支付网关系统”可以指由支付网关或代表支付网关操作的一个或多个计算机系统、计算机装置、服务器、服务器群组等。

如本文所使用,术语“计算装置”可以指被配置成处理数据的一个或多个电子装置。在一些示例中,计算装置可以包括接收、处理和输出数据的必要部件,例如处理器、显示器、存储器、输入装置、网络接口和/或其类似者。计算装置可以是移动装置。作为示例,移动装置可以包括蜂窝电话(例如,智能电话或标准蜂窝电话)、便携式计算机、可穿戴装置(例如,手表、眼镜、镜片、衣物等)、个人数字助理(PDA)和/或其它类似装置。计算装置还可以是台式计算机或其它形式的非移动计算机。

如本文所使用,术语“客户端”和“客户端装置”可以指访问服务器提供的服务的一个或多个计算装置。在一些非限制性实施例或方面,“客户端装置”可以指促进支付交易的一个或多个装置,例如商家使用的一个或多个POS装置。在一些非限制性实施例或方面,客户端装置可以包括被配置成与一个或多个网络通信和/或促进支付交易的计算装置,例如但不限于一个或多个台式计算机、一个或多个移动装置和/或其它类似装置。

如本文所使用,术语“服务器”可以指或包括由互联网等网络环境中的多方操作或促进所述多方的通信和处理的一个或多个计算装置,但应了解,可通过一个或多个公共或专用网络环境促进通信,并且可能有各种其它布置。此外,在网络环境中直接或间接通信的多个计算装置(例如服务器、销售点(POS)装置、移动装置等可构成“系统”。如本文所使用,对“服务器”或“处理器”的提及可以指陈述为执行先前步骤或功能的先前所述服务器和/或处理器、不同的服务器和/或处理器,和/或服务器和/或处理器的组合。例如,如在说明书和权利要求书中所使用,陈述为执行第一步骤或功能的第一服务器和/或第一处理器可以指代陈述为执行第二步骤或功能的相同或不同服务器和/或处理器。

本公开的非限制性实施例或方面涉及用于维护群组交易中的用户隐私的系统、方法和计算机程序产品,所述系统、方法和计算机程序产品能提供与现有拆分支付系统和方法相比的多个技术优势。非限制性实施例允许用户在不向包括管理用户余额和债务的外部服务器在内的外部各方或系统透露任何敏感的个人和/或账户信息的情况下安排支付和共享支付。

在一些非限制性实施例或方面,提供计算机实现的方法、系统以及计算机程序产品,其向交易服务提供商系统隐藏群组内拆分支付交易的一些和/或所有交易数据,同时提供针对恶意用户甚至恶意交易服务提供商系统的完整性保证。本文描述的实施例或方面隐藏了一个或多个群组成员中的哪个群组成员在交易中请求和/或给予资金、在拆分支付交易期间转移了多少资金、何时发生拆分支付交易、甚至究竟是否发生了拆分支付交易。交易服务提供商系统可以学习和/或仅能够确定每个群组的构成,再无更多信息。此外,本文描述的计算机实现的方法、系统和计算机程序产品可以确保恶意用户(例如,与恶意用户相关联的用户装置)和交易服务提供商系统本身都不能更改余额、陷害其它用户交费或以其它方式篡改拆分支付交易。本文描述的计算机实现的方法、系统和计算机程序产品的安全性仅依赖于AES是安全的假设,并且服务器端计算不需要密码运算,只需要对128位整数进行算术运算。

在一些非限制性实施例或方面,用户群组可以建立和共享用于逐回合推进拆分支付交易的秘密密钥和通信协议。在每一回合中,用户可以经由相应的用户装置向促进相应的用户装置的通信的交易服务提供商系统发送拆分支付交易数据或覆盖流量。在任一种情况下,在高级别上,从每个用户装置传输的消息可以包括长度为N的向量,其中N是群组大小,其中的每个单元可以包括128位整数,表示与发送拆分支付交易数据的用户装置相关联的用户想要向群组中的每个其它用户进行的收费。这些值本身可以用AES生成的伪随机值进行掩码处理。在一些非限制性实施例或方面,可以对允许交易服务提供商系统盲目更新余额的消息的结构和内容施加附加限制,并校验没有用户试图不公平地篡改其自己或他人的余额。

最后,本文描述的实施例和/或方面可以利用类似于同态MAC的技术来非常有效地将我们的方案从假设半诚实服务器的方案转换为针对完全恶意服务器的安全方案,而不增加每回合带宽或以任何方式修改服务器的每回合计算。对于每个群组最多二十五个用户的实际群组大小,每一回合可以在对用户装置的每回合计算中少于五十毫秒的时间内执行一个或多个步骤,并且交易服务提供商系统可以在针对每个群组的每回合少于三百微秒的时间内执行一个或多个步骤,这意味着本文描述的实施例可以具有出色的性能和可扩展属性。带宽要求也可能很低,每一回合客户端与服务器之间的通信不到500字节。

在一个或多个通信回合期间,用户装置之间可以传送多个消息。例如,在请求用户从群组的一个或多个响应用户请求资金之后,每个用户装置可以传送表示拆分支付交易的消息和/或可以传送包括表示覆盖流量的零或空值的消息(例如,如果在中央服务器处拦截了拆分支付交易和/或中央服务器试图拦截或破坏拆分支付交易,则旨在隐藏包括有关拆分支付交易的详细信息的消息的流量)。借助于本文描述的配置,每个用户装置之间的通信可以保持匿名性,因为拦截用户装置之间传送的一个消息或甚至消息子集可不使拦截方能够确定拆分支付交易的详细信息。另外,借助于本文描述的实施例和方面,可以减少中央服务器在拆分支付交易期间促进用户装置之间的通信所需的计算资源量(例如,某些计算可以跨用户装置分布等)。

现在参考图1,示出了用于维护群组交易中的用户隐私的系统100的图。如图1所示,系统100包括交易服务提供商系统102、数据库104、用户装置106、用户装置108-1至108-n、商家系统110和发行方系统112。交易服务提供商系统102、数据库104、用户装置106、用户装置108-1至108-n、商家系统110和发行方系统112可以通过有线连接、无线连接或有线和无线连接的组合互连(例如,建立连接以进行通信等)。

交易服务提供商系统102可以包括能够与数据库104、用户装置106、用户装置108、商家系统110和/或发行方系统112通信的一个或多个装置。例如,交易服务提供商系统102可以包括一个或多个计算装置,例如服务器、服务器群组和/或其它类似计算装置。在一些非限制性实施例或方面,交易服务提供商系统102可以与本文描述的交易服务提供商和/或支付网关相关联。交易服务提供商系统102可以包括和/或能够与数据库104通信。在一些非限制性示例中,交易服务提供商系统102可以仅作为拆分支付平台以促进用户之间的交易。在其它示例中,交易服务提供商系统102还可以处理和结算交易。

用户装置106可以包括能够与交易服务提供商系统102、数据库104、用户装置108、商家系统110和/或发行方系统112通信的一个或多个装置。例如,用户装置106可以包括一个或多个支付装置和/或一个或多个计算装置,例如一个或多个移动装置。在一些非限制性实施例或方面,用户装置108可以经由短距离无线通信连接(例如,用于传送信息的无线通信,例如NFC连接、

用户装置108可以包括能够与交易服务提供商系统102、数据库104、用户装置106、商家系统110和/或发行方系统112通信的一个或多个装置。例如,用户装置108可以包括一个或多个支付装置和/或一个或多个计算装置,例如一个或多个移动装置。在一些非限制性实施例或方面,用户装置108可以经由短距离无线通信连接进行通信。在一些非限制性实施例或方面,用户装置108可以与用户相关联。例如,用户装置108可以与对来自请求用户的请求作出响应以指示拆分支付交易获批准或未获批准(例如,修改、拒绝等)的响应用户相关联。在一些非限制性实施例或方面,用户装置108可以指与一个或多个用户相关联的一个或多个用户装置108-1至108-n,一个或多个用户装置108-1至108-n统称为用户装置108。

商家系统110可以包括能够与交易服务提供商系统102、数据库104、用户装置106、用户装置108和/或发行方系统112通信的一个或多个装置。例如,商家系统110可以包括一个或多个计算装置,例如服务器、服务器群组和/或其它类似装置。在一些非限制性实施例或方面,商家系统110可以与本文描述的商家相关联。

发行方系统112可以包括能够与交易服务提供商系统102、数据库104、用户装置106、用户装置108和/或商家系统110通信的一个或多个装置。例如,发行方系统112可以包括一个或多个计算装置,例如服务器、服务器群组和/或其它类似装置。在一些非限制性实施例或方面,发行方系统112可以与本文描述的发行方相关联。

通信网络114可以包括一个或多个有线和/或无线网络。例如,通信网络114可以包括蜂窝网络(例如长期演进(LTE)网络、第三代(3G)网络、第四代(4G)网络、码分多址接入(CDMA)网络等)、公用陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如公共交换电话网络(PSTN)、专用网络、特设网络、内联网、互联网、基于光纤的网络、云计算网络等,和/或这些或其它类型的网络中的一些或全部的组合。

示例地提供图1中示出的系统、装置和网络的数量和布置。可存在额外系统、装置和/或网络,更少系统、装置和/或网络,不同的系统、装置和/或网络,或以与图1所示的那些不同的方式布置的系统、装置和/或网络。此外,可在单个系统和/或单个装置内实施图1所示的两个或更多个系统和/或装置,或图1所示的单个系统或单个装置可实施为多个分布式系统或装置。另外或替代地,系统100的一组系统或一组装置(例如,一个或多个系统、一个或多个装置)可以执行被描述为由系统100的另一组系统或另一组装置执行的一个或多个功能。

根据本文描述的一个或多个方法执行的拆分支付交易可以允许一个或多个用户建立操作用户装置106和/或用户装置108-1至108-n中的一个或多个用户装置的用户群组,在用户群组中彼此交换费用,拒绝用户群组中彼此不需要的费用,以及结算群组余额。对于任何交易,中央服务器(例如,交易服务提供商系统)无权访问有关拆分支付交易的信息(例如,参与拆分支付交易的用户群组中的用户的身份、用户群组中的一组用户在拆分支付交易中花费了多少钱等)或从中获得这种知识的信息。对中央服务器隐藏有关参与拆分支付交易的用户群组的信息。以这种方式,用户群组中的用户不能利用隐私模式来操纵余额(例如,为自己创建资金)或在拆分支付交易期间恶意篡改余额。此外,此类系统和方法防止恶意服务器导致本文描述的系统和方法偏离其正确功能。

如本文描述,拆分支付交易可允许一个或多个用户创建并添加到用户群组,请求和拒绝来自用户群组中的用户的费用,并为用户群组结算一笔或多笔余额。追踪算法可使用于执行拆分支付交易的系统的一个或多个计算装置追踪与一个或多个用户相关联的哪个计算装置已发出支付请求。另外,在相反方向上提交相同请求(例如,对于例如$1的反值,其中请求了-$1)可以被确定为在相反方向上了提交相同请求的与用户装置(例如,用户装置106或用户装置108-1至108-n中的一个)相关联的用户拒绝了交易。当适当地实现本文描述的算法的逻辑时,本文描述的系统和方法可以向专用支付拆分应用程序的用户提供与具有内置拒绝运算的界面相同的界面。

涉及交易服务提供商系统102的拆分支付交易以及操作一个或多个用户装置(例如,用户装置106和/或用户装置108-1至108-n)的一个或多个用户可以被配置成执行状态协议(例如,在处理交易之后维护信息的一个或多个运算)。这些状态协议可以包括但不限于“设置(Setup)”、“加入(Join)”、“请求(Request)”、“追踪(Trace)”和/或“结算(Settle)”。在一些非限制性实施例或方面,在每个状态协议中,交易服务提供商系统102可以与用户装置106和/或用户装置108-1至108-n通信,但用户装置108-1至108-n可能不被配置成彼此直接通信。例如,在设置运算中,对于群组大小N和参数pp,例如但不限于群组的单个用户的身份,交易服务提供商系统102可以被配置成接收秘密密钥(例如,一个或多个公钥/私钥对、对称密钥等),并生成包括用户群组的新的拆分支付交易。在此示例中,每个用户的余额可设置为零。在另一示例中,在加入运算中,交易服务提供商系统102可被配置成将新用户添加到拆分支付交易中涉及的用户群组,并更新拆分支付交易的群组参数,以反映将新用户添加到用户群组。在此类示例中,交易服务提供商系统102可以被配置成基于群组标识符(“gid”)和一个或多个参数提供更新群组的gid作为输出,或在所得群组无效的情况下提供⊥作为输出。在请求运算中,交易服务提供商系统102可以被配置成接收gid,以及参数I,j,v,其中v与从用户i的余额转移到与gid相关联的群组内的用户j的余额的货币单位相关联。在请求运算中,如果存在失效并且没有对与一个或多个用户相关联的一个或多个余额进行更改,则交易服务提供商系统102可以被配置成提供gid或⊥。在追踪运算中,交易服务提供商系统102可以被配置成在与交易标识符(“tid”)和用户j的标识符相关联的交易期间接收gid,并且提供在交易tid期间对群组gid中的用户j收费的用户(如果有的话)的身份作为输出。最后,在结算运算中(例如,结算过程),交易服务提供商系统102可以被配置成接收gid,并且提供值的向量p作为输出,其中p

在一些非限制性实施例或方面,本文描述的系统和方法在执行每个运算之后维护群组成员之间欠款的准确运行余额,以便可以追踪拆分支付交易中涉及的每个交易的发起人。每个运算可以根据其如何影响对目标群组运行结算运算的结果来定义。

在一些非限制性实施例或方面,如果支付方案在各方诚实行事时满足以下属性,则支付方案可能是正确的:对于给定的正整数N和作为输入提供给交易服务提供商系统102的有效秘密密钥(例如,包括公钥pk和/或秘密密钥sk),交易服务提供商系统102提供gid作为设置运算(将sk、pk、N、pp和/或λ作为输入)的输出,使得对于基于gid执行的结算运算,交易服务提供商系统102提供长度为N的零向量。在一些非限制性实施例或方面,对于与大小N的群组相关联的给定有效gid,当由交易服务提供商系统102和/或用户装置106或用户装置108-1至108-n中的用户装置执行时,以下伪码提供长度N+1的零值向量(例如,(例如,空值向量)作为输出:

P←Settle(gid)

Join(gid,pp)

P'←Settle(gid)

返回p'-(p||0)。

给定与大小为N(其中0

p←Settle(gid)

Request(gid,i,j,v)

p'←Settle(gid)

返回p'–p。

在一些非限制性实施例或方面,其中tid减少由Settle(gid)返回的向量的第j位置的余额,则i*和v*与用作产生tid的运算Request(gid,i*,j,v*)中的参数的值相关联,否则i*=⊥.v*=0。

在非限制性实施例中,本文描述的系统和方法被配置成仅向交易服务提供商系统102公开群组成员资格信息,而不公开与用户装置106和/或用户装置108-1至108-n相关联的用户的任何细节,例如数量、频率等。这可以通过安全游戏形式化,其中没有中央服务器能区分两个交易,包括对给定群组的加入和请求运算的组合。例如,本文描述的系统和方法可以防止对手在网络上窃听或除中央服务器本身之外还控制其它群组中的用户。

在一些非限制性实施例或方面,在隐私实验PRIV[A,λ,b]中,在发挥中央服务器作用的对手A与被给予输入b并发挥诚实用户U

在一些非限制性实施例或方面,如果没有概率多项式时间(PPT)对手(例如,PPT算法)能够以大于可忽略的优势赢得隐私实验,则支付方案P可以是私有方案。也就是说,对于任何PPT A,如果数量|Pr[PRIV[A,λ,0]=1]-Pr[PRIV[A,λ,1]=1≤negl(λ)|。另外或替代地,本文描述的系统和方法可能要求群组具有完整性,包括用户完整性和服务器完整性。例如,用户完整性可以包括两个属性。第一属性可以包括确保在每次拆分支付交易之后、在拆分支付交易的每一回合之后等,群组中的余额总和保持为零。通过验证余额总和是否保持为零,如本文描述的系统可以被配置成使得与一个或多个用户相关联的用户装置不会无声地破坏由交易服务提供商系统102维护的加密余额。在另一示例中,群组中用户的恶意收费可以被不想支付的用户拒绝或收回。然而,攻击者无法将不同的群组成员陷害为不需要的费用的发起人。如本文所述,系统和方法可以允许支付拆分方案在检测到完整性(例如,被交易服务提供商系统102、用户装置106和/或用户装置108-1至108-n中的一个或多个)违反时输出⊥。

例如,在破坏了由群组标识符gid表示的大小为N的群组中多达N-1个用户U

在给定的拆分支付交易期间,通过向用户装置106和108-1至108-n提供相同的视图(例如,在一个或多个图形用户界面上显示的信息),可以促进服务器完整性,而不管交易服务提供商系统102是否诚实、任意和/或恶意地操作。为了定义服务器完整性,首先定义了支付方案中一方视图的概念。群组gid中的一方U

现在参考图2,所示的是用于维护群组交易中的用户隐私的过程200的非限制性实施例或方面的流程图。在一些非限制性实施例或方面,可以由交易服务提供商系统102、用户装置106和/或用户装置108(例如,完全、部分地等)执行关于过程200描述的一个或多个功能。在一些非限制性实施例或方面,可以由例如商家系统110和/或发行方系统112等与交易服务提供商系统102、用户装置106和/或用户装置108分开和/或包括所述系统和装置的另一装置和/或另一组装置(例如,完全、部分等)执行过程200的一个或多个步骤。

如图2所示,在步骤202,过程200可以包括建立秘密密钥。例如,交易服务提供商系统102可以与用户装置106和/或用户装置108通信,以建立秘密密钥,以便对用户装置106与用户装置108之间传送的消息和/或数据进行加密。在一些非限制性实施例或方面,在用户装置106与用户装置108之间建立的秘密密钥可以是对称加密密钥、一对不对称密钥等。在一些非限制性实施例或方面,用户装置106和用户装置108可以通过彼此直接通信来建立秘密密钥。例如,用户装置106和/或用户装置108可以经由通信网络114和/或短距离无线通信连接彼此直接通信,以建立秘密密钥。在一些非限制性实施例或方面,可以在一个或多个用户装置106和/或一个或多个用户装置108之间建立一个或多个秘密密钥。例如,用户装置106可以与第一用户装置108建立第一秘密密钥,并且用户装置106可以与第二用户装置108建立第二秘密密钥。在此类示例中,用户装置106可以使用第一秘密密钥对传送到第一用户装置108的消息和/或数据进行加密,并且用户装置106可以使用第二秘密密钥对传送到第二用户装置108的消息和/或数据进行加密。在一些非限制性实施例或方面,可以使用单独的密钥交换系统来建立秘密密钥。应了解,可能有各种其它布置。

在一些非限制性实施例或方面,交易服务提供商系统102可以不具有对秘密密钥的访问权。例如,交易服务提供商系统102可以接收和/或传输在用户装置106与用户装置108之间传送的加密消息,所述加密消息包括与建立秘密密钥以便对从用户装置106和用户装置108传输和/或由所述装置接收的数据进行加密和/或解密相关联的数据。因此,交易服务提供商系统102可以不具有对秘密密钥的访问权,并且因此可能无法对用户装置106与用户装置108之间传送的消息和/或数据进行解密。

如图2所示,在步骤204,过程200可以包括接收拆分支付请求消息。例如,交易服务提供商系统102可以接收拆分支付请求消息。在此类示例中,交易服务提供商系统102可以从用户装置106和/或用户装置108接收拆分支付请求消息。在此类示例中,拆分支付请求消息可以包括与拆分支付交易相关联的加密数据。在一些非限制性实施例或方面,与拆分支付交易相关联的加密数据可以表示包括一个或多个值的向量。例如,向量的一个或多个值可以与拆分支付交易中涉及的每个用户的一笔或多笔资金(例如,在由相应用户批准的情况下将从相应用户的账户中贷记和/或借记的一笔或多笔资金)相关联。

在一些非限制性实施例或方面,交易服务提供商系统102可以接收使用秘密密钥加密的拆分支付请求消息(例如,消息本身是使用秘密密钥加密的和/或消息包括使用秘密密钥加密的数据)。例如,交易服务提供商系统102可以从用户装置106和/或用户装置108接收拆分支付请求消息,其中拆分支付消息是分别由用户装置106或用户装置108使用秘密密钥加密的。在另一示例中,交易服务提供商系统102可以从用户装置106和/或用户装置108接收拆分支付请求消息,其中拆分支付请求消息中包括的加密数据是分别由用户装置106和/或用户装置106使用秘密密钥加密的。在此类示例中,由用户装置106和/或用户装置108加密的加密数据可以与一个或多个值(例如,与用户装置106和/或用户装置108的用户相关联的一笔资金的值、拆分支付交易中涉及的一个或多个其它用户的值等)相关联。

如图2所示,在步骤206,过程200可以包括生成加密余额。例如,交易服务提供商系统102可以生成加密余额。在此类示例中,交易服务提供商系统102可以为与用户装置106相关联的请求用户(例如,第一用户和/或第二用户)和/或与用户装置108相关联的响应用户(例如,第二用户和/或第一用户)生成加密余额。在一些非限制性实施例或方面,交易服务提供商系统102可以基于拆分支付请求消息生成加密余额。例如,交易服务提供商系统102可以基于拆分支付请求消息和/或拆分支付请求消息中包括的加密数据生成加密余额。

在一些非限制性实施例或方面,交易服务提供商系统102可以生成加密余额,而无需交易服务提供商系统102具有对秘密密钥的访问权。例如,交易服务提供商系统102可以基于拆分支付请求消息、拆分支付请求消息中包括的加密数据生成加密余额。例如,可以使用加法同态密码算法对加密值求和。

在一些非限制性实施例或方面,交易服务提供商系统102可以基于初始加密余额生成加密余额。例如,交易服务提供商系统102可以直接或经由消息接收初始拆分支付交易数据(例如,初始拆分支付交易数据可以包括在由用户装置106传输到交易服务提供商系统102的拆分支付请求消息和/或另一消息中)。在一些非限制性实施例或方面,交易服务提供商系统102可以接收拆分支付请求消息是来自用户装置106的初始消息的指示,并且基于接收到指示,可以生成初始加密余额。在一些非限制性实施例或方面,初始加密余额可与拆分支付交易中涉及的一个或多个用户(例如,一个或多个请求用户和/或一个或多个响应用户)的初始加密余额相关联。

在一些非限制性实施例或方面,交易服务提供商系统102可以接收和/或生成初始加密余额,其中初始加密余额是基于加法同态密码算法确定的。例如,交易服务提供商系统102可以接收和/或生成初始加密余额,其中初始加密余额是加密余额,并且与拆分支付交易中涉及的每个用户相关联的值被设置为零和/或为空值,加密余额是基于加法同态密码算法生成的。

如图2所示,在步骤208,过程200可以包括传输拆分支付确认消息。例如,交易服务提供商系统102可以向用户装置108传输拆分支付确认消息。在一些非限制性实施例或方面,交易服务提供商系统102可以将拆分支付确认消息传输到用户装置108,其中拆分支付确认消息包括加密余额。例如,交易服务提供商系统102可以将拆分支付确认消息传输到用户装置108,其中拆分支付确认响应消息包括请求用户和/或响应用户的加密余额。

在一些非限制性实施例或方面,交易服务提供商系统102可以接收拆分支付确认响应消息。例如,交易服务提供商系统102可以从用户装置108接收拆分支付确认响应消息。在一些非限制性实施例或方面,交易服务提供商系统102可以从用户装置108接收拆分支付确认响应消息,其中拆分支付确认响应消息包括第二加密数据。作为示例,第二加密数据可以包括拆分支付交易获与用户装置108相关联的响应用户批准或未获所述响应用户批准的指示。

在一些非限制性实施例或方面,交易服务提供商系统102可以在经过随机时间间隔之后接收拆分支付确认响应消息。例如,交易服务提供商系统102可以在从拆分支付确认消息被传输到用户装置108的时间点开始经过随机时间间隔之后接收拆分支付确认响应消息。在一些非限制性实施例或方面,用户装置106和/或用户装置108可以确定随机时间间隔。例如,为了防止用户装置106与用户装置108之间的一个或多个通信回合期间的消息拦截,用户装置106和/或用户装置108可以响应于用户装置106和/或用户装置108从交易服务提供商系统102接收到消息和/或数据和/或在从此开始的随机时间间隔之后传输消息。

在一些非限制性实施例或方面,第二加密数据中包括的指示可以包括向量。例如,第二加密数据中包括的指示可以包括与来自拆分支付确认消息的加密数据中包括的向量相关联(例如,包括相同的一个或多个值)的向量,从而指示与用户装置108相关联的响应用户已接受拆分支付交易。在另一示例中,指示中包括的向量可以包括一个或多个值,当添加到请求用户和响应用户的加密余额时,所述一个或多个值不会更改请求用户和响应用户的余额。在一些非限制性实施例或方面,第二加密数据中包括的指示可以包括与包括在拆分支付确认消息中包括的加密数据中包括的向量不相关联(例如,包括不同的一个或多个值)的向量,从而指示与用户装置108相关联的响应用户未接受拆分支付交易。在此类示例中,当加密数据中包括的向量添加到第二加密数据中包括的向量时,可以撤销和/或修改拆分支付交易(例如,可以减小响应用户所请求的值)。在另一示例中,指示中包括的向量可以包括一个或多个值,当添加到请求用户和响应用户的加密余额时,所述一个或多个值更改请求用户和响应用户的余额。在此类示例中,当添加到请求用户和响应用户的加密余额时,所述一个或多个值可以指示响应用户同意小于所请求值的值,和/或不同意任何值。

在一些非限制性实施例或方面,用户装置108可以生成第二加密数据。例如,用户装置108可以基于在用户装置108处接收到指示拆分支付交易获与用户装置108相关联的响应用户批准或未获所述响应用户批准的输入而生成第二加密数据。在一些非限制性实施例或方面,用户装置108可以基于拆分支付确认消息中包括的加密余额生成第二加密数据。

在一些非限制性实施例或方面,用户装置106和/或用户装置108可以生成拆分支付确认响应消息。例如,用户装置106和/或用户装置108可以基于生成第二加密数据来生成拆分支付确认响应消息。在一些非限制性实施例或方面,在用户装置108将拆分支付确认响应消息传输到交易服务提供商系统102之前,用户装置108可以在拆分支付确认响应消息中包括第二加密数据。

在一些非限制性实施例或方面,交易服务提供商系统102可以生成更新的加密余额。例如,交易服务提供商系统102可以为与用户装置106相关联的请求用户和/或与用户装置108相关联的响应用户生成更新的加密余额。在一些非限制性实施例或方面,交易服务提供商系统102可以基于拆分支付确认响应消息生成更新的加密余额。例如,交易服务提供商系统102可以基于拆分支付确认响应消息和/或拆分支付确认响应消息中包括的第二加密数据生成更新的加密余额。在一些非限制性实施例或方面,交易服务提供商系统102可以基于加密余额生成更新的加密余额。

在一些非限制性实施例或方面,交易服务提供商系统102可以生成更新的加密余额,而无需交易服务提供商系统102具有对秘密密钥的访问权。例如,交易服务提供商系统102可以基于拆分支付请求消息、拆分支付请求消息中包括的加密数据、拆分支付确认响应消息、拆分支付确认响应消息中包括的第二加密数据和/或加法同态密码算法生成更新的加密余额。

在一些非限制性实施例或方面,交易服务提供商系统102可以传输拆分支付响应消息。例如,交易服务提供商系统102可以将拆分支付响应消息传输到用户装置106和/或用户装置108。在此类示例中,交易服务提供商系统102可以在拆分支付响应消息中包括更新的加密余额。例如,交易服务提供商系统102可以在拆分支付响应消息中包括与用户装置106相关联的请求用户和/或与用户装置108相关联的响应用户的更新的加密余额。

在一些非限制性实施例或方面,交易服务提供商系统102可以生成校验和值。例如,交易服务提供商系统102可以基于拆分支付确认消息的加密数据和/或请求用户和响应用户(例如,第二用户)的加密余额生成一个或多个校验和值。在此类示例中,交易服务提供商系统102可以将一个或多个校验和值传输到用户装置106和/或用户装置108。在一些非限制性实施例或方面,用户装置106和/或用户装置108可以生成一个或多个校验和值并将其传输到用户装置106和/或用户装置108的另一个。例如,用户装置106和/或用户装置108可以基于加密数据和/或第二加密数据而生成一个或多个校验和值并将其传输到用户装置106和/或用户装置108的另一个。由于生成和/或接收一个或多个校验和值,用户装置106和/或用户装置108可以确定拆分支付交易是否有效(例如,来自用户装置106或用户装置108中的另一个和/或交易服务提供商系统102的通信是真实还是恶意的)。

现在参考图3,所示的是根据非限制性实施例或方面的用于维护群组交易中用户隐私的过程实施方案300的图。如图3所示,实施方案300可以包括交易服务提供商系统302、用户装置306和用户装置308。交易服务提供商系统302可以与交易服务提供商系统102相同或类似,用户装置306可以与用户装置106相同或类似,和/或用户装置308可以与用户装置108相同或类似(参见图1)。

如图3中的参考标号310所示,用户装置306可以与交易服务提供商系统302通信,以建立秘密密钥。例如,用户装置306可以与交易服务提供商系统302通信,以建立与用户装置308的秘密密钥。在此类示例中,用户装置306可以接收数据并使用用户装置308的公钥对数据进行加密。因此,可以保证安全性,因为交易服务提供商系统302无权访问用户装置308的私钥以对用户装置306与用户装置308之间的通信进行解密。还可以建立和共享交易服务提供商系统302无法访问的秘密对称密钥。可以通过为每个群组、交易或用户生成秘密密钥来建立秘密密钥,和/或可以从密钥交换中标识出秘密密钥。

如图3中的参考标号312所示,用户装置308可以与交易服务提供商系统302通信,以建立秘密密钥。例如,用户装置308可以与交易服务提供商系统302通信,以建立与用户装置306的秘密密钥。在此类示例中,用户装置308可以接收数据并使用用户装置308的公钥对数据进行加密。

如图3中的参考标号314所示,用户装置306可以向交易服务提供商系统302传输拆分支付请求消息。例如,用户装置306可以将拆分支付请求消息传输到交易服务提供商系统302,所述拆分支付请求消息包括与拆分支付交易相关联的加密数据。在此类示例中,拆分支付交易可以表示与用户装置308相关联的响应用户同意从与响应用户相关联的账户转移一笔资金到请求用户的账户的指示,所述请求用户与用户装置306相关联。

如图3中的参考标号316所示,交易服务提供商系统302可以生成加密余额。例如,交易服务提供商系统302可以生成包括值(例如,与一笔或多笔资金相关联的值,所述资金要从与与拆分支付交易中涉及的用户装置308相关联的响应用户相关联的账户借记并贷记到与请求用户相关联的账户)的加密余额。交易服务提供商系统302可以生成加密余额,而无需访问用户装置306与用户装置308之间建立的秘密密钥。例如,交易服务提供商系统302可以基于加法同态密码算法(例如,通过基于加法同态密码算法将加密余额添加到在用户装置306发起拆分支付交易之前建立的初始余额)生成加密余额。

如图3中的参考标号318所示,交易服务提供商系统302可以向用户装置308传输拆分支付确认消息。例如,交易服务提供商系统302可以基于生成加密余额(例如,在生成加密余额之后,响应于生成加密余额等)而将拆分支付确认消息传输到用户装置308。在一些非限制性实施例或方面,拆分支付确认消息可以包括加密余额。

如图3中的参考标号320所示,交易服务提供商系统302可以从用户装置308接收拆分支付确认响应消息。例如,交易服务提供商系统302可以从用户装置308接收拆分支付确认响应消息,所述拆分支付确认响应消息包括第二加密数据。在此类示例中,第二加密数据可以包括拆分支付交易获与用户装置308相关联的响应用户批准的指示。

如图3中的参考标号322所示,交易服务提供商系统302可以生成更新的加密余额。例如,交易服务提供商系统302可以基于(例如,通过添加)加密余额和第二加密余额来生成更新的加密余额。在此类示例中,交易服务提供商系统302可以基于加法同态密码算法生成更新的加密余额。

如图3中的参考标号324所示,交易服务提供商系统302可以向用户装置306传输拆分支付响应消息。例如,交易服务提供商系统302可以将包括更新的加密余额的拆分支付响应消息传输到用户装置306。

现在参考图4,所示的是用于维护群组交易中的用户隐私的过程实施方案400的图。如图4所示,实施方案400可以包括交易服务提供商系统402、用户装置406、用户装置408-1、用户装置408-2和/或用户装置408-3,其中用户装置408-1到408-3与第一响应用户、第二响应用户和第三响应用户相关联。交易服务提供商系统402可以与交易服务提供商系统102相同或类似,用户装置406可以与用户装置106相同或类似,和/或用户装置408-1到408-3可以与用户装置108相同或类似(参见图1)。

如图4中的参考标号410所示,用户装置406可以向交易服务提供商系统402传输拆分支付请求消息。例如,用户装置406可以将拆分支付请求消息传输到交易服务提供商系统402,所述拆分支付请求消息包括与拆分支付交易相关联的加密数据。在此类示例中,拆分支付交易可以表示与用户装置408-1相关联的第一响应用户和与用户装置408-2相关联的第二响应用户同意从与第一响应用户和第二响应用户相关联的账户转移一笔资金到请求用户的账户,所述请求用户与用户装置406相关联。拆分支付交易还可以表示与用户装置408-3相关联的第三响应用户在每一通信回合期间传送空值以提供拆分支付交易的额外安全性的请求。

如图3中的参考标号412所示,交易服务提供商系统402可以生成加密余额。例如,交易服务提供商系统402可以生成包括每个用户装置的值(例如,[2,-1,-1,0],其中第一值(2)与请求转移到请求用户的账户的资金金额相关联,第二和第三值(-1)与请求从第一响应用户和第二响应用户的账户转移的资金金额相关联,并且第四值(0)与指示资金不是从第三响应用户请求的零或空值相关联)的加密余额。交易服务提供商系统402可以生成加密余额,而无需访问用户装置406与用户装置408-1、用户装置408-2和/或用户装置408-3之间建立的秘密密钥。例如,交易服务提供商系统402可以基于拆分支付请求消息中包括的加密数据和加法同态密码算法来生成加密余额。

如图4中的参考标号414所示,交易服务提供商系统402可以在第一通信回合中向用户装置408-1、用户装置408-2、用户装置408-3和用户装置406传输拆分支付确认消息。例如,交易服务提供商系统402可以基于为用户装置406、用户装置408-1、用户装置408-2和用户装置408-3生成加密余额而传输拆分支付确认消息。在一些非限制性实施例或方面,拆分支付确认消息可以包括用户装置406、用户装置408-1、用户装置408-2和用户装置408-3的加密余额。

如图4中的参考标号416所示,交易服务提供商系统402可以从用户装置408-1、用户装置408-2、用户装置408-3和用户装置406接收拆分支付确认响应消息。例如,交易服务提供商系统402可以从用户装置408-1、用户装置408-2和/或用户装置408-3接收拆分支付确认响应消息,其中拆分支付确认响应消息包括第二加密数据。在此类示例中,第二加密数据可以包括拆分支付交易被第一响应用户和/或第二响应用户批准的指示。另外,在此类示例中,第二加密数据可以包括零或空值,指示与用户装置408-3相关联的响应用户正在第一通信回合期间参与通信,但是既没有批准也没有不批准拆分支付交易。在一些非限制性实施例或方面,可能发生多个通信回合,其中用户装置406、用户装置408-1、用户装置408-2和/或用户装置408-3中的一个或多个在多个通信回合期间传输零或空值,其中用户装置406、用户装置408-1、用户装置408-2和/或用户装置408-3不传送关于它们是批准还是不批准拆分支付交易的指示。这样,如果一个或多个消息被拦截,则无法得到拆分支付交易的详细信息。

如图4中的参考标号418所示,交易服务提供商系统402可以生成更新的加密余额。例如,交易服务提供商系统402可以基于(例如,通过添加)加密余额和第二加密余额来生成更新的加密余额。在此类示例中,交易服务提供商系统402可以基于加法同态密码算法生成更新的加密余额。

如图4中的参考标号420所示,交易服务提供商系统402可以将拆分支付响应消息传输到用户装置406、用户装置408-1、用户装置408-2和用户装置408-3。例如,交易服务提供商系统402可以将包括请求用户、第一响应用户、第二响应用户和第三响应用户的更新的加密余额的拆分支付响应消息传输到用户装置406、用户装置408-1、用户装置408-2和用户装置408-3。

现在参考图5,所示的是用于维护群组交易中的用户隐私的系统500。系统500可以包括交易服务提供商系统502、用户装置506、用户装置508-1、用户装置508-2和/或用户装置508-3,其中用户装置508-1到508-3分别与第一响应用户、第二响应用户和第三响应用户相关联。交易服务提供商系统502可以与交易服务提供商系统102相同或类似,用户装置506可以与用户装置106相同或类似,和/或用户装置508-1到508-3可以与用户装置108相同或类似(参见图1)。

在一些非限制性实施例或方面,用户群组(例如,与包括用户装置506和用户装置508-1到508-n的用户装置相关联的用户群组)可以发起拆分支付交易,其中每个用户装置506和用户装置508-1到508-n在其间建立任何服务器不知道(例如,交易服务提供商系统502不可访问)的秘密密钥。例如,一个用户装置(例如,用户装置506或用户装置508-1到508-n中的一个)可以确定秘密密钥并将其发送到其它用户装置(例如,用户装置506或用户装置508-1到508-n之一中的另一个),对使用与彼此用户装置相关联的公钥(例如,用户装置506和用户装置508-1到508-n的公钥)确定的秘密密钥进行加密。交易服务提供商系统502可以保留与使用系统的每个用户装置相关联的公钥记录。在此类示例中,交易服务提供商系统502可能无法确定用户装置506与用户装置508-1到508-n之间建立的秘密密钥。

在一些非限制性实施例或方面,系统500可以对交易服务提供商系统502提供隐私(例如,其中交易服务提供商系统502可以在拆分支付交易期间尝试拦截一个或多个消息)。例如,最初,用户装置506和用户装置508-1到508-n中的一个可以向交易服务提供商系统502发送与在用户装置506与用户装置508-1到508-n之间建立的秘密密钥相关联的公钥。然后,交易服务提供商系统502可以一次或多次(例如,N次)复制值(例如,零)的加密以匹配群组大小,在复制加密之后,输出加密结果作为用户余额的向量(例如,如本文所论述的初始拆分支付交易数据所论述)。例如,交易服务提供商系统502可以基于与秘密密钥相关联的公钥生成零的加密,因为交易服务提供商系统502拥有或可访问与秘密密钥相关联的公钥。

在一些非限制性实施例或方面,用户装置506和用户装置508-1到508-n中的一个可以将消息传输到交易服务提供商系统502,以使交易服务提供商系统502涉及(例如,包括)拆分支付交易中的新用户装置。在此类示例中,用户装置506和用户装置508-1到508-n中的一个可以建立到新用户装置的秘密密钥(例如,传输秘密密钥)。然后,交易服务提供商系统502可以将另一零添加到用户余额的向量,并且通知其它用户装置506和用户装置508-1到508-n新用户装置被添加到拆分支付交易中。

在一些非限制性实施例或方面,用户装置506和用户装置508-1到508-n可以从交易服务提供商系统502接收与初始加密余额相关联的数据和/或消息,对初始加密余额进行解密,以及经由另一渠道处理支付(例如,用户装置506和用户装置508-1到508-n可以将与与拆分支付交易相关联的支付交易相关联的交易数据传输到支付处理系统(例如,交易服务提供商系统502、另一交易服务提供商系统、发行方系统等),所述拆分支付交易涉及与与相应用户相关联的用户装置506和用户装置508-1到508-n相关联的请求用户)。

在一些非限制性实施例或方面,拆分支付交易可以在一系列回合中进行。例如,在每一回合中,与用户装置506或用户装置508-1到508-n相关联的用户可以从与用户装置506或用户装置508-1到508-n中的另一个相关联的另一用户请求一个货币单位(例如,一笔资金)。然后,与用户装置506和用户装置508-1到508-n相关联的每个用户可以向交易服务提供商系统502发送拆分支付交易数据,所述拆分支付交易数据包括大小为N的用户余额向量,其中除了与将被收费的用户的用户装置506或用户装置508-1到508-n中的一个相关联的条目的值(例如,$1等)之外,所有条目都是零。希望不参与给定回合的拆分支付交易的用户可以在从交易服务提供商系统502接收到包括用户余额向量(所述向量包括与来自相应用户的资金请求相关联的条目的值)的拆分支付交易数据时,向其相应用户装置506或用户装置508-1到508-n中的一个提供输入,所述输入包括针对其相应账户的相应用户条目中的不同值(例如,当添加到请求用户请求的值时减少和/或消除与相应用户相关联的金额的不同值),如本文所述。然后,交易服务提供商系统502可以从用户装置506和用户装置508-1到508-n中的每一个接收拆分支付交易数据(例如,用户余额向量),并且将从每个用户装置506和用户装置508-1到508-n接收的拆分支付交易数据(例如,拆分支付交易数据中包括的向量)求和,将总和添加到初始加密余额。接着,交易服务提供商系统502可以从提交向量的每个用户的余额中减去一。这使每个用户要么收支平衡,要么将一个单位转移到另一个用户。在此示例中,用户余额中的值表示他们欠群组的欠款金额,因此在另一个用户的余额中提供一个货币单位(例如,$1)意味着给他们一个单位的欠款(例如,向用户请求$1)。

在一些非限制性实施例或方面,交易服务提供商系统502可以将值的总和(例如,校验和值)添加到初始加密余额中,并轮询用户装置506和用户装置508-1到508-n中的每一个以验证该值是否等于群组中的成员数量。这种校验防止群组总余额的无声增长。在一些非限制性实施例或方面,可以与其它操作异步地完成校验,并且如果发现问题,可以回退回合。

在一些非限制性实施例或方面,为了支持收费请求,交易服务提供商系统502可以首先为群组的每个成员分配2的幂,使得为群组成员i分配值2

在一些非限制性实施例或方面,如果不止一个用户装置506或用户装置508-1到508-n正在收费(例如,作为请求用户并从作为响应用户的一个或多个用户请求资金),则可以使用下一回合来解决冲突。在第一回合中,通过让收费者在其自身的索引中提交“+2”来回退上一回合的所有交易,并且收费为“-1”。在后续回合中,通过第一用户装置在第一回合中发出其请求,第二用户装置在第二回合中发出其请求,以此类推,再次进行每个收费。与希望进行收费的另一用户装置相关联的其它用户需等待解析过程完成后再收费。此技术可用于解决嵌套冲突。由于当请求完成时,所发送的用于标识收费者的值将肯定是2的幂,因此只能有一个用户已经收费,并且用户装置506或用户装置508-1到508-n之一中的一个或多个可以基于2的幂的对数来确定收费者的身份。可以简单地通过让被陷害(例如,未正确收费和/或指示为未正确收费)的用户报告所述用户已被陷害来实现此机制的完整性。

在一些非限制性实施例或方面,可以使用例如高级加密标准(“AES”)之类的安全伪随机函数(PRF),而不是迄今为止描述的方案的更强大的加法同态加密。当与给定输入的随机输出(例如,随机字符串)相比时,这些PRF作为输出(例如,作为字符串)可能无法区分。在一些非限制性实施例或方面,PSR可以定义为函数F,其中{0,1}

|Pr[D

可忽略不计,其中k←{0,1}

例如,可以通过PRF的输出对加法同态加密方案进行掩码处理。代替包括加密密钥公钥(“pk”)和私钥(“sk”)的秘密密钥,用户装置506和用户装置508-1到508-n可以为PRF f建立PRF密钥sk,并使用不同的PRF输出来对发送到交易服务提供商系统502的每个值进行掩码处理。也就是说,对于从用户i发送到交易服务提供商系统502的每个密文V

在一些非限制性实施例或方面,为了保持此改变的正确性,每个用户装置506和用户装置508-1到508-n可以计算每一回合中r

在一些非限制性实施例或方面,基于PRF的方案可以针对恶意服务器(例如,其中交易服务提供商系统502和/或另一服务器计算机由恶意用户操作)进行安全保护,而不改变交易服务提供商系统502(例如,与交易服务提供商系统502相关联地执行的操作),每回合带宽没有增加,并且对每个用户装置506和用户装置508-1到508-n的改变最小。代替用伪随机r

在一些非限制性实施例或方面,系统500的一个或多个装置可以验证拆分支付交易的完整性。例如,系统500的一个或多个装置可以校验从交易服务提供商系统502发送的总和是否等于s·N而不仅仅是N。在一些非限制性实施例或方面,系统500的一个或多个装置还可以向设置过程添加完整性校验,因为交易服务提供商系统502可以不被配置成单独生成1的向量,并且需要从用户装置506或用户装置508-1到508-n中的一个发送此类向量。用户装置506和用户装置508-1到508-n中的其它装置还可以校验发送到交易服务提供商系统502的向量实际上由所有1组成。在一些非限制性实施例或方面,用户装置506和/或用户装置508-1到508-n在从交易服务提供商系统502接收到新余额时,可以确定新值将是最远离旧值的值。这样,用户装置506和用户装置508-1到508-n可以通过将可能的余额乘以s来校验三个可能值中的每一个,并且在去除r值之后确定哪个值与发送的值匹配。如果新值不匹配三个可能值中的任一个,则系统500的一个或多个装置可以确定支付请求中发生了冲突和/或交易服务提供商系统502可疑。

在一些非限制性实施例或方面,用户装置506和用户装置508-1到508-n可以执行N种可能情况的线性扫描,其中只有与群组的用户装置506或用户装置508-1到508-n之一中的一个相关联的一个用户通过检验从交易服务提供商系统502接收到的值在去除r值之后是否等于-s·2

在一些非限制性实施例或方面,对于具有安全参数λ的拆分支付交易Pp(设置、加入、请求、结算、追踪),使用具有范围{0,1}

交易服务提供商系统502可以基于并设置为N=N+1而向拆分支付交易添加另一用户。例如,当将另一用户添加到拆分支付交易时,交易服务提供商系统502可以将零或空值的另一副本添加到向量p的末尾,并且向用户装置506和用户装置508-1到508-n发送具有新值N的消息,从而指示另一用户参与拆分支付交易。在一些非限制性实施例或方面,一旦如所描述建立了加密余额,系统500的一个或多个装置就可以根据以下步骤继续进行。

在下一回合m中,用户装置506或用户装置508-1到508-n之一中的一个或多个(称为Ui)可以创建向量v

在一些非限制性实施例或方面,可能存在许多情况:如果v'*≠N+Σ(从i=0到i=N)Σ(从j=0到N)r

在一些非限制性实施例或方面,交易服务提供商系统502可以将向量p输出到用户装置506或用户装置508-1到508-n之一。例如,交易服务提供商系统502可以输出向量p,其中向量p是通过对于每个条目p

在一些非限制性实施例或方面,当执行追踪函数时,在tid所参考的回合m*之前和/或之后,交易服务提供商系统502可以对p

在一些非限制性实施例或方面,系统500(例如,系统500的一个或多个装置)可以被配置成执行范围为{0,1}

在一些非限制性实施例或方面,交易服务提供商系统502可以存储由0的副本构造的长度为N的向量p。用户装置506或用户装置508-1到508-n之一的用户装置U

交易服务提供商系统502可以将元组(v',c,p

在上述两个实施例都不适用的实施例中,系统500的一个或多个装置可以确定多个请求在同一回合中发生冲突和/或交易服务提供商系统502没有按预期工作。在下一回合(m+1)中,与用户相关联的用户装置可以传输与在上一回合m期间发送的向量相同的向量,但是具有r的更新值,并且通过前述将任何值乘以s。在一些非限制性实施例或方面中,在回合m+1中从交易服务提供商系统502发送的值可以是(v'**c**,p

在下一回合(m+2)中,每个用户装置506、508-1到508-n可以传输向量v

在一些非限制性实施例或方面,交易服务提供商系统502可以将向量p作为输出提供到用户装置506、508-1到508-n中的一个或多个。在此类示例中,每个用户装置506、508-1到508-n可以将与相应用户装置506、508-1到508-n相关联的存储值p'

本文描述的实施例的每回合带宽可以是从用户装置506和用户装置508-1到508-n中的每一个到交易服务提供商系统502的0(N)个密文,然后是从交易服务提供商系统502到用户装置506和用户装置508-1到508-n中的每一个的0(1)(实际上是3)个密文。然而,常数差别很大,因为与基于加密的方法的组元素相比,基于PRF的方案中的密文长度仅为128位。在充分同态加密FHE的更强假设下并且以更高的实际成本,基于加密的方案的渐近带宽可以降低到O(N)。所有这三个方案都是按回合进行的,只要尝试同时收费的用户之间没有冲突,每回合就有一个交易。在发生冲突的情况下,半诚实方案浪费两个回合(确定发生了冲突的第一回合,以及回退冲突期间发生的通信的第二回合),而恶意方案浪费三个回合(检取值的非标签版本的第一回合,确定发生了冲突的第二回合,以及回退冲突期间发生的通信的第三回合)。在一些非限制性实施例或方面,传输与加密余额相关联的数据和/或消息可能需要从交易服务提供商系统502向用户装置506和用户装置508-1到508-N中的每一个发送一条大小为0(N)的消息,除非在恶意情况下,这之前是从每个用户到交易服务提供商系统502的大小为0(1)的消息。

继续参考图5,对于所描述的实施例或方面,每回合带宽可以是从每个用户装置506和用户装置508-1到508-n传输到交易服务提供商系统502并返回到每个相应的用户装置506和用户装置508-1到508-n的O(N)个密文。然而,常数差别很大,因为与基于加密的方法的组元素相比,基于PRF的方案可以是有限长度(例如,128位长)。在充分同态加密的更强假设下并且以更高的实际成本,基于加密的方案的渐近带宽可以降低到O(sqrt(N))。

所有三个实施例都可以按回合进行,使得只要在同一回合中向拆分支付交易提交费用的用户装置506与用户装置508-1到508-n之间的通信没有冲突,每回合就可以有一个交易。在发生冲突的情况下(例如,在同一回合中对拆分支付交易进行两个或多个更改的情况下),半诚实实施例可以包括两个更多的回合(确定在系统500的一个或多个装置处发生了冲突的第一回合,以及基于确定发生了冲突而回退交易的第二回合),而恶意实施例可以包括三个更多的回合(检取值的非标签版本的第一回合,确定在系统500的一个或多个装置处发生了冲突的第二回合,以及基于确定发生了冲突而回退交易的第三回合)。

结算运算可以包括从交易服务提供商系统502到每个用户装置506和用户装置508-1到508-N的一条大小为O(N)的消息,除非在恶意情况下,这之前是从每个用户装置506和用户装置508-1到508-N到交易服务提供商系统502的大小为O(1)的消息。

在一些非限制性实施例或方面,交易服务提供商系统502可以在每一回合中执行相同和/或类似的处理,而不管实施的实施例如何,并且可以在时间O(N

1]在一些非限制性实施例或方面,系统500的一个或多个装置可以确定哪个用户装置506和/或用户装置508-1到508-n正试图拦截消息和/或作为恶意装置操作,以阻止此类用户装置506和/或用户装置508-1到508-n和/或阻止此类用户装置506和/或用户装置508-1到508-n在未来群组中的成员身份。为此,交易服务提供商系统502可以将其在前一回合中接收到的所有消息传输到每个用户,因此用户装置506和/或用户装置508-1到508-n可以校验哪个用户的输入格式是不正确的。然而,这种方法可能要求交易服务提供商系统502向用户装置506和/或用户装置508-1到508-n中的每个用户装置传输N

在一些非限制性实施例或方面,本文描述的实施例或方面可被修改以预期用户装置离线。对于基于加法同态加密的实施例,交易服务提供商系统502可以提供表示不对任何回合中不发送任何内容(例如,拆分支付交易数据等)的任何用户装置(例如,用户装置506和/或一个或多个用户装置508-1到508-n)进行任何收费的向量。在基于PRF的实施例中,交易服务提供商系统502可以执行相同的操作,并且包括用于离线的一个或多个用户装置(例如,用户装置506和/或一个或多个用户装置508-1到508-n)的明文向量。另外或替代地,交易服务提供商系统502可以通知用户装置506和/或一个或多个用户装置508-1到508-n中的一个或多个用户装置关于哪些用户在给定的回合中没有发送消息,以便与用户装置506和/或用户装置508-1到508-n中的一个或多个相关联的一个或多个其它用户可以确定从各种总和中忽略哪些r值。在一些非限制性实施例或方面,系统500可以保证在没有来自用户装置506和/或一个或多个用户装置508-1到508-n中的一个或多个的通信的情况下,安全性将以可预测的方式降级,并且拆分支付交易匿名性等于在线用户装置的数量且只要有一个诚实用户在线就可以保持完整性。即使在系统500的一个或多个装置之间传输恶意消息时没有诚实用户在线,当系统500的一个或多个装置稍后恢复在线并且交易服务提供商系统502向系统500的一个或多个装置传输丢失的消息时,系统500的一个或多个装置传输仍然可以检测恶意消息。同样的方法也可以应用于恶意安全解决方案,但可能需要进行权衡。允许交易服务提供商系统502对离线用户具有弹性将包括给予交易服务提供商系统502排除由与一个或多个用户相关联的用户装置传输的拆分支付交易数据所表示的交易的能力,方法是通过说不存在一个或多个用户装置(例如,用户装置506和/或一个或多个用户装置508-1到508-n)用于所述回合的拆分支付交易数据的通信。在一些非限制性实施例或方面,交易服务提供商系统502可能不知道用户在任何回合中正在做什么,这意味着这种攻击主要相当于拒绝服务的可能性(并且交易服务提供商系统502可能总是更直接地拒绝服务),但是我们的安全概念需要修改为显式地允许在服务器的部分上的这类省略。

本文描述的定义描述了一种设置,其中用户装置506和/或一个或多个用户装置508-1到508-n中的每一个始终在线,为每个交易提供大小为N的匿名集,并针对N-1个恶意用户强制执行完整性。当用户装置506和/或一个或多个用户装置508-1到508-n中的用户装置的数量减少到N'

在一些非限制性实施例或方面,如果一次与一个货币单位相关联的通信拆分支付交易数据将需要不合需要的回合数,则可以修改回合结构,使得每一回合都伴随着一个值乘法器。每一回合都有一个预先确定的值,并且给定回合中包括的所有拆分支付交易都将具有所述值。如果群组愿意透露其调度的选择,则回合值的调度可以固定在一定的金额(例如,增加货币面额或2的前几次幂)或由群组自身设置。重要的是,交易服务提供商系统502应用乘法器(通过将每个接收到的向量相乘),否则这将使方案的完整性受到攻击,并破坏我们拒绝收费方法的正确性。

在一些非限制性实施例或方面,本文公开的系统和方法可允许在不增加带宽的情况下增加回合中的交易数量。这是可以实现的,因为AES通常用于实例化我们的PRF,并且它有128位的输出。如果与一个或多个用户相关联的加密余额不太可能超过某个大值(例如,221),则每个掩码值可被划分为两个(例如,拆分),然后发送到交易服务提供商系统502,分成六(6)个独立的槽,用户可将交易放入其中。在对从交易服务提供商系统502接收回的值的解掩码之后,用户将余额视为六个“子余额”的总和,其总和是用户的实际余额。这对于与应用程序的交互不受优化影响的人类用户来说是透明的。

进行收费的用户装置506、508-1到508-n可以通过发送包括所述金额的第二加密值来指示要收费的总金额(拆分为几个回合),而其它用户装置506、508-1到508-n可以上传零的加密。然后,交易服务提供商系统502可以对加密值求和,并将结果发送到每个用户装置506、508-1到508-n。因此,接收用户可能会知道一次性收取的费用,并且可以让应用程序权限接受适当数量的回合的收费。这将在应用程序处理底层拆分支付交易的详细信息时启用用户界面。同时,这不会带来新的安全问题,因为超出索赔金额的额外费用将登记为新的交易,而实际余额不会受到这种变化的影响。

现在参考图6,示出了装置600的示例部件的图。装置600可对应于一个或多个装置交易服务提供商系统102、数据库104、用户装置106、用户装置108-1至108-n、商家系统110、发行方系统112和/或通信网络114。在一些非限制性实施例或方面,交易服务提供商系统102的一个或多个装置、数据库104的一个或多个装置、用户装置106的一个或多个装置、用户装置108-1至108-n的一个或多个装置、商家系统110的一个或多个装置、发行方系统112的一个或多个装置和/或通信网络114的一个或多个装置可以包括至少一个装置600和/或装置600的至少一个部件。如图6所示,装置600可以包括总线602、处理器604、存储器606、存储部件608、输入部件610、输出部件612和通信接口614。

总线602可以包括准许装置600的部件之间的通信的部件。在一些非限制性实施例或方面,处理器604可以硬件、软件,或硬件和软件的组合实施。例如,处理器604可以包括处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)等)、微处理器、数字信号处理器(DSP)和/或可以被编程为执行功能的任何处理部件(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)。存储器606可以包括随机存取存储器(RAM)、只读存储器(ROM),和/或存储供处理器604使用的信息和/或指令的另一类型的动态或静态存储装置(例如,闪存存储器、磁存储器、光学存储器等)。

存储部件608可以存储与装置600的操作和使用相关联的信息和/或软件。例如,存储部件608可以包括硬盘(例如,磁盘、光盘、磁光盘、固态磁盘等)、压缩光盘(CD)、数字多功能光盘(DVD)、软盘、盒带、磁带和/或另一类型的计算机可读介质,以及对应的驱动器。

输入部件610可以包括准许装置600例如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关、麦克风、摄像头等)接收信息的部件。另外或替代地,输入部件610可以包括用于感测信息的传感器(例如全球定位系统(GPS)部件、加速度计、陀螺仪、致动器等)。输出部件612可以包括提供来自装置600的输出信息的部件(例如,显示器、扬声器、一个或多个发光二极管(LED)等)。

通信接口614可以包括收发器式部件(例如,收发器、独立的接收器和传输器等),所述收发器式部件使装置600能够例如经由有线连接、无线连接,或有线和无线连接的组合与其它装置通信。通信接口214可以准许装置600接收来自另一装置的信息和/或向另一装置提供信息。例如,通信接口614可以包括以太网接口、光学接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、

装置600可以执行本文所描述的一个或多个过程。装置600可以基于处理器604执行由例如存储器606和/或存储部件608的计算机可读介质存储的软件指令来执行这些过程。计算机可读介质(例如,非瞬态计算机可读介质)在本文中定义为非瞬态存储器装置。非瞬态存储器装置包括位于单个物理存储装置内部的存储器空间或散布于多个物理存储装置上的存储器空间。

软件指令可以经由通信接口614从另一计算机可读介质或从另一装置读取到存储器606和/或存储部件608中。当执行时,存储在存储器606和/或存储部件608中的软件指令可以使处理器604执行本文中描述的一个或多个过程。另外或替代地,硬接线电路可替代或结合软件指令使用以执行本文中所描述的一个或多个过程。因此,本文所描述的实施例或方面不限于硬件电路系统和软件的任何特定组合。

存储器606和/或存储部件608可以包括数据存储装置或一个或多个数据结构(例如数据库等)。装置600能够从存储器606和/或存储部件608中的数据存储装置或一个或多个数据结构接收信息、将信息存储于所述数据存储装置或一个或多个数据结构中、向所述数据存储装置或一个或多个数据结构传送信息或搜索其中存储的信息。例如,信息可以包括加密数据、输入数据、输出数据、交易数据、账户数据或其任何组合。

提供图6中示出的部件的数量和布置作为示例。在一些非限制性实施例或方面,装置600可以包括额外部件、更少部件、不同部件或以与图6所示的那些不同的方式布置的部件。另外或替代地,装置600的一组部件(例如,一个或多个部件)可执行被描述为由装置600的另一组部件执行的一个或多个功能。

尽管已出于说明的目的而基于当前被认为是最实用和优选的实施例详细描述了本公开,但应理解,此类细节仅用于所述目的,且本公开不限于所公开实施例,而相反,旨在涵盖在所附权利要求书的精神和范围内的修改和等效布置。例如,应理解,本公开预期,尽可能地,任何实施例的一个或多个特征可以与任何其它实施例的一个或多个特征组合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号