CN101176101A - Web服务中的保密数据通信 - Google Patents
Web服务中的保密数据通信 Download PDFInfo
- Publication number
- CN101176101A CN101176101A CNA2006800168059A CN200680016805A CN101176101A CN 101176101 A CN101176101 A CN 101176101A CN A2006800168059 A CNA2006800168059 A CN A2006800168059A CN 200680016805 A CN200680016805 A CN 200680016805A CN 101176101 A CN101176101 A CN 101176101A
- Authority
- CN
- China
- Prior art keywords
- signature
- numerical value
- request
- web service
- requesting party
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
- Communication Control (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
公开了如下方法、系统和产品,其中,通常通过如下步骤来提供在web服务中的保密数据通信:在web服务中从客户机接收包含承载第一签名的元素的请求,该签名具有数值;签名第一签名的数值,由此创建第二签名;以及从web服务发送应答到客户机,该应答包括第二签名。请求方可以验证应答包括第二签名。请求可被加密,以及应答可被加密。第一签名可被加密,以及web服务可以加密第一签名的数值和在应答中包括第一签名的加密后的数值。web服务可以接收以SOAP编码的请求,以及可以发送以SOAP编码的应答。
Description
技术领域
本发明涉及数据处理领域,或更具体地,涉及用于web服务中保密数据通信的方法、系统和产品。
背景技术
术语“web服务”是指综合基于web的应用的标准化方法。典型地,web服务通过以被称为绑定的标准化格式的数据通信,提供根据请求的商业服务。绑定是数据编码方法的规范和数据通信协议。web服务所使用的最通用的绑定是按照SOAP协议的XML中的数据编码和使用HTTP的数据通信。SOAP(简单对象访问协议)是支持通过使用XML和扩展而传送结构化的和类型化的数据的请求/响应消息传送协议。
不像传统的客户机/服务器模型,诸如响应于来自浏览器客户机的请求提供HTML文档的HTTP服务器,web服务不涉及显示。web服务代之以在网络上通过编程接口共享商业逻辑、数据、和处理。web服务应用互相接口,而不与用户接口。因为按照标准化的绑定执行在web服务之间的所有数据通信,所以web服务不依赖于任何一个操作系统或编程语言。在WindowsTM平台上运行的Java客户机可以调用以Perl编写的和在Unix下运行的web服务操作。以C++编写的Windows应用可以调用在被实施为Java servlet的web服务中的操作。
web服务协议典型地是其中客户机或中间请求方发送请求消息到web服务以请求特定的服务的请求/响应协议,以及web服务以应答消息的形式提供响应。在某些消息交换模式中,交换的发起者希望确认它接收的消息确实是对于它发起的请求的应答。这样的确认用来建立在请求方与web服务之间的、关于提示相关应答的请求的内容的约定。这个确认有助于降低来自某些形式的攻击的风险。然而,现有技术没有为请求方提供一种确认它接收的消息确实是对于它发起的请求的应答的方法。
发明内容
公开了如下方法、系统和产品,其中,通常通过如下步骤来提供在web服务中的保密数据通信:在web服务中从客户机接收包含承载第一签名的元素的请求,该签名具有数值;签名第一签名的数值,由此创建第二签名;以及从web服务发送应答到客户机,该应答包括第二签名。请求方可以验证应答包括第二签名。请求可被加密,以及应答可被加密。第一签名可被加密,以及web服务可以加密第一签名的数值和在应答中包括第一签名的加密后的数值。web服务可以接收以SOAP编码的请求,以及可以发送以SOAP编码的应答。
签名第一签名的数值可以通过如下步骤来实现:创建签名确认元素,该签名确认元素具有数值;把签名确认元素的数值设置为第一签名的数值;签名该签名确认元素,由此创建第二签名;以及把签名确认元素和第二签名包括在应答中。当web服务接收到包含承载第一签名的多个元素的请求时,每个请求具有数值,然后在某些实施例中,web服务可以签名该第一签名的所有的数值,由此创建多个第二签名;以及web服务可以把包括多个第二签名的应答发送到请求方。
通过如在附图中显示的、本发明的示例性实施例的以下更具体的说明,将明白本发明的上述的和其它的目的、特性和优点,其中相同的标号代表本发明的相同部件。
附图说明
图1阐述显示用于按照本发明实施例的web服务中的保密数据通信的示例性系统的网络图。
图2A和2B阐述用于按照本发明实施例的web服务的示例性架构的线条图,在所述架构中可以实施保密数据通信。
图3阐述自动计算机器的框图,在所述自动计算机器中包括在按照本发明实施例的web服务中的保密数据通信中有用的示例性计算机。
图4阐述显示用于按照本发明实施例的web服务中的保密数据通信的示例性方法的流程图。
图5阐述显示用于按照本发明实施例的web服务中的保密数据通信的另一个示例性方法的流程图。
图6阐述显示用于按照本发明实施例的web服务中的保密数据通信的另一个示例性方法的流程图。
图7阐述显示用于按照本发明实施例的web服务中的保密数据通信的另一个示例性方法的流程图。
具体实施方式
现在参照从图1开始的附图描述用于按照本发明实施例的web服务中的保密数据通信的示例性方法、系统和产品。图1阐述显示用于按照本发明实施例的web服务中的保密数据通信的示例性系统的网络图。术语‘网络’在本技术说明书中用于指示在两个或多个计算机之间的数据通信的任何联网耦接(networked coupling)。网络数据通信典型地通过被称为路由器的专用计算机实施。网络典型地通过把计算机数据封装在消息中,然后把该消息从一个计算机路由到另一个计算机而实施数据通信。网络的公知例子是‘互联网’,一种按照在IETF的RFC791中描述的‘互联网协议(IP)’互相进行通信的、互连计算机系统。对于本发明的各种实施例有用的网络的其它例子包括内部网、外部网、局域网(LAN)、广域网(WAN)、和本领域技术人员想到的其它网络设置。支持web服务的、从请求方到web服务器的任何联网耦接的使用也是在本发明的范围内。
图1的系统包括数据通信网(100)。网络(100)提供在请求方(108,112,102,110,126)与web服务(106,128)之间的数据通信。web服务服务器(106)是计算机,被耦接来用于通过与网络(100)的有线连接(132)进行数据通信,web服务(303)被安装在该web服务服务器(106)上并运行。用于实现web服务(303)的功能的计算机程序指令被存储在web服务服务器(106)的计算机存储器中。客户机设备(‘请求方’)把对于服务的请求发送到服务器(106)。web服务(303)通过网络(100)接收请求,处理请求,并通过网络(100)发送应答。图1的系统包括几个能够发送对于web服务的请求到web服务(303)和接收应答的请求方。在图1的系统中的请求方包括:
·工作站(102),一种通过有线连接(122)耦接到网络(100)的计算机,
·个人计算机(108),通过有线连接(120)耦接到网络(100),
·个人数字助理(112),通过无线连接(114)耦接到网络(100),
·膝上电脑(126),通过无线连接(118)耦接到网络(100),以及
·移动电话(110),通过无线连接(116)耦接到网络(100)。
术语‘请求方’是指任何数据通信客户机设备,即,能够为了数据通信耦接到web服务、发送请求到web服务、和接收从web服务返回的应答的任何设备。请求方的例子是个人计算机、互联网使能(internet-enabled)的专用设备、互联网允许(internet-capable)的个人数据管理器、和本领域技术人员可以想到的其它设备。请求方的各种实施例能够有线和/或无线地耦接到web服务。能够通过网络接入web服务的任何客户机设备或装置用作为请求方也落在本发明的范围内。
图1还包括通过有线连接(130)耦接到网络(100)的web服务中间装置(128)。web服务中间装置(128)在其上安装和操作web服务(301)。web服务(301)提供中间web服务。web服务中间装置是web服务部件,在本例中,是位于web服务请求方与web服务之间的服务器。中间装置通常通过截获来自客户机的请求、提供中间服务、和然后把客户机请求转发到web服务提供商(有时称为‘目标服务’)来进行操作。同样地,来自web服务提供商(目标服务)的应答被截获、对其进行操作、和然后返回到原先的请求方。
由中间装置提供的服务包括,例如,对于目标服务的请求的源的鉴权、对于内容和形式的消息验证、以及用于检查目的的消息记录。中间装置可以提供管理报告服务、web服务命中数、由各个客户机使用的服务的数量和定时等等。中间装置可以通过存储经常改变的但经常请求的数据,诸如,例如新闻故事,而被用作为支持改进的性能的高速缓存器。中间装置可以在负荷平衡、存储来自几个客户的对于服务的请求以及在非高峰服务时间期间把它们转发到目标服务方面用于性能改进。中间装置可以积累服务,例如作为记帐中间装置,其接受对于帐户过账的请求,然后把它们转发,以便区分用于可支付帐户、可接收帐户、和总的分户帐服务的目标服务。
图1的系统总的用来通过在诸如web服务(303)那样的web服务中从请求方接收包含承载具有数值的第一签名的元素的请求而提供按照本发明实施例的web服务中的保密数据通信。web服务对第一签名的数值进行签名,由此创建第二签名,以及把来自web服务(303)的、包括第二签名的应答发送到请求方。正如下面更详细地说明的,发送承载第二签名的应答(第一签名的签名),鉴权给请求方的web服务的身份,以及验证消息完整性,应答是对于从请求方接收的正确请求的应答。
组成图1所示的示例性系统的客户机设备、服务器、网络、和其它设备的安排是用于说明,而不是限制。对于按照本发明的各种实施例的web服务中的保密数据通信有用的数据处理系统可包括其它服务器、路由器、其它设备、和点对点结构,图1上未示出,正如对于本领域技术人员将想到的。在这样的数据处理系统中的网络可以支持许多数据通信协议,例如包括TCP/IP、HTTP、WAP、HDTP和本领域技术人员将想到的其它协议。本发明的各种实施例可以在除了图1所示的那些以外的各种各样的硬件平台和网络结构上实施。
为了进一步说明,图2A阐述用于按照本发明实施例的web服务的示例性计算机架构的线条图,在所述架构中可以实施web服务中的保密数据通信。在图2A的架构中,web服务中间装置(301)耦接到请求方(102)和目标web服务(303),用于通过数据通信协议进行数据通信。web服务中间装置(301)和目标web服务(303)被安装在支持web服务的服务器上。在请求方(102)的位置处的web服务部件在本技术说明书中被总称为‘请求方’。同样地,在中间装置(301)的位置处的部件,特别当从请求方的观点来看时,可被称为‘web服务’。
客户机/服务器区别,以及‘请求方’命名,在web服务的情况下必须小心使用。特定的部件是请求方、客户机、服务器、还是服务,取决于在通信协议中请求/应答消息的交换中部件的作用。为了进一步说明,图2A阐述了用于按照本发明实施例的web服务的示例性计算机架构的线条图,在所述架构中可以实施web服务中的保密数据通信。在图2B的架构中,例如,在准备对于来自请求方(102)的请求的应答的处理过程中,目标服务(303)随后可以通过web服务中间装置(202)从目标web服务(204)请求web服务。在这样做时,目标web服务(303)用作为客户机和请求方。中间装置(202)在把请求转发到目标服务(303)过程中,用作为客户机和请求方,以及中间装置(202)在接收来自目标服务(303)的请求和准备与发送给目标服务(303)的应答时,用作为web服务。同样地,中间装置(301)在把请求转发到目标服务(303)的过程中,用作为客户机和请求方,以及中间装置(301)在接收来自请求方(102)的请求和准备与发送给请求方(102)的应答时,用作为web服务。因此,可以看到,特定的web服务部件被认为是客户机还是服务器、请求方还是服务,在任何特定的时间,取决于由该部件在该时间执行的特定功能。web服务部件在一个时刻可以是客户机或请求方,以及在另一个时刻可以是服务器或web服务。为了减小由于术语而导致混淆的风险,所以,web服务部件在本技术说明书中通常通过使用术语‘请求方’、‘中间装置’和‘web服务’,而不是‘客户机’或‘服务器’,进行描述。
按照本发明的web服务中的保密数据通信通常通过计算机,即,通过自动计算机器,而实施。在图1的系统中,例如,所有的节点、服务器和通信设备至少在某个程度上被实施为计算机。为了进一步说明,所以,图3阐述了在按照本发明实施例的web服务中的保密数据通信中有用的、包括示例性计算机(152)的自动计算机器的框图。图3的计算机(152)包括至少一个计算机处理器(156)或‘CPU’以及通过系统总线(160)连接到处理器(156)和计算机其它部件的随机存取存储器(168)(“RAM”)。
被存储在RAM(168)中的是web服务(303),用于按照本发明实施例的web服务中的保密数据通信的改进的一组计算机程序指令。还被存储在RAM(168)中的是对于服务的请求(304)。请求包含承载具有数值(308)的第一签名(306)的元素(310)。还被存储在RAM(168)中的是对于请求的应答(326)。应答承载第二签名(320)(第一签名的签名)。应答还承载第一签名的数值(308)。web服务(303)的计算机程序指令包括用于如下动作的指令:在web服务(303)中从请求方(182)接收请求(304),该请求(304)包含承载具有数值的第一签名(306)的元素,签名第一签名的数值,由此创建第二签名(320),以及从web服务(303)发送包括第二签名(320)的应答到请求方(182)。发送承载第二签名(第一签名的签名)的应答具有如下有用效果:向请求方鉴权web服务的身份和验证消息完整性,即验证应答是对于从请求方接收的正确的请求的应答。
还被存储在RAM(168)中的是操作系统(154)。在按照本发明的实施例的计算机中有用的操作系统包括UNIX、Linux、Microsoft NT、AIX、IBM的i5/OS,以及本领域技术人员将想到的其它操作系统(UNIX是在美国和其它国家中的Open Group的注册商标;Linux是在美国、其它国家或二者中Linux Torvalds的注册商标;Microsoft、Windows、WindowsNT、和Windows logo是在美国,其它国家或二者中MicrosoftCorporation的商标;AIX、IBM和i5/OS是IBM公司的注册商标)。在图3的例子中的操作系统(154)、web服务(303)、请求(304)、和应答(310)被显示在RAM(168)中,但这样的软件的许多部件典型地也被存储在非易失性存储器(166)中。
图3的计算机(152)包括通过系统总线(160)被耦接到处理器(156)和计算机(152)的其它部件的非易失性计算机存储器(166)。非易失性计算机存储器(166)可以被实施为硬盘驱动(170)、光盘驱动(172)、电可擦除可编程只读存储器(所谓的‘EEPROM’或‘闪速’存储器)(174)、RAM器件(未示出)、或本领域技术人员将想到的任何其它种类的计算机存储器。
图3的示例计算机包括一个或多个输入/输出接口适配器(178)。计算机中的输入/输出接口适配器通过例如软件驱动器和计算机硬件实施面向用户的输入/输出,用于控制到诸如计算机显示屏幕那样的显示设备(180)的输出以及从诸如键盘与鼠标那样的用户输入设备(181)的用户输入。
图3的示例计算机(152)包括通信适配器(167),用于实施与客户机、请求方(182)、web服务中间装置、其它web服务和其它计算机的数据通信连接(184)。这样的数据通信可以通过串行RS-232连接、通过诸如USB那样的外部总线、通过诸如IP网络那样的数据通信网、和本领域技术人员将想到的其它方式实行。通信适配器实施数据通信的硬件级别,通过它一个计算机直接或通过网络发送数据通信到另一个计算机。按照本发明实施例的、对于确定目的地的可得到性有用的通信适配器的例子包括用于有线拨号通信的调制解调器、用于有线网络通信的以太网(IEEE 802.3)适配器、以及用于有线网络通信的802.11b适配器。
为了进一步说明,图4阐述显示用于按照本发明实施例的在web服务中的保密数据通信的示例性方法的流程图,该方法包括在web服务(303)中接收(302)来自请求方(102)的请求(304)。在图4的例子中,请求(304)包含承载第一签名(306)的元素(310)。第一签名(306)具有数值(308)。请求(304)可以是在诸如,例如SOAP那样的web服务请求/应答协议中的消息。元素(310)是消息结构的实例。SOAP消息以XML表达,这样,在SOAP的例子中,元素(310)可被实施为XML元素,即,用XML标记实施的消息结构。
第一签名(306)例如可以通过散列元素(310)和用来自公共密钥基础结构的请求方的私钥加密该散列而被实施为对于元素(310)的数字签名。从元素创建数字签名的这个处理过程被称为‘签名’。第一签名(306)可以通过把加密的散列包括在请求中,而被合并到请求(304)中。在SOAP消息的例子中,可以通过创建其数值是加密的散列的数值的SOAP签名元素和把该SOAP签名元素包括在请求(304)中,而将签名合并到请求(304)中。
图4的方法还包括:签名(309)第一签名(306)的数值(308),由此创建第二签名(320)。web服务生成(324)对于请求(304)的应答(326)。对于请求(304),应答是在web服务请求/应答协议中的消息。应答(326)包括第二签名(320)。像第一签名(306)那样,第二签名(320)可以通过散列第一签名的数值(308)和用来自公共密钥基础结构的web服务的私钥加密该散列而实施。第二签名(320)可以通过把加密的散列包括在应答(326)中,而被合并到应答(326)中。在SOAP消息的例子中,可以通过创建其数值是加密的散列的数值的SOAP签名元素和把该SOAP签名元素包括在应答(326)中,而将签名合并到应答(326)中。应答(326)还可以包含第一签名(306)的数值(308)。图4的方法还包括把包括来自web服务(303)的第二签名的应答(326)发送(338)到请求方(102)。
在图4的方法中,请求方(102)验证(342)应答(326)包括第二签名(320),和第二签名是第一签名(306)的数值(308)的签名。在SOAP请求的情形下,例如,签名可被实施为SOAP签名元素。请求方(102)可以通过检查对于SOAP签名元素的消息而验证请求包含签名。
请求方(102)可以通过例如解密第二签名,产生第一签名的所声称的散列,而验证第二签名是第一签名的签名。请求方可以比较这样产生的散列与在这时从第一签名的存储的拷贝计算的第一签名的散列。替换地,请求方(102)可以在请求方创建第一签名时存储第一签名的散列,以及使用第一签名的所存储的散列的拷贝与来自应答消息的所声称的散列相比较。如果两个散列相等,则验证(342)第二签名是第一签名(306)的数值(308)的签名的事实。两个散列是相等的,也验证第二签名的解密。因为只能由web服务使用web服务的私钥加密第二签名,所以请求方用web服务的公共密钥解密第二签名来鉴权web服务的身份。验证过程向请求方(102)保证被嵌入在第二签名(320)中的第一签名(306)的数值(308)的完整性,即,第一签名从web服务不改变地被接收。
在图4的例子中,请求(304)包含两个元素(310,312),每个元素承载第一签名(306,314)。在请求(304)中的两个元素的说明并不限制本发明。数字2仅仅被使用来说明请求(304)可以包含多个承载第一签名(306,314)的元素(310,312),每个第一签名具有数值(308,316)。图4的方法还包括签名(309)第一签名的所有的数值(308,316),由此创建多个第二签名(320,322)。图4的方法还包括把来自web服务(303)的应答(326)发送(338)到请求方(102),应答(326)包括多个第二签名(320,322)。第一签名(306,314)的数值(308,316)还可被包括在应答(326)中。
为了进一步说明,图5阐述显示用于按照本发明实施例的在web服务中的保密数据通信的另一个示例性方法的流程图,其中接收的请求(304)可被加密。加密数据的过程涉及把算法应用到数据,以把数据变换成不易理解的形式。典型的加密算法可涉及被称为密钥的秘密的使用。某些算法使用在请求方与web服务之间共享的一个秘密密钥。其它的算法使用两个密钥,私钥和公共密钥。通常使用的加密算法包括3DES(数据加密标准)、CAST-128、Twofish和高级加密标准(AES)。
图5的示例性方法类似于图4的方法。即,图5的方法包括接收(302)承载具有数值(308)的第一签名(306)的加密的请求(304),签名第一签名(306)的数值(308),和发送(338)来自web服务(303)的应答(326),所有的步骤以与类似于图4的方法的方式操作。然而,图5的方法还包括确定(321)接收的请求(304)是否被加密。在SOAP请求的情形下,例如,消息保密标题可以包含描述请求或请求的元素是否被加密的信息,以及可以通过检查请求消息保密标题而实行确定(321)接收的请求是否被加密。在图5的例子中,如果请求被加密(327),方法包括加密(325)在web服务(303)中的应答(331)。如果请求没有被加密(329),则web服务发送(338)应答(326),而不用加密它。
为了进一步说明,图6阐述显示用于按照本发明实施例的web服务中的保密数据通信的示例性方法的流程图,其中第一签名被加密。图6的方法类似于图4的方法。即,图6的方法包括接收(302)承载具有数值(308)的加密的第一签名(306)的请求(304),签名第一签名(306)的数值(308),和发送来自web服务(303)的应答(326),所有的步骤以与类似于图4的方法的方式操作。然而,图6的方法还包括确定(354)第一签名是否被加密。在SOAP请求的情形下,例如,保密标题可以包含描述请求或请求的元素是否被加密的信息,以及可以通过检查这样的请求消息保密标题而进行确定(354)接收的请求的第一签名(306)是否被加密。
当第一签名(306)被加密时,加密在应答中的第一签名的数值(308)可以有助于保护被使用来产生第一签名的密钥。如果第一签名在请求(304)中被加密发送以及第一签名(306)的数值(308)在应答(326)中没有被加密,则有攻击者比较加密的和未加密的签名数值和得到有关由请求方(102)所使用的密钥的信息来产生在请求(304)中的签名的某些风险。在图6的例子中,所以,如果第一签名被加密(352),则该方法包括加密(350)在web服务(303)中第一签名的数值(308)和把加密的数值(358)包括在应答(326)中。如果第一签名的数值没有被加密(356),则web服务发送(338)应答(326),而不用加密第一签名的数值。
为了进一步说明,图7阐述了显示用于按照本发明实施例的web服务中的保密数据通信的另一个示例性方法的流程图,所述方法使用SOAP/HTTP绑定用于web服务。图7的方法类似于图4的方法。即,图7的方法包括接收(302)承载具有数值(308)的第一签名(306)的、以SOAP编码的请求(604),签名(309)第一签名(306)的数值(308),和发送来自web服务(303)的应答,所有的步骤以与类似于图4的方法的方式操作。图7的方法还包括接收(602)以SOAP编码的请求(604)和创建(408)签名确认元素(410),签名确认元素具有数值(406)。签名确认元素是包含数值字段的SOAP数据结构。web服务(303)设置(416)签名确认元素(410)的数值(406)为第一签名(306)的数值(308)。图7的方法还包括web服务(303)签名(412)签名确认元素(410),由此创建第二签名(320)。在本专利申请中,“签名”第一元素还将包括签名其数值是第一元素的签名确认元素。图7的方法还包括生成对于SOAP请求(604)的应答(326),它包括签名确认元素(410)和第二签名(320)。
在图7的例子中,SOAP请求(604)包含具有数值(308)的一个签名,以及应答(326)包含一个签名确认元素(410)。单个签名确认元素的说明不是对于本发明的限制。SOAP请求(604)可包含多个签名的元素,具有多个签名。在用于按照本发明各种实施例的web服务中的保密数据通信的某些方法中,SOAP应答(326)可包括对于在原先的请求中的每个签名的签名确认元素(410)。每个签名确认元素(410)包含相应的签名的数值(406)。在用于按照本发明各种实施例的web服务中的保密数据通信的某些方法中,SOAP应答(326)可包括其数值(406)是在原先的请求中的签名之一的数值的单个签名确认元素(410)。
下面是伪代码SOAP请求的例子:
<S11:Envelope xmlns:S11=″...″xmlns:wsse=″...″xmlns:wsu=″...″xmlns:xenc=″...″
xmlns:ds=″...″>
<S11:Header>
...
<wsse:Security>
...
<ds:Signature>
...
<ds:SignedInfo>
<ds:Reference URI=″#CreditCardInfo″>
...
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
kpRyejY4uxwT9I74FYv8nQ=
</ds:SignatureValue>
<ds:KeyInfo>
...
</ds:KeyInfo>
</ds:Signature>
</wsse:Security>
...
</S11:Header>
<S11:Body>
<CreditCardInfo wsu:Id=″CreditCardInfo″>
</CreditCardInfo>
...
</S11:Body>
</S11:Envelope>
以‘伪代码’描述这个例子,这是因为它是以XML代码的一般形式呈现的说明,而不是请求的实际的工作模式。这个例子把SOAP<header>元素和SOAP<body>元素封装在SOAP<envelope>中。标题把保密数据包括在<seeurity>元素中。本体包括请求数据。这个示例性SOAP请求包含承载被称为<ds:Signature>的签名的、被称为<wsse:Security>的元素。签名具有被称为<ds:SignatureValue>的数值。因此,在本例中显示的SOAP请求实施上面描述的和在图7的标号(604)处显示的那种请求。
签名的数值是“kpRyejY4uxwT9174FYv8nQ”。该数值是通过散列和然后加密被签名的元素而得到的。签名元素的<referenee>元素表示由签名签名的元素的名称是“CreditCardInfo”。“CreditCardInfo”元素被包含在请求的本体中。CreditCardInfo的“Id”属性是CreditCardInfo,表示该元素可以用“CreditCardInfo”标记。因此,签名签名该CreditCardInfo元素。
下面是可以实施对于由以上的请求消息代表的web服务请求的应答的伪代码SOAP应答消息的例子:
<S11:Envelope xmlns:S11=″...″xmlns:wsse=″...″xmlns:wsu=″...″xmlns:xenc=″...″
xmlns:ds=″...″xmlns:wsse11=″...″>
<S11:Header>
...
<wsse:Security>
<wsse11:SignatureConfirmation wsu:Id=″SignatureConfirmation″
Value=“kpRyejY4uxwT9174FYv8nQ==″/>
...
<ds:Signature>
...
<ds:SignedInfo>
...
<ds:Reference URI=″#SignatureConfirmation″>
<ds:DigestMethod
Algorithm=″http://www.w3.org/2000/xmldsig#shal″/>
<ds:DigestValue>
LyLsF0Pi4wPU...
</ds:Digest Value>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
MC0CFFrVLtRlk
</ds:SignatureValue>
<ds:KeyInfo>...</ds:KeyInfo>
</ds:Signature>
...
</wsse:Security>
...
</S11:Header>
<S11:Body>
...
</S11:Body>
</S11:Envelope>
在本例中,SOAP应答包含具有等于在请求中的签名的数值的数值的签名确认元素。SOAP应答还包含签名该签名确认元素的签名。因此,在本例中描述的SOAP应答实施上面描述的和在图7的标号(326)处显示的那种应答。
类似于以上阐述的示例性SOAP请求,这个示例性SOAP应答包含在SOAP封装内的标题和本体。标题把所阐述的保密信息包含在被称为<wsse:Security>的元素中。 在保密元素内的是<signatureConfirmation>元素,它在被称为“Value”的属性中传送来自相应的请求的第一签名的数值。在本例中的“Value”属性被设置为等于在请求中的签名的数值的“kpRyejY4uxwT9174FYv8nQ”。<signatureConfirmation>元素还具有其数值是“SignatureConfirmation”的、被称为“Id”的标识属性。
保密元素<wsse:Security>还包含被称为<ds:Signature>的签名元素。第二签名的数值,来自请求的第一签名的签名,在被称为<ds:SignatureValue>的、<ds:Signature>元素的元素中被阐述。在本例中的第二签名的数值被设置为“MC0CFFrVLtRlk”。签名元素的<ds:Reference>元素,由被设置为“#SignatureConfirmation”的它的“URI”属性标识被签名来创建第二签名的数据。在本例中,<ds:Reference>标识第一签名为签名的数据,即,在<wsse11:SignatureConfirmation>元素中的数值,“kpRyejY4uxwT9174FYv8nQ”。这个示例的SOAP应答因此包含第一签名、第二签名、和标识第一签名为被签名来创建第二签名的数据的URI。
在按照本发明各种实施例的、web服务中的保密数据通信中,请求方可以通过找出在应答中的签名确认元素和比较签名确认元素的数值与在相应的SOAP请求中的签名的数值而验证SOAP应答相应于特定的SOAP请求。当SOAP请求包含多个签名时,请求方可以找到被包含在应答中的所有的签名确认元素,以及检验签名确认元素的数值字段的数值与在原先的SOAP请求的签名的数值。
以上阐述的示例SOAP请求和示例SOAP应答的精确格式不是对于本发明的限制。以上的例子仅仅说明用于按照本发明的web服务中的保密数据通信的SOAP请求和SOAP应答的可能格式。当使用用于按照本发明各种实施例的web服务中的保密数据通信的SOAP消息结构或SOAP数据通信协议时,签名可以以本领域技术人员将想到的任何数据结构实施,以及所有的这样的结构也属于本发明的范围之内。
本发明的示例性实施例主要在用于web服务中的保密数据通信的完全功能计算机系统的情况下描述的。然而,本领域技术人员将会认识到,本发明也可以被实现在任何适当的数据处理系统使用的、被放置在信号承载媒体的计算机程序产品中。这样的信号承载媒体可以是传输媒体或用于机器可读的信息的可记录的媒体,包括磁媒体、光媒体、或其它适当的媒体。可记录的媒体的例子包括在硬盘驱动中的磁盘或软盘,用于光驱动的紧凑盘,磁带,和本领域技术人员将想到的其它媒体。传输媒体的例子包括用于语音通信的电话网和数字数据通信网,诸如,例如以太网和通过互联网协议通信的网络和3W网。本领域技术人员将会立即认识到,具有适当的编程装置的任何计算机系统能够执行如在程序产品中实现的本发明的方法的步骤。本领域技术人员将会立即认识到,虽然在本技术说明书中描述的某些示例性实施例面向所安装的和在计算机硬件上执行的软件,然而,作为固件或作为硬件被实施的可替换的实施例也属于本发明的范围之内。
将会看到,在本发明的各种实施例中可以作出修改和改变,而不背离本发明的范围。在本技术说明书中的描述仅仅用于说明,而不被看作为限制。本发明的范围仅仅由以下的权利要求的语言被限制。
Claims (15)
1.一种用于web服务中的保密数据通信的方法,所述方法包括:
在web服务中从请求方接收包含承载第一签名的元素的请求,该签名具有数值;
签名该第一签名的数值,从而创建第二签名;以及
从该web服务发送应答到该请求方,该应答包括该第二签名。
2.权利要求1的方法,还包括:由该请求方验证该应答包括该第二签名。
3.权利要求1或权利要求2的方法,其中:
接收请求的步骤还包括:接收加密的请求;以及
该方法还包括:加密在该web服务中的该应答。
4.任何前述权利要求的方法,其中:
接收请求的步骤还包括:接收具有被加密的第一签名的请求;
该方法还包括:加密该第一签名的数值;以及
该应答还包括:该第一签名的加密的数值。
5.任何前述权利要求的方法,其中:
接收请求的步骤还包括:接收以SOAP编码的请求;以及
发送应答的步骤还包括:发送以SOAP编码的应答。
6.权利要求5的方法,其中签名该第一签名的数值的步骤还包括:
创建签名确认元素,该签名确认元素具有数值;
设置该签名确认元素的数值为该第一签名的数值;
签名该签名确认元素,从而创建第二签名;
其中,该应答包括该签名确认元素和该第二签名。
7.任何前述权利要求的方法,其中:
该请求还包括承载第一签名的多个元素,该第一签名具有数值;
签名该第一签名的数值的步骤还包括:签名所有该第一签名的数值,从而创建多个第二签名;以及
发送应答的步骤还包括:发送包括该多个第二签名的应答。
8.一种用于web服务中的保密数据通信的系统,该系统包括计算机处理器和计算机存储器,该计算机存储器被可操作地耦接到计算机处理器,该计算机存储器在其中放置能够执行以下步骤的计算机程序指令:
在web服务中从请求方接收包含承载第一签名的元素的请求,该签名具有数值;
签名该第一签名的数值,从而创建第二签名;以及
从该web服务发送应答到该请求方,该应答包括该第二签名。
9.权利要求8的系统,还包括:能够由请求方验证该应答包括第二签名的计算机程序指令。
10.权利要求8或权利要求9的系统,其中:
接收请求还包括接收加密的请求;以及
该系统还包括能够加密在web服务中的应答的计算机程序指令。
11.权利要求8到10的任一项的系统,其中:
接收请求还包括接收具有被加密的第一签名的请求;
该系统还包括能够加密第一签名的数值的计算机程序指令;以及
应答还包括第一签名的加密的数值。
12.权利要求8到10的任一项的系统,其中:
接收请求还包括接收以SOAP编码的请求;以及
发送应答还包括发送以SOAP编码的应答。
13.权利要求12的系统,其中签名第一签名的数值还包括:
创建签名确认元素,该签名确认元素具有数值;
设置该签名确认元素的数值为第一签名的数值;
签名该签名确认元素,从而创建第二签名;
其中该应答包括签名确认元素和第二签名。
14.权利要求8到13的任一项的系统,其中:
该请求还包括承载第一签名的多个元素,该第一签名具有数值;
签名该第一签名的数值还包括签名所有第一签名的数值,从而创建多个第二签名;以及
发送应答还包括发送包括多个第二签名的应答。
15.一种包括程序代码装置的计算机程序,所述程序代码装置适于当在计算机上运行所述程序时,执行权利要求1到7的任一项的所有步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/168,716 US20060294383A1 (en) | 2005-06-28 | 2005-06-28 | Secure data communications in web services |
US11/168,716 | 2005-06-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101176101A true CN101176101A (zh) | 2008-05-07 |
CN100517355C CN100517355C (zh) | 2009-07-22 |
Family
ID=37308916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006800168059A Expired - Fee Related CN100517355C (zh) | 2005-06-28 | 2006-06-06 | Web服务中的保密数据通信方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20060294383A1 (zh) |
EP (1) | EP1897325B1 (zh) |
JP (2) | JP2008544713A (zh) |
CN (1) | CN100517355C (zh) |
AT (1) | ATE429768T1 (zh) |
DE (1) | DE602006006448D1 (zh) |
TW (1) | TWI416923B (zh) |
WO (1) | WO2007000386A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1748366A1 (en) * | 2005-07-28 | 2007-01-31 | Sap Ag | A data processing system and method |
TW201011587A (en) * | 2008-09-03 | 2010-03-16 | Wayi Internat Digital Entertainment Co Ltd | Computer tied-in system and its method |
JP6023518B2 (ja) * | 2012-09-06 | 2016-11-09 | サターン ライセンシング エルエルシーSaturn Licensing LLC | 情報処理装置、情報処理方法、プログラム、およびコンテンツ共有システム |
CN107005569B (zh) | 2014-10-31 | 2021-09-07 | 康维达无线有限责任公司 | 端对端服务层认证 |
CN104506890B (zh) * | 2014-12-31 | 2018-06-05 | 成都东方盛行电子有限责任公司 | 一种基于pci-e标准的音视频数据传输方法 |
US9336092B1 (en) * | 2015-01-01 | 2016-05-10 | Emc Corporation | Secure data deduplication |
US10135904B2 (en) * | 2015-01-27 | 2018-11-20 | Stealth Security, Inc. | Network attack detection on a mobile API of a web service |
US10110595B2 (en) * | 2015-03-16 | 2018-10-23 | Convida Wireless, Llc | End-to-end authentication at the service layer using public keying mechanisms |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5841550A (en) * | 1994-12-30 | 1998-11-24 | International Business Machines Corporation | Method and system for specifcation of time dependent acknowledgement transmission media |
JP3446482B2 (ja) * | 1996-06-28 | 2003-09-16 | 三菱電機株式会社 | 暗号化装置 |
US5956390A (en) * | 1997-09-03 | 1999-09-21 | Motorola, Inc. | Method and apparatus for providing verified message receipt in a messaging system |
US6477243B1 (en) * | 1998-04-29 | 2002-11-05 | Openwave Systems Inc. | Method and apparatus for automated facsimile message confirmation |
JP3932685B2 (ja) * | 1998-08-11 | 2007-06-20 | 富士ゼロックス株式会社 | ネットワーク上で遠隔手続き呼び出しを実行するための方法、及び、遠隔手続き呼び出しを実行可能なネットワーク・システム |
JP3730498B2 (ja) * | 2000-09-19 | 2006-01-05 | 株式会社東芝 | 署名用記憶媒体 |
JP2002207636A (ja) * | 2001-01-11 | 2002-07-26 | Fuji Xerox Co Ltd | ネットワーク装置 |
US6694045B2 (en) * | 2002-01-23 | 2004-02-17 | Amerasia International Technology, Inc. | Generation and verification of a digitized signature |
US8817757B2 (en) * | 2001-12-12 | 2014-08-26 | At&T Intellectual Property Ii, L.P. | Zero-configuration secure mobility networking technique with web-based authentication interface for large WLAN networks |
JP2003249919A (ja) * | 2001-12-17 | 2003-09-05 | Fujitsu Ltd | 双方向通信方法 |
US7603469B2 (en) * | 2002-01-15 | 2009-10-13 | International Business Machines Corporation | Provisioning aggregated services in a distributed computing environment |
JP4366040B2 (ja) * | 2002-03-07 | 2009-11-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワークサービスシステム、サーバ及びプログラム |
NO318842B1 (no) * | 2002-03-18 | 2005-05-09 | Telenor Asa | Autentisering og tilgangskontroll |
JP2003296192A (ja) * | 2002-04-04 | 2003-10-17 | Certrust Kk | 電子署名・電子文書保管システム |
AUPS169002A0 (en) * | 2002-04-11 | 2002-05-16 | Tune, Andrew Dominic | An information storage system |
JP2004023649A (ja) * | 2002-06-19 | 2004-01-22 | Hitachi Software Eng Co Ltd | ディジタル署名方法 |
US7174021B2 (en) * | 2002-06-28 | 2007-02-06 | Microsoft Corporation | Systems and methods for providing secure server key operations |
CN1252598C (zh) * | 2002-09-03 | 2006-04-19 | 国际商业机器公司 | 提供身份相关的信息和防止中间人的攻击的方法和系统 |
US7444522B1 (en) * | 2002-09-18 | 2008-10-28 | Open Invention Network, Llc | Dynamic negotiation of security arrangements between web services |
AU2003235490A1 (en) * | 2002-10-15 | 2004-05-04 | Samsung Electronics Co., Ltd. | Method for managing metadata |
JP4226887B2 (ja) * | 2002-12-19 | 2009-02-18 | 日本電信電話株式会社 | データ公証システム及びデータ公証方法並びに電子公証サーバ並びに電子公証プログラム及びその記録媒体 |
JP2004240596A (ja) * | 2003-02-05 | 2004-08-26 | Mitsubishi Electric Corp | Webシステム |
WO2004079986A1 (en) * | 2003-03-04 | 2004-09-16 | International Business Machines Corporation | Long-term secure digital signatures |
JP3969654B2 (ja) * | 2003-03-07 | 2007-09-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Soapメッセージ作成方法並びに処理方法、情報処理方法、情報処理装置及びプログラム |
JP3896486B2 (ja) * | 2003-04-03 | 2007-03-22 | 独立行政法人産業技術総合研究所 | ウェブサイトの検査装置 |
US7342918B2 (en) * | 2003-04-15 | 2008-03-11 | American Express Travel Related Services Co., Inc. | Transaction card information access web service |
JP2004357204A (ja) * | 2003-05-30 | 2004-12-16 | Nippon Telegr & Teleph Corp <Ntt> | 証拠情報収集システムおよび方法 |
JP4062206B2 (ja) * | 2003-08-01 | 2008-03-19 | 日本電気株式会社 | 署名復号サービスシステム及びプログラム |
JP4025268B2 (ja) * | 2003-08-08 | 2007-12-19 | 株式会社東芝 | クライアント/サーバシステム、クライアントモジュール及び暗号化通信プログラム |
JP4583833B2 (ja) * | 2003-09-12 | 2010-11-17 | 株式会社リコー | 通信装置、通信システム、通信方法及びプログラム |
US7519815B2 (en) * | 2003-10-29 | 2009-04-14 | Microsoft Corporation | Challenge-based authentication without requiring knowledge of secret authentication data |
JP2005142661A (ja) * | 2003-11-04 | 2005-06-02 | Ntt Docomo Inc | 端末装置、サーバ、電子認証システム、及び、署名付電子文書生成方法 |
JP4064914B2 (ja) * | 2003-12-02 | 2008-03-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理装置、サーバ装置、情報処理装置のための方法、サーバ装置のための方法および装置実行可能なプログラム |
KR100576722B1 (ko) * | 2003-12-26 | 2006-05-03 | 한국전자통신연구원 | 웹서비스에 대한 메시지 보안 처리 시스템 및 방법 |
US20050268326A1 (en) * | 2004-05-04 | 2005-12-01 | Microsoft Corporation | Checking the security of web services configurations |
-
2005
- 2005-06-28 US US11/168,716 patent/US20060294383A1/en not_active Abandoned
-
2006
- 2006-06-06 WO PCT/EP2006/062923 patent/WO2007000386A1/en active Application Filing
- 2006-06-06 CN CNB2006800168059A patent/CN100517355C/zh not_active Expired - Fee Related
- 2006-06-06 JP JP2008518776A patent/JP2008544713A/ja active Pending
- 2006-06-06 AT AT06777270T patent/ATE429768T1/de not_active IP Right Cessation
- 2006-06-06 EP EP06777270A patent/EP1897325B1/en active Active
- 2006-06-06 DE DE602006006448T patent/DE602006006448D1/de active Active
- 2006-06-26 TW TW095122972A patent/TWI416923B/zh not_active IP Right Cessation
-
2010
- 2010-08-18 JP JP2010183418A patent/JP4775980B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
TWI416923B (zh) | 2013-11-21 |
US20060294383A1 (en) | 2006-12-28 |
DE602006006448D1 (de) | 2009-06-04 |
JP2008544713A (ja) | 2008-12-04 |
WO2007000386A1 (en) | 2007-01-04 |
JP2010288313A (ja) | 2010-12-24 |
ATE429768T1 (de) | 2009-05-15 |
CN100517355C (zh) | 2009-07-22 |
EP1897325A1 (en) | 2008-03-12 |
JP4775980B2 (ja) | 2011-09-21 |
TW200721771A (en) | 2007-06-01 |
EP1897325B1 (en) | 2009-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100517355C (zh) | Web服务中的保密数据通信方法 | |
JP3629516B2 (ja) | プロキシサーバ、電子署名システム、電子署名検証システム、ネットワークシステム、電子署名方法、電子署名検証方法及び記憶媒体 | |
US8145898B2 (en) | Encryption/decryption pay per use web service | |
US7209560B1 (en) | Data communications | |
US6952768B2 (en) | Security protocol | |
US8824674B2 (en) | Information distribution system and program for the same | |
EP1635502B1 (en) | Session control server and communication system | |
US7657737B2 (en) | Method for mapping an encrypted https network packet to a specific url name and other data without decryption outside of a secure web server | |
JP3946192B2 (ja) | データのオリジナリティ検証方法及びシステム | |
US20020019223A1 (en) | System and method for secure trading mechanism combining wireless communication and wired communication | |
GB2357227A (en) | Communication security protocol using attribute certificates to prove the attributes or authorisations of communicating parties | |
KR20060100920A (ko) | 웹 서비스를 위한 신뢰되는 제3자 인증 | |
US7100045B2 (en) | System, method, and program for ensuring originality | |
JP2007053569A (ja) | 電子メールセキュリティ化装置及び該システム | |
CN114868359B (zh) | 多区块链间轻量通讯协定装置及方法 | |
JP2005209181A (ja) | ファイル管理システム及び管理方法 | |
US9258125B2 (en) | Generating evidence of web services transactions | |
JP4668099B2 (ja) | トランザクション認証方法、ファイル送受信システム、クライアント装置、サーバ装置、および記録媒体 | |
CN110611674A (zh) | 不同计算机系统之间的协议交互方法、系统及存储介质 | |
FI109741B (fi) | Menetelmä ja laitteisto tiedonsiirron hallitsemiseksi tietoverkossa | |
WO2002046861A2 (en) | Systems and methods for communicating in a business environment | |
JP2008198190A (ja) | 電子メールメッセージを安全に交換する方法及びシステム | |
JP2002007288A (ja) | 否認防止情報管理方法、その装置及びプログラム記録媒体 | |
JP2006253860A (ja) | 暗号化情報共有システム、暗号化情報共有方法およびそれに用いる情報中継サーバ | |
JP2005341201A (ja) | 情報処理装置、サーバ装置及び電子データ入手先保全方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090722 |
|
CF01 | Termination of patent right due to non-payment of annual fee |