CN1708000A - 信息处理装置、信息处理方法、及其程序 - Google Patents
信息处理装置、信息处理方法、及其程序 Download PDFInfo
- Publication number
- CN1708000A CN1708000A CN200510075556.8A CN200510075556A CN1708000A CN 1708000 A CN1708000 A CN 1708000A CN 200510075556 A CN200510075556 A CN 200510075556A CN 1708000 A CN1708000 A CN 1708000A
- Authority
- CN
- China
- Prior art keywords
- data
- information
- xml
- safe handling
- processor
- 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.)
- Pending
Links
Images
Classifications
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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
- G06F21/608—Secure printing
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明公开一种信息处理装置,包括:存储安全处理信息的存储单元,安全处理信息描述将在由服务提供程序处理的数据上执行的安全处理过程并且包括以结构化语言编写的数据;以及安全处理单元,其参考存储在存储单元中的安全处理信息执行安全处理,以加密或签名由服务提供程序处理的数据,使得服务提供程序可以与外部服务提供程序安全地通信。
Description
技术领域
本发明涉及支持连网的外围设备、控制外围设备的信息处理装置、信息处理方法、及其程序。
背景技术
关于Web服务的最新发展,扩展标记语言(XML)在越来越多的应用例如商业文档管理,信息传递,和数据库中使用。根据这一趋势,基于XML的Web服务安全标准正在被研制。例如,关于XML安全的规范,例如XML数字签名,XML加密,以及WS安全性正在由标准化组织例如万维网联盟(W3C)和结构化信息标准推动组织(OASIS)研制。
作为基于XML的Web服务的实例,在正在Microsoft公司资助下研制的UPnP的情况下,提供服务的设备的信息以XML编写的设备描述文档发送到请求服务的客户端。文档包括以统一资源定位器(URL)的形式记录的、用于控制服务的作业请求目的地的信息。
当服务在恶意第三方不可能进入的环境例如家庭局域网(LAN)或小型办公室LAN中使用时,隐藏作业请求的目的地的需求低。但是,当大量一般用户可以通过因特网使用服务时,如果作业请求的目的地以可读形式以XML编写,未授权的作业可以由恶意第三方代替,可能引起对提供服务的系统的损坏。因此,在这种环境中,安全措施将对于在设备描述文档中记录的信息而采取。
例如,在经由因特网发行电影数据的系统中,数据加密设备的技术,其允许加密所发行电影数据的仅一部分使得仅该部分数据必须加密,从而减少安全处理的成本,已经被公开(参考日本专利公开07-87077号)。本发明已经考虑到下面描述的问题而创造,不仅仅用于加密数据流的一部分。
当对服务例如电影数据的发行采取安全措施时,普通加密算法,协议等必须由服务的提供者和用户来使用。此外,根据使用服务的系统配置的安全系统必须实现。
也就是,当基于XML的Web服务被提供时,即使服务使用相同的功能,不同方法的XML数字签名和XML加密根据环境,安全级别,以及使用服务的系统配置而需要。也就是,安全处理程序必须为提供服务的每个软件应用而开发。这增加开发成本,阻止最佳安全系统在最佳时刻的引入,并且通过未授权访问而引起损坏。
发明内容
考虑到上述情况中至少一个,本发明提供一种信息处理装置、一种信息处理方法、以及一种程序,其使得具有不同安全级别的网络服务能够使用结构化语言来容易地实现。
根据本发明一个方面,提供一种信息处理装置。该信息处理装置包括配置以存储安全处理信息的存储单元,安全处理信息描述将应用到由服务提供程序处理的数据的安全处理过程并且包括以结构化语言编写的数据;以及安全处理单元,其配置以参考存储在存储单元中的安全处理信息执行安全处理,以加密或提供数字签名到由服务提供程序处理的数据,使得服务提供程序可以安全地与外部服务提供程序通信。
根据本发明另一方面,提供一种使用具有服务提供程序的信息处理装置执行的信息处理方法。该信息处理方法包括参考描述与数据相关的安全处理过程的安全处理信息来执行安全处理以加密或签名数据的安全处理步骤,其中数据由服务提供程序处理并且包括以结构化语言编写的数据,使得服务提供程序能够安全地与外部服务提供程序通信。
根据本发明另一方面,提供一种使得计算机能够执行信息处理方法的程序。
使用根据本发明这些方面的信息处理装置、信息处理方法、和程序,使用描述安全处理过程的信息,安全处理在以结构化语言编写的数据的一部分或全部上执行。因此,例如,具有不同安全级别的网络服务可以容易地实现。此外,与安全处理相关的开发成本可以显著减少,并且最佳安全系统可以在最佳时刻引入。
本发明的更多特征和优点将从下面参考附随附图的实例实施方案的描述中变得明显。
附图说明
图1是显示根据本发明实施方案的打印机的功能配置的框图。
图2是显示注册账户的过程的流程图。
图3是显示在根据实施方案的打印机中注册XML脚本的过程的流程图。
图4是显示XML脚本的实例格式的图。
图5是显示由XML安全处理器执行以验证XML脚本的过程的流程图。
图6是显示与在打印机上实现的应用处理器中维护信息相关的过程的流程图。
图7是显示发送维护信息的实例格式的图。
图8是显示由XML安全处理器执行的安全处理流程的图。
图9是由XML安全处理器执行、修改XML加密的XML数据的过程的流程图。
图10是显示在模式=“CONTENTS”且<UserID>元素在XML脚本中指定的实例中修改XML数据的结果的图。
图11是由应用处理器执行、处理以XML编写的设备信息的过程的流程图。
图12是显示存储在打印机存储器中的设备描述文件的实例的图。
图13是在图11中所示过程之后由XML安全处理器执行的安全处理的过程的流程图。
图14是由XML安全处理器执行、修改XML加密的XML数据的过程的流程图。
图15是显示在模式=“ELEMENT”且<service>元素在XML脚本中指定的实例中修改XML数据的结果的图。
图16是显示WSDL消息元素的实例描述的图。
图17是显示根据本发明实施方案的打印机和计算机终端的功能配置的框图。
图18是显示根据本发明实施方案包括网络激活打印机的网络打印系统的配置的图。
具体实施方式
现在,本发明的实施方案将参考附随附图详细描述。
首先,根据本发明实施方案、包括网络激活打印机的网络打印系统的配置将被描述。图18是显示根据本发明实施方案、包括网络激活打印机的网络打印系统配置的图。参考图18,网络激活打印机P1提供打印服务给可以经由网络N1连接的计算机终端。计算机终端C1,C2...经由网络N1使用打印机P1。该实施方案中的打印机P1具有在使用作为结构化语言的扩展标记语言(XML)的打印数据、简档信息、状态信息等上执行安全处理的功能。
打印机P1的硬件配置包括例如通信设备100,中央处理单元(CPU)101,存储器102,硬盘驱动器(HDD)103,打印处理设备104等。通信设备100经由网络N1执行通信。CPU 101是执行用于完成打印机P1各种功能的程序的计算机。更具体地说,CPU 101从HDD103中读取提供执行各种功能的程序(应用程序等),并且使用存储器102作为工作区执行程序。
该实施方案中打印机P1的功能配置接下来描述。
图1是显示该实施方案中打印机P1的功能配置的功能框图。打印机P1包括允许基于XML和简单对象访问协议(SOAP)的处理的应用处理器7,和XML安全处理器9。应用处理器7和XML安全处理器9由图1中所示的各自功能模块彼此独立地实现。
首先,构成应用处理器7的低层的功能模块的配置将被描述。
打印机P1包括堆栈作为通信功能的TCP/IP/UDP(传输控制协议/因特网协议/用户数据报协议)的协议堆栈处理器1。在协议堆栈处理器1的上层中,打印机P1包括安全套接字层(SSL)处理器2以保证通信线路上的安全。此外,打印机P1包括接收数据的数据接收处理器3和发送数据的数据发送处理器4。在数据接收处理器3和数据发送处理器4的上层中,打印机P1包括基于HTTP 1.1执行通信的超文本传输协议(HTTP)处理器5。此外,在HTTP处理器5的上层中,打印机P1包括SOAP处理器6,以及在SOAP处理器6的上层中包括应用处理器7。
SOAP处理器6创建与由应用处理器7使用的处理模块的函数名以及处理模块的参数相对应的SOAP信封,并且将SOAP信封以XML数据的形式经由存储控制器13写到存储器上。此外,SOAP处理器6分析接收的SOAP响应,并且产生相关处理模块的返回值,将它映射到内部处理模块,并且调用内部处理模块。应用处理器7在最上层实现以允许各种网络应用由网络激活打印机的处理。应用处理器7可以支持多个应用,包括能够与控制图18中所示打印处理设备104的打印机控制器8通信的一些应用。
构成XML安全处理器9低层的功能模块的配置接下来描述。XML加密处理器9的低层中的功能模块能够经由存储控制器13访问存储器。存储控制器13控制写入数据到存储XML数据的存储器14a,存储加密XML数据的存储器14b,以及存储描述加密过程的XML脚本的存储器14c中或者从其中读取数据。
并不局限于存储器14a~14c,例如,存储控制器13可以控制到其他存储器的访问,例如存储经由网络N1使用打印机P1所需的信息(例如账户信息或设备描述文件)的存储器(没有显示)。关于存储器的硬件配置,存储器14a~14c和其他存储器可以由公共记录介质或由独立记录介质实现。
如图1中所示,XML加密处理器9在层中包括XML数据处理器10,加密模块11,和XML脚本管理器12。XML数据处理器允许基于XML路径语言(XPath),可扩展样式表语言转换(XSLT),以及文档对象模型(DOM)的处理。加密模块控制基于加密算法,例如3DES-CBC,AES128-CBC,AES256-CBC,RSA-PLCS v1.5,RSA-OAEPCMS,3DES Key Wrap,AES Key Wrap,SHA-1,SHA256和SHA512的处理。
具有上述低层的XML加密处理器9经由存储控制器13读取记录在存储器14c上的XML脚本,根据XML脚本的内容加密记录在存储器14a上的XML数据,并且将加密的XML数据经由存储控制器13记录在存储器14b上。XML脚本管理器12执行XML脚本的记录,删除和认证。XML加密处理器9能够经由SOAP处理器6与外部网络激活信息处理装置通信。
应用处理器7在将XML数据经由存储控制器13记录在存储器14a上之后将控制传送到XML加密处理器9。然后,XML加密处理器9根据存储在存储器14c中的XML脚本中描述的过程加密记录在存储器14a上的XML数据,并且根据结果编辑XML数据。那时,XML加密处理器9确定原始XML数据是否以SOAP信封的形式编写。当确定XML数据以SOAP信封的形式编写时,XML加密处理器9根据由OASIS WS安全性定义的格式编辑加密信息。另一方面,当确定原始XML数据不是以SOAP信封的形式编写时,XML加密处理器9根据由W3C XML加密定义的格式编辑加密信息(XML数据),并且将结果经由存储控制器13记录在存储器14b上。
当由XML加密处理器9的处理完成的通知接收到时,应用处理器7执行发送加密和编辑后XML数据的处理。
在该实施方案中,描述与在打印机P1上执行的应用相关的加密过程的XML脚本预先注册在打印机P1中。当与应用相关的XML脚本没有注册且不存在于打印机P1的存储器14c上时,加密不执行。XML脚本由包括打印机P1的网络系统的管理员通过经由网络注册XML脚本来存储在存储器14c中。
XML脚本管理器12允许由系统管理员的ID注册,注册的更改,和注册的删除。这些操作基于与具有记录在那里的XML脚本的计算机通信的XML-SOAP,从由系统管理员操作的外部设备(例如图18中所示的计算机终端C1)来执行。
在该实施方案中,仅一个管理员允许为每个应用注册XML脚本。在这种情况下,下面的XML-SOAP RPC(远程过程调用)为管理员账户的注册而提供。
RegistrationID(applicationID,account,password)是开启一个账户的SOAP函数,
其中:
applicationID是将XML脚本与应用唯一关联的ID,并且由多达32个字符的文本串表示;
account是管理员账户的名字,并且由多达16个字符的文本串表示;以及
password是账户的密码,并且由多达16个字符的文本串表示。这些参数(applicationID,account和password)用来唯一地标识账户并且用于执行关于账户的各种函数(如下所示)。
ChangePassword(applicationID,account,password,newPassword)是更改指定账户密码的SOAP函数,
其中:
applicationID,account和password是当账户使用RegistrationID开启时设置的值;以及
newPassword是为账户设置的新密码。
DeleteID(applicationID,account,password)是删除已注册账户的SOAP函数,
其中:
applicationID,account和password是当账户使用RegistrationID开启时设置的、待删除账户的值。当密码使用ChangePassword更改时,当前密码被使用。
该实施方案中网络打印系统的操作接下来参考流程图详细描述。图2是账户注册过程的流程图。
在图2中所示的过程中,预先假定作为由系统管理员管理的计算机并且具有记录在那里的XML脚本的外部设备(例如,图18中所示的计算机终端C1)使用HTTP POST请求,并且将账户注册过程的SOAP请求作为请求实体发送到包括XML加密处理器9的打印机P1。因为请求使用SSL发送,交换分组的安全性由SSL保证。
XML加密处理器9的XML脚本管理器12经由SOAP处理器6接收SOAP请求RegistrationID(步骤S1中是)。然后,XML脚本管理器12确定账户是否已经对相同的applicationID而存在(步骤S2)。当账户已经对由SOAP请求指定的applicationID而注册时(步骤S2中是),因为在该实施方案中仅一个管理员账户可以为每个应用而注册,错误响应消息经由SOAP处理器6返回(步骤S3)。在这种情况下,仅在管理员使用DeleteID请求删除已注册账户之后,账户可以对相同的applicationID而开启。
当相同的applicationID不存在时(步骤S2中否),过程继续到步骤S4,其中XML脚本管理器12确定相同的账户是否已经存在。当由SOAP请求指定的账户已经被注册时(步骤S4中是),过程继续到步骤S3。在步骤S3中,因为在该实施方案中仅一个管理员账户可以对每个应用而注册,XML脚本管理器12经由SOAP处理器6返回错误响应消息。在这种情况下,相同applicationID的账户不可以开启,除非管理员使用DeleteID请求删除已注册账户。处理然后返回到步骤S1。
另一方面,当相同的账户不存在时(步骤S4中否),XML脚本管理器12确定RegistrationID请求的参数值是否有效(步骤S6)。当确定参数值有效时(步骤S6中是),XML脚本管理器12注册账户(步骤S7)。更具体地说,XML脚本管理器12将账户信息经由存储控制器13记录在存储器中。处理然后返回到步骤S1。当确定参数值不都有效时(步骤S6中否),过程继续到步骤S3,其中XML脚本管理器12经由SOAP处理器6发送错误响应消息。处理然后返回到步骤S1。
当RegistrationID没有在步骤S1中接收到时,XML加密处理器9的XML脚本管理器12确定SOAP请求ChangePassword是否经由SOAP处理器6而接收(步骤S8)。当SOAP请求ChangePassword经由SOAP处理器6而接收时(步骤S8中是),XML脚本管理器12比较请求的参数applicationID,account,和password与注册在存储器上的账户信息(步骤S9)。当所有这些参数值都匹配时(步骤S9中是),XML脚本管理器12确定newPassword的值是否有效(步骤S10)。当确定值有效时(步骤S10中是),XML脚本管理器12更改相关账户的密码信息,并且将更改的密码信息经由存储控制器13记录在存储器上(步骤S11)。处理然后返回到步骤S1。
当任何参数值与记录在存储器上的信息不匹配时(步骤S9中否),或者当newPassword的值无效时(步骤S10中否),XML脚本管理器12经由SOAP处理器6发送错误响应消息(步骤S12)。处理然后返回到步骤S1。
当ChangePassword没有在步骤S8中接收时,XML加密处理器9的XML脚本管理器12确定SOAP请求DeleteID是否经由SOAP处理器6而接收(步骤S13)。当确定SOAP请求DeleteID经由SOAP处理器6而接收时(步骤S13中是),XML脚本管理器12经由存储控制器13比较请求的参数applicationID,account和password与注册在存储器上的账户信息(步骤S14)。当所有这些参数值都匹配时(步骤S14中是),XML脚本管理器12经由存储控制器13删除记录在存储器上的账户信息(步骤S15)。处理然后返回到步骤S1。另一方面,当任何参数与记录在存储器上的信息不匹配时(步骤S14中否),XML脚本管理器12经由SOAP处理器6发送错误响应消息(步骤S16)。处理然后返回到步骤S1。
通过上述参考图2的过程,系统管理员能够通过从计算机终端C1发送SOAP请求到打印机P1来注册账户,更改密码,或删除账户。当在步骤S13中确定SOAP请求DeleteID没有经由SOAP处理器6接收到时(步骤S13中否),XML加密处理器9进入图3中所示的步骤S21。
然后,具有注册账户的系统管理员将包括与由打印机P1支持的应用(应用处理器7)相关的加密过程的XML脚本从计算机终端C1发送到打印机P1。例如,打印机P1基于XML-SOAP与由系统管理员管理并且具有记录在上面的XML脚本的外部设备(例如计算机终端C1)通信。在该实施方案中,下面的XML-SOAP RPC(远程过程调用)为XML脚本的注册和删除而提供。这使得XML脚本管理器12能够注册或删除XML脚本。
UploadScript(applicationID,account,password)是发送和注册XML脚本到打印机P1的SOAP函数。使用当账户用RegistrationID开启时使用的相同applicationID,账户和密码。当密码已经使用ChangePassword更改时,当前密码被使用。作为XML数据的XML脚本以描述SOAP函数的SOAP信封附加文件的形式发送。
DeleteScript(applicationID,account,password)是删除注册在打印机P1中的XML脚本的SOAP函数。使用当账户用RegistrationID开启时使用的相同applicationID,账户和密码。当密码已经使用ChangePassword更改时,当前密码被使用。
在该实施方案中,打印机P1与XML脚本可以记录在上面的外部设备之间的通信基于SSL2在通信线路级加密,并且XML脚本自身使用预先确定的算法加密。因此,打印机P1与外部设备之间的通信安全性增强。
接下来,注册XML脚本的过程参考附图来描述。
图3是显示在该实施方案中在打印机P1中注册XML脚本的过程的流程图。
在图3中所示的过程中,预先假定作为外部设备的计算机终端C1使用HTTP POST请求并且发送SOAP请求和作为请求实体的XML脚本到包括XML加密处理器9的打印机P1。此时,SSL用于发送请求,使得交换分组的安全性被保证。
如图3中所示,首先,XML加密处理器9的XML脚本管理器12确定SOAP请求UploadScript是否已经经由SOAP处理器6而接收到(步骤S21)。当确定SOAP请求UploadScript接收到时(步骤S21中是),XML脚本管理器12经由存储控制器13确定参数account和password是否与记录在存储器中的信息(在下文称作账户信息)匹配(步骤S22)。
当在步骤S22中确定账户信息不匹配时(步骤S22中否),XML脚本管理器12经由SOAP处理器6返回错误响应消息(步骤S23)。处理然后返回到步骤S1(图2)。另一方面,当在步骤S22中确定账户信息匹配时(步骤S22中是),XML脚本管理器12确定与相同applicationID相关的XML脚本是否已经注册(步骤S24)。
当在步骤S24中确定XML脚本已经注册时(步骤S24中是),因为在该实施方案中仅一个XML脚本文件可以对每个应用而注册,过程继续到步骤S23,其中XML脚本管理器12经由SOAP处理器6返回错误响应消息。过程然后返回到图2中所示的步骤S1。在这种情况下,XML脚本不可以对相同的applicationID注册,除非管理员删除已注册的XML脚本。
当在步骤S24中确定XML脚本还没有注册时(步骤S24中否),XML脚本管理器12将以请求的附加文件形式传送的XML脚本经由存储控制器13记录在存储器14c上(步骤S26)。通过上述过程,XML脚本管理器12将定义与应用相关的加密过程的XML脚本注册在存储器14c中。处理然后返回到步骤S1(图2)。
当在步骤S21中确定SOAP请求UploadScript没有接收到时(步骤S21中否),XML脚本管理器12确定SOAP请求DeleteScript是否经由SOAP处理器6接收(步骤S27)。当确定SOAP请求DeleteScript已经接收时(步骤S27中是),XML脚本管理器12经由存储控制器13确定参数account和password是否与记录在存储器上的账户信息相匹配(步骤S28)。
当在步骤S28中确定账户信息不匹配时(步骤S28中否),XML脚本管理器12经由SOAP处理器6返回错误响应消息(步骤S30)。处理然后返回到步骤S1(图2)。另一方面,当确定账户信息匹配时(步骤S28中是),XML脚本管理器12确定与相同applicationID相关的XML脚本是否已经注册(步骤S29)。
当确定具有指定applicationID的XML脚本没有记录(没有注册)在存储器14c上时,XML脚本管理器12经由SOAP处理器6返回错误响应消息(步骤S30)。处理然后返回到步骤S1(图2)。另一方面,当具有指定applicationID的XML脚本记录(注册)在存储器上时,XML脚本管理器12经由存储控制器13删除记录在存储器上的XML脚本(步骤S31)。处理然后返回到步骤S1(图2)。
通过上述过程,与应用相关的XML脚本从外部设备(计算机终端C1)注册到打印机P1。系统管理员能够根据需要重复地注册或删除XML脚本。
当注册XML脚本的过程完成时,XML加密处理器9根据XML脚本的内容按照需要执行预处理。
图4显示XML脚本的实例格式。
如图4中所示,XML脚本以XML声明开始用XML编写。在该实施方案中,一个XML脚本可以对每个应用而注册。在XML脚本中,多个元素被定义。XML脚本以结构化的方式编写,每个元素由一组标签,例如<A>和</A>定义,包括各种信息,元素以树形结构排列。
参考图4,由<ApplicationID>标签定义的元素401用作唯一标识执行XML加密的应用的ID。其内容是由多达32个字符的文本串定义的信息。由<EncryptedData>标签定义的元素402包括XML加密的内容。在图4中,作为元素402的子元素,由<EncryptionTarget mode>标签定义的元素403和由<KeyInfo>标签定义的元素404被定义。在下文,由<xx>标签定义的元素将简称为<XX>元素。
<EncryptionTarget mode>元素403用来指定执行XML加密的模式。更具体地说,三种模式“ALL”,“ELEMENT”,和“CONTENTS”可以指定。当模式为“ALL”时,由应用使用的整个XML文档被加密。当模式为“ELEMENT”时,作为<EncryptionTarget mode>元素内容记录的元素(图4中的“元素名”)及其子元素被加密。当模式为“CONTENTS”时,作为<EncryptionTarget mode>元素内容记录的元素的内容及其子元素的内容被加密。
<KeyInfo>元素404定义关于用于加密的公用密钥和公开密钥的信息。参考图4,<SymmetricKeyInfo>元素405定义关于公用密钥的信息,并且作为<SymmetricKeyInfo>元素405子元素的<EncryptionMethod>元素406定义用于加密的算法。在该实施方案中,3DES-CBC,AES128-CBC和AES256-CBC中一个在元素406中指定,如图4中所示。算法由代表这些算法中一个的文本串来指定。
<KeyValue>元素407包括由使用元素406指定算法产生的公用密钥值的Base64编码通过文本转换而获得的值。
<PublicKeyInfo>元素408定义关于公开密钥的信息,并且作为元素408子元素的元素<EncryptionMethod>指定用于加密的算法。在该实施方案中,RSA-PKCS v1.5和RSA-OAEP中一个被指定,如图4中所示。算法由代表这些算法中一个的文本串来指定。
<RetrievalMethod>元素410指定获取公开密钥的位置的统一资源标识(URI)。
<KeyValue>元素411包括当通信方是指定应用时,由从通信方获得的公开密钥的Base64编码通过文本转换而获得的值。当元素411不包括在XML脚本中时,或者当其内容空白时,XML加密处理器9在应用执行时获取公开密钥。
<CipherData>元素412包括由通过用<PublicKeyInfo>元素408定义的公开密钥加密<SymmetricKeyInfo>元素405定义的公用密钥而获得的值的Base46编码通过文本转换获得的值。当公用密钥或公开密钥的<KeyValue>没有写在XML脚本中时,元素412的内容空白。
在该实施方案中,当<EncryptionTarget mode>元素403指定模式“ELEMENT”或“CONTENTS”时,指定多个元素的加密是可能的。在那种情况下,对应于待加密元素数目的图4中所示许多<EncryptedData>元素402被编写。
当注册XML脚本的过程在图3中所示的步骤S26中完成时,XML加密处理器9执行XML脚本的验证。图5是由XML加密处理器9执行的XML脚本验证过程的流程图。
XML加密处理器9分析经由存储控制器13注册在存储器14c中的XML脚本以检查<CipherData>元素(图4中所示的元素412)的内容是否存在于XML脚本中(步骤S41)。当确定<CipherData>元素的内容存在时(步骤S41中是),处理结束。
另一方面,当确定<CipherData>元素的内容不存在时(步骤S41中否),XML加密处理器9分析<PublicKeyInfo>元素(图4中元素408)的内容以检查公开密钥是否存在(步骤S42)。更具体地说,XML加密处理器9分析包括公开密钥信息的<KeyValue>元素(图4中元素411),其是<PublicKeyInfo>元素的子元素,以确定公开密钥是否存在。
当确定公开密钥不存在时(步骤S42中否),XML加密处理器9从由<RetrievalMethod>元素(图4中元素410)指定的URI获取公开密钥(步骤S43)。然后,XML加密处理器9在步骤S43中获取的密钥信息上执行Base64编码,并且将结果作为<KeyValue>元素的内容而添加(步骤S44)。过程然后继续到步骤S48。
另一方面,当在步骤S42中确定公开密钥存在时(步骤S42中是),XML加密处理器9分析<SymmetricKeyInfo>元素(图4中元素405)的内容以确定公用密钥是否存在(步骤S45)。更具体地说,XML加密处理器9分析作为<SymmetricKeyInfo>元素405子元素的<KeyValue>元素(图4中元素407)的内容,以确定公用密钥是否存在。当确定公用密钥不存在时(步骤S45中否),XML加密处理器9基于由<EncryptionMethod>元素(图4中元素406)指定的算法产生公用密钥(步骤S46),在产生的密钥信息上执行Base64编码,并且将结果作为<KeyValue>元素(图4中元素407)的内容而添加(步骤S47)。过程然后继续到步骤S48。
另一方面,当确定公用密钥存在时(步骤S45中是),处理继续到步骤S48。
在步骤S48中,XML加密处理器9基于由作为<PublicKeyInfo>元素子元素的<EncryptionMethod>元素(图4中元素409)指定的算法加密公用密钥。然后,XML加密处理器9在结果(也就是用公开密钥加密的公用密钥信息)上执行Base64编码,并且将结果作为<CipherData>元素(图4中元素412)添加到XML脚本(步骤S49)。处理然后结束。
由在打印机P1上实现的应用处理器7产生并发出的XML数据和SOAP分组上的安全处理接下来描述。给出的描述在打印机P1的应用处理器7执行维护信息管理应用的处理实例的上下文中。
在该实施方案中打印机P1包括作为维护信息管理应用的应用处理器7。应用处理器7以预先确定的间隔收集每个输出纸张大小的拷贝数目信息,作为消耗产品的打印机调色剂的状态信息,以及错误日志信息,并且发送维护信息到管理每个打印机维护信息的服务器系统。
应用处理器7发送维护信息时使用的实例格式接下来描述。
图7显示应用处理器7发送维护信息时使用的实例格式。在该实施方案中,下面的XML-SOAPRPC(远程过程调用)被使用。
<MaintenanceRequest>元素701是报告维护信息的SOAP函数,包括子元素702~706,也就是<UserID>702,<DeviceName>703,<CounterValue>704,<TonerStatus>705,和<ErrorLog>706元素。<UserID>元素702包括唯一标识属主的ID(识别信息),并且由多达32个字符的文本串表示。<DeviceName>元素703包括产品名,并且由多达256个字符的文本串表示。
<CounterValue>元素704包括由打印机P1支持的每个输出纸张的计数器信息,描述代表使用的纸张数目的信息。作为<CounterValue>元素704的子元素,计数器值作为代表各个纸张大小(A4和A3)的<A4>和<A3>元素的内容写入,如图7中所示。
<TonerStatus>元素705描述打印机P1的调色剂消耗的状态。在该实施方案中,本发明能够彩色打印,所以FULL,MIDDLE,或LOW作为代表各个颜色调色剂的子元素<Cyan>,<Magenta>,<Yellow>,和<Black>的内容来描述。
<ErrorLog>元素706包括打印机P1的错误状态的日志信息,并且作为其子元素,描述各个错误细节的<ErrorStatus>元素707被定义。作为元素707的内容,用于描述错误发生时间的<time>元素和描述错误代码的<ErrorCode>元素被定义。当多个错误信息存在时,多个<ErrorStatus>元素707作为<ErrorLog>元素706的子元素来描述。
产生图7中所示维护信息、由应用处理器7执行的过程接下来描述。
图6是由在打印机P1上实现的应用处理器7执行的、产生维护信息的过程的流程图。
参考图6,应用处理器7确定预先确定的间隔(在该实施方案中120分钟)已经过去(步骤S61)。当确定120分钟已经过去时(步骤S61中是),应用处理器7与打印机控制器8通信以收集与图7中所示<MaintenanceRequest>元素定义的SOAP函数的参数相对应的信息(打印机P1属主的ID,打印机P1的产品名,代表使用纸张数目的信息,调色剂消耗的状态,以及错误状态的日志信息)(步骤S62)。
然后,应用处理器7通过SOAP处理器6产生SOAP信封,并且经由存储控制器13将SOAP信封注册在存储器中(步骤S63)。然后,应用处理器7将唯一定义维护应用的applicationID和SOAP信封注册的存储器地址报告给HTTP处理器5(步骤S64)。
因此,HTTP处理器5经由存储控制器13在存储器中创建HTTP响应报头,将在步骤S63中创建的SOAP信封作为其实体数据附加,并且经由存储控制器13将它记录在存储器中(步骤S65)。然后,HTTP处理器5发出发送记录在存储器中数据的数据发送请求(步骤S66)。在该实施方案中,applicationID和发送数据存储的存储器地址作为数据发送请求的参数写入。在这种情况下,HTTP响应报头数据和作为其实体数据的SOAP信封记录的存储器地址被设置。
响应该请求,数据发送处理器4将参数applicationID和维护请求数据经由存储控制器13写到预先确定的存储区。当写入完成时,存储控制器13通知XML加密处理器9写入的完成(步骤S67)。过程继续到下面描述的图8中的步骤S68。
图6中所示(及上面描述)过程之后执行的过程参考图8接下来描述。
图8显示由XML加密处理器9执行的安全过程的流程。参考图8,XML加密处理器9分析经由存储控制器13报告的存储器地址处的数据(步骤S68)。然后,XML加密处理器9根据分析确定XML数据是否存在(步骤S69)。
当确定XML数据不存在于报告的存储器地址处时(步骤S69中否),数据发送处理器4将存储在存储器中的发送数据经由协议堆栈处理器1发送到网络N1上(步骤S70)。例如,当待返回的SOAP信封不需要加密时,确定XML数据不存在于报告的存储器地址处。步骤S70之后,过程返回到图6中所示的步骤S61。
另一方面,当在步骤S69中确定XML数据存在于报告的存储器地址处时(步骤S69中是),XML加密处理器9执行搜索以确定具有经由存储控制器13在存储器14c中指定的applicationID的XML脚本是否已经注册(步骤S71)。
当由搜索确定具有匹配applicationID的XML脚本没有记录在存储器14c中时(步骤S71中否),XML加密处理器9确定加密不需要。然后,处理返回到数据发送处理器4。然后,过程继续到步骤S70,其中数据发送处理器4将存储在存储器上的数据经由协议堆栈处理器1发送到网络N1上。例如,当待返回的SOAP信封不需要加密时,确定XML脚本没有记录在存储器14c上。步骤S70之后,过程返回到图6中所示的步骤S61。
另一方面,当在步骤S71中由搜索确定具有匹配applicationID的XML脚本被记录时(步骤S71中是),XML加密处理器9分析XML脚本以读取<EncryptionTarget>元素(图4中元素403)及其内容(步骤S72)。
当在步骤S72中由分析确定模式是ELEMENT或CONTENTS时(步骤S73中否),XML加密处理器9读取作为元素内容包括的加密目标元素,并且执行搜索以确定指定元素是否存在于传送数据的SOAP信封中(步骤S74)。
当由搜索确定指定元素没有包括在传送数据的SOAP信封中时(步骤S74中否),XML加密处理器9确定加密不需要。然后,处理返回到数据发送处理器4。然后,过程继续到步骤S70,其中将存储在存储器中的传送数据经由协议堆栈处理器1发送到网络N1上。例如,当待返回的SOAP信封不需要加密时,确定指定元素不包括在SOAP信封中。步骤S70之后,过程返回到图6中所示的步骤S61。
另一方面,当在步骤S74中确定指定地址包括在传送数据的SOAP信封中时(步骤S74中是),或者当在步骤S73中确定由包括在XML脚本中的<EncryptionTarget>元素指定的模式是ALL时(步骤S73中是),XML加密处理器9读取包括在XML脚本中的<KeyInfo>元素及其内容,并且开始加密(步骤S75)。
然后,XML加密处理器9分析作为<SymmetricKeyInfo>元素的子元素的<KeyValue>元素,执行内容的Base64编码,获得公用密钥(步骤S76)。
然后,XML加密处理器9使用公用密钥加密由<EncryptionTarget>元素指定的元素(步骤S77)。更具体地说,当图4中所示<EncryptionTarget>元素403中的模式(在下文简称为模式)为ALL时,XML加密处理器9加密XML数据,也就是SOAP信封的实体。当模式为ELEMENT时,XML加密处理器9加密由<EncryptionTarget>元素指定的元素的内容,包括其内容和子元素。当模式为CONTENTS时,XML加密处理器9加密由<EncryptionTarget>元素的内容指定的内容及其子元素。
在步骤S77中执行加密之后,XML加密处理器9通过Base64编码将加密数据转换成文本(步骤S78)。步骤S78之后,过程继续到接下来描述的图9中所示的步骤S79。
基于在XML数据上执行XML加密的结果,XMI加密处理器9根据由XML加密/WS安全性定义的格式修改XML数据。图9是由XML加密处理器9执行的、修改XML加密已经在其上执行的XML数据的过程的流程图。
如图9中所示,XML加密处理器9经由存储控制器13分析记录在存储器上的XML数据(步骤S79),并且确定XML数据是否包括SOAP信封的元素(步骤S80)。在这里记录在存储器中的XML数据是图7中所示的XML数据。
因为记录在存储器14a上的XML数据,也就是在该实例中维护请求数据,包括SOAP信封(步骤S80中是),XML加密处理器9修改包括SOAP报头和主体的XML数据。现在,由XML加密处理器9修改XML数据的实例参考图10来描述。
图10显示修改XML数据的结果的实例,其中在XML脚本中<EncryptionTarget mode=“CONTENTS”>。图10中由与图7中相同的数字指定的元素具有与图7中(上述)相同的功能。也就是,图10中所示的XML数据通过在图7中所示的XML数据上执行XML加密并且修改结果而获得。
参考图10,<UserID>元素702的内容更改成包括加密数据的<EncryptedData>元素,并且作为其子元素,表示包括在XML脚本中的公用密钥加密算法的信息作为<EncryptionMethod>元素的属性写入。在该实施方案中,使用3DES。此外,作为随后<CipherData>元素的子元素<CipherValue>的内容,作为<UserId>元素内容包括的加密ID数据的结果被写入。
关于公开密钥的信息(解密加密数据的信息)根据WS安全性添加到SOAP报头中。更具体地说,如图10中所示,<EncryptedKey>元素作为<security>元素的子元素写入,并且代表以公开密钥(解密加密数据的信息)方式使用的算法的信息作为<EncryptionMethod>元素的属性写入,<EncryptionMethod>元素是<EncryptedKey>元素的子元素。此外,通过用公开密钥加密公用密钥而获得的信息(验证加密数据的信息)写入作为<CipherData>元素子元素的<CipherValue>元素中。
在将XML数据修改成图10中所示XML数据的过程中,XML加密处理器9将加密作为<UserID>元素内容包括的ID数据的结果,描述为作为<CipherData>元素子元素的<CipherValue>元素的内容(步骤S81)。然后,XML加密处理器9根据WS安全性将关于公开密钥的信息添加到SOAP报头(步骤S82)。
在上面的过程完成之后,处理继续到步骤S84。当在步骤S80中确定XML数据不包括SOAP信封时(步骤S80中否),XML加密处理器9修改包括在设备描述文件中、由<EncryptionTarget>元素指定的元素的XML数据(步骤S83)。过程然后继续到步骤S84。在步骤S83中处理的具体实例随后将参考图14来描述。
在步骤S84中,XML加密处理器9将修改的XML数据经由存储控制器13记录在存储器14b中。当模式为ELEMENT或CONTENTS并且另一个<EncryptedData>元素存在于XML脚本中时(步骤S85中是),过程返回到图8中的步骤S72,并且XML加密处理器9重复步骤S72~S85以修改包括XML数据的SOAP信封。
当所有<EncryptionTarget>元素的XML数据的加密和修改已经完成时(步骤S85中否),XML加密处理器9将修改的XML数据存储的存储器14b的地址信息报告给数据发送处理器4(步骤S86)。然后,数据发送处理器4将存储在存储器14b中的传送数据经由协议堆栈处理器1发送到网络N1上(步骤S87)。过程然后返回到图6中的步骤S61。
如上所述,打印机P1能够在由应用处理器7产生的维护信息(图7中所示的XML数据)上执行XML加密并且返回结果。
接下来,描述在处理以XML编写的设备信息的应用在打印机P1上实现的情况下应用处理器7的操作。
图11是显示处理以XML编写的设备信息的应用处理器7操作的流程图。在该实施方案中,应用处理器7执行与由UPnP论坛开发的UPnPv1中的描述阶段相关的处理。
存储在打印机P1存储器中的设备描述文档(DDD)的实例接下来描述。
如图12中所示,设备描述文件以XML编写。参考图12,在设备描述文件中,<serviceList>元素1201,作为<serviceList>元素子元素的<service>元素1202,以及作为<service>元素1202子元素的<serviceType>,<serviceId>,<SCPDURL>,<controlURL>,和<eventSubURL>,以及这些元素的内容被定义。
连接到网络的UPnP激活客户端设备基于SSDP(简单服务发现协议)获得设备描述文件的URL,其中SSDP是在UPnPv1中定义的发现协议,并且发出HTTP GET请求使得设备描述文件将从URL传送。
参考图11,应用处理器7(UPnP描述处理器)确定HTTP GET请求是否已经接收到(步骤S91)。当确定HTTP GET请求已经接收时(步骤S91中是),应用处理器7确定请求是否指示有效的URL(步骤S92)。当确定请求不指示有效URL时(步骤S92中否),为了报告来自客户端设备的设备描述文件请求的错误,应用处理器7将相关错误代码和唯一标识描述阶段处理应用的applicationID报告给HTTP处理器5(步骤S93)。
因此,HTTP处理器5经由存储控制器13创建HTTP响应报头并将它记录在存储器中(步骤S95)。然后,HTTP处理器5发出数据发送请求到数据发送处理器4(步骤S96)。然后,过程继续到步骤S97。在该实施方案中,applicationID和传送数据存储的存储器地址作为数据发送请求的参数写入。在这种情况下,HTTP响应报头数据记录的存储器中的地址被设置。过程然后继续到随后参考图13描述的步骤S98。
当在步骤S92中确定接收的请求指示有效URL时(步骤S92中是),应用处理器7发送相关正常处理代码,唯一标识描述阶段处理应用的applicationID,以及设备描述文件记录的存储器地址到HTTP处理器5(步骤S94)。
然后,HTTP处理器5经由存储控制器13在存储器上创建HTTP响应报头,将设备描述文件作为其实体数据而附加,并且记录结果(步骤S95)。然后,HTTP处理器5发出数据发送请求到数据发送处理器4(步骤S96)。在该实施方案中,applicationID和传送数据存储的存储器地址作为数据发送请求的参数写入。在这种情况下,HTTP响应报头数据和作为其实体数据的设备描述文件记录在存储器上的地址被设置。
响应该请求,数据发送处理器4将参数applicationID和维护请求数据经由存储控制器13写到预先确定的存储区。当写入完成时,存储控制器13通知XML加密处理器9写入的完成(步骤S97)。过程然后继续到参考图13在下面描述的步骤S98。
图11中所示处理之后、由XML加密处理器9执行的安全处理接下来描述。
图13显示图11中所示且上面所述处理之后、由XML加密处理器9执行的安全处理。参考图13,首先,XML加密处理器9分析经由存储控制器13报告的存储器地址处的数据(步骤S98)。通过分析,XML加密处理器9检测数据中的XML声明以确定XML数据是否存在(步骤S99)。
当XML加密处理器9确定XML数据不存在时(步骤S99中否),数据发送处理器4将存储在存储器上的传送数据经由协议堆栈处理器1发送到网络N1上(步骤S100)。当XML加密处理器9确定加密不需要时,例如,当响应数据仅包括HTTP报头数据的错误被报告时,确定XML数据不存在于报告的地址处。步骤S100之后,处理返回到图11中所示的步骤S91。
另一方面,当确定XML数据存在时(步骤S99中是),XML加密处理器9经由存储控制器13执行关于具有指定applicationID的XML脚本是否已经注册在存储器14c上的搜索,确定与XML数据相关的XML脚本是否存在。在该实施方案中,图4中所示的XML脚本注册在存储器14c中。
当由搜索确定具有匹配applicationID的XML脚本没有记录在存储器14c上(步骤S101中否),XML加密处理器9确定加密不需要。然后,处理返回到数据发送处理器4。然后,处理继续到步骤S100,其中数据发送处理器4将存储在存储器上的传送数据经由网络N1发送到协议堆栈处理器1上。例如,当待返回的设备描述文件不需要加密时,XML脚本不记录在存储器14c上。步骤S100之后,处理返回到图11中所示的步骤S91。
另一方面,当在步骤S101中由搜索确定具有匹配applicationID的XML脚本已经记录时(步骤S101中是),XML加密处理器9分析XML脚本以读取<EncryptionTarget>元素(图4中元素403)及其内容(步骤S102)。
当在步骤S102中由分析确定模式为ELEMENT或CONTENTS时(步骤S103中否),XML加密处理器9读取作为其内容包括的加密目标元素,并且执行关于指定元素是否存在于传送数据的设备描述文件中的搜索(步骤S104)。
当由搜索确定指定元素没有编写在发送数据的设备描述文件中时(步骤S104中否),XML加密处理器9确定加密不需要。然后,处理返回到数据发送处理器4。然后,处理继续到步骤S100,其中数据发送处理器4将存储在存储器上的传送数据经由协议堆栈处理器1发送到网络N1上。例如,当待返回的设备描述文件不需要加密时,设备描述文件中指定的元素没有被编写。步骤S100之后,处理返回到图11中所示的步骤S91。
当在步骤S104中确定指定元素编写在发送数据的设备描述文件中时(步骤S104中是),或者当由XML脚本中写入的<EncryptionTarget>元素指定的模式为ALL时(步骤S103中是),XML加密处理器9读取在XML脚本中写入的<KeyInfo>元素(图4中元素404)及其内容,并且开始加密(步骤S105)。
然后,XML加密处理器9分析作为<SymmetricKeyInfo>元素(图4中元素405)子元素的<KeyValue>元素(图4中元素407),并且在内容上执行Base64编码以获得公用密钥(步骤S106)。
然后,XML加密处理器9使用公用密钥加密由<EncryptionTarget>元素指定的元素(步骤S107)。更具体地说,当图4中<EncryptionTarget>元素403中的模式(在下文简称为模式)为ALL时,XML加密处理器9加密XML数据,也就是整个设备描述文件。当模式为ELEMENT时,XML加密处理器9加密由<EncryptionTarget>元素的内容指定的元素,包括其内容和子元素。当模式为CONTENTS时,XML加密由<EncryptionTarget>元素的内容指定的元素的内容和子元素。
在步骤S107中的加密之后,XML加密处理器9通过Base64编码将加密数据转换成文本(步骤S108)。步骤S108之后,处理继续到参考图14在下面描述的步骤S109。
基于在XML数据上执行XML加密的结果,XML加密处理器9根据基于XML加密/WS安全性的格式修改XML数据。图14是显示由XML加密处理器9执行的、修改XML加密的XML数据的操作的流程图。
参考图14,首先,XML加密处理器9经由存储控制器13分析记录在存储器上的XML数据(步骤S109),并且确定XML数据是否包括SOAP信封元素(步骤S110)。
在该实施方案中,记录在存储器中的XML数据,也就是在该实例中设备描述文件,不包括SOAP信封。因此,确定XML数据不包括SOAP信封元素(步骤S110中否)。XML加密处理器9修改包括在设备描述文件中、由<EncryptionTarget>元素指定的元素的XML数据(步骤S113)。
修改图12中所示设备描述文件的结果的实例接下来描述。图15显示在<EncryptionTarget mode=“ELEMENT”>且<service>元素1202被指定的情况下,修改XML数据的结果的实例。也就是,图15显示通过根据XML脚本在图12中所示的XML数据上执行XML加密并且修改结果而获得的XML数据。
参考图15,<service>元素1202,它的子元素<serviceType>,<serviceId>,<SCPDURL>,<controlURL>,和<eventSubURL>, 以及这些元素的内容修改成<EncryptionData>元素1501,并且编写在XML脚本中的公用密钥算法信息作为<EncryptionMethod>元素1502的属性写入。在该实施方案中,3DES用作公用密钥加密算法。
此外,作为<EncryptedKey>元素1503的子元素,以公开密钥形式使用的算法作为<EncryptionMethod>元素1504的属性写入,并且对使用公用密钥加密的数据的引用作为<ReferenceList>元素1505的属性写入。代表公开密钥属主的信息作为<KeyInfo>元素1506子元素的<KeyName>元素的内容写入。此外,用公开密钥加密公用密钥的结果写在<CipherData>元素1507中。
此外,对公用密钥加密的引用作为<EncKeyReference>元素的属性写入,<EncKeyReference>元素是<KeyInfo>元素1508的子元素。此外,加密设备描述文件的结果作为<CipherData>元素1509子元素的<CipherValue>元素的内容写入。
返回参考图14,步骤S113之后,处理继续到步骤S114(在下面描述)。
当确定XML数据包括SOAP信封的元素时(步骤S110中是),XML加密处理器9通过加密修改<service>元素1202以及<service>元素1202子元素的内容(步骤S111)。然后,关于公开密钥的信息基于WS安全性添加到SOAP报头(步骤S112)。处理然后继续到步骤S114。
在步骤S114中,XML加密处理器9将修改的XML数据经由存储控制器记录在存储器中。当<EncryptionTarget>元素的模式为ELEMENT或CONTENTS并且另一个<EncryptedData>元素包括在XML脚本中时(步骤S115中是),处理返回到图13中的步骤S102,其中XML加密处理器9重复上述步骤S102~S115,修改XML数据形式的设备描述文件。
当XML数据的加密和修改已经对所有<EncryptionTarget>元素完成时(步骤S115中否),XML加密处理器9将修改的XML数据存储的存储器14b的地址信息报告给数据发送处理器4(步骤S116)。然后,数据发送处理器4将存储在存储器14b中的传送数据经由协议堆栈处理器1发送到网络N1上(步骤S117)。处理然后返回到图11中的步骤S91。
如上所述,该实施方案中的打印机P1能够加密由应用处理器7产生的设备描述文件的XML数据(图12中所示的XML数据)并且返回结果。
其他实施方案
在上述实施方案中,描述加密过程的XML脚本经由网络N1从外部设备例如由系统管理员管理的计算机终端C1发送并注册到网络N1的XML加密处理器9。但是,不局限于此,XML注册的服务器的URL可以经由网络N1从由系统管理器管理的计算机终端C1注册到XML加密处理器9,使得XML加密处理器9能够从URL处的服务器下载XML脚本并且将XML注册在它自己的存储器上。
作为选择,计算机可能直接连接到打印机P1以将XML脚本注册到XML加密处理器9。例如,计算机可能经由本地接口,例如USB接口或IEEE-1394接口直接连接到打印机P1,以将XML脚本经由该接口注册到XML加密处理器9。
作为另一种选择,XML脚本可能记录在记录介质,例如CD-ROM,CompactFlash卡或存储棒上,使得打印机P1的XML加密处理器9能够从记录介质中读取XML脚本。
此外,虽然在上述实施方案中每个应用的加密过程以XML编写,不局限于此,加密过程可能以可以由XML加密处理器9管理的任何格式编写,例如其他脚本语言或简单文本数据。
此外,虽然在上述实施方案中关于加密过程的信息以XML编写在XML脚本中,不局限于此,加密过程可能使用例如作为描述Web服务接口的语言的WSDL(Web服务描述语言)来编写。
图16是显示WSDL消息元素的描述实例的图。参考图16,对于作为加密是否执行的消息元素的子元素编写的每个部分,<EncryptedData>元素,和作为其内容的密钥相关信息作为其属性编写。图16中所示的元素1601~1602和1604~1612与图4中所示元素401~402和404~412具有相同的功能。
也就是,当应用处理器7具有Web服务的功能和基于在从服务提供者获得的WSDL数据中编写的接口的功能时,根据如图16中所示以WSDL编写的安全处理信息执行关于实施方案描述的加密是可能的。
此外,虽然在上述实施方案中基于W3C XML加密的XML加密过程编写在XML脚本中,不局限于此,例如,基于W3C XML签名的XML签名过程可能被编写。在那种情况下,将XML加密过程和XML签名过程写在共同的XML脚本中,或者将这些过程写在独立的脚本中都是可能的。
此外,虽然在上述实施方案中使用XML和SOAP的应用处理器7和XML加密处理器9彼此独立地构造并且共同安装在打印机P1上,不局限于此,XML加密处理器9可能独立地安装在网络N1上的另一个网络设备,例如计算机终端C2上。图17是显示根据另一种实施方案的打印机P1和计算机终端C2的功能配置的框图。
图17中由与图1中相同的数字指定的组件,例如1~3,7~12,以及14a和14c具有等价的功能,并且其描述将不在这里重复。图17中的组件4a和5a与图1中的组件4和5具有等价的功能,除了组件4a和5a不与存储控制器13a通信。图17中的组件6a与图1中的组件6具有等价的功能,除了组件6a不与XML加密处理器9通信。打印机P1中的存储控制器13a控制存储XML数据的存储器14a。在计算机终端C2中,组件1b~6b与打印机P1的组件1~3和4a~6a具有等价的功能。存储控制器13b控制存储XML脚本的存储器14c。
在图17中所示的系统配置中,XML数据以及由安全处理修改的XML数据在应用处理器7在其上实现的打印机P1与XML加密处理器9在其上实现的计算机终端C2之间交换,使得与上述实施方案中的打印机P1等价的功能被实现。
更具体地说,在图17中所示的配置中,由应用处理器7产生的XML数据发送到计算机终端C2,而计算机终端C2在接收的XML数据上执行安全处理和修改并且将作为结果的XML数据返回到打印机P1。然后,打印机P1执行数据发送以将接收的XML数据发送到网络N1上。
如上所述,在根据该实施方案的打印处理系统中,支持至少一种网络服务的应用处理器7以及基于描述安全处理过程的XML脚本在从应用处理器7输出的数据上执行安全处理的XML加密处理器9彼此独立地构造。因此,容易地实现安全处理功能而不修改应用是可能的。此外,通过注册、修改或删除描述安全处理过程的XML脚本来实现具有不同安全级别的网络服务是可能的。
此外,简单地通过根据实现网络服务的应用的使用环境、安全级别和系统配置修改描述安全处理过程的XML脚本,来执行不同的XML数据签名过程或XML加密过程是可能的。因此,不需要在提供网络服务的软件中各自开发安全处理功能。这用于显著减少开发成本,并且允许最佳安全系统在最佳时刻引入。
此外,虽然在上述实施方案中打印机P1的组件通过从存储器中读取实现功能的程序并且由CPU 101执行程序来实现它们的功能,不局限于此,处理可以部分或全部由专用硬件来实现。此外,上述存储器可以由非易失性存储器例如磁光盘或闪速存储器,只读记录介质例如CD-ROM(压缩盘-只读存储器),除RAM(随机存取存储器)之外的易失性存储器,或者由这些设备的组合实现的计算机可读/可写记录介质来实现。
实现打印机P1组件功能的程序可以记录在计算机可读记录介质上,使得计算机系统可以读取记录在记录介质上的程序以执行处理。这里“计算机系统”将构造为包括OS和硬件例如外围设备。更具体地说,本发明包括从记录介质中读取的程序写到安装在计算机上的功能扩展板或连接到计算机的功能扩展单元的存储器,并且功能扩展板或功能扩展单元的CPU等部分或全部地执行实际处理以实现上述实施方案的功能的情况。
“计算机可读记录介质”指便携式介质例如软盘,磁光盘,ROM,或CD-ROM,或存储设备例如包括在计算机系统中的硬盘。此外,“计算机可读记录介质”可以指当程序经由网络例如因特网或通信电路例如电话电路传送时临时保存程序的介质,例如用作服务器或客户端的计算机系统中的易失性存储器(RAM)。
此外,程序可以经由传送介质通过传送介质中的传送波,从程序存储在存储设备等中的计算机系统发送到另一个计算机系统。这里“传送介质”指允许信息传送的介质,例如通信网络例如因特网或通信电路例如电话电路。
程序可能实现上述功能的一部分。此外,程序可能是与已经记录在计算机系统中的程序合作实现功能的不同文件(不同程序)。
此外,本发明可能以程序产品例如具有记录在其上的程序的计算机可读记录介质的形式实施。
虽然本发明的实施方案已经参考附图详细描述,具体构造并不局限于实施方案,并且不背离本发明本质的其他构造等被包括。
虽然本发明已经参考实例实施方案来描述,应当理解,本发明并不局限于公开的实施方案。相反,本发明目的在于覆盖包括在附加权利要求的本质和范围内的各种修改和等价方案。下面权利要求的范围将符合最广泛的解释,以便包括所有这种修改以及等价结构和功能。
Claims (19)
1.一种信息处理装置,包括:
存储单元,配置以存储安全处理信息,该安全处理信息描述将应用于由服务提供程序处理的数据的安全处理过程并且包括以结构化语言编写的数据,并且其中安全处理信息可以从存储单元中的其他程序或用户读取或写入;以及
安全处理单元,配置以参考存储在存储单元中的安全处理信息执行安全处理以加密或提供数字签名到由服务提供程序处理的数据,其中安全处理单元提供与外部程序的安全处理信息的安全通信。
2.根据权利要求1的信息处理装置,其中安全处理单元包括修改单元,其配置以基于处理数据修改数据的一部分,当处理数据通过在数据的该部分上执行安全处理而产生时。
3.根据权利要求2的信息处理装置,还包括:
通信单元,配置以经由网络与另一个装置通信;以及
传送控制单元,配置以控制通过由安全处理单元执行的安全处理而获得的数据或者通过由修改单元执行的修改而获得的数据经由网络到另一个装置的传送。
4.根据权利要求2的信息处理装置,其中修改单元,除了基于处理数据修改数据的部分之外,将用于解密处理数据的信息和验证处理数据的信息添加到数据。
5.根据权利要求4的信息处理装置,其中修改单元包括分析单元,其配置以分析数据从而确定数据是否符合简单对象访问协议,其中当分析单元确定数据符合简单对象访问协议时,修改单元将处理数据写在由简单对象访问协议定义的主体中,并且将解密处理数据的信息和验证处理数据的信息写在由简单对象访问协议定义的报头中。
6.根据权利要求1的信息处理装置,其中存储在存储单元中的安全处理信息是能够经由网络从外部注册、更新和删除的信息。
7.根据权利要求1的信息处理装置,其中安全处理单元被配置以根据与数据相关的安全处理信息是否存储在存储单元中来确定是否执行安全处理。
8.根据权利要求1的信息处理装置,其中安全处理单元包括配置以确定安全处理信息的内容是否与数据内容一致的确定单元,并且安全处理单元根据确定单元的确定来确定是否执行安全处理。
9.根据权利要求1的信息处理装置,其中安全处理信息以结构化语言编写。
10.一种使用具有服务提供程序的信息处理装置执行的信息处理方法,该信息处理方法包括:
参考描述与数据相关的安全处理过程的安全处理信息来应用安全处理以加密或提供数字签名到数据的安全处理步骤,其中数据由服务提供程序处理并且包括以结构化语言编写的数据,使得服务提供程序可以安全地与外部服务提供程序通信,并且其中安全处理信息可以由另一个程序或用户从存储单元中读出或写入其中。
11.根据权利要求10的信息处理方法,其中安全处理步骤包括当处理数据通过在数据的一部分上执行安全处理而产生时,基于处理数据修改数据的该部分的修改步骤。
12.根据权利要求11的信息处理方法,还包括传送控制步骤,即控制通过安全处理步骤中执行的安全处理而获得的数据或者通过修改步骤中执行的修改而获得的数据经由网络到另一个装置的传送。
13.根据权利要求11的信息处理方法,其中修改步骤,除了基于处理数据修改数据的部分之外,将用于解密处理数据的信息和验证处理数据的信息添加到数据。
14.根据权利要求13的信息处理方法,其中修改步骤包括:
分析数据以确定数据是否符合简单对象访问协议的分析步骤;以及
当分析步骤确定数据符合简单对象访问协议时,将处理数据写在由简单对象访问协议定义的主体中,并且将解密处理数据的信息和验证处理数据的信息写在由简单对象访问协议定义的报头中的处理步骤。
15.根据权利要求10的信息处理方法,其中安全处理信息存储在信息处理装置中的存储单元中,并且安全处理信息是可以经由网络从外部注册、更新和删除的信息。
16.根据权利要求15的信息处理方法,其中安全处理步骤包括根据与数据相关的安全处理信息是否存储在存储单元中来确定是否执行安全处理的确定步骤。
17.根据权利要求10的信息处理方法,其中安全处理步骤包括:
确定安全处理信息的内容是否与数据内容一致的第一确定步骤;以及
根据第一确定步骤中的确定来确定是否执行安全处理的第二确定步骤。
18.根据权利要求10的信息处理方法,其中安全处理信息以结构化语言编写。
19.一种使得计算机能够执行根据权利要求10的信息处理方法的程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004167537A JP4587162B2 (ja) | 2004-06-04 | 2004-06-04 | 情報処理装置、情報処理方法及びそのプログラム |
JP2004167537 | 2004-06-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1708000A true CN1708000A (zh) | 2005-12-14 |
Family
ID=35450318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510075556.8A Pending CN1708000A (zh) | 2004-06-04 | 2005-06-03 | 信息处理装置、信息处理方法、及其程序 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8375214B2 (zh) |
JP (1) | JP4587162B2 (zh) |
CN (1) | CN1708000A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8418255B2 (en) | 2006-02-13 | 2013-04-09 | Heidelberger Druckmaschinen Ag | Method for the secure transmission of operating data |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2006001268A1 (ja) * | 2004-06-25 | 2008-04-17 | 株式会社ジャストシステム | 文書処理装置、文書閲覧装置および文書処理方法 |
GB2433628B (en) * | 2005-10-28 | 2011-05-18 | Hewlett Packard Development Co | Method of providing history and compliance information for objects |
JP2007241939A (ja) * | 2006-03-13 | 2007-09-20 | Ricoh Co Ltd | 画像形成装置 |
US20070255704A1 (en) * | 2006-04-26 | 2007-11-01 | Baek Ock K | Method and system of de-identification of a record |
JP2008097170A (ja) * | 2006-10-10 | 2008-04-24 | Fuji Xerox Co Ltd | 暗号化機能付き処理装置、暗号化装置、および暗号化機能付き処理プログラム |
US20080178010A1 (en) * | 2007-01-18 | 2008-07-24 | Vaterlaus Robert K | Cryptographic web service |
US20080177867A1 (en) * | 2007-01-19 | 2008-07-24 | Mark Edwin Giampapa | Configuration of a memory controller in a parallel computer system |
JP4989259B2 (ja) * | 2007-03-06 | 2012-08-01 | 株式会社日立製作所 | 署名情報処理方法、そのプログラムおよび情報処理装置 |
US20090182781A1 (en) * | 2008-01-11 | 2009-07-16 | Harikrishnan Kesavan Nair | Data object logging |
JP5300332B2 (ja) * | 2008-06-04 | 2013-09-25 | キヤノン株式会社 | ネットワークデバイスおよびワークフロー処理システムおよびワークフロー処理方法 |
US8468345B2 (en) | 2009-11-16 | 2013-06-18 | Microsoft Corporation | Containerless data for trustworthy computing and data services |
US10348693B2 (en) * | 2009-12-15 | 2019-07-09 | Microsoft Technology Licensing, Llc | Trustworthy extensible markup language for trustworthy computing and data services |
US9537650B2 (en) | 2009-12-15 | 2017-01-03 | Microsoft Technology Licensing, Llc | Verifiable trust for data through wrapper composition |
US8983076B2 (en) * | 2011-12-22 | 2015-03-17 | Adobe Systems Incorporated | Methods and apparatus for key delivery in HTTP live streaming |
CN102637247A (zh) * | 2012-02-23 | 2012-08-15 | 浙江工商大学 | 一种集成概化与消隐的高维数据匿名处理方法 |
US9571471B1 (en) * | 2015-11-10 | 2017-02-14 | AO Kaspersky Lab | System and method of encrypted transmission of web pages |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0787077A (ja) | 1993-09-16 | 1995-03-31 | Canon Inc | データ暗号化装置 |
US5721781A (en) * | 1995-09-13 | 1998-02-24 | Microsoft Corporation | Authentication system and method for smart card transactions |
US5825878A (en) * | 1996-09-20 | 1998-10-20 | Vlsi Technology, Inc. | Secure memory management unit for microprocessor |
US6585778B1 (en) * | 1999-08-30 | 2003-07-01 | International Business Machines Corporation | Enforcing data policy using style sheet processing |
US6931532B1 (en) * | 1999-10-21 | 2005-08-16 | International Business Machines Corporation | Selective data encryption using style sheet processing |
US20020051543A1 (en) * | 2000-09-21 | 2002-05-02 | Lenstra Arjen K. | Fast irreducibility and subgroup membership testing in XTR |
WO2002057917A2 (en) * | 2001-01-22 | 2002-07-25 | Sun Microsystems, Inc. | Peer-to-peer network computing platform |
JP2002261859A (ja) * | 2001-03-02 | 2002-09-13 | Vinculum Japan Corp | 電子商取引システム |
JP4109874B2 (ja) * | 2002-02-05 | 2008-07-02 | キヤノン株式会社 | 情報処理装置、その制御方法、プログラム及び記録媒体 |
US7454486B2 (en) * | 2002-07-09 | 2008-11-18 | Microsoft Corporation | Profiling and tracing distributed applications |
US7774831B2 (en) * | 2002-12-24 | 2010-08-10 | International Business Machines Corporation | Methods and apparatus for processing markup language messages in a network |
US7444675B2 (en) * | 2003-02-28 | 2008-10-28 | Hewlett-Packard Development Company, L.P. | Systems and methods for defining security information for web-services |
KR100561629B1 (ko) * | 2003-12-03 | 2006-03-20 | 한국전자통신연구원 | 보안 정보 통합 관리 시스템 및 그 방법 |
KR100549504B1 (ko) * | 2003-10-10 | 2006-02-03 | 한국전자통신연구원 | 서명 암호화를 이용한 웹서비스 보안에서의 soap메시지 생성 및 검증 방법 |
-
2004
- 2004-06-04 JP JP2004167537A patent/JP4587162B2/ja not_active Expired - Fee Related
-
2005
- 2005-05-27 US US11/140,446 patent/US8375214B2/en not_active Expired - Fee Related
- 2005-06-03 CN CN200510075556.8A patent/CN1708000A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8418255B2 (en) | 2006-02-13 | 2013-04-09 | Heidelberger Druckmaschinen Ag | Method for the secure transmission of operating data |
CN101022335B (zh) * | 2006-02-13 | 2013-05-22 | 海德堡印刷机械股份公司 | 用于安全传送工作数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2005346569A (ja) | 2005-12-15 |
US20050273616A1 (en) | 2005-12-08 |
US8375214B2 (en) | 2013-02-12 |
JP4587162B2 (ja) | 2010-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1708000A (zh) | 信息处理装置、信息处理方法、及其程序 | |
CN100338597C (zh) | 信息处理设备和方法 | |
CN100352212C (zh) | 网络设备 | |
CN1266875C (zh) | 内容发布/接收方法 | |
CN1264082C (zh) | 安全的打印系统 | |
CN1946124A (zh) | 图像处理系统 | |
CN1893509A (zh) | 图像形成方法、装置、系统及信息处理装置 | |
CN101044490A (zh) | 将光盘用作智能密钥装置的方法和系统 | |
CN1495601A (zh) | 移动计算装置用户打印文档的系统和方法 | |
CN101079089A (zh) | 信息处理装置、打印系统和作业处理方法 | |
CN1959695A (zh) | 打印管理系统和打印管理方法 | |
CN1677277A (zh) | 服务提供方法、服务提供商设备、信息处理方法和设备 | |
CN101052167A (zh) | 一种通信号码自动更新系统及其实现方法 | |
CN1771496A (zh) | 涉及信息访问的系统和方法 | |
CN1532751A (zh) | 服务处理装置、服务处理方法 | |
CN1630300A (zh) | 管理防火墙服务的对象模型 | |
CN1694419A (zh) | 核查web服务配置的安全性 | |
CN1675616A (zh) | 具有数据加密和解密的打印数据通信 | |
CN1668004A (zh) | 图像处理装置和个人信息管理方法 | |
CN1787435A (zh) | 提供访问联合资源的令牌 | |
CN1748207A (zh) | 信息处理装置、信息处理方法和计算机程序 | |
CN1874404A (zh) | 图像处理系统和图像处理装置 | |
CN1933402A (zh) | 数据传输设备和数据传输方法 | |
CN1921537A (zh) | 图像处理设备、图像处理系统以及文件传送方法 | |
CN1747387A (zh) | 信息处理装置及信息处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20051214 |