CN100587682C - 用于对敏感数据进行安全处理的方法和设备 - Google Patents

用于对敏感数据进行安全处理的方法和设备 Download PDF

Info

Publication number
CN100587682C
CN100587682C CN03818738A CN03818738A CN100587682C CN 100587682 C CN100587682 C CN 100587682C CN 03818738 A CN03818738 A CN 03818738A CN 03818738 A CN03818738 A CN 03818738A CN 100587682 C CN100587682 C CN 100587682C
Authority
CN
China
Prior art keywords
contract
request
opposing party
service
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN03818738A
Other languages
English (en)
Other versions
CN1675632A (zh
Inventor
马丁·特拉普
桑加·泽维斯勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IPG501 Health Care Co., Ltd.
Original Assignee
IPG501 HEALTH CARE CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by IPG501 HEALTH CARE CO Ltd filed Critical IPG501 HEALTH CARE CO Ltd
Publication of CN1675632A publication Critical patent/CN1675632A/zh
Application granted granted Critical
Publication of CN100587682C publication Critical patent/CN100587682C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Abstract

用于对敏感数据进行安全处理的方法和设备。所述设备包括网络服务器,该网络服务器通过安全网络通道从请求者那里接收处理请求,安全计算环境,用于以无法从外部观察或篡改的方式处理敏感数据,以及合同引擎,该引擎基于各方所协商一致的合同控制请求的处理。合同引擎包括请求处理程序,该处理程序选择管辖请求的合同,检查某一方是否被允许向服务器发送请求,以及请求是否符合合同。任务处理单元执行如合同中所定义的处理步骤序列,从而使用并延长处理状态,该状态最初包含在请求中所发送的信息。应答程序选择如合同中所定义的处理状态的一部分,并产生响应消息,它将响应消息通过安全网络通道发送到合同中所定义的各方。

Description

用于对敏感数据进行安全处理的方法和设备
技术领域
本发明涉及用于对敏感数据进行安全处理的系统和方法。具体来说,本发明涉及在不一定彼此信任的各方需要控制它们的数据的处理和使用的系统。
背景技术
许多IT应用程序都包括对敏感数据(即,应该由IT系统保密的数据)的处理。这样的应用的典型示例是在上飞机或在雇用之前对照审查列表对个人进行审查。这样的审查可以是姓名和其他个人数据的简单的基于文本的匹配,特别是,可以使用诸如指纹或人的面部特征之类的生物特征(请参见2000年ACM Press出版的Anil Jam、Lin Hong和Sharath Pankanti所著的“Biometric identification”,Communications of the ACM,43(2),90-98页)来确认匹配的个人的身份或识别候选人集中的个人。
有一些密码技术对通过计算机网络发送的数据或存储在存储介质中的数据进行加密,(例如,请参见Bruce Schneier所著的“AppliedCryptography”,John Wiley&Sons,1996)。然而,对于实际处理步骤,数据必须是明文,以允许计算机系统对它们进行解释、修改,以及在处理过程中派生新数据。在此处理过程中,数据很容易受到侵入处理环境窃取或修改数据的攻击者的破坏。IT系统没有办法保护程序和数据来防止有办法进入它们的处理环境的攻击者。
一种保护IT系统防止入侵者的方式是,将对敏感数据的处理限制在安全计算环境内(请参见2001年11月6日由Schneck等人提出的美国专利No.6,314,409“System for controlling access anddistribution of digital property”和Sean W.Smith and Dave Safford所著的“Practical Private Information Retrieval with SecureCoprocessors”,这里对其全部内容进行了引用,该文发表于2000年IBM Research Report,RC 21806)。安全计算环境是诸如IBM 4758加密协同处理器之类的具有FIPS 140-1级别4验证的通用计算设备(请参见http://www.ibm.com/security/cryptocards)。安全计算环境中的计算无法从外部进行观察。此外,也不可能从安全计算环境的外面恶意地改变处理过程或处理过的数据。环境可以检测到篡改安全计算环境、在该环境内运行的程序或正在该环境内处理的数据企图,然后,该环境销毁存储在该环境内的敏感数据或使它永久地无法访问。
尽管安全计算环境可以防止来自外部的攻击,但是,它本身却不能保证系统满足各方的安全性和保密性的要求。各方必须信任应用程序的提供商,它们的数据是按照他们所希望的方式来进行处理的。对于这种情况,没有技术保证,因为各方不能控制服务。
如果各方不能控制对它们的数据的处理和使用,即,如果他们必须完全依靠信任,则他们常常不愿意参与数据处理任务。
现有的系统不允许涉及的各方控制服务,或者它们只是将涉及的各方的数量减少到一个以避免问题。例如,某些航空公司具有他们自己的不守秩序的乘客的数据库,它们可以对照此数据对乘客进行检查。这里,所有角色,即,服务提供商、信息提供商、审查者和被通知的各方,都由航空公司代表,它自然信任其本身。数据库的其他示例有执法机构(请参见James X.Dempsey,″Overview of current criminaljustice information systems″,in Proceedings of the 10th Conferenceon Computers,Freedom and Privacy,Toronto,pages 101-106,ACMPress,2000)或信用历史检查。这些应用程序处于信息提供商的完全控制之下,信息提供商也是服务提供商。审查方无法控制服务提供商如何进一步使用审查方提供的信息。类似的示例有,机场的面部识别应用程序,对照乘客自己的ID证件中的照片对乘客进行检查。此应用程序处于审查者的完全控制之下,审查者也是服务提供商。
现有的监视系统,例如在2001 SuperBowl或多家机场使用的面部识别系统(请参见Scholz和Johnson所著“Interacting withidentification Technology:Can it make us more secure?”,发表于Conference on Human Factors in Computer Systems,Minneapolis,pages 564-656,ACM Press,2002)基本上是封闭的电路系统。它们对将生物特征数据对照本地数据库、或对照存储在个人携带的智能卡上的信息进行比较的查询返回直接回答。如此,需要有可以供不同的交互各方使用的比较通用的服务。
其他系统,如2000年11月14日授予Asit Dan和FrancisNicholas Parr的美国专利No.6,148,290中所描述的系统(在此全文引用该专利作为参考),被用于使用计算机程序定义可能的交互模式,其中,合同定义了可以发往服务器的请求序列。在这些系统中,服务提供商决定了服务合同。合同要求请求A必须在另一个请求B前面才能有效。各方不可能使用这些类型的合同来控制对它们的数据的处理或使用。
大多数现有的系统不在安全计算环境中执行。这里,能够访问处理过程的攻击者可以随意观察和影响处理过程。如此,即使各方就数据的处理步骤和处理协商一致,也没有技术途径保证在这样的不安全的环境中处理过程满足它们的安全要求。
建立在Web服务上的现有的系统(Vadim Draluk,″Discovering Web Services:An Overview″,in Proceedings of theTwenty-seventh International Conference on Very Large Data Bases:Roma,Italy,page 637 Morgan Kaufmann,2001)允许它们的客户端控制它们选择哪一服务提供商,但它们不允许对服务的功能本身进行控制。
使用显式合同的现有的系统,类似于(Dinesh Verma,MandisBeigi and Raymond Jennings,″Policy Based SLA Management inEnterprise Networks″,in Lecture Notes in Computer Science,Vol.1995,pages 137-152,Springer-Verlag,2001)中所描述的服务级别协议或服务质量协议的系统,只处理诸如资源消耗或周转时间之类的服务非功能特征。这些方法不允许各方控制服务的功能。
发明内容
本发明允许不一定彼此信任的多方参与敏感数据的处理。各方之间的关系由可以由处理系统自动实施的合同进行保护。合同定义了将如何处理请求以及在此过程中如何使用和公开某一方提供的信息。该处理优选情况下在安全计算环境中执行,这确保无人能够观察该处理或篡改它。
本发明提供了一种用于多方电子服务的基于计算机的方法,该方法包括下列步骤:在计算机系统上实现用于管辖服务提供商、客户端和至少一个另一方之间的服务的至少一个合同,所述合同用于限定对一请求进行处理过程中合作的各方,并用于限定请求者和请求的格式;在所述服务提供商处接收来自客户端的第一请求;从所述服务提供商处向至少一个另一方中的一方发送数据请求;在所述服务提供商处从至少一个另一方中的所述一方接收安全计算环境中的数据响应;根据所述合同,判断在所述第一请求和所述数据响应之间是否存在匹配;如果在所述判断步骤中判断结果为匹配,则向所述至少一个另一方提供所述匹配的通知。
本发明还提供了一种用于多方电子服务的基于计算机的方法,该方法包括下列步骤:在计算机系统上实现用于管辖服务提供商、客户端和至少一个另一方之间的服务的至少一个合同,其中,所述合同用于限定对一请求进行处理过程中合作的各方,并用于限定请求者和请求的格式;根据所述合同判断在来自所述客户端的第一请求和来自至少一个另一方中的一方的数据响应之间是否存在匹配;如果在所述判断步骤中判断结果为匹配,则向所述至少一个另一方提供所述匹配的通知。
本发明还提供了一种用于管理匹配标识服务的基于计算机的方法,该方法包括下列步骤:在计算机系统上实现用于管辖服务提供商、客户端和至少一个另一方之间的所述匹配标识服务的具有合同ID的至少一个合同,其中,所述合同用于限定对一请求进行处理过程中合作的各方,并用于限定请求者和请求的格式;根据所述合同ID判断在来自所述客户端的第一请求和来自至少一个另一方中的一方的数据响应之间是否存在匹配;如果在所述判断步骤中判断结果为匹配,则向所述至少一个另一方提供所述匹配的通知。
本发明还提供了一种用于多方电子服务的设备,该设备包括:至少一台主机计算机,用于:维护和实施用于管辖服务提供商、客户端和至少一个另一方之间的服务的至少一个合同,其中,所述合同用于限定对一请求进行处理过程中合作的各方,并用于限定请求者和请求的格式;根据所述至少一个合同,判断在来自所述客户端的第一请求和来自至少一个另一方中的一方的数据响应之间是否存在匹配;所述至少一台主机计算机进一步用于,如果所述判断结果为匹配,则向所述至少一个另一方提供通知。
本发明还提供了一种用于提供匹配标识服务的设备,该设备包括:至少一台主机计算机,用于:维护和实施用于管辖服务提供商、客户端和至少一个另一方之间的服务的具有合同ID的至少一个合同,其中,所述合同用于限定对一请求进行处理过程中合作的各方,并用于限定请求者和请求的格式;根据所述至少一个合同,判断在来自所述客户端的第一请求和来自至少一个另一方中的一方的数据响应之间是否存在匹配;所述至少一台主机计算机进一步用于,如果所述判断结果为匹配,则向所述至少一个另一方提供通知。在本发明的一个实施例中,合同可以在各个加入到系统之前由各方协商。如此,使用服务来对敏感数据进行处理的各方对处理和它们的数据的使用具有完全的控制权。
在本发明的另一个实施例中,请求者通过向服务器发送处理请求来触发数据处理。处理本身既不可观察,也不能从外面篡改。在处理结束时,服务向直接或间接地涉及请求的处理的某些方或各方(还可能包括请求者)发送响应消息。
在本发明的再一个实施例中,对服务请求的处理是由合同定义的,合同说明了在对请求处理期间要采取的操作,以及信息如何在这些操作之间流动。在对服务请求的处理过程中合作的各方在系统将执行合同之前必须相互就合同协商一致。
在本发明的又一个实施例中,在对请求的处理过程中合作的各方是在对请求处理期间计算的数据项的所有者。数据项的所有者能够准确地控制他希望向哪一个处理步骤或向哪一个另一方公开数据项。
通过阅读下面的详细说明,本发明的其他特点和优点将变得显而易见,说明应结合附图来阅读,附图给出了本发明的原理的形式说明以及示例。
附图说明
图1显示了根据本发明的实施例的参与各方之间的一般工作流。
图2显示了由根据本发明的实施例的合同定义和控制的安全数据处理的系统的总体结构的方框图。
图3A作为统一建模语言(UML)中的类图表显示了根据本发明的实施例的合同的结构。
图3B显示了根据本发明的实施例的ItemSet和ItemSpecSet的UML说明。
图4A显示了根据本发明的实施例的请求处理程序、任务处理程序和应答程序的处理的流程图。
图4B显示根据本发明一实施例的涉及提议的流程图。
图4C显示根据本发明一实施例的涉及撤消说明的流程图。
图5显示了根据本发明的实施例的与网络和服务单元中的安全数据库的集成。
图6显示了根据本发明的实施例的其中对照审查列表对个人进行安全检查的应用程序的示例合同。
图7显示了根据本发明的实施例的可能的分布的示例。
图8显示了根据本发明的实施例的不同安全方面。
图9显示了根据本发明的实施例的审查方案。
图10显示了根据本发明的实施例的一般结构。
图11显示了根据本发明的实施例的功能模块化图表。
图12A-12C显示了根据本发明的其他实施例的可能的不同设计。
具体实施方式
本发明按如下方式定义了用于对敏感数据进行安全处理的方法:
a)在对敏感数据进行处理的过程中合作的各方首先建立一种关系,在该关系中,它们就构成处理过程的功能步骤以及就应该在单个处理步骤中使用的数据项。
b)各方就处理的形式说明和数据的使用协商一致,这在合同中进行声明。除了信息之外,合同还定义了处理的单个处理步骤,哪些数据项应该用作单个处理步骤的输入以及处理步骤将哪些输出提供到处理状态。
c)服务是合同的解释器。它保证了系统准确地执行由合同所定义的功能,并以计划的方式使用数据项。特别地,这意味着,处理过程和所使用的数据项无法被观察或从外部进行篡改。
对于审查方案,涉及的各方可以是经营审查服务的服务提供商,希望对个人进行检查的审查者,提供审查列表数据的多个信息提供商,以及诸如执法部门、机场安全或人力资源之类的各方,在审查列表中找到被审查的个人的情况下,应该通知这些部门。
信息提供商希望将他的审查列表数据保密,即,他允许将该数据用于审查,但有关该列表的信息不能泄漏到系统的外部。审查者希望保证被审查的个人的基本保密性,只要它们不在审查列表中显示出来。具体来说,他不希望允许信息提供商基于审查请求跟踪任意的个人。在匹配的情况下审查者和信息提供商只希望通知执法部门,在其它情况下不希望泄漏信息。没有哪一方希望信息泄漏给服务提供商或入侵者。
图1显示了根据本发明的实施例的参与各方之间的一般工作流。一般而言,所有处理都由下列方案表示:请求者101向安全请求处理系统102发送服务请求110。请求处理系统102确定管辖此请求的处理的合同,并基于该合同执行处理步骤序列。请求处理系统102基于服务合同从一方103接收数据。单个处理步骤的应用程序使用处理状态的子集作为输入。处理步骤的输出用来延长处理状态。在合同中定义了输入和输出说明。处理的初始状态包括来自触发了处理的请求的信息。当执行了所有适用的处理步骤之后,请求处理系统102为涉及请求的处理的各方101、103和104产生响应消息111。各方的消息的内容在合同中说明。
每一个请求都可以具有不同的请求者。例如,在请求110在图1中被处理之后,一方103可以承担请求者的角色并发送其自己的服务请求112。不同种类的服务请求调用不同的合同,而不同的合同又向客户端提供不同的服务功能。
在典型的应用中,信息提供商103将不时地发送服务请求112,以更新他向服务提供的信息。控制这种类型的请求的合同说明了如何使用来自信息提供商的请求中的数据来改变服务内部的信息。此后,将使用更新的信息来处理其他服务请求。
系统允许不同的各方基于不同的合同同时进行交互。例如,在审查应用中,可以有多个不同的审查方、不同的信息提供商,以及不同的执法部门。发送到系统的每一个请求都基于指定的合同来调用处理。合同确定了在对此请求的处理过程中哪些方将进行交互操作。为了方便起见,我们还定义了复合的合同,有关详情,请参见下文。
由于处理是由合同进行控制的,并且参与各方控制了合同,因此它们对处理以及使用它们的数据的方式具有完全控制权。在安全计算环境中执行合同保证了信息不会泄漏,并且没有人可以篡改数据的处理。
图2显示了由根据本发明的实施例的合同定义和控制的安全数据处理的系统的总体结构的方框图。一般来说,处理开始时,服务器201通过网络连接204接收服务请求200。请求200由合同引擎203进行处理,合同引擎203包括请求处理程序205、任务处理程序208和应答程序209。所有三个组件都处理处理状态207并由合同206进行控制。
请求处理程序205首先检查传入的请求是否有效,并允许进行处理。通过对照合同206中定义的信息对请求的内容和发送了请求的那一方进行检查来完成此项工作,合同206定义并控制对此特定服务请求的处理。
在本发明所描述的系统中,对服务请求的处理是合同206进行控制的。合同(参见图6)是由对服务请求的处理过程中合作的各方相互协商一致的形式说明。合同准确地定义和控制服务器如何处理请求以及在此处理期间在单个处理步骤之间如何公开和综合信息。
合同规定:
a)在对请求进行处理过程中合作的各方;
b)在请求消息中提供的数据项;
c)在请求的处理过程中必须执行的单个操作;
d)作为执行操作的结果产生的数据项,以及这些数据项的所有权;
e)控制单个操作的应用的工作流;以及
f)允许数据项的所有者准确地控制他希望向哪些处理步骤公开他的数据,以及他不向哪些处理步骤公开的单个操作之间的受控制的数据流。
下面将给出形式数据模型和有关合同的更多细节。
如果请求处理程序205对传入的服务请求200的检查失败,则请求将关闭。否则,如果一切都是可以接受的,则在任务处理程序208中对请求处理的单个任务的处理继续进行。
任务处理程序208使用两个数据结构。处理所依据的合同206,累积了在请求处理的过程中由单个处理任务所产生的数据项的处理状态207。处理状态207是叫做ItemSet的名称/值对的有序集,参见图3。
最初,任务处理程序208的处理状态207只包括由传入的服务请求200所提供的数据项。任务处理程序208使用合同206来确定应该执行的任务的序列,以处理服务请求。任务处理程序208还根据合同确定处理状态的哪一部分应该输入构成服务请求的处理的单个任务中。然后使用也是在合同中定义的任务的结果来延长处理状态,因此,也可用于下一个任务。虽然任务处理程序只读取合同,但是,它实质上还读取和修改处理状态207。当合同指定的所有任务都被按指定的顺序处理时,任务处理程序208结束。
在所有任务都被任务处理程序208进行处理之后,控制转到应答程序209。应答程序主要产生发送到合作各方的响应消息210。响应是从处理状态产生的。事实上,应答程序209类似于任务处理程序208。主要区别是,由应答程序209执行的任务是特殊的,因为它们具有预定义的语义。
合同206的电子形式可以由计算机程序来解释和执行。如果在安全计算环境202中执行,则合同的电子执行保证了所有步骤都按指定顺序处理,信息准确地流动到合同所指出的位置。
安全计算环境202是被密封的计算机,因此,其内部处理不能从外面观察到,在没有适当的授权的情况下,外面没有人能够修改计算或设备内部的数据。这样的设备检测打开、侵入或探测它的企图。如果检测到这些窜改企图的话,则安全计算环境销毁存储在内部的敏感数据并完全停止操作。可编程IBM 4758加密协同处理器是这样的安全计算环境的一个示例。
安全计算环境202的安全功能可以延伸到通过计算机网络的通信。这可以通过使用网络通信上的标准密码技术在两个安全计算环境之间实现。
如此保护的通信会话,也称为通道204可以防止攻击者读取通过通道传递的数据。它们还可以检测何时攻击者试图修改消息,插入他自己的消息或模仿某一个安全计算环境。当然,网络是不受信任的,所有密码技术都必须在安全计算环境内实现。有关通道的详细细节,请参见图5的描述。
值得注意的是,如果本发明中所描述的系统不能在安全计算环境内实现,则很容易遭到各种各样的攻击。具体来说,在不安全的环境中,合同的电子执行不能保证,信息只流向指定的任务,并且决不会被泄密或修改,因为请求200和处理状态207将可以被攻击者访问到。
图3A作为统一建模语言(UML)中的类图表显示了根据本发明的实施例的合同的结构。每一个合同307都具有合同标识(contractId),该标识唯一地区别此合同与系统中的所有其他合同。合同307指定将在履行服务请求过程中合作的一方或多方。描述了单一方面的Party类301包括系统中的一方面的唯一标识(id),以及服务响应对服务请求的处理向其发送消息的网络访问点。服务访问点可以由Internet地址和端口号,或由统一资源定位器(URL)进行定义。它还包括该方的名称。在一个实施例中,某一方的此最小定义很可能通过进一步的属性来增强,如对请求的安全处理所不需要的街道地址,但对于维护各方之间的更多的关系也可能需要。
合同307进一步指定单个操作(触发器),这表示应该处理的服务请求的到达。RequestArrival类304的对象描述了传入的请求,该请求触发如此合同定义和控制的处理。
合同307更进一步地指定了在对请求处理过程中执行的零个或更多处理步骤(任务)。任务是作为Task对象305建模的任务说明的有序列表给出的。此外,它还指定零个或更多传出的消息(响应),系统在对请求处理之后用这些消息响应合作的各方。响应是作为Response说明的有序列表给出的。Action 302是RequestArrival304、Task 305和Response的通用抽象。每一个操作都具有名称(name),以及它在完成之后提供的数据项的有序集(ItemSpecset)的说明(outputSpec)。它由单一方面(所有者)拥有。
有多个操作可以执行。第一种类型的操作是新服务请求的到达RequestArrival 304。这里,所有者定义了请求者,即,可以发送这种类型的请求的一方。RequestArrival操作的outputSpec描述了在请求中出现的数据项。每一个请求都至少具有一个必需的项目,叫做“contractId”,它用于唯一地标识定义和控制对此请求的处理的合同。
第二种类型的操作是Function 303。函数以数据项的有序集作为输入(inputSpec)并返回数据项的有序集作为输出(outputSpec)。函数的执行由布尔表达式(谓词)进行控制。布尔表达式是由特殊常量“true”和“false”,布尔运算符“not”、“and”和“or”,关系运算符<、<=、=、/=、>、>=,任意常量,以及处理状态中的项目的名称构成的表达式,参见图2。如果其谓词返回true,才执行函数。
Task 305是由合作各方中的一方(其所有者)定义的并可以执行任意功能的函数。要执行的功能是通过引用实现任务的代码进行定义的。
Response类似于任务,但由响应提供的功能是预定义的,并且是固定的。它无法由合作的各方改变。同样,Response的输出说明中的项目数量固定为一个。然而,此返回代码的名称可以随意地进行定义。
图3B显示了根据本发明的实施例的ItemSet和ItemSpecSet的UML说明。ItemSpecSet 311用于定义inputSpec和outputSpec。ItemSpecSet定义了叫做ItemSpec 312的数据项说明的有序集。数据项说明按其名称标识数据项。Item类314定义的数据项是名称/值对。ItemSet 313是数据项的有序集。
图4A显示了根据本发明的实施例的Request Handler、TaskProcessing和Responder的处理的流程图。传入的请求可以是如图3定义的项目集。当服务器在步骤400中接收新服务请求时,请求处理程序首先从构成请求的项目集中提取必需的项目contractId。contractId项目的值在步骤401中允许请求处理程序检索控制对传入的服务请求的处理的合同。然后在步骤402中,请求处理程序检查它是否从此发送者接受请求。对于此检查,请求处理程序选择拥有合同的触发器的那一方,并将它与通过其接收请求的信道的另一端的那一方进行比较。如果两个值表示同一方,则考虑请求以便进行进一步的处理;否则,在步骤403中用错误处理程序终止。
在步骤404中,下一个检查判断请求是否完成,即,它是否提供合同所需的所有项目。此检查是这样进行的:断言触发器的输出说明中定义的所有名称在请求的项目集中正好出现一次,并且它们都具有定义的值。项目出现的顺序,无关紧要。如果请求具有在触发器输出说明中没有描述的其他项目,这不被视为错误。由于下列处理步骤中没有一个可以访问那些项目,它们将被请求处理忽视,并决不会被损坏。在错误的情况下,请求处理在步骤403中终止。
如果两个检查都通过,则请求处理程序在步骤405中初始化任务处理的处理状态S。初始处理状态正好包含其名称已在触发器输出说明中指定的项目。
任务处理从步骤410开始。尽管在合同的有序任务列表中有较多的任务,但是,任务处理在步骤411中按顺序选择下一个任务T。
步骤412对照处理状态S对T的谓词进行评估。任务谓词被允许访问处理状态的所有项目。由于被评估的表达式各方从合同中可以很明显地看出,为对给定的谓词进行评估,它们显然已经对处理状态中的项目的特定使用协商一致。如果谓词产生false,则任务T被忽视,在步骤410中,对任务列表中的下一个任务继续进行处理。如果任务谓词评估为true,则步骤413建立新项目集s。处理将处理状态S中项目插入到新项目集s,(如果它在任务T的输入说明中找到它们的名称)。
步骤414从T地任务说明判断任务实现方式,然后用新项目集s作为其唯一的参数调用它。此调用的结果是项目集r。步骤415从r中取其名称出现在任务T的输出说明中的所有项目并将它们插入到处理状态S中。步骤415决不用r中的新值覆盖S中的现有值。如果已经存在具有相同名称的项目,则它也必须具有相同值;否则,合同非法。然而,多个任务可以在它们的输出说明中指定相同的项目说明,如果任务的谓词或它们的实现方式保证,两个激活的任务决不为相同项目名称产生不同的值。
一旦所有任务都已经处理完毕,任务处理单元就将控制权传递到应答程序。这在步骤420中进行了显示。对响应的处理与任务处理具有相同的基本结构。
尽管有未处理的响应说明,但是,应答程序按顺序对它们进行处理。在步骤421和422中获取响应并对它们的谓词进行评估与任务处理的步骤411和412中的处理相同,步骤423类似于413。在步骤423中从处理状态S和实际响应R的输入说明产生新项目集之后,步骤424从在响应说明中被定义为R的所有者的P方获取网络访问点,并使用它将s作为响应消息发送到P。步骤425使用通知的outputSpec过滤通知的结果r并延伸S。
每一个响应说明的输出说明是具有单个元素的集合。此元素的值是布尔值,并声明响应是否成功地提供给P方。此项目的名称可以随意地进行定义。该项目被添加到处理状态S,因此,尚未处理的其他响应也可以对其进行访问。这特别可能发送响应,具体情况取决于另一个反应是失败还是成功,或在其他消息中包括以前的响应的返回代码。一旦处理完所有响应,则整个请求处理成功地在步骤426中终止。
尽管对任务和响应的顺序处理具有简单的优点,但是,也不一定总是进行非常有效的处理。一个实施例选择确定操作之间的依赖性,并且一旦在它们的输入说明中给出的所有项目都可用,将并行地执行独立的操作。
图4B显示根据本发明一实施例的涉及提议的流程图。其中,在初始步骤450之后,在步骤451机器可解释的说明被提议。提议被同意之后,在步骤451定义机器可解释的说明。在所有各方都同意之后,在步骤453形成协商的机器可解释的说明,即合同。
图4C显示根据本发明一实施例的涉及撤消说明的流程图。其中,在初始步骤461之后,在步骤462上传机器可解释的服务说明并激活。在各方都激活说明之后,在步骤463实施说明,接受、处理相对于服务说明的服务请求。在步骤463之后,一方撤消说明,在步骤464撤消说明。
图5显示了根据本发明的实施例的与网络和安全数据库的集成。同一台主机计算机上的一个或多个安全计算环境506、网络处理程序503、大容量存储处理程序505、一个或多个安全本地数据库504的聚合也叫做服务单元或简而言之:单元。诸如IBM 4758可编程加密协同处理器之类的安全计算环境可能没有办法直接访问数据库或网络。图5显示了安全计算环境506内的应用程序代码如何可以安全地访问数据库504和网络502。发送到网络502的所有消息都采用密码技术进行保护,如数据库504中存储的所有数据项目那样,如合同和审查列表。
主机计算机501托管了安全计算环境506、网络处理程序503、大容量存储处理程序505和数据库504。网络处理程序503使用对主机计算机501的操作系统的调用来访问网络502,处理来自安全计算环境内的网络请求。大容量存储处理程序505使用诸如SQL之类的标准数据库接口来访问数据库504,处理来自安全计算环境内的数据库请求。
网络处理程序503往返于网络502之间发送和接收消息。消息是使用密码技术(即,加密、身份验证、消息摘要和序列号)来进行保护的。这就确保了在不被检测到情况下观察者既不能解释也不能改变消息的内容。网络处理程序503从网络502接收传入的加密消息,并将它提供给安全计算环境506内的信道处理程序507。信道处理程序507检查加密校验和,删除序列号,并将数据解密。安全计算环境506内的合同引擎508现在可以访问明文形式的数据了。
当合同引擎508希望通过网络发出消息时,它将它发送到信道处理程序507,而信道处理程序507对其进行加密,并添加序列号并消息摘要。然后,信道处理程序507将加密消息发送到网络处理程序503,而网络处理程序503位于主机501上,但在安全计算环境506的外部,又将它发送到网络。
如果合同引擎508希望访问数据库504,它将明文请求发送到信道处理程序507,而信道处理程序507将请求中的数据加密,并将它发送大容量存储处理程序505,大容量存储处理程序505位于主机501上,但在安全计算环境506的外部。大容量存储处理程序可以直接访问数据库504,并将结果从数据库返回到卡内的信道处理程序507,在此,将回答解密,并返回到合同引擎。
作为优化,合同引擎508可以将数据库504中的部分数据存储到安全计算环境506内的缓存509中。这可以避免开销大的从信道处理程序507、大容量存储处理程序505、数据库504,以及从大容量存储处理程序505和信道处理程序507的来回传输。
图6显示了根据本发明的实施例的其中对照审查列表对个人进行安全检查的应用程序的示例合同。图6给出了可以用来对照罪犯的审查列表检查个人的合同601的示例。表中给出的信息对应于图4中的UML类图表中定义的变量。在此示例中,合同标识符602是“4711B5”,涉及的各方603,名称为A、B和C,有机场603A,它希望对申请人进行审查、政府机构603B,它提供要对照核对的审查列表,执法机关603C,当发现匹配时,应该通知该机关。
表中的行列出了由合同中定义的操作所产生的单个数据项。对于每一个数据项区块,第一列描述了产生数据项的操作,此操作的所有者和执行该操作的条件。列描述了每一个处理步骤和响应,哪些数据项作为输入传递。
行604定义了服务请求。字段605声明只有A方可以发送请求。行604的第二列中的字段606声明哪些数据项必须存在于请求中。行607定义了此合同的处理任务。在此示例中,有三个处理步骤:“1:n匹配”、行608,“生物特征匹配”行609和“假目标生成”,行610。行608的第二列中的字段611定义了任务“1:n匹配”的输出说明中的数据项。行609和610的第二列中的字段定义了输出说明,它们的任务只有一个数据项。行612定义了此合同的四个可能的响应。行612的第一列中的字段定义了响应的名称、所有者和谓词,即,响应叫什么,向哪一方发送,以及在什么条件下发送。行612的第二列中的字段定义了响应的输出说明中的单个返回值。
列608定义了任务和响应的输入说明。每一个任务都有一列,每一个响应也都有一列。字段中的加号(+)指出由加号所在的行标识的数据项是列所属的任务或响应的输入说明的一部分。行a,列b中的斜线(/)指出行a的数据项不属于列b的任务或响应的输入说明。空白项()表示判断数据项是否应该包括在此输入说明中没有意义,因为数据项还没有计算。
示例合同按如下方式解释:处理由A方所发送的请求604触发,该请求包含合同ID、名字、姓氏、出生日期、指纹数据、地点和事务号。
第一个处理步骤是对照名为XYZ的审查列表608进行1:n匹配。此处理步骤由B方拥有并无条件地执行(谓词=True)。名为“1:n匹配”的列用+号定义了此处理步骤的输入:名字、姓氏和出生日期。输出在行608中进行定义:声明匹配是否成功的值、名字、姓氏、出生日期、怀疑等级、文件中的指纹数据、有关前科的信息和反应建议。
下一个处理步骤609使用了生物特征匹配。它由C方拥有,只有在1:n匹配成功的情况下才执行。输入是实际指纹数据和1:n匹配步骤中的指纹数据。输出是声明这两个指纹之间的关联的值。
接下来,如果1:n匹配不成功,则Decoy Generation处理步骤610产生假目标消息。
合同在行612中给C方定义了三个备选的响应,给A方定义了一个响应,给B方没有定义响应。所有响应都具有单一的输出值,声明接收者是否确认响应。如果1:n匹配成功,某个人的怀疑等级为<=5,则向C发送响应1。它包含名字、姓氏、出生日期、地点以及生物特征匹配的输出。如果1:n匹配成功,怀疑等级为>5,则向C发送响应2。它与响应1包含相同的字段,另外还包含反应建议。在1:n匹配失败的情况下,发送响应3。它只包含假目标消息,但不包含有关被检查的个人的数据。响应4被发送到A方。它只包含与实际请求一起提供的事务号和声明在通知C方时服务是否成功的值。
从图6可以清楚地看出,根据此合同,有关前科的信息没有透露给任何一方。还很清楚,在失败的1:n匹配的情况下,不发送有关个人的信息。(假目标消息中不含有实际数据,发送的目的只是为了向可以观察服务和C方之间的通信的攻击者隐瞒有匹配或无匹配的事实真相)。
在各方可以在对服务请求进行处理的过程中合作之前,它们首先必须就合同进行协议一致,该合同定义和控制基本的,最初定义的和协商一致的对这种类型请求的处理过程。只有在所有各方都同意之后,才在服务器中激活基于此合同的处理过程。所激活的合同集可以动态地由各方延伸。通过安装和激活新合同,服务了解如何处理新的请求类型。
合同可以被视为是形式说明,可以以数据结构、以电子文档来代表。在一个实施例中,经各方同意激活合同是以这样的方式来实现的:所有各方将合同的以电子方式签名的副本上传到服务器。在服务器从所有各方接收到这样的签名副本,验证电子签名,并验证所有副本的确指的是同一个合同之后,处理自动激活。
同样,以电子方式提交的合同也可以在任何时间或当它们过期时撤销。如果各方同意,某一方也可以撤销合同,或者在合同过期的情况下,系统停止认可受此合同管辖的请求。
如果请求者具有他希望一起执行的多个合同,则可以将这些合同组合起来,并代表单个请求执行。捆绑了多个其他合同的合同叫做复合合同。复合合同的结构非常类似于基本合同的结构。区别是,复合合同优选情况下不定义处理步骤和响应,而是枚举应该组合的合同的标识符。类似于基本合同,复合合同也具有触发器。此触发器的输出说明定义了应该合并到此复合合同中的基本合同的输出说明的联合。合同引擎通过调用接收到的请求上的子合同来处理复合合同。
例如,在审查应用中,这可使审查者具有从机构A对照审查列表进行审查的合同和从机构B对照审查列表进行审查的另一份合同。组合合同将代表发往系统的单个请求调用两个搜索。其他复合合同可以允许对照其他组合进行检查。
在入口点扫描的生物特征信息可以放在请求内发送到一个或多个服务器,这些服务器对数据进行处理并可以对照多个数据库进行检查。工作流程完全由参与的各方决定,包括向执法机构发送报警,而不是将有关被审查的个人的数据返回审查者。
所建议的处理过程的实现方式的正确性的形式证明要求验证合同引擎和单个处理步骤的代码。由于以这种方式构建的所有系统使用相同的合同引擎,因此,验证合同引擎是一次性的任务。当单个处理步骤的代码被引入到系统时,必须对其进行验证。单个处理步骤的代码可以被不同合同重复使用,这就最大限度地减少了总的验证工作。
可以通过使单个处理步骤的代码成为合同的一部分,而不是只提供它们的名称,来进一步增大所描述的系统的动态特征。有关可以将代码安全下载到服务的技术,请参见(2000年12月26日Smith等人提出的美国专利No.6,167,521“Securely downloading andexecuting code from mutually suspicious authorities”),这里对其全部内容进行了引用。提供处理步骤的代码可使各方动态地延伸服务的功能,验证过程可以在本地完成。
图1的特定示例中,审查者101向安全请求处理系统102发送服务请求110。请求处理系统102确定管辖此请求的处理的合同,并基于该合同执行处理步骤序列。单个处理步骤的应用程序使用处理状态的子集作为输入。处理步骤的输出用来延长处理状态。在合同中定义了输入和输出说明。处理的初始状态包括来自触发了处理的请求的信息。当执行了所有适用的处理步骤之后,使用处理状态来为涉及请求的处理的各方101、103和104′产生响应消息111。合同中也指出了通知哪些方面以及发送给它们的响应包含哪些信息。
图7显示了根据本发明的实施例的可能的分布的示例。本发明的服务包括多个互相连接的服务单元。一个单元可以包含一个或多个安全计算环境、网络处理程序、大容量存储处理程序和一个或多个安全的数据库,也参见图5。多个单元可以安装在一个物理位置,但将会有一个以上的物理位置,如图7所示。单元801-806可以驻留在如图7所示的不同位置。客户端可以连接到可用的单元的子集。
此布局提供足够的资源量,并对单故障提供高度的综合服务的容错。此外,它还提供轻松地根据地理位置和/或国家(法律)问题轻松地划分服务和数据的能力。
尽管本发明可以在较小的方案中实现,但是,体系结构是为全局服务准备的。
图8显示了根据本发明的实施例的不同安全方面。密码协同处理器907、910位于客户端A和B中,以及服务中的(908、909、911)。协同处理器907-911在物理上位于安全存储器和通信段901-906内,所有这些通信段都在外单元周边920-924内。
因此,所有敏感的操作都限制在安全加密协同处理器907-911内。数据库内容一直是加密的,完整性通过消息摘要来进行保护。单元间通信是加密的,并经过身份验证,以防止修改和重放。最后,外单元周边920-924用防火墙和系统级别的访问控制来保护。
图9显示了根据本发明的实施例的审查方案。第一个,开始时从审查者1101向服务器单元1103发送审查请求1110。单元1103通过其网络处理程序1106接收请求,并将其传递给协同处理器1108以便进行处理。如果在此单元中有用于审查的审查列表可用,则协同处理器1108查询数据库1109以查找有关某个人的信息。然后,它使用网络处理程序来通知执法部门1107。此通知在任何情况下都会发送。如果没有匹配,则通知包含假目标,这不在执法部门作为告警显示。在接收到执法部门1107的确认之后,通知审查者1101,他的请求已被处理。
另一个方案也是可能的。这里,主要区别是,审查列表不在审查者的客户端单元1103上本地可用。在此情况下,单元将请求转发到具有要求的表的单元1105。此单元1105也通知执法部门1107,并返回转发的请求的通知,而该通知又返回到审查者1101。
图10显示了根据本发明的实施例的一般结构。尽管大多数处理可能在如图10所示的协同处理器内执行,但是,本发明的某些部分可以在主机1204上实现,因为PCI总线1210和串行端口是卡与其环境进行通信的仅有的方式。
宿主应用程序必须提供网络访问1224和大容量存储1226。它也必须实现卡/主机通信1220的主机部分。不安全的主机1204包括主机/卡接口1220、网络处理程序1224、大容量存储处理程序1226和数据库1228。然而,安全的计算环境1202包括协同处理器1206及其他协同处理器1208,用于处理安全处理的主要部分。
图11显示了根据本发明的实施例的功能模块化图表。图11显示了包括不同接口和多个单元格1510、1510′等等的基本组件体系结构。对系统的请求是通过用户界面产生的。对于不同的客户端,有不同的接口。服务提供商具有配置接口SP Config 1570,以及计费接口1571,用于控制和管理服务的计费。审查方也具有配置界面SC Config1572,和用于发送审查请求的图形用户界面SC GUI。很可能审查方已经拥有IT系统、SC后端,这可以自动产生请求。在此情况下,需要集成组件SC BE Integr将该系统与服务挂钩。信息提供商各方也需要各种界面1573、集成组件IP BE Integr,以将它们现有的系统IP后端与服务挂钩。对于服务配置,有专门的接口,IP Config。执法部门也具有配置接口LE Config 1574,以及图形用户界面,LE Notif.GUI,在该界面上显示警告消息。或者,也可以将警告消息从GUI,LE Notif.GUI转发到执法部门后端系统LE Backend。
每一个单元,单元1510,另一个单元1510′,都包括宿主应用程序1520和一个或多个协同处理器(协同处理器1540,另一个协同处理器)。宿主应用程序1520接口所连接的网络处理程序1523接收请求。网络处理程序1523通过主机卡通信组件1524将请求转发到此单元1510中的协同处理器1540,1540′中的一个。宿主应用程序的另一个组件是存储器处理程序1522,该处理程序通过主机卡通信组件1524从协同处理器1540接收数据库查询,并将它们提供到本地或远程数据库1521。在协同处理器1540内,来自网络处理程序1523的请求由网络信道处理程序1541进行处理,该处理实现加密/解密,身份验证,和会话,并将明文请求转发到请求处理程序1573。请求处理程序1573检查对完整性和正确性的请求,然后将它委派给其中一个专门的处理程序。审查请求处理程序1546对审查请求进行处理,配置请求处理程序1545允许对服务内的控制结构进行更新,更新请求处理程序1544可以改变用于进行审查的审查列表的内容,单元间处理程序1550用于将请求转发到另一个单元1510′,并将数据分发到其他单元。单元间处理程序1550受全局单元模型1549的控制,该全局单元模型1549从请求处理程序1573获取有关网络质量的反馈,从而动态地了解网络中的最佳路由。大多数处理程序需要访问由配置处理程序1547所提供的配置信息,并访问主机上的数据库1521,这是由存储桶处理程序1548提供的,而存储桶处理程序1548又使用数据库信道处理程序1542。数据库信道处理程序1542处理来往于数据库1521的数据的所有加密/解密和身份验证过程。
图12A-12C显示了根据本发明的其他实施例的可能的不同设计。图12A到12C显示了单个单元的可能的不同设计:单层,图12A,双层,图12B,双层,并带有复制的应用程序服务器,图12C。在单层环境中,单元将包括防火墙2011和宿主应用程序服务器2010。在双层的情况下,使用了防火墙2011和2021,数据库服务器2040与宿主应用程序服务器2020分开。图12C所示的配置包括多个宿主应用程序服务器2020。
本发明的另一个实施例也可以减少合同的动态特征。在极端的情况下,可以完全使系统专门针对一个合同或少数不同合同进行服务。从技术上来讲,这可以对具有已知合同的合同引擎进行部分评估并对所产生的代码进行优化来完成。这可以使用(1997年7月22日由Gafter提出的美国专利No.5,650,948“Method and system fortranslating a software implementation with data-dependent conditionsto a data flow graph with conditional expressions”)的方法完成,这里对其全部内容进行了引用。结果相当于静态实现方式,其中,合同不是显式的数据对象,其中,各方之间的协议的执行被硬连接到程序代码中。在这样的实施例中,解除合同和有关新合同的协议要求重新生成或重新实现软件的某些部分,重新安装,并重新启动服务。
应该理解,所提供的说明性示例绝对没有详尽地列出本发明的许多可能的用途。
那些精通本技术的人从前面的描述中可以轻松地确定本发明的基本特征,在不偏离本发明的精神和范围的情况下,可以对本发明进行各种改变和修改,以使其适应各种用途和条件。
应该理解,本发明不仅限于上文所描述的单个实施例,而是包含在下列权利要求的范围内的任何实施例。

Claims (27)

1.一种用于多方电子服务的基于计算机的方法,该方法包括下列步骤:
在计算机系统上实现用于管辖服务提供商、客户端和至少一个另一方之间的服务的至少一个合同,所述合同用于限定对一请求进行处理过程中合作的各方,并用于限定请求者和请求的格式;
在所述服务提供商处接收来自客户端的第一请求;
从所述服务提供商处向至少一个另一方中的一方发送数据请求;
在所述服务提供商处从至少一个另一方中的所述一方接收安全计算环境中的数据响应;
根据所述合同,判断在所述第一请求和所述数据响应之间是否存在匹配;
如果在所述判断步骤中判断结果为匹配,则向所述至少一个另一方提供所述匹配的通知。
2.根据权利要求1所述的方法,进一步包括即使在所述判断步骤中判断没有匹配,也提供所述通知的步骤。
3.根据权利要求2所述的方法,其中,所述即使在所述判断步骤中判断没有匹配也提供所述通知的步骤包括向所述至少一个另一方提供伪消息的步骤。
4.根据权利要求1所述的方法,进一步包括通知所述客户端所述第一请求已被处理的步骤。
5.根据权利要求1所述的方法,其中,实现所述至少一个合同的步骤包括为管辖服务提供商、客户端和至少一个另一方之间的服务的任何合同指定合同ID的步骤。
6.根据权利要求1所述的方法,其中,所述各步骤在安全计算环境内的一合同引擎中执行。
7.根据权利要求6所述的方法,进一步包括提供连接到通信网络的多个合同引擎的步骤。
8.根据权利要求1所述的方法,其中,所述判断步骤是在加密协同处理器中执行的。
9.一种用于多方电子服务的基于计算机的方法,该方法包括下列步骤:
在计算机系统上实现用于管辖服务提供商、客户端和至少一个另一方之间的服务的至少一个合同,其中,所述合同用于限定对一请求进行处理过程中合作的各方,并用于限定请求者和请求的格式;
根据所述合同判断在来自所述客户端的第一请求和来自至少一个另一方中的一方的数据响应之间是否存在匹配;
如果在所述判断步骤中判断结果为匹配,则向所述至少一个另一方提供所述匹配的通知。
10.根据权利要求9所述的方法,进一步包括即使在所述判断步骤中判断没有匹配,也提供所述通知的步骤。
11.根据权利要求10所述的方法,其中,所述即使在所述判断步骤中判断没有匹配也提供所述通知的步骤包括向所述至少一个另一方提供伪消息的步骤。
12.根据权利要求9所述的方法,进一步包括通知所述客户端所述第一请求已被处理的步骤。
13.根据权利要求9所述的方法,其中,实现至少一个合同的步骤包括为管辖服务提供商、客户端和至少一个另一方之间的服务的任何合同指定合同ID的步骤。
14.一种用于管理匹配标识服务的基于计算机的方法,该方法包括下列步骤:
在计算机系统上实现用于管辖服务提供商、客户端和至少一个另一方之间的所述匹配标识服务的具有合同ID的至少一个合同,其中,所述合同用于限定对一请求进行处理过程中合作的各方,并用于限定请求者和请求的格式;
根据所述合同ID判断在来自所述客户端的第一请求和来自至少一个另一方中的一方的数据响应之间是否存在匹配;
如果在所述判断步骤中判断结果为匹配,则向所述至少一个另一方提供所述匹配的通知。
15.根据权利要求14所述的方法,进一步包括即使在所述判断步骤中判断没有匹配,也提供所述通知的步骤。
16.根据权利要求15所述的方法,其中,所述即使在所述判断步骤中判断没有匹配也提供所述通知的步骤包括向所述至少一个另一方提供伪消息的步骤。
17.根据权利要求14所述的方法,进一步包括通知所述客户端所述第一请求已被处理的步骤。
18.一种用于多方电子服务的设备,该设备包括:
至少一台主机计算机,用于:维护和实施用于管辖服务提供商、客户端和至少一个另一方之间的服务的至少一个合同,其中,所述合同用于限定对一请求进行处理过程中合作的各方,并用于限定请求者和请求的格式;根据所述至少一个合同,判断在来自所述客户端的第一请求和来自至少一个另一方中的一方的数据响应之间是否存在匹配;
所述至少一台主机计算机进一步用于,如果所述判断结果为匹配,则向所述至少一个另一方提供通知。
19.根据权利要求18所述的设备,其中,所述至少一台主机计算机进一步用于,如果所述判断结果为不匹配,则向所述至少一个另一方提供所述通知。
20.根据权利要求19所述的设备,其中,在如果所述判断结果为不匹配则向所述至少一个另一方提供所述通知时,所述至少一台主机计算机进一步用于,向所述至少一个另一方提供伪消息。
21.根据权利要求18所述的设备,其中,所述至少一台主机计算机进一步用于,向所述客户端提供所述第一请求已被处理的通知。
22.根据权利要求18所述的设备,其中,所述至少一台主机计算机包括:
用于处理敏感数据的安全计算环境;
网络处理程序,用于往返于所述安全计算环境和网络之间发送和接收消息;以及
存储器处理程序,用于处理来自所述安全计算环境内部的数据库请求,并从包含所述合同和保密信息数据的安全数据库中检索信息。
23.根据权利要求18所述的设备,其中,所述至少一台主机计算机进一步用于为管辖服务提供商、客户端和至少一个另一方之间的服务的任何合同提供合同ID。
24.一种用于提供匹配标识服务的设备,该设备包括:
至少一台主机计算机,用于:维护和实施用于管辖服务提供商、客户端和至少一个另一方之间的服务的具有合同ID的至少一个合同,其中,所述合同用于限定对一请求进行处理过程中合作的各方,并用于限定请求者和请求的格式;根据所述至少一个合同,判断在来自所述客户端的第一请求和来自至少一个另一方中的一方的数据响应之间是否存在匹配;
所述至少一台主机计算机进一步用于,如果所述判断结果为匹配,则向所述至少一个另一方提供通知。
25.根据权利要求24所述的设备,其中,所述至少一台主机计算机包括:
用于处理敏感数据的安全计算环境;
网络处理程序,用于往返于所述安全计算环境和网络之间发送和接收消息;以及
存储器处理程序,用于处理来自所述安全计算环境内部的数据库请求,并从包含所述合同和保密信息数据的安全数据库中检索信息。
26.根据权利要求25所述的设备,其中,所述安全计算环境包括合同引擎,用于:处理所述第一请求,执行匹配任务,并提供用作所述通知的响应。
27.根据权利要求24所述的设备,其中,所述至少一台主机计算机进一步用于,如果所述判断结果为不匹配,则向所述至少一个另一方提供所述通知。
CN03818738A 2002-11-20 2003-08-18 用于对敏感数据进行安全处理的方法和设备 Expired - Fee Related CN100587682C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/065,802 US7107445B2 (en) 2002-11-20 2002-11-20 Method and apparatus for secure processing of sensitive data
US10/065,802 2002-11-20

Publications (2)

Publication Number Publication Date
CN1675632A CN1675632A (zh) 2005-09-28
CN100587682C true CN100587682C (zh) 2010-02-03

Family

ID=32296410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN03818738A Expired - Fee Related CN100587682C (zh) 2002-11-20 2003-08-18 用于对敏感数据进行安全处理的方法和设备

Country Status (6)

Country Link
US (1) US7107445B2 (zh)
EP (1) EP1573567A4 (zh)
JP (1) JP2006506749A (zh)
CN (1) CN100587682C (zh)
AU (1) AU2003265459A1 (zh)
WO (1) WO2004049101A2 (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000503154A (ja) * 1996-01-11 2000-03-14 エムアールジェイ インコーポレイテッド デジタル所有権のアクセスと分配を制御するためのシステム
US8019989B2 (en) * 2003-06-06 2011-09-13 Hewlett-Packard Development Company, L.P. Public-key infrastructure in network management
US7590685B2 (en) 2004-04-07 2009-09-15 Salesforce.Com Inc. Techniques for providing interoperability as a service
US7802007B2 (en) 2004-05-19 2010-09-21 Salesforce.Com, Inc. Techniques for providing connections to services in a network environment
DE602004030831D1 (de) 2004-08-02 2011-02-10 Internat Business Machines Armonk Verfahren zum garantieren der frische von ergebnissen für anfragen gegenüber einem nicht sicheren datenlager
US9645712B2 (en) 2004-10-01 2017-05-09 Grand Central Communications, Inc. Multiple stakeholders for a single business process
US20080005064A1 (en) * 2005-06-28 2008-01-03 Yahoo! Inc. Apparatus and method for content annotation and conditional annotation retrieval in a search context
ATE436146T1 (de) * 2006-04-04 2009-07-15 Sap Ag Dienstauswahl für zusammengestellten dienste
US7945907B2 (en) * 2006-06-14 2011-05-17 Sap Ag System and method for configuring application programs
US20080028328A1 (en) * 2006-07-31 2008-01-31 Sap Ag System and method to dynamically change object data patterns
US8321666B2 (en) * 2006-08-15 2012-11-27 Sap Ag Implementations of secure computation protocols
ATE555435T1 (de) * 2006-09-14 2012-05-15 Sap Ag Implementierung von composite services
US20090070269A1 (en) * 2007-09-06 2009-03-12 Shaunt Mark Sarkissian Systems, methods and apparatuses for secure digital transactions
US9129284B2 (en) * 2007-09-06 2015-09-08 Shaunt Mark Sarkissian Systems, methods and apparatuses for secure digital transactions
US20100019045A1 (en) * 2007-09-06 2010-01-28 Shaunt Mark Sarkissian Systems, methods and apparatuses for secure digital transactions
US8189768B2 (en) * 2007-10-31 2012-05-29 First Principles, Inc. Secure messaging
RU2017131424A (ru) 2012-01-05 2019-02-06 Виза Интернэшнл Сервис Ассосиэйшн Защита данных с переводом
GB2541572A (en) * 2014-05-01 2017-02-22 Sequitur Labs Inc Applications of secured memory areas and secure environments in policy-based access control systems for mobile devices
GB201504710D0 (en) * 2015-03-20 2015-05-06 Ibm Establishing transaction metadata
US9729525B1 (en) 2015-06-29 2017-08-08 EMC IP Holding Company LLC Secure data analytics
US9906511B1 (en) 2015-06-29 2018-02-27 Bar-Ilan University Secure impersonation detection
US9917820B1 (en) 2015-06-29 2018-03-13 EMC IP Holding Company LLC Secure information sharing
US10701039B2 (en) * 2015-09-25 2020-06-30 Intel Corporation Mutual approval for privacy-preserving computing
CN109314862A (zh) 2016-06-14 2019-02-05 深圳市大疆创新科技有限公司 来自可移动物体的数据分发
US20220166762A1 (en) * 2020-11-25 2022-05-26 Microsoft Technology Licensing, Llc Integrated circuit for obtaining enhanced privileges for a network-based resource and performing actions in accordance therewith
WO2022230181A1 (ja) * 2021-04-30 2022-11-03 日本電気株式会社 指紋情報処理装置、指紋情報処理方法及びプログラム
US11658833B1 (en) * 2022-12-06 2023-05-23 Citibank, N.A. Systems and methods for conducting cryptographically secure actions in public, non-permissioned blockchains using bifurcated self-executing programs
US11748491B1 (en) 2023-01-19 2023-09-05 Citibank, N.A. Determining platform-specific end-to-end security vulnerabilities for a software application via a graphical user interface (GUI) systems and methods
US11874934B1 (en) 2023-01-19 2024-01-16 Citibank, N.A. Providing user-induced variable identification of end-to-end computing system security impact information systems and methods

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5982891A (en) * 1995-02-13 1999-11-09 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
CN1298525A (zh) * 1998-02-26 2001-06-06 太阳微系统公司 用于安全类型属性匹配的方法和系统
CN1183841C (zh) * 2002-12-11 2005-01-12 王�琦 一种抗疲劳男士保健茶及其制备方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5666296A (en) * 1991-12-31 1997-09-09 Texas Instruments Incorporated Method and means for translating a data-dependent program to a data flow graph with conditional expression
US6658568B1 (en) * 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
JP2000503154A (ja) * 1996-01-11 2000-03-14 エムアールジェイ インコーポレイテッド デジタル所有権のアクセスと分配を制御するためのシステム
US6099408A (en) * 1996-12-31 2000-08-08 Walker Digital, Llc Method and apparatus for securing electronic games
US6167521A (en) * 1997-08-29 2000-12-26 International Business Machines Corporation Securely downloading and executing code from mutually suspicious authorities
US6070159A (en) * 1997-12-05 2000-05-30 Authentec, Inc. Method and apparatus for expandable biometric searching
US6092202A (en) * 1998-05-22 2000-07-18 N*Able Technologies, Inc. Method and system for secure transactions in a computer system
US6148290A (en) * 1998-09-04 2000-11-14 International Business Machines Corporation Service contract for managing service systems
US6678827B1 (en) * 1999-05-06 2004-01-13 Watchguard Technologies, Inc. Managing multiple network security devices from a manager device
US6516350B1 (en) * 1999-06-17 2003-02-04 International Business Machines Corporation Self-regulated resource management of distributed computer resources
US6574742B1 (en) * 1999-11-12 2003-06-03 Insite One, Llc Method for storing and accessing digital medical images
WO2001065381A1 (en) * 2000-02-29 2001-09-07 Boyd John E A computer-based networking service and method and system for performing the same
US7062472B2 (en) * 2001-12-14 2006-06-13 International Business Machines Corporation Electronic contracts with primary and sponsored roles

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5982891A (en) * 1995-02-13 1999-11-09 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
CN1298525A (zh) * 1998-02-26 2001-06-06 太阳微系统公司 用于安全类型属性匹配的方法和系统
CN1183841C (zh) * 2002-12-11 2005-01-12 王�琦 一种抗疲劳男士保健茶及其制备方法

Also Published As

Publication number Publication date
EP1573567A2 (en) 2005-09-14
JP2006506749A (ja) 2006-02-23
AU2003265459A1 (en) 2004-06-18
US20040098454A1 (en) 2004-05-20
WO2004049101A2 (en) 2004-06-10
US7107445B2 (en) 2006-09-12
CN1675632A (zh) 2005-09-28
AU2003265459A8 (en) 2004-06-18
EP1573567A4 (en) 2005-12-28
WO2004049101A3 (en) 2004-09-23

Similar Documents

Publication Publication Date Title
CN100587682C (zh) 用于对敏感数据进行安全处理的方法和设备
US10789373B2 (en) System and method for securely storing and sharing information
US11818251B2 (en) System and method for securely storing and sharing information
US11934540B2 (en) System and method for multiparty secure computing platform
Swanson et al. Generally accepted principles and practices for securing information technology systems
US9331997B2 (en) Systems and methods for managing disclosure of protectable information
US7844717B2 (en) Use of proxy servers and pseudonymous transactions to maintain individual's privacy in the competitive business of maintaining personal history databases
US7917752B2 (en) Method of controlling the processing of data
Cavalcante et al. A survey of security in multi-agent systems
US20120131189A1 (en) Apparatus and method for information sharing and privacy assurance
US20140223578A1 (en) Secure data delivery system
KR20040053103A (ko) 데이터 관리 시스템 및 방법
WO2009062111A1 (en) System and method for providing identity theft security
WO2002006948A1 (en) Method for protecting the privacy, security, and integrity of sensitive data
Ekdahl et al. A Methodology to Validate Compliance to the GDPR
CN110032890A (zh) 一种安全网络和一种安全访问方法
Yang et al. Shifting inference control to user side: Architecture and protocol
Gritzalis et al. Developing a European Computer Security Incident Reporting Service for Health Care
Silva Votação Online Descentralizada
Ramkumar Towards a Standard for a Reliable Execution Environment for Security Protocols
Blobel et al. Current security issues faced by health care establishments and resulting requirements for a secure health information system architecture
AU2021340921A1 (en) System and method for multiparty secure computing platform
Biermann A Framework for the Protection of Mobile Agents Against Malicious Hosts
Flegel et al. Legally sustainable solutions for privacy issues in collaborative fraud detection
Dagher et al. Praneeth Babu Marella

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: IPG501 HEALTH CARE CO., LTD.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINE CORP.

Effective date: 20080516

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20080516

Address after: British Guernsey

Applicant after: IPG501 Health Care Co., Ltd.

Address before: American New York

Applicant before: International Business Machines Corp.

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100203

Termination date: 20100818