专利名称::实施供应链可见性策略的系统和方法
技术领域:
:本发明涉及实施供应链可见性策略(supplychainvisibilitypolicy)的系统和方法。
背景技术:
:全球供应链可见性变得越来越重要,特别是当制造移向世界各地以降低与产品制造相关联的成本时。随着供应链的加长,在产品运输时可以看见与产品有关的供应链信息变得更加重要。在制造商和产品最终目的地的地点之间的运输已经成为供应链的主要组成部分。因此,运输中产品的可见性对于在供应商地点管理后勤事务(logisticalissue)是至关重要的。例如,当越洋货机被用来在世界各地往返运送产品时,运输时间可能达到30天以上。在这样例子中,供应链中的后勤服务提供商管理货物的移动,并向其他供应链伙伴提供可见性。
发明内容本公开的实施方式包括用于在包括多个伙伴的供应链中实施可见性策略的方法。在一些实施方式中,这样的方法包括在第一伙伴的计算机可读存储介质上存储事件数据,该事件数据对应于物件被第一伙伴拥有时与该物件相关联的至少一个事件,该物件通过该供应链,当该物件通过该供应链时,在多个伙伴之间传递拥有该物件的证据,并由第二伙伴请求对该事件数据的访问。该方法还包括基于所述证据确定该物件通过了与至少第一伙伴和第二伙伴相关联的供应链的部分,对第二伙伴的身份进行认证(authenticate),并当确定该物件通过了所述供应链的部分时并且当第二伙伴的身份通过认证时,授权第二伙伴从计算机可读存储介质中访问该第一事件数据。在一些实施方式中,该方法还提供所述证据包括对应于第二伙伴以及沿着所述供应链的部分在第一伙伴和第二伙伴之间的任何中间伙伴的拥有证明(proofofpossession)。在一些实施方式中,该方法还提供确定所述供应链的部分是否有效还基于由第一和第二伙伴的每一个以及沿着所述供应链的部分在第一伙伴和第二伙伴之间的任何中间伙伴生成的链接标记(chainingtoken)。在一些实施方式中,该方法还提供将对应于第二伙伴的拥有证明生成为基于签名的拥有证明、共享秘密的拥有证明、基于标记的拥有证明、以及基于时间的拥有证明中的一个,所述证据包括所述拥有证明。在这样的实施方式中,共享秘密的拥有证明和基于时间的拥有证明能够基于在第二伙伴和可信任第三方之间的通信而生成。在这样的实施方式中,基于签名的拥有证明能够基于通过与该物件相关联的标签生成的签名而生成,共享秘密的拥有证明能够基于在与该物件相关联的标签和第一可信任第三方之间共享的秘密而生成,而基于时间的拥有证明能够基于发送到第二可信任第三方的随机质询(randomchallenge)和由第二可信任第三方发出的时戳而生成。在一些实施方式中,该方法还提供由第一伙伴加密所述事件数据,基于所述证据从可信任第三方获得解密密钥,以及由第二伙伴使用所述解密密钥解密所述事件数据。本公开还提供计算机可读存储介质,耦接到一个或多个处理器,并具有存储在其上的指令,当该指令被一个或多个处理器执行时,使得一个或多个处理器执行根据这里所提供的方法的实施方式的操作。本公开还提供用于在包括多个伙伴的供应链中实施可见性策略的系统。该系统包括一个或多个处理器,以及计算机可读存储介质,该计算机可读存储介质耦接到一个或多个处理器,并具有存储在其上的指令,当该指令被一个或多个处理器执行时,使得一个或多个处理器执行根据这里所提供的方法的实施方式的操作。应当理解根据本公开的方法能够包括这里所描述的方面和特征的任意组合。也就是说,根据本公开的方法并不限于这里所具体描述的方面和特征的组合,还包括所提供的所述方面和特征的任意组合。在以下附图和说明中阐述了本发明的一个或多个实施例的细节。本发明的其他特征、目的和优势将从说明和附图中、以及从权利要求中清楚地看出。图1是示范供应链的框图。图2是对应图1的示范供应链的示范体系结构的示意图。图3是示出根据本公开的实施方式的、能够在通过图1的示范供应链传送物件(item)时执行的示范步骤的流程图。图4是示出根据本公开的实施方式的、能够被执行以提供对图1的示范供应链中的事件数据的访问的示范步骤的流程图。图5是示出根据本公开的实施方式的、能够被执行以提供基于签名的拥有证明(signature-basedproofofpossession)白勺示范步骤白勺禾呈图。图6是示出根据本公开的实施方式的、能够被执行以提供共享秘密的拥有证明(sharedsecretproofofpossession)的示范步骤的流程图。图7是示出根据本公开的实施方式的、能够被执行以提供基于时间的拥有证明(time-basedproofofpossession)白勺白勺禾呈HI。图8是示出根据本公开的实施方式的、能够被执行以提供基于身份的加密(identity-basedencryption)的示范步骤的流程图。图9是示出根据本公开的实施方式的、能够被执行以解密供应链数据的示范步骤的流程图。图10是示出另一个示范供应链的框图。图11是能够用来执行本公开的实施方式的示范计算机系统的示意图。在各附图中相似的参考标号表示相似的元件。具体实施例方式图1是示范供应链100的框图。通常,供应链100代表一种在供应链各方之间移动信息、产品、和/或服务时所涉及的组织、人员、技术、活动、信息、和/或资源的系统。例如,供应链100能够使能⑴在供应商和客户之间、(ii)在供应商和另一个供应商之间、和/或(iii)在客户和另一个客户之间的数据共享。通过分析在特定供应链内的上行流(upstream)和下行流(downstream)上可得到的共享数据,供应商和客户能够提高提供和/或接收服务时的效率。具体来讲,对该数据的访问允许改进供应链效率的新形式的分析。在一些实施方式中,共享数据可以是射频识别(RFID)跟踪数据或存储在企业资源规划(ERP)系统中的任何数据,包括但不限于库存水平(stocklevel)、开账信息(billinginformation)、或货运通知(shippingnotification)。共享数据可以跨越多个ERP系统和多个供应链传播。虽然共享数据由多个源提供,但是所述数据被存储在不区分供应链的一个或多个ERP中。因此,存储供应链数据的公司能够实施访问控制规则,以防止在特定供应链中的数据丢失、数据失窃和/或间谍行为(例如,侦查业务操作)。访问控制规则可以用软件、硬件、或两者的组合来实施。例如,一种实施供应链策略的方式包括RFID跟踪系统,该系统允许公司基于其所属的供应链、以及请求访问的伙伴或一方,控制对数据的访问ο访问控制规则提供了一种机制,以授权或拒绝业务伙伴或其他实体对特定供应链中数据的访问。通常,访问控制规则包括许多供应链可见性规则和/或策略。例如,如果供应链可见性规则提供对供应链中数据的自由访问(liberalaccess),则业务伙伴可以使用该信息侦查其他业务伙伴和相关联的业务操作。具体来说,如果数据在整个供应链中都太容易获得,则例如详细列出业务量、结构和供应链伙伴的敏感业务数据可以被用来对抗(against)供应链中的业务伙伴。在一个例子中,供应商(Si)销售产品(pi)给购买者(Bi)和(B2)。如果(Bi)可以访问(pi)的全部预定订单(scheduledorder),则(Bi)可以推断出(B2)的业务量。例如,如果(Si)由于诸如在生产机器故障时出现的临时性产量降低而取消了一些订单,则(Bi)能够推断出(B2)的订单是否被优先对待。供应链可见性策略可以包括诸如在物件供应链的某点(somepoint)提供该物件的拥有证明(proofofpossession)的形式的证据(evidence)的要求。拥有证明可以通过第三方进行验证(verify),以说服第三方该证明的呈现者(presenter)实际上在某时间点(somepointintime)拥有该物件。在一些实施方式中,证据可以存储在射频识别(RFID)标签(t)中。RFID可以各自具有唯一的标识符,每次带有标签的物件(It)在供应链中被处理时,唯一的标识符可以被业务伙伴读取。每次该物件(It)被处理时,事件被存储在标签(t)上。事件数据可以涉及但不限于卸下(unpacking)物件、装运物件、以及接收物件。证据还可以以链接标记(chainingtoken)的形式提供。通常,链接标记代表业务伙伴拥有并控制的数据实体,该数据实体可以用来对该伙伴的身份进行认证。在一个例子中,链接标记可以是通过用口令对其加密来进行保护的密码密钥(cryptographickey)。具体来说,链接标记是签署的声明(signedstatement),表示一方(例如,Xik)已经向另一方(例如,Xi+n—k)发送或从其接收了带有标识符⑴的标签。通常,供应链的链环(link)通过链接标记结合(tie)在一起,并且系统能够使用基于身份的加密(IBE)来加密事件数据,并保护对链接标记信息的访问。如果一方(Xijt)已经向另一方(Xi+n—k)“发送了(sent)”带有标识符⑴的标签,或者已经从另一方(Xi+nk)“接收了(received)”带有标识符⑴的标签,则链接标记可以表示为ct,Xijt=Sxik(I,Xi+nk,已发送I已接收)。在一些实施方式中,供应链可见性策略可以被应用到数据和/或业务伙伴,以区分下行流和上行流数据可见性。例如,下行流可见性规则能够保证供应链伙伴被允许在产品已经被运输到的伙伴处访问与该产品相关联的数据。上行流可见性规则能够保证供应链伙伴被允许访问与该伙伴已经从其他业务伙伴接收的产品相关联的数据。再次参考图1,供应链100包括三个阶段,每个阶段有一个业务伙伴。三个业务伙伴包括Alice(A)102,Bob(B)104和Charlie(C)106。每个伙伴在各自的内部数据库中存储数据集(yt)。例如,Alice102存储的数据库用(yt,A)来表示。类似地,Bob104和Charlie106存储的数据库分别用(yt,B)和(yt,。)来表示。在这个例子中,供应链100包括带有附接的标签⑴并用(It)表示的物件⑴。物件(It)被从Alice102发送到Bob104,并随后转发给Charlie106。在这个例子中,如果Charlie106希望访问Alice102存储的事件数据,则Charliel06必须呈现访问应当被准许的证据。例如,Charlie106可以向Alice102呈现拥有证明,以证明对Alice102存储的事件数据的访问确实应当被准许。在一个较高的层次,如果Charlie106希望访问Alice102所存储的数据,则Charliel06示出具有来自Alice102和他自己之间的每一个供应商的信息的证明。在这个例子中,拥有证明可以从Bob104获得,然后呈现给Alice102。然后,Alice102进行验证,并且相应地允许或拒绝。下面描述这一过程的细节。图2是对应于图1的示例供应链100的示例体系结构200的示意图。体系结构200可以表示支持多个ERP计算机系统202的供应链,所述多个ERP计算机系统202连接地耦合(cormectivelycoupled),用于通过网络204相互通信。ERP计算机系统202可以被建模为数据库和/或包括数据库的服务器系统,其从安装在系统202上的整个供应链软件中的其他功能中抽取数据。系统200典型地是跨越一个或多个诸如网络204的网络的分布式客户端/服务器系统。在这样的情况下,诸如ERP系统202的各种组件可以通过虚拟专用网络(VPN)、SecureShell(SSH)通道、或其他安全网络连接来进行通信。因此,系统200可以代表一种托管解决方案(hostedsolution),其可以成本有效地调整(scale)并有助于促使更快的采用(adoption),而非作为打包的(packaged)软件来递送。在这种情况下,托管解决方案的部分可以由第一实体来开发,而其他组件有第二实体开发。在这样的实施例中,数据可以使用任何标准的或专有的加密算法、以加密的格式通信或存储。该加密的通信可以在用户(或应用程序/客户端)和托管方(host)之间,或者在托管方的各个组件之间。简单而言,任何模块和/或组件之间的通信或其他传输可以视情况(asappropriate)而包括任何加密、输出、翻译或数据消息、压缩等。此外,系统200可以将一些数据存储在相对中心的位置(通过WAN),并同时将本地数据保持在用户位置用于冗余,并允许在停机(downtime)期间进行处理。但是,系统200可以在专用企业环境——跨局域网(通过LAN)或跨子网、或任何其他适合的环境中,而不脱离本公开的范围。这里所描述的技术和组件可以在企业服务体系结构(ESA)环境中实施,通常称为面向服务的体系结构(S0A)。在一定的实施方式中,SOA可以被看作一种可修改的(adaptable)、灵活的、以及开放的体系结构的蓝图,该体系结构用于开发基于服务的、企业规模的业务解决方案。各种企业服务典型地是组合了能够被访问和重复使用以支持特定的8业务过程的业务逻辑的一系列web服务。将这样的web服务聚合到业务级企业服务中可以为实现企业规模的业务场景自动化的任务提供更有意义的基础。合成应用框架包括规则框架、设计工具、方法、服务和过程、对象的提取(abstraction)层、以及用户接口和处理模式库。合成应用框架支持模式驱动的应用合成,因此用户可以用尽可能少的编程来建立应用和/或实施供应链策略,这通常会导致用于新的/修改的应用和面向业务模式的整合的减少的开发和部署时间。图3是示出根据本公开的实施方式、当通过图1的示例供应链100传送物件时能够执行的示例步骤的流程图。例如,图3中示出的过程可以利用存储在计算机可读存储介质中并且由包括一个或多个处理装置的处理系统执行的软件指令来实施。简单而言,所述步骤包括沿示例伙伴Alice(A)、Bob(B)和Charlie(C)之间的供应链生成和验证拥有证明和链接标记。所述拥有证明和链接标记可以允许物件(It)在整个供应链100中的传送。通常,每个业务伙伴102、104、106能够将关于物件(It)的事件数据存储在本地数据库(yt)中,并且供应链100中的其他业务伙伴能够请求对该事件数据的访问。在一些实施方式中,每个伙伴存储拥有证明和许多链接标记。在特定伙伴根据上行流或下行流可见性而选择不显露(reveal)事件数据的情况下,其对于有效请求可以提供对拥有证明和链接标记的访问,以防止拥有链的中断(break)。在步骤300,A生成已经拥有物件(It)的拥有证明(pt,A)。在步骤302,系统(例如,系统200)可以从业务伙伴接收关于通过供应链100发送物件请求。例如,物件(It)可以从A被发送到B。如果物件(It)被发送到B,则A在步骤304生成“已发送(sent),,链接标记(ct,A)。如果系统没有接收到关于发送物件(It)的请求,该过程在继续之前继续等待请求。当生成链接标记(ct,A)时,A在步骤306将物件(It)以及A自己的拥有证明(pt,α)发送到B。在步骤308,B从A接收链接标记,并生成他自己的拥有证明(pt,B)和“已接收(received)”链接标记(c,t,B)。在步骤310,系统(例如,系统200)确定物件(It)是否要从B发送到C。如果物件(It)不要被发送,则系统循环返回。如果物件(It)要被发送,则B在步骤312生成“已发送”链接标记(ct,B)。在步骤314,B将物件(It)和他的拥有证明(Pt,B)发送给C。在步骤316,C生成他自己的拥有证明(pt,和“已接收”链接标记(c’t,c)。从而,物件(It)成功地通过了供应链100。随后的讨论和相应的流程图提供了添加变化(varying)的安全等级(例如,密码)以实行(enforce)取回和发送供应链数据的策略的示例例程。供应链能够采用各种技术来实行安全策略,包括但不限于基于时间的拥有证明、基于签名的拥有证明、基于共享秘密的拥有证明、基于标记的拥有证明、以及基于身份的加密。现在参考图4,流程图示出了能够被执行以提供对图1的示例供应链100中的事件数据的访问的示例步骤。图4的流程图假定C请求访问来自A的事件数据。在步骤400,C向B呈现他的拥有证明(pt,c)和他的已接收链接标记(c’t,c)。一系列验证测试可以被执行以确定C所呈现的信息的有效性,这将在以下更详细的讨论。例如,在步骤402,确定C的身份是否能够被证实,在步骤404,确定从B到C的链是否有效,并且在步骤406,确定B是否具有已发送链接标记(ct,B)。如果这些条件的任何一个非真,则在步骤408,C被拒绝对由B存储的事件数据(例如,事件数据yt,B)以及由A存储的事件数据(例如,事件数据yt,A)的访问。但是,如果全部验证测试402、404和406都为真,则在步骤410,B向C提供已发9送链接标记(ct,B)、已接收链接标记(c’t,B)和拥有证明(Pt,B),并准许C访问由B存储的事件数据(例如,事件数据yt,B)。在步骤412,C向A呈现拥有证明(pt,B)、已发送链接标记(ct,B)、已接收链接标记(c’t,B)、已接收链接标记(C’t,C)、以及拥有证明(Pt,C)。执行一系列验证测试以确定由C呈现的信息的有效性。在步骤414,确定C的身份是否能够被证实,并且在步骤416,确定从A102到C106的链是否有效。如果步骤414或步骤416非真,则拒绝C对由A存储的事件数据(例如,数据yt,A)的访问。但是,如果步骤414和步骤416两者均为真,则在步骤420,确定A是否具有已发送链接标记(ct,A)。如果A不具有已发送链接标记(ct,A),则在步骤418,拒绝C对事件数据(yt,A)的访问。如果A具有已发送链接标记(ct,A),则在步骤422,准许C对事件数据(yt,A)的访问。现在参考图5,流程图示出了根据本公开的实施方式的能够被执行以提供基于签名的拥有证明的示例步骤。在一些实施方式中,基于签名的拥有证明可以利用密码哈希函数(cryptographichashfunction)来完成。作为一个非限定性的例子,Merkle签名可以用来组合一次性签名方案(OTS)的若干密钥。Merkle签名的优点在于它能够被计算而不需要模运算(modulararithmetic)、活板门(trapdoors)或类似的算法,并且简单地基于密码哈希函数。Merkle签名的使用仅仅是作为示例,而不是为了限制本公开。如上所述,每次供应链伙伴获得标签(t)时,其创建拥有证明。在本例中,拥有证明是基于签名的,并包括公钥/私钥对,这样该私钥不可访问地存储在标签(t)上。同样的,标签(t)可以被用于签署发送给它的消息,以便验证带有标签的物件(It)的接收。具有标识符(I)的标签(t)的签名可以用&(···)来表示。在步骤500,A向物件(I)发送消息,该物件为A所拥有。例如,这个消息能够被发送给与该物件(I)相关联RFID标签。作为一个非限定性的例子,A可以发送关于该物件(I)最后在哪里被处理的事件数据请求。在最简单的情况下,通过签署处理器(即,A)的身份(A),标签(t)简单地回复该消息,这可以用拥有证明等式来表示Pu=S1(A)并提供所请求的数据。在步骤502,物件(I)用S1(A)签署该消息。在步骤504,物件(I)向A发送签SSi(A)15在步骤506,A存储S1OV)作为他的拥有证明(pt,A)。使用上述基于签名的协议来认证事件数据会出现许多安全问题。作为例子,A未必需要认证可能允许标签(t)签署呈现的每个身份的请求。因此,A能够为他希望的每个身份产生拥有证明。这个问题的一种解决方案可以包括对A进行认证。例如,通过实施公钥证书可以实现这样的认证。图6是示出根据本公开的实施方式的、可以被执行以提供共享秘密的拥有证明的示例步骤的流程图。在共享秘密的拥有证明技术中,拥有证明基于在供应链伙伴(在这个例子中为A)和可信任第三方(T)之间的通信。例如,共享秘密的拥有证明可以基于由与特定物件(I)相关联的标签生成的签名来生成。在共享秘密的拥有证明中,每个标签(t)具有与一个或多个可信任第三方(T)的共享秘密(S)。在一些实施方式中,例如,可信任第三方(T)可以是标签(t)(例如,RFID标签)的生产商。标签(t)的生产商可以在将标签让与购买者之前,将信息嵌入标签中。在一些实施方式中,可信任第三方(T)可以是时间服务器。使用可信任第三方(T)的一个优点在于其能够容易地认证伙伴(例如,A),并且与可信任第三方(T)的全部通信可以通过安全的、经认证的通道来进行。图6的示例步骤可以在拥有物件⑴的供应链成员(例如,A)希望运行标签⑴和可信任第三方(T)之间的协议时被执行。通过一定步骤提供多个途径(pass)(例如,两个),以确定共享秘密的拥有证明并验证标签(t)上的时戳。在步骤600,变量χ被初始化为等于1。在步骤602,A将消息发送给可信任第三方(T)。因为可信任第三方(T)在供应链伙伴和他自己之间具有共享秘密(s),所以在步骤604,⑴通过用随机质询(randomchallenge)(r)响应A来请求知道秘密(s)的证明。随机质询(r)可以是由可信任第三方(T)、或另一方选择的随机数。在步骤606,A将随机质询(r)提供给A拥有的物件(I)。在步骤608,,物件(I)用基于接收的随机质询(r)和秘密(s)的消息认证码(messageauthenticationcode,MAC)响应Α。在步骤610,A提供MAC给可信任第三方(T)用于认证。在步骤612中,可信任第三方⑴确定从A发送的MAC是否正确。如果MAC不正确,则可信任第三方(T)不生成拥有证明(pt,A)。如果MAC正确,则在步骤616,确定χ是否等于2。如果χ不等于2,则在步骤618,可信任第三方(T)记录时戳(time),在步骤620使χ递增,并循环返回步骤602。例如,可信任第三方(T)能够将当前事务(transaction)的时戳存储在标签(t)上。时戳能够用于将安全时间合并到拥有证明中。例如,在链的有效性检查中,可信任第三方(T)能够验证证明的时间对于上行流请求减少以及对于下行流请求增加。作为一个优点,时戳验证能够保证供应链的附加的时间完整性,使得在事实之后的插入几乎不可能。如果在步骤616,χ等于2,则在步骤622,可信任第三方(T)基于当前time生成拥有证明(Pt,A)。在步骤624,可信任第三方(T)将拥有证明(pt,A)发送给A作为批准。共享秘密的拥有证明和时戳数据使得任何人能够利用对A的公钥或公共信息的访问来验证消息(例如,A产生的签名串)。其保证时戳在适当的时间间隔内(例如,A拥有物件(I)的时间间隔)。此外,随机变量ω能够防止早填日期(pre-dating)(例如,在一方第一次拥有物件之前查询时间服务器),并且(r)能够防止晚填日期(post-dating)(例如,在一方已经拥有过该物件之后查询时间服务器)。在一些实施方式中,限制可信任第三方的责任是有好处的。通常,在基于身份的加密方案中负责发出解密密钥的可信任第三方(T)有可能访问全部事件数据。假设猜测标签标识符和供应链通路足够困难,第三方(T)仍然能够在合法访问请求之后自己访问事件数据。在一个实施方式中,系统能够通过在请求中不显露标签标识符来提升对于可信任第三方(T)的障碍(bar)。那么,可信任第三方(T)将必须猜测标识符和供应链中的链环以访问事件数据。还可能在解密密钥请求期间保护标识符。保护标识符可以涉及使可信任第三方(T)验证对于特定物件的拥有证明,以及还验证对于物件的签名。在这个例子中,可信任第三方(T)具有用于系统中每个物件的公钥,并且可信任第三方(T)必须揭露标签标识符以识别密钥。避免揭露标签标识符的要求的一个解决方案可以包括对于每个物件引入公共密钥(例如,来自一个制造商的每个物件)。另一个解决方案是引入不同的可信任第三方(T’)。这个不同的可信任第三方(T’)的功能是将基于时间形式的拥有证明转换为基于时间和基于签名形式之一。虽然这个解决方案可以揭露字段I中物件的身份,但是能够被验证而无需知道I的任何密钥。现在参考图7,流程图示出了根据本公开的实施方式的能够被执行以提供基于时间的拥有证明的示例步骤。在基于时间的方案中,拥有证明基于供应链伙伴(例如,A)和可信任第三方(T)之间的通信。例如,基于时间的拥有证明能够基于发送给可信任第三方(T)的随机质询(randomchallenge)和由可信任第三方(T)发出的时戳来生成。基于时间的技术依赖于针对每个供应链伙伴的按时间顺序的处理(timeorderedprocess)。例如,通常在产品制造商接收原材料以制造产品之前,材料供应商具有对原材料数据的访问权。因此,产品制造商在材料供应商实际允许访问之前不能获得关于原材料的信息。这个顺序可以反映在获得链接标记和拥有证明的时间中。因此,基于时间的技术可以被结合到拥有证明中以保护已知时戳。这能够保证可信任第三方能够验证证明的时间对于上行流供应链请求来说减少,并对于下行流供应链请求来说增加。在步骤700,A向物件(I)发送消息。在步骤702,物件⑴用签名S1OO签署消息,其中ω是随机质询。在Α和可信任第三方⑴(例如,时间服务器)之间执行安全时间协议,以保证基于时间的拥有证明是有效的。例如,给定随机质询(r),系统返回具有质询(r)、当前时间(time)、以及最新随机数(freshnonce)(r')的经签署的消息。为了实现这点,在步骤704,A向可信任第三方(T)发送质询(r),并且在步骤706,可信任第三方(T)向A发送拥有证明串St(r,time,r')。在步骤708,A向物件(I)发送最新随机数(r’)。在步骤710,物件(I)生成新的基于时间的签名S1(r’),并向A发送S1(r’)。在步骤712,A生成并存储拥有证明pt,A作为SA(SI(r),ST(r,time,r'),SI(r'))。A产生的签名串能够由有权访问物件(I)的公钥或公共信息的任何人来验证。签名串保证time在A拥有物件(I)的时间间隔内。随机质询(r)防止早填日期(例如,在一方第一次拥有物件(I)之前查询时间服务器),并防止晚填日期(例如,在一方已经拥有过物件(I)之后查询时间服务器)。虽然基于时间的拥有证明协议能够提供认证,但是其不一定能阻止流氓读取者(rougereader)进行物理攻击。因此,其他协议可以和基于事件的拥有证明技术组合来提供增强的安全性。现在参考图8,流程图示出了根据本公开的实施方式的能够被执行以提供基于身份的加密的示例步骤。在同意对物件的事件数据(以及标记和拥有证明)的访问之前,供应链伙伴应当验证数据的至少两种性质(1)由请求者呈现的、从该请求者到其自身的标记和拥有证明的链,和(2)在上述呈现的链中被访问方对于到后继者的所请求的标识符的链接标记的所有权。通常,访问事件数据的合法请求显露了关于特定物件(I)的大量信息。在最坏的情况下,可以显露物件(I)的整个拥有者历史。例如,如果攻击者能够创建他已拥有物件(I)的印象,则另一方可能尝试向该攻击者请求对事件数据的访问。因此,请求者应当尝试在访问请求期间显露非常少的信息或不显露信息。在一些实施方式中,如果供应链采用了基于身份的加密(IBE),则可以使来自未知身份的攻击不能取得信息。例如,IBE使得能够使用用于加密的任何串(例如,身份)。于是解密方能够针对那个特定串从可信任第三方请求解密密钥。在一个例子中,供应链伙伴C利用在图8中描绘的示例过程获得物件上行流的家谱(pedigree)信息,这将在以下更详细地描述。这个过程包括获得拥有证明、发出链接标记、请求身份的私钥、发出私有解密密钥、解密事件数据、并重复请求密钥信息和解密事件数据。在步骤800,C获得拥有证明(pt,。)作为他确实拥有物件(I)的证据。C能够使用这里描述的任何技术来获得拥有证明(Pu)。在步骤802,向供应商B发出已发送链接标记12(ct,c)。在步骤804,C通过呈现拥有证明(pt,c)和已发送链接标记(ct,c),从可信任第三方(T)请求身份“I.B.C.”的私钥。执行一系列验证测试来确定C呈现的信息的有效性。例如,在步骤806中,确定C的身份是否能被证实,并且在步骤808,确定从C到B的链是否有效。这些验证测试通常包括检查拥有证明和由C给其前任(predecessor)P的链接标记的有效性。对于每个前任,有两个有效链接标记(例如,已发送的和已接收的),这样P的后继者在已发送标记中给出,而P的前任在已接收标记中给出。在一些实施方式中,可信任第三方(T)能够重复这些检查直到P等于B。如果在步骤806或步骤808非真,则在步骤810,可信任第三方(T)拒绝将私有解密密钥给C。如果步骤806和步骤808两者均为真,则在步骤812,可信任第三方(T)生成解密密钥,并且在步骤814,向C发送解密密钥。在步骤816,C解密事件数据(yt,B)并接收拥有证明(Pt,B)、已发送链接标记(ct,B)和已接收链接标记(c’t,B)。在步骤818,C通过呈现拥有证明(Pt,B)、已发送链接标记(ct,B)和已接收链接标记(c’t,B),从可信任第三方⑴请求用于身份“I.A.B.”的私钥。能够执行一系列验证来确定有C呈现的信息的有效性。例如,在步骤820,确定是否能够证实C的身份,并且在步骤822,确定从B到A的链是否有效。如果步骤820或步骤822为非真,则在步骤810,可信任第三方(T)拒绝将私有解密密钥给C。如果步骤820和步骤822两者均为真,则在步骤824,可信任第三方(T)生成解密密钥,并在步骤826,发送解密密钥。在步骤828,C解密事件数据(yt,A),并接收拥有证明(pt,A)和已发送链接标记(ct,Α)ο在一些实施方式中,供应链伙伴可以根据上行流或下行流可见性而选择不显露它们的数据。在这样的情况下,特定伙伴能够并应当解密拥有证明和链接标记,以保证供应链没有被中断。在上行流可见的示例情况下,这可以允许在供应链中在该特定伙伴之后的供应链伙伴从该特定伙伴之前的伙伴获得数据。在下行流可见的示例情况下,这可以允许在供应链中在该特定伙伴之前的伙伴从接着该特定伙伴的伙伴获得数据。现在参考图9,流程图示出了根据本公开的实施方式的能够被执行已解密供应链数据的示例步骤。在图9的例子中,拥有证明可以由下式表示ρ"=Sr(A,I,time)并且链接标记可以由下式表示tIjA=SA(I,B,已发送I已接收)两者均包含标识符⑴。标识符⑴可以用Q^g1O对来代替,其中(r)由标识符的生成者选择的随机数来表示。在一些实施方式中,标识符还被随机化,这样,其并不是简单地由不同的标识符来代替,而是所述对的每个实例均表现为相互不同。而且,使D(I)和D(A)分别为标签和参与方标识符的域。标识符(Ι.Α.Β)的密钥请求能够被编码为自然数σ,提供为σ=I+yA+δB其中y彡D(I)和δ彡yD(A)当从可信任第三方(T)请求解密密钥时,请求者通常只请求标签标识符,而不发送标签的标识符。13在步骤900,C向可信任第三方(T)提供扩展对(h^h^gr)。在步骤902,可信任第三方⑴知道供应链伙伴B和C,并计算全(full)身份密钥h〃(I+YA+SB)。在步骤904,可信任第三方(T)选择最新随机数(r'),并执行验证检查(例如,诸如图8中详细示出的)。当成功地通过验证检查时,在步骤906,可信任第三方(T)生成扩展对(hahCT‘(I+YA+5B),grr'),来解密所请求的供应链数据。可信任第三方(T)还可以执行全部拥有证明、链接标记和请求均是针对相同标识符的验证。例如,可信任第三方(T)可以为每个供应的标识符对gr,hrr',gr')执行成对的(pair-wise)检查,以确定相同的标识符提供了上述准则。现在参考图10,功能框图示出了另一个示例的供应链1000。供应链1000包括供应商(D)1002和(E)1004、多个供应商和/或购买者(F)1006、(G)1008和(I)1012、以及购买者(H)1010和(J)1014。如果购买者(J)1014希望访问存储在供应商(D)1002的事件数据,(J)1014必须呈现沿供应链1000的多个拥有证明和链接标记。具体来说,(J)1014呈现在供应商(D)1012和他自己之间的每个供应商和/或购买者的链接标记。例如,(J)1014能够供应他的拥有证明和已接收链接标记、(I)1012的拥有证明和已接收及已发送链接标记、以及(F)1006的拥有证明和已接收及已发送链接标记。如果(I)1012希望访问存储在供应商(D)1002或(E)1004的事件数据,则(I)1012可以呈现他自己的拥有证明和已接收链接标记、和(F)1006的拥有证明和已接收及已发送链接标记。类似地,如果(G)1008希望访问存储在供应商(D)1002或(E)1004的事件数据,则(G)1008可以提供他自己和(F)1006的拥有证明和链接标记。在一个较高的层次,这里描述的系统提供了可用性、正确性和安全性。通过使用户在较高层次设定其策略(即,上行流或下行流可见性)来实现可用性。而且,对于每个物件用户可以具有这些选项的选择,其中一个物件与另一个物件相比能够具有不同的高层次的策略。作为一个优点,系统设计者能够选择期望层次的策略粒度。正确性意味着每个合法实体均有权访问数据。如果允许上行流可见,对于那个特定的物件,在供应链中的伙伴之前的每个伙伴均应当具有访问权。如果允许下行流可见,则对于在供应链中的一方之后任何一方也应如此。关于安全性目标,这里描述的系统提供了机密性、完整性、没有非法访问、没有伪造、没有陷害、以及不否认特性。机密性保证没有伙伴能访问策略没有显式地允许的事件数据(例如,没有非法访问)。系统的完整性保证没有伙伴能伪造事件数据(例如,没有伪造),保证没有伙伴能陷害已拥有物件另一个伙伴(例如,没有陷害)、以及保证没有伙伴能够否认已拥有物件(例如,不否认)。现在参考图11,提供了示例计算机系统1100的示意图。根据一个实施方式,系统1100可以用于与图3-10中描述的方法相关联地描述的操作。例如,系统1100可以被包括在任一或全部服务器102中。系统1100包括处理器1110、存储器1120、存储设备1130、以及输入/输出设备1140。组件1110、1120、1130和1140的每一个利用系统总线1150相互连接。处理器1110能够处理用于在系统1100内执行的指令。在一个实施方式中,处理器1110为单线程处理器。在另一个实施方式中,处理器1110为多线程处理器。处理器1110能够处理存储在存储器1120中或存储在存储设备1130上的指令,以便在输入/输出设备1140上显示用于用户界面的图形信息。存储器1120存储系统1100内的信息。在一个实施方式中,存储器1120为计算机可读介质。在一个实施方式中,存储器1120为易失性存储单元。在另一个实施方式中,存14储器1120为非易失性存储单元。存储设备1130能够为系统1100提供海量存储。在一个实施方式中,存储设备1130为计算机可读介质。在各种不同的实施方式中,存储设备1130可以为软盘设备、硬盘设备、光盘设备、或磁带设备。输入/输出设备1140为系统1100提供输入/输出操作。在一个实施方式中,输入/输出设备1140包括键盘和/或指示设备。在另一个实施方式中,输入/输出设备1140包括用于显示图形用户界面的显示单元。这里描述的特征能够以数字电子电路实施,或者以计算机硬件、固件、软件、或它们的组合来实施。装置能够以在信息载体中,例如在机器可读存储设备中,有形地体现的计算机程序产品来实施,用于由可编程处理器来执行;并且,方法步骤能够由执行指令程序的可编程处理器来执行,以便通过操作输入数据和生成输出来执行所描述的实施方式的功能。有利地,所描述的特征可以在可编程系统上可执行一个或多个计算机程序中实施,该可编程系统包括耦合的至少一个可编程处理器,用于从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并且向数据存储系统、至少一个输入设备和至少一个输出设备传送数据和指令。计算机程序是可以在计算机中直接或间接使用的指令的集合,用于执行一定活动或是发生一定的结果。计算机程序能够以任何形式的编程语言来编写,包括编译或解释语言,其能够以任何形式来部署,包括独立程序或模块、组件、子例程、或者其他适合在计算环境中使用的单元。作为示例,用于执行指令程序的适合的处理器包括全部通用和专用微处理器、以及任何类型计算机的单独处理器或多个处理器之一。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的主要元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器。通常,计算机还将包括或者可操作地耦合以与其通信的用于存储数据文件的一个或多个海量存储设备;这样的设备包括诸如内部硬盘和可移动盘的磁盘;磁光盘;以及光盘。适于有形地体现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,作为示例,包括诸如EPROM、EEPROM和闪存设备的半导体存储设备;诸如内部硬盘和可移动盘的磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以用ASIC(专用集成电路)补充或合并在ASIC中。为了提供与用户的交互,可以在具有显示设备和键盘及指示设备的计算机上实施所述特征,所述显示设备诸如CRT(阴极射线管)或IXD(液晶显示器)监视器,用于向用户显示信息,而通过键盘和诸如鼠标或轨迹球的指示设备,用户可以提供输入给计算机。所述特征可以在包括如下组件的计算机系统中实施诸如数据服务器的后端组件,或者诸如应用程序服务器或因特网服务器的中间件组件,或者诸如具有图形用户界面或因特网浏览器的客户端计算机的前端组件,或者他们的任意组合。系统的组件可以通过诸如通信网络的数字数据通信的任何形式或介质来连接。通信网络的示例包括,例如,LAN、WAN和形成因特网的计算机和网络。计算机系统可以包括客户端和服务器。客户端和服务器通常相互远离,并且典型地通过诸如以上所述的网络进行交互。依靠在各个计算机上运行并且相互具有客户端-服务器关系的计算机程序,建立客户端和服务器的关系。此外,在附图中描绘的逻辑流并不要求所示的特定顺序、或依次的顺序,以实现期望的结果。此外,可以提供其他步骤,或从所描述的流中删除步骤,并且其他部件可以被添加到所描述的系统,或从中去除。因此,其他实施方式也在权利要求的范围内。15已经描述了本发明的多个实施例。然而,应当理解可以进行各种修改而在不脱离本发明的精神和范围。因此,其他实施例在权利要求的范围内。权利要求一种在包括多个伙伴的供应链中实施可见性策略的方法,包括在第一伙伴的计算机可读存储介质上存储事件数据,该事件数据对应于物件被第一伙伴拥有时与该物件相关联的至少一个事件,该物件通过该供应链;随着该物件通过该供应链,在多个伙伴之间传递拥有该物件的证据;由第二伙伴请求对该事件数据的访问;基于所述证据,确定该物件通过了与至少第一伙伴和第二伙伴相关联的供应链的部分;对第二伙伴的身份进行认证;以及当确定该物件通过了所述供应链的部分并且当第二方的身份通过认证时,授权第二伙伴从所述计算机可读存储介质中访问该第一事件数据。2.如权利要求1所述的方法,其中,所述证据包括对应于第二伙伴以及沿着所述供应链的部分在第一伙伴和第二伙伴之间的任何中间伙伴的拥有证明。3.如权利要求1所述的方法,其中,确定所述供应链的部分是否有效还基于由第一伙伴和第二伙伴的每一个以及沿着所述供应链的部分在第一伙伴和第二伙伴之间的任何中间伙伴生成的链接标记。4.如权利要求1所述的方法,还包括将对应于第二伙伴的拥有证明生成为基于签名的拥有证明、共享秘密拥有证明、基于标记的拥有证明以及基于时间的拥有证明中的一个,所述证据包括所述拥有证明。5.如权利要求4所述的方法,其中,所述共享秘密的拥有证明和基于时间的拥有证明是基于第二伙伴和可信任第三方之间的通信而生成的。6.如权利要求4所述的方法,其中,所述基于签名的拥有证明是基于通过与该物件相关联的标签生成的签名而生成的,所述共享秘密的拥有证明是基于在与该物件相关联的标签和第一可信任第三方之间共享的秘密而生成的,而所述基于时间的拥有证明是基于发送到第二可信任第三方的随机质询和由第二可信任第三方发出的时戳而生成的。7.如权利要求1所述的方法,还包括由第一伙伴加密所述事件数据;基于所述证据从可信任第三方获得解密密钥;以及由第二伙伴使用所述解密密钥解密所述事件数据。8.一种计算机可读存储介质,耦接到一个或多个处理器,并具有存储在其上的指令,当该指令被一个或多个处理器执行时,使得一个或多个处理器执行以下操作,包括在第一伙伴的计算机可读存储介质上存储事件数据,该事件数据对应于物件被第一伙伴拥有时与该物件相关联的至少一个事件,该物件通过该供应链;随着该物件通过该供应链,在多个伙伴之间传递拥有该物件的证据;由第二伙伴请求对该事件数据的访问;基于所述证据,确定该物件通过了与至少第一伙伴和第二伙伴相关联的供应链的部分;对第二伙伴的身份进行认证;以及当确定该物件通过了所述供应链的部分并且当第二方的身份通过认证时,授权第二伙伴从所述计算机可读存储介质中访问该第一事件数据。9.如权利要求8所述的存储介质,其中,所述证据包括对应于第二伙伴以及沿着所述供应链的部分在第一伙伴和第二伙伴之间的任何中间伙伴的拥有证明。10.如权利要求8所述的存储介质,其中,确定所述供应链的部分是否有效还基于由第一伙伴和第二伙伴的每一个以及沿着所述供应链的部分在第一伙伴和第二伙伴之间的任何中间伙伴生成的链接标记。11.如权利要求8所述的存储介质,还包括将对应于第二伙伴的拥有证明生成为基于签名的拥有证明、共享秘密的拥有证明、基于标记的拥有证明、以及基于时间的拥有证明中的一个,所述证据包括所述拥有证明。12.如权利要求11所述的存储介质,其中,所述共享秘密的拥有证明和基于时间的拥有证明是基于第二伙伴和可信任第三方之间的通信而生成的。13.如权利要求11所述的存储介质,其中,所述基于签名的拥有证明是基于通过与该物件相关联的标签生成的签名而生成的,所述共享秘密的拥有证明是基于在与该物件相关联的标签和第一可信任第三方之间共享的秘密而生成的,而所述基于时间的拥有证明是基于发送到第二可信任第三方的随机质询和由第二可信任第三方发出的时戳而生成的。14.如权利要求8所述的存储介质,还包括由第一伙伴加密所述事件数据;基于所述证据从可信任第三方获得解密密钥;以及由第二伙伴使用所述解密密钥解密所述事件数据。15.一种在包括多个伙伴的供应链中实施可见性策略的系统,包括一个或多个处理器;以及计算机可读存储介质,耦接到所述一个或多个处理器,并具有存储在其上的指令,当该指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行以下操作,包括在第一伙伴的计算机可读存储介质上存储事件数据,该事件数据对应于物件被第一伙伴拥有时与该物件相关联的至少一个事件,该物件通过该供应链;随着该物件通过该供应链,在多个伙伴之间传递拥有该物件的证据;由第二伙伴请求对该事件数据的访问;基于所述证据,确定该物件通过了与至少第一伙伴和第二伙伴相关联的供应链的部分;对第二伙伴的身份进行认证;以及当确定该物件通过了所述供应链的部分并且当第二方的身份通过认证时,授权第二伙伴从所述计算机可读存储介质中访问该第一事件数据。16.如权利要求15所述的系统,其中,所述证据包括对应于第二伙伴以及沿着所述供应链的部分在第一伙伴和第二伙伴之间的任何中间伙伴的拥有证明。17.如权利要求15所述的系统,其中,确定所述供应链的部分是否有效还基于由第一伙伴和第二伙伴的每一个以及沿着所述供应链的部分在第一伙伴和第二伙伴之间的任何中间伙伴生成的链接标记。18.如权利要求15所述的系统,还包括将对应于第二伙伴的拥有证明生成为基于签名的拥有证明、共享秘密的拥有证明、基于标记的拥有证明、以及基于时间的拥有证明中的一个,所述证据包括所述拥有证明。19.如权利要求18所述的系统,其中,所述共享秘密的拥有证明和基于时间的拥有证明是基于第二伙伴和可信任第三方之间的通信而生成的。20.如权利要求18所述的系统,其中,所述基于签名的拥有证明是基于通过与该物件相关联的标签生成的签名而生成的,所述共享秘密的拥有证明是基于在与该物件相关联的标签和第一可信任第三方之间共享的秘密而生成的,而所述基于时间的拥有证明是基于发送到第二可信任第三方的随机质询和由第二可信任第三方发出的时戳而生成的。全文摘要在供应链中实施可见性策略的方法、存储介质和系统,包括在第一伙伴的计算机可读存储介质上存储事件数据,该事件数据对应于物件被第一伙伴拥有时与该物件相关联的至少一个事件,该物件通过该供应链,当该物件通过该供应链时,在多个伙伴之间传递拥有的证据,并由第二伙伴请求对该事件数据的访问。实施方式还包括基于所述证据确定该物件通过了供应链的部分,对第二伙伴的身份进行认证,并当确定该物件通过了所述供应链的部分时且当第二方的身份通过认证时,授权第二伙伴访问该第一事件数据。文档编号G06Q10/00GK101937528SQ20101020898公开日2011年1月5日申请日期2010年6月25日优先权日2009年6月29日发明者弗洛里安·克施鲍姆申请人:Sap股份公司