存储和检索信息的方法和系统的制作方法

xiaoxiao2020-7-22  14

专利名称:存储和检索信息的方法和系统的制作方法
技术领域
一般来说,本发明涉及存储和检索电子信息的方法和系统。本发明的方法和系统尤其针对要求保证其安全并且必须对多种应用的使用可用的电子信息的存储。本方法也指存储和检索与信息有关的使用数据的方法。
背景技术
保证敏感信息的存储和操作安全是个主要问题,尤其是对于许多应用不得不使用这样的敏感信息的组织。电子交易的发展增加了要求敏感信息的交易的数目。另外,为了便利交易以及对用户更有吸引力,许多组织努力消除为了完成交易重新输入全部所需数据的需要。这暗示了存储敏感信息。然而,存储敏感信息可能很难完全安全。确实,存储敏感信息的数据库可能被窃或者遭受黑客攻击。另外,在敏感信息从存储它的数据库向处理它的应用传送期间, 它可能被非法检索。为了提高存储的安全性,某些系统允许将敏感信息拆分为两部分并将每个部分存储在各自的数据库中。不过,这些系统已经证实并非完全令人满意,尤其是在多种应用需要处理同一敏感信息的环境中。这多种应用可能由提供许多服务的单一组织运行。若干全球分布系统(GDS)比如 AMADEUS或SABRE是这样的组织的典型实例,它们提供的许多服务涉及要求敏感信息的多种应用。几个截然不同的公司也可以合作以向消费者提供整合的服务。例如,电子商务和银行可以合作以向消费者提供容易的在线采购解决方案。几家商户也能够合作以形成组织并向消费者提供范围更宽的服务和产品。本发明的目的是提供高效且有用户吸引力的方法,以在许多应用可能需要处理同一敏感信息的环境中存储和检索信息。

发明内容
本发明介绍了存储和检索与敏感信息相关联的使用数据的方法,该敏感信息在包括多个能够使用信息和使用数据的应用系统ASii = Ln的分布式环境中要求保证其安全。敏感信息的典型实例为信用卡号。存储信息包括下述步骤。多个应用系统ASii = Ln中给定应用系统^^.接收信息并从信息产生提取的数据和补足数据。所提取的数据和补足数据按以下方式产生-独立地取得它们时,任何应用系统ASii= 都不可能使用敏感信息,以及-一起取得它们时,便能够产生和使用信息。另外,所述给定应用系统AS^从信息产生编码的信息。然后,它向服务器系统SS发送所提取的数据和所编码的信息。
5
所述服务器系统SS产生索引ID并向所编码的信息和所提取的数据分配这个索引 ID。然后服务器系统SS在与服务器系统SS相关联的数据库DBss中存储所编码的信息、所提取的数据和索引ID。所述服务器服务器SS进一步向多个应用系统ASii = Ln中给定应用系统Ah转发索引ID。然后,给定应用系统々。向与信息有关的、应用存储的数据分配索引ID。最后,给定应用系统AS^在与给定应用系统AS^相关联的数据库DB㈣中与应用存储的数据一起存储索引ID。根据本发明的第一种使用情况,使用数据是信息,而应用存储的数据是补足数据。因此,给定应用系统Α。仅仅发送所提取的数据和所编码的信息。不存在敏感信息的交换。另外,由于给定应用系统AS^的数据库DB&.仅仅存储补足数据和ID而服务器系统的数据库DBss仅仅存储所提取的数据、所编码的信息和索引ID,那么所提取的和补足数据绝不会存储在同一数据库中。所以,搜寻所述网络、窃取或黑客攻击给定应用系统ASj的数据库或服务器系统SS的数据库中任何一个都不能够或者获得补足和提取的数据或者获得完整信息。所以信息无法被重建和非法使用。另外,索引ID由服务器系统SS而不是由接收信息的给定应用系统Mj产生。因此,索引ID被分配给由编码的信息和提取的数据形成的单一对。所以,不存在与同一信息有关的并发的索引ID。为了交换与给定信息有关的数据,各种应用系统ASii = L1Jg够共享与所述信息相关联的唯一索引ID。所以,本发明尤为便于在许多应用系统ASi^』使用敏感信息的分布式环境中存储所述敏感信息。服务器系统SS的数据库DBss存储所提取的数据,连同所编码的信息和索引ID。因此,应用系统能够或者在向所述应用系统提供了索引ID时接收所提取的数据,或者在应用系统访问所提取的数据和所编码的信息时接收索引ID。所以,这样的方法允许向多个应用系统ASii = Ln提供这些应用系统ASii = LnE对预定的使用时需要的各种数据。所以,本发明允许安全的存储,用于多个应用系统ASii =工..n应对的多种操作。即使一个或许多应用模块ASii = Ln被窃、受迫或受到黑客攻击,信息也无法检索。 得到所述编码过程确实不能获得信息,因为所提取的数据和所编码的信息都不存储在与各种应用系统ASii吣^相关联的数据库DBASi中。因此,本发明增强了信息存储的安全性。根据本发明,在多个应用系统ASii = 中任何所考虑的应用系统检索敏感信息都包括以下步骤。所述所考虑的应用系统々^接收索引ID,以及向服务器系统SS发送索引ID。服务器系统SS从服务器系统SS的数据库检索所述ID对应的所提取的数据。它进一步向所述所考虑的应用系统发送所提取的数据。然后,所考虑的应用系统接收补足数据并且从所提取的数据和补足数据重建信息。因此,所考虑的应用系统々\的应用能够使用信息。所述完整的敏感信息既不交换也不存储。信息仅仅在所考虑的应用系统应对需要所述敏感信息的处理时在所考虑的应用系统可用。典型情况下,信息存储在所述处理存储器中而不在别处。一旦使用完成,信息便被去除。另外,所提取的和补足数据不存储在同一数据库中。所以,搜寻所述网络或者窃取所述数据库中任何一个都不能够获得敏感信息。由于本发明允许通过仅仅输入索弓丨便使敏感信息可用,所以本发明消除了敏感信
6息的附加重新输入或操作。所以,本发明降低了用户操作或输入敏感信息时其损失或被窃的风险。根据这第一种使用情况的第一个事件,所述所考虑的应用系统々&是给定应用系统AS,因此,在所述所考虑的应用系统接收补足数据的步骤包括在所述给定应用系统 Α。接收索引ID以及由于索引ID,检索在与给定应用系统Ah相关联的数据库DB㈣中存储的补足数据。因此,在已经向需要信息的所考虑的应用系统々^提供了这种信息的情况下,在收到索引ID后,能够从所考虑的应用系统々&的数据库DBam直接检索补足数据。另外,向服务器系统SS发送所述索引触发了从服务器系统SS转发所提取的数据。然后应用系统ASk 获得所提取的和补足数据并且能够获得所述需要的信息。根据这第一种使用情况的第二个事件,所考虑的应用系统…,不同于给定应用系统AS,另外,所考虑的应用々&不包括连同索引ID —起定位补足数据的数据库。因此,在所述所考虑的应用系统接收补足数据的上述步骤包括从给定应用系统Α。接收补足数据。更确切地说,当所考虑的应用收到索引ID并要求这个索引ID对应的信息时, 它检查这个索引ID是否存储在其相关联的数据库DBAsk中。在这个数据库不包括这个索引 ID或者不包括所述索引对应的补足数据的情况下,所述所考虑的应用系统仏,发送请求。这个请求包括所要求信息的索引ID。所述请求到达给定应用系统ASp给定应用系统Mj关联到用索引ID来定位补足数据的数据库。响应所述请求,给定应用系统Α。从其数据库DB&.检索补足数据并将它转发到所考虑的应用系统ASk。另外,所考虑的应用系统々\向服务器系统SS发送所述索引以便接收所提取的数据。因此,所考虑的々\应用系统能够结合补足数据和所提取的数据以获得并使用所述要求的信息。所考虑的应用系统々^可以进一步将补足数据存储在其数据库中并用索引ID来定位它。因此,下一次所考虑的应用系统能够获得信息而不要求给定应用系统Α。向它转发补足数据。所以,几个分布式应用系统能够交换数据,以便使所考虑的应用能够获得所要求的信息,尽管直到此时从未向这个所考虑的应用提供信息。所以,本发明提供了安全的方法,一旦在分布式环境的任何一个应用系统中已经输入了信息,所述方法消除了消费者重新输入信息的需要。另外,各种应用系统之间的数据交换对用户完全透明。根据本发明的第二种使用情况,使用数据与应用存储的数据一致并且是应用性数据。这些应用性数据意在由应用系统ASii = LnW至少某个应用使用。另外,所述应用性数据不要求高级别的安全性。所以,应用性数据能够被照此存储在给定应用Α。的数据库中。 例如,应用性数据可以关联到用户概况数据(用户忠诚度程序、用户偏爱、航班离港和/或到港、与所述航班相关联的服务请求、宾馆或轿车租赁信息、消费者概况数据等)。在任何所考虑的应用系统检索所述应用性数据都包括以下步骤。所述所考虑的应用系统々^接收敏感信息。它从所述信息产生所提取的数据和所编码的信息。所考虑的应用系统向服务器系统(SS)发送所提取的数据和所编码的信息。
然后,服务器系统(SQ从服务器系统的数据库08%检索由提取的数据和编码的信息二者形成的配对所对应的索引ID。它向所述所考虑的应用系统MkR发索引ID。所考虑的应用系统々^接收索引ID并检索用索引ID来定位的应用性数据。因此, 所考虑的应用系统的应用能够使用应用性数据。如同对于所述第一种使用情况,在这第二种使用情况下,所述信用卡被窃的风险显著降低了,因为所考虑的应用系统和服务器系统都不保存完整信息。另外,在任何应用系统ASii = L.n与服务器系统SS之间的单次传输中也从未传送完整信息。根据这第二种使用情况的第一个事件,所考虑的应用系统…,是给定应用系统 ASjo因此,从与给定应用系统Ah相关联的数据库DB㈣检索所述应用性数据。因此,一旦在任何应用系统输入了信息,便能够快速检索应用性数据。这允许所述应用的容易和用户友好的使用。另外,信息的所述检索是高度安全的。给定应用系统々。的数据库确实甚至不必包括补足数据、提取的数据或信息中任何一种。服务器系统SS的数据库不包括补足数据或信息。仅仅向服务器系统发送所编码的信息和所提取的数据。因此,补足和提取的数据从不存储在同一数据库中,并且信息仅仅在产生所提取的数据和所编码的信息时才在应用的处理存储器中可用。所以,搜寻所述网络、窃取或黑客攻击任何数据库证实为无价值。根据这第二种使用情况的第二个事件,所考虑的应用系统…,是与给定应用系统 Α。不同的应用系统。所述应用々\在其相关联的数据库DBam中不包括用索引ID定位的所述应用性数据。因此,检索应用性数据包括以下指示的步骤。从服务器系统收到索引ID 后,所考虑的应用系统々&向给定应用系统Ah发送所述索引ID。然后给定应用系统々1接收索引ID并根据索引ID从其数据库索所述应用性数据。最后,给定应用系统ASj 向所述所考虑的应用系统发送所述应用性数据。这第二种使用情况的第二个事件强调了以下事实即使在所考虑的应用系统ASk 不存储所要求的应用性数据的情况下,也能够向这个所考虑的应用提供这份应用性数据,同时对敏感信息保持高级别的安全性。确实,这种敏感信息从未存储也未在任何应用系统之间的单次传输或者任何应用系统与服务器系统之间的单次传输中传送。在优选实施例中产生补足数据和提取的数据的步骤包括把信息划分为第一部分和第二部分。本发明对于信息为信用卡号的方法尤为便利。那么,补足数据能够对应于所述信用卡号的明显位而所提取的数据能够对应于所述信用卡号的隐藏位。产生信息的编码版本的步骤可以包括通过散列函数计算信息的散列值。在优选实施例中,服务器系统(SQ不知所述散列函数。所以,本发明允许显著限制某人可能通过访问信息的所述编码版本而获得敏感信息的风险。本发明也提供了一种系统,用于存储和检索与在分布式环境中要求保证其安全性的信息相关联的使用数据,所述环境包括能够使用所述信息和所述使用数据的多个应用系统ASii = Lntl本发明的系统包括服务器系统SS,以及多个应用系统ASii = Ln之中的给定应用系统ASp给定应用系统Ah被安排为-接收信息,
-从所述信息产生提取的数据和补足数据,使得独立取得的所述所提取的数据和所述补足数据不足以由任何应用系统ASii = L.n使用所述信息CC#,以及使得从一起取得的所述所提取的和补足数据能够产生和使用所述信息,-从所述信息产生编码的信息,-向服务器系统SS发送所提取的数据和所编码的信息。服务器系统SS被安排为-产生索引ID并向所编码的信息和所提取的数据分配这个索引ID,-在与服务器系统SS相关联的数据库DBss中存储所编码的信息、所提取的数据和索引ID,-向多个应用系统ASii= 1..n的所述给定应用系统々1转发索引ID,给定应用系统 ASj也被安排为-向与信息有关的应用存储的数据分配索引ID,-在与所述给定应用系统々。相关联的数据库DB㈣中与所述应用存储的数据一起存储索引ID。更一般地说,根据本发明的系统包括被安排为实行以上介绍的方法的服务器系统和应用系统ASi。操作敏感信息的应用系统包括处理存储器并且被安排为信息仅仅在所述处理存储器中可用。一旦应用系统已经使用了信息,它便删除所述信息。所以,敏感信息在使用后不再可访问。这限制了被窃的风险。在优选实施例中,所述系统至少包括应用系统(ASi)的处理装置中的高速缓存机构。所述高速缓存机构被安排为在所述信息的处理期间存储信息。每项处理有一个高速缓存实例。在本发明的优选实施例中,系统包括代理组件,它是安全存储系统的一部分并且它包含在应用系统中。所述代理组件的作用是操作试图在宿主所述代理组件的应用系统处发生的以下步骤中的至少一个。-从信息产生补足数据和所提取的数据,-从所述信息产生所编码的信息,-向服务器系统SS发送所提取的数据和所编码的信息,-发送与宿主所述代理组件的应用系统相关联的数据库中的补足数据,-产生若干消息,包括要从宿主代理组件的应用系统发送的数据,所述消息采用似 EDIFACT 格式,-读取若干消息,包括要在宿主代理组件的应用系统接收的数据,所述消息采用似 EDIFACT 格式。典型情况下,所述代理组件可以是中间件库。它提供各种API (应用程序编程接口),连接应用系统的应用和服务器系统。所述代理组件也可以包括高速缓存机构。通过应对信息处理和数据交换,所述代理组件显著地便利了本发明的系统中任何应用的集成。在本发明系统的另一个实施例中,应用系统不包括代理组件并且由它自己应对全部所要求的动作。因此,这样的应用系统能够例如格式化/从服务器系统读取消息、计算信息的所编码的版本等。在本发明的具体实施例中,该方法包括在任何所考虑的应用系统々&的以下步骤。 所考虑的应用系统产生包括几个索引ID的请求消息。然后,它向服务器系统发送所述请求消息。另外,服务器系统搜索其数据库并且检索与所述请求消息中包括的索引ID相关联的每个提取的数据。然后服务器系统发送包含所检索的提取的数据的响应消息。然后,所考虑的应用系统ASk从服务器系统SS接收所述响应消息。最后,所考虑的应用系统能够重建全部信息,对于该信息,已经从服务器系统收到所提取的数据。因此,利用一个单次交易,应用系统能够向服务器系统发送索引的列表,以便接收索引的列表对应的全部所提取的数据。这样的批量处理也能够用于检索应用性数据。确实,所考虑的应用系统能够向服务器系统SS发送包含提取的数据和敏感信息的编码版本的列表的请求消息。服务器系统从其数据库检索被分配给所述请求消息中包括的提取的数据和编码的版本对的每个索引。 然后它向所述所考虑的应用系统发送包含已经检索出的索引的响应消息。因此,所考虑的应用系统能够检索以所述响应消息的索引所定位的应用性数据。所以,这样的批量处理允许实质上简化和加速许多用户的信息检索。所以,本发明提供的方法增强了向应用的用户提供的服务。这样的批量处理在新应用转移到本发明的存储系统时尤为有用。在进行转移时,大量的数据确实不得不快速而容易地存储。根据上述实施例,为了检索所述索引把提取的数据和编码的信息都发送到服务器系统。发送提取的数据和编码的信息这两者允许显著降低检索错误索引的风险。根据替代实施例,仅仅向服务器系统发送所编码的信息,以便在应用系统接收所述索引。尽管以这个实施例得到错误索引的风险高于提取的数据和编码的信息都在所述请求中时,但是所述风险保持非常低。处理大量数据时,这样的替代实施例尤为有用。它确实避免了操作和向服务器系统发送繁重的提取的数据。信息能够由数字、字母、符号或这三者的组合组成。正如本发明所指出,信息不限于数字。提取的数据和补足数据也能够包括数字、字母、符号或这三者的组合。应用性数据可以包括任何性质的数据和种类的文件比如数字、字母、符号、图片、视频等。所述系统也可以包括附加安全装置。这些安全装置被安排为强化所述多种应用系统之间以及应用系统与服务器系统之间交换的安全性。这些安全装置能够检查每条消息的发送者是否被实际授权。它们可以丢弃由非授权的发送者发送的消息。例如,访问服务器系统可以被限制为有限数目的授权的应用系统。实际上,安全装置执行系统的各种组件之间交换的消息的加密和解密。安全装置也可以包括在尝试反常操作时触发警告的装置。它们也能够包括监视和记录数据的交换、 交易和处理的装置。


根据附图所展示的以下描述,本发明的其他特征、目的和优点将变得更加清楚地显而易见图1是根据本发明包括系统若干主要组件的实例的高层次框图2是展示了存储敏感信息的使用情况的高层次框图;图3是展示了敏感信息检索的第一种使用情况的高层次框图;图4是展示了敏感信息检索的第二种使用情况的高层次框图;图5是展示了应用性数据检索的第一种使用情况的高层次框图;图6是展示了应用性数据检索的第二种使用情况的高层次框图。
具体实施例方式本发明的以下详细说明参考了若干附图。虽然本说明包括了若干示范实施例,但是其他实施例也是可能的,并且可以对所介绍的实施例进行改变而不脱离本发明的实质和范围。图1展示了根据本发明用于存储和检索信息的系统。本系统包括η个应用系统,被称为ASp .....ASi.....ASn.每个应用系统都与
数据库DBAS1、DBAS2.....DBASi.....DBASn相关联。这些应用系统都包括试图使用敏感信息的
若干应用。由几个合作的公司组成的组织或者由像GDS的组织运行它们。为了提升向用户提供的若干服务的效率,该组织努力消除每次进行交易时用户重新输入同一数据的需要。这也降低了当用户操作或输入所述敏感信息时敏感信息丢失或被盗的风险。本系统还包括安全的存储系统,由服务器系统SS和与这个服务器系统SS相关联的数据库DBss组成。本系统还包括通信网络,比如将每个应用系统ASi与服务器系统SS互连的因特网。通信网络也允许若干应用系统ASi—起在分布式环境中交换信息。有利地,本系统的多个组件远程布置。信息存储系统的若干组件所执行的处理提供了对敏感或有价值信息进行安全的存储和检索。以下将通过展示性的使用情况详细说明对敏感信息的安全存储和检索。在这些使用情况下,敏感信息是信用卡号CC#。通常信用卡号由16位数字组成。图2展示了本发明如何允许存储敏感信息。在步骤21,多个应用系统ASii =工..n中的应用系统A^接收信用卡号CC#。典型情况下,在用户已经通过常规的接口比如键盘输入了这个信用卡号之后就会收到它。这个信用卡号必须容易地可用于后来的阶段的使用而不需要用户重新输入。所以,不得不存储这个信用卡号。处理信用卡号存储的应用系统Ah在下文中被指派为第一应用系统ASjt5第一应用系统Α。将信用卡号CC#分为第一部分和第二部分。在这个展示性实例中,第一部分对应于信用卡号的前六位数字和后四位数字。这个第一部分在应用Ah处将保持可用。第二部分对应于剩余的六位数字。这个第二部分在应用Α。处将不保持可用。在下文中,第一和第二部分分别被指派为明显位A (CC#)和隐藏位C(CC#)。明显位A(CC#)和隐藏位C(CC#)以这样的方式产生-独立地取得它们时,任何应用系统ASii= 1..n都不可能使用所述信用卡号CC#,以及-一起取得它们时,便能够重建和使用所述信用卡号CC#。第一应用系统ASj还产生所述信用卡号CC#的编码的版本H(CC#)。更确切地说,
11第一应用系统AS^计算信用卡号CC#的散列值。在步骤22,第一应用系统A^向服务器系统SS发送隐藏位C(CC#)和编码的信用卡号 H(CC#)。服务器系统SS接收隐藏位C(CC#)和编码的信用卡号H(CC#)。它产生索引ID并将这个索引ID分配给编码的信用卡号H(CC#)和隐藏位C(CC#)。然后服务器系统SS将编码的信用卡号H(CC#)、隐藏位C(CC#)和索引ID存储在与服务器系统SS相关联的数据库 DBss* (步骤23)。服务器系统SS —旦在其数据库DBss中已经检查到哪个索引ID可用,便产生索引ID(步骤对)。如果两元组(H(CC#)、C(CC#))已经被服务器系统SS存储,那么就检索分配给这两元组(H(CC#)、C(CC#))的索引ID,并且将其返回到应用系统。因此,由服务器系统SS运行的检查不限于检查索引ID的可用性。在步骤25,服务器系统SS进一步向多个应用系统(ASii = U)中的第一应用系统 A^转发索引ID。然后,第一应用系统Mj将索引ID分配给明显位A (CC#)。最后,第一应用系统ASj 将索引ID连同明显位A(CC#) —起存储在其数据库DB㈣中(步骤26)。因此,第一应用系统Mj仅仅发送了隐藏位C(CC#)和编码的H(CC#)信用卡号。不存在完整信用卡号cc#的交换。此外,由于第一应用系统Ah的数据库DB&.仅仅存储着明显位A(CC#)和ID,并且由于服务器系统的数据库DBss仅仅存储了隐藏位C(CC#)、编码的 H(CC#)信用卡号和索引ID,那么隐藏的C(CC#)和明显位A(CC#)绝不会存储在同一数据库中。所以,搜寻网络、窃取或黑客攻击第一应用系统ASj的数据库或服务器系统的数据库 DBss中的任何一个都不能够获得明显位A(CC#)和隐藏位C(CC#) 二者,或者获得完整信用卡号CC#。所以信用卡号CC#无法被重建和非法使用。此外,在服务器应用ASi进行散列处理。因此,该功能对服务器系统SS保持未知。 所以,本发明允许显著限制某人经由访问信用卡号cc#的编码的版本而获得信用卡号cc# 的风险。不仅如此,因为由应用系统Ah发送的数据没有存储在所述应用系统AS^的数据库 DB㈣中,那么,所发送的数据就无法与所存储的数据一致。所以,为了得到信息(如信用卡号CC#),黑客攻击应用系统Α。的数据库DB&.和搜寻由这个应用系统Α。的所传送的消息都是没用的。由每个应用系统ASi所产生的若干隐藏位C(CC#)全部一起存储在服务器系统的数据库DBss中。然而,这些隐藏的数字对重建完整信用卡号0#是必不可少的。所以,为保证该敏感信息的安全性而分配的若干资源能够被集中在服务器系统SS及其专用数据库 DBss上。本发明消除了在各种应用系统ASii = Ln之间散布这些资源的需要。所以,为了预防任何种类的窃取,在服务器系统SS处及其相关联的数据库DBss处能够显著地增强安全性。在与应用系统相关联的各种应用系统々3^ = 1』和各种数据库08皿都远程布置的分布式环境中,以及/或者在各种应用系统ASii = i..n和各种数据库DBASi都远离服务器系统SS 及其数据库DBss的分布式环境中,这个方面尤为有利。此外,索引ID由服务器系统SS产生而不是由任何应用系统Mj产生。因此,索引 ID被分配给了单一信用卡号CC#。所以,对于同一信用卡号CC#不存在并发的索引ID。为了交换与给定信用卡号CC#有关的数据,各种应用系统ASii =工』能够共享与所述信用卡号
12CC#相关联的唯一索引ID。所以,本发明尤其便于在许多应用系统ASii = Ln使用所述信用卡号CC#的分布式环境中存储所述信用卡号CC#。例如,组织的各种应用系统可以共享数据,一旦在第一应用系统Mj处已经输入了完整信用卡号cc#,就消除了用户在任何应用系统…,处重新输入其信用卡号的需要。以下将参考图4详细说明这种使用情况。所以,本发明有助于增强向应用用户提供的若干服务的效率。以下参考图3和图4详细介绍了展示信用卡号CC#检索的使用情况。图3展示了第一应用系统ASj或使明显位A(CC#)存储在其数据库DBASj中的任何应用系统需要检索信用卡号cc#的事件。为此,在步骤31第一应用系统Mj从其数据库接收索引ID。然后,在步骤32它向服务器系统SS发送索引ID。服务器系统SS从其数据库DBss检索用索引ID定位的隐藏位 C(CC#)(步骤33和步骤34)。服务器系统SS进一步向第一应用系统Mj发送隐藏位C(CC#) (步骤35)。第一应用系统Α。从其数据库DB&.检索用索引ID定位的明显位A(CC#)。最后, 第一应用系统Α。组合了明显位A(CC#)和从服务器系统SS收到的隐藏位C(CC#),以便重建信用卡号CC#(步骤36)。图4展示了第二事件,其中在先前尚未产生和存储用索引ID定位的明显信用卡号 A(CC#)的任何应用系统,需要检索信用卡号CC#。所述任何应用系统所以不同于第一应用系统ASp而且在下文中被指定为第二应用系统ASk。各种应用系统ASii = L.n按照它们提供的服务种类而被分类。这些应用系统ASii 吣^彼此知道并且能够识别它们各自需要的数据类型。当第一应用系统AS^收到对其他应用系统有用的数据时,那么第一应用系统Ah就将这个数据向所述其他应用系统发送。 一旦有用数据在第一应用系统Α。可用,所述数据的传输就可以自动地运行。例如,一旦由A^产生了明显位A(CC#)并且一旦在ASj从服务器系统SS收到了索引ID,那么Mj就将明显位A(CC#)和索引ID这两者发送到被分类为需要明显位A(CC#)和索引ID的一切应用系统(步骤41和步骤42)。然后被提供了所述有用数据的每个应用系统都能够使用它。例如,第二应用系统 —旦从…」收到了明显位A(CC#)和索引ID 二者(步骤42)时,它就能够获得信用卡
号CC#。更确切地说,收到索引ID后,第二应用系统…〃就向服务器系统SS发送这个索引 ID(步骤4 。服务器系统SS从其数据库DBss检索用索引ID定位的隐藏位C(CC#)(步骤 44和步骤4 。服务器系统SS进一步向第二应用系统发送隐藏位C(CC#)(步骤46)。 然后,第二应用系统组合从第一应用系统Α。收到的明显位A (CCU)和从服务器系统SS 收到的隐藏位C(CC#),以便重建信用卡号CC#(步骤47)。最后,第二应用系统的应用能够使用信用卡号CC#。优选情况下,第二应用系统…,在其数据库DBam中存储用索引ID定位的明显信用卡号A(CC#)(步骤48)。因此,下次第二应用系统将能够获得信用卡号CC#,而不需要第一应用系统Α。转发明显位A(CC#)。这个实施例暗示,明显位A(CC#)与索引ID被一起传输。在一切应用都由单一组织运行,并且其中多个应用系统之间的互动对用户完全透明的环境中这个实施例尤其有利。尤其是最终用户(持卡者)不被假设为访问向其信用卡号cc#分配的索引ID。正如图3和图4使用情况下的展示,绝对不会交换也不会存储完整的信用卡号 CC#。信用卡号CC#仅仅在所考虑的应用系统ASk处理需要所述信用卡号CC#的过程时,才在所述考虑的应用系统…,上该信用卡号cc#的使用期间可用。典型情况下,信用卡号cc# 被存储在处理存储器中而不在别处。一旦所述使用完成,信用卡号cc#就被除去。此外,明显位A(CC#)和隐藏的C(CC#)不存储在同一数据库中。所以,搜寻网络或窃取数据库的任何一个,都不能够获得信用卡号cc#。图3和图4的使用情况还展示了几个分布式应用系统能够交换数据,以便使所考虑的应用系统能够获得所需要的信用卡号CC#,尽管到目前为止还从未给这个给定的应用提供所述信用卡号沈#或者提供明显位A(CC#)。所以,本发明提供了安全的方法,一旦在所述分布式环境的任何一个应用系统已经输入了信用卡号CC#,所述方法消除了消费者重新输入所述信用卡号CC#的需要。另外,各种应用系统之间的数据交换对用户完全透明。以下参考图5和图6详细介绍了展示与信用卡号CC#有关的应用性数据检索的使用情况。这些应用性数据意在由至少某个应用系统使用。另外,所述应用性数据不要求高级别的安全性。所以,应用性数据能够被原样存储在给定应用的数据库中。例如,应用性数据可以与用户概况数据(用户忠诚度程序、用户偏爱、用户照片等)相关。在图5展示的事件中,需要使用应用性数据的应用系统已经将其存储并将其定位在其数据库中。这样的应用系统在以下第一应用系统Α。中被指定。在步骤51第一应用系统A^接收信用卡号CC#。然后,它从所述信用卡号CC#产生隐藏位C(CC#)和编码的信用卡号H(CC#)。在步骤52,它向服务器系统SS发送隐藏位 C(CCU)和编码的信用卡号H(CC#)。然后,服务器系统SS从其数据库DBss检索隐藏位C(CC#) 和编码的信用卡号H(CC#) 二者所对应的索引ID(步骤53和步骤M)。然后服务器系统SS 向第一应用系统々1转发索引ID (步骤55)。收到索引ID后,第一应用系统Α。便检索用索引ID定位的应用性数据(步骤56和步骤57)。最后,第一应用系统Ah的应用能够使用该应用性数据。在图6展示的事件中,需要使用应用性数据的应用系统的数据库没有将所述应用性数据存储或定位在其数据库中。这样的应用系统在以下第二应用系统々&中被指定。在步骤61第二应用系统接收信用卡号CC#。步骤62、63、64、65本质上与以上详细介绍的步骤52、53、M、55 —致。在步骤65第二应用系统从服务器系统SS接收索引ID。在已经检查了其数据库DBam没有存储用所收到的索引定位的应用性数据之后,第二应用系统…,便向第一应用系统Ah发送这个索引ID (步骤66)。第一应用系统Ah搜索其数据库DB㈣并检索用索引ID定位的应用性数据(步骤67和步骤68)。然后第一应用系统 Α。向第二应用系统…,转发该应用性数据(步骤69)。最后该应用性数据在第二应用系统
的应用处可供使用。有利的情况中,第二应用系统…,在其数据库DBam中存储用索引ID定位的应用性数据。因此,倘若已经在任何数据库中定位并存储了应用性数据,并且倘若信用卡号已经被输入了一次,就能够快速地检索到应用性数据。这允许容易地和用户友好地使用应用性数据,因此使得应用对用户更具有吸引
14力。另外,各种应用系统之间的数据交换对用户完全透明。如同与信用卡检索有关的若干使用情况,在针对应用性数据检索的使用情况下, 窃取信用卡的风险被显著降低,因为无论是应用系统ASp ASk还是服务器系统SS都不保留完整的信用卡号CC#。另外,在任何应用系统ASii = Ln与服务器系统SS之间的单次传输或者在两个应用系统AS” 之间的单次传输中都不曾传送完整的信用卡号CC#。在优选实施例中,存储系统在应用系统至少包括处理和交易模块。正如在图2至图6的具体实施例的展示,该系统包括在每个应用系统的代理组件。根据另一个实施例,仅仅某些应用系统才可以关联到代理组件。该代理组件是安全存储系统的一部分。该代理操作以下步骤的至少某些步骤,这些步骤的用意是,在包括所述代理组件的应用系统中发生-从信用卡号CC#产生明显位A(CC#)和隐藏位C(CC#),-从所述信用卡号CC#中产生编码的H(CC#)信用卡号,-向服务器系统SS发送隐藏位C(CC#)和编码的信用卡号H(CC#),-向服务器系统SS发送索引ID以进行进一步的信用卡号CC#检索,-向与应用系统相关联的数据库中发送明显位A(CC#),-从与应用系统相关联的数据库中检索明显位A(CC#),-产生若干消息,内含要从应用系统向服务器系统或向其他应用系统发送的数据, 所述消息采用似EDIFACT格式,-读取从服务器系统或从其他应用系统收到的消息,所述消息是似EDIFACT格式。典型情况下,代理组件可以是中间件库。它提供了多种API (应用程序编程接口), 使应用系统的应用软件与服务器系统连接。代理组件还能够包括高速缓存机构。该高速缓存机构被安排在所述信用卡号cc#的处理期间存储信用卡号cc#。每次处理时存在着一个高速缓存实例,以使得一旦该信用卡号cc#已经被应用系统的应用使用它就不再可用。通过操作信用卡号CC#的处理和数据交换,该代理组件显著方便了本发明的系统中任何应用的集成。
权利要求
1.一种存储和检索与敏感信息(cc#)相关联的使用数据((cc#),应用性数据)的方法,所述信息在包括多个能够使用所述信息(cc#)的应用系统(ASii = Ln)的环境中要求保证其安全性,其特征在于,存储所述信息(CC#)包括下述步骤 在多个应用系统(ASii = [J中给定应用系统(ASj) -接收所述信息(CC#) (21),-从所述信息(CC#)产生提取的数据(C(CC#))和补足数据(A(CC#)),使得独立地取得的所述所提取的数据(C(CC#))和所述补足数据(A(CC#))不足以使用所述信息(CC#),以及使得从一起取得的所述所提取的数据(C(CC#))和补足数据(A(CC#))能够产生所述信息 (CC#),-从所述信息(cc#)产生编码的信息(H(CC#)),-向服务器系统(SS)发送所提取的数据(C(CC#))和所编码的信息(H(CC#)) (22), 在服务器系统(SS)-产生索引(ID)并向所编码的信息(H(CC#))和所提取的数据(C(CC#))分配这个索引 (ID),-在与服务器系统(SQ相关联的数据库(DBss)中存储所编码的信息(H(CC#))、所提取的数据(C(CC#))和索引(ID) (23,24),-向多个应用系统(ASii = Ln)的所述给定应用系统(ASj)转发索引(ID) (25), 在所述给定应用系统(ASp -向与信息(cc#)有关的应用存储的数据(A(CC#),应用性数据)分配索引(ID), -在与所述给定应用系统(ASP相关联的数据库(DBAsp中与所述应用存储的数据 (A(CC#),应用性数据)一起存储索引(ID) (26) 0
2.根据权利要求1的方法,其中,使用数据是信息(CC#)而应用存储的数据是补足数据 (A (CC#))。
3.根据权利要求2的方法,其中,在多个应用系统(ASii= Ln)之中任何所考虑的应用系统(ASk)检索所述信息(CC#)包括以下步骤 在所述所考虑的应用系统(ASk) -接收索引(ID) (31),-向服务器系统(SS)发送索引(ID) (32,43), 在服务器系统(SS)-从服务器系统(SQ的数据库(DBss)检索所述(ID)所对应的所提取的数据(C(CC#)) (33、34、44、45),-向所述所考虑的应用系统(ASk)发送所提取的数据(C(CC#)) (35,46), 在所述所考虑的应用系统(ASk) -接收补足数据(A(CC#))(36、42),-从所提取的和补足数据(A(CC#))重建信息(CC#) (37,47) 0
4.根据权利要求3的方法,其中,所述所考虑的应用系统(ASk)是给定应用系统(ASj), 以及在所述所考虑的应用系统(A&)接收补足数据(A(CC#))包括由于索引(ID)检索补足数据(A(CC#)),它被存储在与给定应用系统(ASP相关联的数据库(DBAsp中(36)。
5.根据权利要求3的方法,其中,所述所考虑的应用系统(ASk)是不同于给定应用系统(ASj)的应用系统,并且它不包括连同补足数据(A(CC#))存储所述索引(ID)的数据库,以及在所述所考虑的应用系统(ASk)接收补足数据(A(CC#))包括从所述给定应用系统(ASj) 接收补足数据(A(CC#)M41、42)。
6.根据权利要求1的方法,其中,使用数据是应用性数据(忠诚度程序),意在由至少应用系统(ASii = Ln)使用并且不要求高级别的安全性,以及应用存储的数据也是所述应用性数据(忠诚度程序)。
7.根据权利要求6的方法,其中,在任何所考虑的应用系统(A&)检索所述应用性数据 (忠诚度程序)都包括以下步骤 在所述所考虑的应用系统(ASk) -接收所述信息(CC#) (51,61),-从所述信息(CC#)产生所提取的数据(C(CC#))和从所述信息(CC#)产生所编码的信息(H(CC#)),-向服务器系统(SS)发送所提取的数据(C(CC#))和所编码的信息(H(CC#)) (52,62), 在服务器系统(SS)-从服务器系统(SS)的数据库(DBss)检索与提取的数据(C(CC#)和编码的信息 (H(CC#)) 二者对应的索引(ID) (53、54、63、64),-向所考虑的应用系统(ASk)转发索引(ID) (55,65), 在所述所考虑的应用系统(ASk) -接收索引(ID),-检索以索引(ID)定位的应用性数据(忠诚度程序)(56、57、66、67、68、69)。
8.根据权利要求7的方法,其中,所述所考虑的应用系统(ASk)是给定应用系统(ASj), 以及从与所述给定应用系统(ASP相关联的数据库(DBAsp检索应用性数据(忠诚度程序)。
9.根据权利要求7的方法,其中,所述所考虑的应用系统(ASk)是不同于给定应用系统 (ASj)的应用系统,并且在其相关联数据库中不包括以索引(ID)定位的应用性数据(忠诚度程序),以及检索应用性数据(忠诚度程序)包括以下步骤 在给定应用系统(ASP -接收将被检索的应用性数据(忠诚度程序)所对应的索引(ID) (66), -在给定应用系统(AS)的数据库(DBAsp中检索由于索引(ID)的应用性数据(忠诚度程序)(67、68),-向所考虑的应用系统(ASk)发送所述应用性数据(69)。
10.根据权利要求1至9中任何一条的方法,其中,所述产生补足数据(A(CC#))和提取的数据(C(CC#))的步骤包括把信息(CC#)划分为第一部分(A(CC#))和第二部分 (C(cc#))。
11.根据权利要求10的方法,其中,信息(cc#)是信用卡号(cc#),以及补足数据 (A(CC#))对应于所述信用卡号(CC#)的明显位,而所提取的数据(C(CC#))对应于所述信用卡号(cc#)的隐藏位。
12.根据权利要求1至11中任何一条的方法,其中,产生信息(CC#)的编码版本 (H(CC#))的步骤包括以散列函数计算信息(CC#)的散列值(H(CC#)),所述散列函数对于服务器系统(SS)未知。
13.根据权利要求1至12中任何一条的方法,其中,在任何应用系统(ASii)所进行的以下步骤中的至少一个由代理组件操作眷从信息(cc#)产生补足数据(A(CC#))和所提取的数据(C(CC#)), 眷从所述信息(CC#)产生所编码的信息(H(CC#)),眷向服务器系统(SS)发送所提取的数据(C(CC#))和所编码的信息(H(CC#)), 发送与给定应用系统(ASj)相关联的数据库(DBASj)中的补足数据(A(CC#)), 产生若干消息,包括要从所述任何应用系统(ASii)发送的所述数据,所述消息采用似EDIFACT格式,眷读取若干消息,包括要在所述任何应用系统接收的数据,所述消息采用似EDIFACT 格式。
14.根据权利要求1至13中任何一条的方法,其中,在任何时间,信息(CC#)仅仅在处理所述信息(CC#)的应用系统(ASj)的处理存储器中可用。
15.一种存储和检索与信息(CC#)相关联的使用数据((CC#),应用性数据)的系统,所述信息在包括多个能够使用所述使用数据(CC#,应用性数据)的应用系统(ASii = Ln)的环境中要求保证其安全性,其特征在于,所述系统包括眷服务器系统(SQ ;以及 多个应用系统(ASii = ^n)之中的给定应用系统(ASp,给定应用系统(AS》被安排为-接收所述信息(CC#) (21),-从所述信息(CC#)产生提取的数据(C(CC#))和补足数据(A(CC#)),使得独立地取得的所述所提取的数据(C(CC#))和所述补足数据(A(CC#))不足以由任何应用系统(ASii = !.. )使用所述信息(CC#),以及使得从一起取得的所述所提取的数据(C(CC#))和补足数据 (A(CC#))能够产生所述信息(CC#),-从所述信息(CC#)产生编码的信息(H(CC#)),-向服务器系统(SS)发送所提取的数据(C(CC#))和所编码的信息(H(CC#)) (22), 服务器系统(SS)被安排为-产生索引(ID)并向所编码的信息(H(CC#))和所提取的数据(C(CC#))分配这个索引 (ID),-在与服务器系统(SQ相关联的数据库(DBss)中存储所编码的信息(H(CC#))、所提取的数据(C(CC#))和索引(ID) (23,24),-向多个应用系统(ASii = Ln)的所述给定应用系统(ASj)转发索引(ID) (25), 给定应用系统(ASj)也被安排为-向与信息(cc#)有关的应用存储的数据(A(CC#))分配索引(ID), -在与所述给定应用系统(Α。)相关联的数据库(DB㈣)中与所述应用存储的数据一起存储索引(ID)0
全文摘要
一种存储和检索与敏感信息(CC#)相关联的使用数据((CC#)、应用性数据)的方法,信息在包括多个能够使用信息的应用系统(ASii=1..n)的环境中要求保证其安全性,存储信息包括下述步骤在多个应用系统中给定应用系统(ASj)接收信息,从信息产生提取的数据(C(CC#))和补足数据(A(CC#)),从信息产生编码的信息(H(CC#)),向服务器系统(SS)发送所提取的数据和所编码的信息,在服务器系统产生索引ID并向所编码的信息和所提取的数据分配这个索引ID,在与服务器系统相关联的数据库(DBSS)中存储所编码的信息、所提取的数据和索引ID,向多个应用系统的给定应用系统转发索引ID,在给定应用系统向与信息有关的、应用存储的数据(A(CC#)、应用性数据)分配索引ID,在与给定应用系统相关联的数据库(DBASj)中与应用存储的数据一起存储索引ID。
文档编号G06F21/62GK102203796SQ200980143665
公开日2011年9月28日 申请日期2009年11月3日 优先权日2008年11月4日
发明者C·奥亚梅斯, F·里希耶斯基, J·巴雷特, M·蒙特莱, R·格兰冈, S·罗伊 申请人:阿玛得斯两合公司

最新回复(0)