English:
[0001] Protection of data from unauthorized access is desired. Various methods for preventing access to electronic documents have been developed. In some examples, access to printing devices and scanning devices is limited to prevent data loss.
[0002] The following detailed description references the drawings, wherein:
[0003] FIG. 1 is a block diagram of an example computing device to generate a cancellation request in a device;
[0004] FIG. 2 is a block diagram of an example system to provide a cancellation request to an imaging device; and
[0005] FIG. 3 is a flowchart of an example method for providing a cancellation request.
[0006] As used herein, a "request" (or "request") is an instruction (i.e., command) executable by a computing device to perform at least one function in the computing device. A "computing device" or "device" may be a desktop computer, laptop (or notebook) computer, workstation, tablet computer, mobile phone, smart device, server, blade enclosure, imaging device, or any other processing device or equipment. For example, a request may be instructions to analyze data, alter a setting of the computing device, provide data to a second device, store data, etc. A "job request," as used herein, is an instruction (i.e., command) executable by a computing device to perform at least one function in an imaging device. An "imaging device" may be a hardware device, such as a printer, scanner, photocopier, multifunction printer (MFP), or any other device with functionalities to physically produce, scan, or copy graphical representation(s) (e.g., text, images, models etc.) on paper, photopolymers, thermopolymers, plastics, composite, metal, wood, or the like. In some examples, an MFP may be capable of performing a combination of multiple different functionalities such as, for example, printing, photocopying, scanning, faxing, etc. For example, the function with respect to an imaging device may be to reboot the imaging device, troubleshoot the imaging device, upgrade firmware, retrieve consumable level information, clone features, adjust security settings, perform a test, perform device discovery, alter trap events, retrieve a scan, execute a print request, execute a photocopy request, clear an alert, etc.
[0007] As used herein, "authentication" or to "authenticate" refers to a determination of the origin and integrity of a request. For example, a request may be authenticated by verifying a digital signature in the request. A "digital signature" may be a scheme for demonstrating the authenticity of a request. A valid digital signature may indicate that the request was created by a known sender and that the message was not altered in transit. As used herein, "authorization" and to "authorize" refers to a determination that a request was provided by an authorized sender. For example, a request was sent from a device authorized to interact with the computing device. A request may be determined to be authorized by validating a digital signature of the request was provided by an authorized device. An "authorized device" may be any device authorized to perform actions according to a data handling policy.
[0008] Preventing data loss resulting from accidental or intentional actions that breach data handling policies is a goal of any networked environment. Data handling protocols to provide access to authorized persons and devices have been developed. However, data handling protocols may not be able to prevent loss of data through imaging devices. For example, some imaging devices may not be able to determine whether a job request meets a data handling policy due to limited processing resources. In other examples, the time constraints of determining whether a job request meets a data handling policy in an imaging device may reduce printing speeds to unacceptable levels. In such examples, a second device (e.g., an authorization device) in the networked environment may be used to determine whether a job request meets a data handling policy prior to outputting the job request from the imaging device. The authorization device may provide only authorized and authentic job requests to the imaging device and the imaging device may be instructed to only accept requests from the authorization device. However, the authenticated and authorized job request may be intercepted en route to the imaging device and altered before being received by the imaging device. In another example, an imaging device may receive a job request which has not been approved by the authorization device or intermediary devices (e.g., spool servers) in the networked environment.
[0009] To address these issues, in the examples described herein, a device may determine whether a request is authentic and authorized. For example, an authorization device may provide a digital signature to a request to express the request meets a data handling policy. In such examples, the device (e.g., imaging device) may remove or intercept the request from a processing pipeline of the device to perform the determination. If the request is determined to be authentic and authorized it may be provided to the processing pipeline of the device for processing. If the request is determined to not be authorized or not authentic, the device may generate a cancellation request and provide the cancellation request to the processing pipeline of the device. In another example, the device may directly provide the cancellation request to a status block of the device. In such an example, the cancellation request may be logged in the imaging device. In such examples, the device may further provide the request to another device when the cancellation request is generated. In such an example, the second device may analyze the rejected request, for example to identify any violation of the data handling policy. In this manner, examples described herein may significantly reduce the processing resources utilized in processing non-authorized and/or non-authentic jobs in devices.
[0010] Referring now to the drawings, FIG. 1 is a block diagram of an example computing device 100 to provide a cancellation request in a device. In the example of FIG. 1 , computing device 100 includes a processing resource 1 10 and a machine readable storage medium 120 comprising (e.g., encoded with) instructions 122, 124, 126, 128, and 130 executable by processing resource 110. In some examples, storage medium 120 may include additional instructions. In some examples, instructions 122, 124, 126, 128, and 130, and any other instructions described herein in relation to storage medium 120, may be stored on a machine-readable storage medium remote from but accessible to computing device 100 and processing resource 1 10 (e.g., via a computer network). In some examples, instructions 122, 124, 126, 128, and 130 may be instructions of a computer program, computer application (app), agent, or the like, of computing device 100. In other examples, the functionalities described herein in relation to instructions 122, 124, 126, 128, and 130 may be implemented as engines comprising any combination of hardware and programming to implement the functionalities of the engines, as described below.
[0011] In examples described herein, a processing resource may include, for example, one processor or multiple processors included in a single computing device (as shown in FIG. 1 ) or distributed across multiple computing devices. A "processor" may be at least one of a central processing unit (CPU), a semiconductor-based microprocessor, a graphics processing unit (GPU), a field-programmable gate array (FPGA) to retrieve and execute instructions, other electronic circuitry suitable for the retrieval and execution of instructions stored on a machine-readable storage medium, or a combination thereof. Processing resource 110 may fetch, decode, and execute instructions stored on storage medium 120 to perform the functionalities described below. In other examples, the functionalities of any of the instructions of storage medium 120 may be implemented in the form of electronic circuitry, in the form of executable instructions encoded on a machine- readable storage medium, or a combination thereof.
[0012] As used herein, a "machine-readable storage medium" may be any electronic, magnetic, optical, or other physical storage apparatus to contain or store information such as executable instructions, data, and the like. For example, any machine-readable storage medium described herein may be any of Random Access Memory (RAM), volatile memory, non-volatile memory, flash memory, a storage drive (e.g., a hard drive), a solid state drive, any type of storage disc (e.g. , a compact disc, a DVD, etc.), and the like, or a combination thereof. Further, any machine-readable storage medium described herein may be non-transitory.
[0013] In the example of FIG. 1 , instructions 122 may actively acquire (e.g., retrieve, etc.) or passively acquire (e.g., receive, etc.) a request 105 in computing device 100. In some examples, the request 105 may be a job request of an imaging device. In an examples, the computing device 100 may be any device to acquire, process, and execute the request.
[0015] In instructions 126, computing device 100 may determine whether request 105 is authentic and authorized. If request 105 is determined to be authentic and authorized, request 105 may be provided to the processing pipeline of computing device 100. In an example, computing device 100 may determine request 105 is authentic and authorized in a processing pipeline. In other examples, computing device 100 may determine request 105 is authentic and authorized outside the processing pipeline. In some examples, computing device 100 may determine whether request 105 is authentic and authorized by verifying a digital signature of request 105.
[0016] In some examples, the digital signature may be applied to the request 105 by a device or authorization device. As used herein, an "authorization device" may be a device to determine whether a request may be fulfilled by computing device 100 and may be a dedicated device, machine readable instructions on a device, or a service operating over multiple devices (e.g. , a web-service, cloud service, a local service, a server, etc.). For example, the authorization device may evaluate the contents of request 105, meta-data (e.g., owner, date, time, etc.), etc. according to the data handling policy. In some implementations, the data handling policy may consist of a group of individual policies which limit which materials are allowed for processing, for example, by a group of individuals/roles, job meta-data, and/or contents, specific imaging devices and their capabilities, location, restricted access and or security (e.g., a document may be permitted to print out when the a specific person is in the vicinity of the imaging device), date/time (e.g., a document type may be permitted to be printed during office hours only), etc. When request 105 is determined to meet the data handling policy, the authorization device may provide the digital signature to request 105. In other examples, the digital signature may be applied to job request 105 by an originating device of request 105. In such examples, the originating device of request 105 may receive the digital signature or instructions to apply the digital signature to the request 105 from the authorization device. For examples, the request 105 may be a job request from a laptop computer with a digital signature provided by an authorization device (e.g., an authorization service). In such an example, the authorization server may apply the digital signature to the job request or may instruct the laptop computer to apply the digital signature to the job request.
[0017] In an example, the job request may be a photocopy request from an imaging device. In such an example, the imaging device may scan the photocopy request and store it in the imaging device without producing a physical copy of the document. The imaging device may provide the scanned photocopy request to an authorization server to determine if the job request meets a data handling policy. For example, the authorization server may determine the photocopy meets the data handling policy if the imaging device is an authorized device and the individual requesting the photocopy request is an authorized user. In another example, the authorization server may determine the photocopy request meets the data handling policy if the contents of the photocopy request are permitted to be photocopied. In some examples, the authorization server may extract text and images from the photocopy request, perform an optical character recognition (OCR), search for keywords, classify text and/or images, and determine whether the photocopy request meets the data handling policy. If the authorization server determines the photocopy request meets the data handling policy, the authorization server may instruct the imaging device to produce a physical copy of the document by providing the digital signature. In another example, the job request may be a scan request from an imaging device. In such examples, the authorization server may determine the scan request meets the data handling policy as described above and may instruct the imaging device to transmit the scanned image of the document to a destination if the document meets the data handling policy.
[0018] In another example, the job request may be a print request from an originating device to an imaging device. In such an example, an authorization server may receive the print request from the originating device and determine whether the print request meets a data handling policy as described above. In some examples, the authorization server may provide a digital signature to the print request and forward the print request to the imaging device. In other examples, when the print request is determined to meet the data handling policy, the authorization server may produce an authorization signature and instruct the originating device to add a digital signature to the print request. The imaging device may then receive a print request with a digital signature for processing. In such an example, computing device 100 may intercept the print job request as discussed above with respect to instruction 124. Computing device 100 may determine the print request is authentic and authorized by digital signature verification. In such an example, computing device 100 may provide the print request to the processing pipeline of the imaging device if the digital signature is determined to be valid (and produced by the authorization device) and the imaging device may produce the document.
[0019] In instructions 128, computing device 100 may generate a cancellation request 107 in response to a determination that request 105 is not authentic or not authorized. For example, the computing device 100 may determine request 105 is not authentic or not authorized when a digital signature is missing, corrupt, determined to not be valid, etc. As used herein, a "cancellation request" may be a request to indicate that request 105 has been cancelled or will not be processed and may include identification information of request 105. In an example, cancellation request 107 may include instructions (i.e., commands) to cancel or terminate processing of request 105. In some examples, cancellation request 107 may include a cancellation reason to identify why request 105 was not authorized or not authentic. In such examples, the cancellation request may include at least one of instructions to display the cancellation reason on the device, log the cancellation reason in the device, print the cancellation reason, and provide the cancellation reason to a second device. For example, cancellation request 107 may include a cancellation reason and instructions to display the cancellation reason on a device. In another example, cancellation request 107 may be logged in a log of the device or a status area of the device. In some examples, cancellation request 107 may include a wrapper of the request. For example, if request 105 is a job request which includes a wrapper in a Print Job Language ("PJL"), cancellation request 107 of the job request may include the PJL wrapper, cancellation reason, and at least one of instructions to display the cancellation reason on the device, log the cancellation reason in the device, print the cancellation reason, and provide the cancellation reason to a second device. In such examples, identification information about the job request may be extracted from the wrapper of the job request and provided as part of the cancellation reason. In another example, a cancellation request may contain the job request such that subsequent security analysis may be performed on the cancellation request by a second device.
[0020] In instruction 130, computing device 100 may provide cancellation request 107 to the processing pipeline of computing device 100. In an example, the processing pipeline of computing device 100 may process cancellation request 107 according to the instructions provided therein. In an example, cancellation request 107 may be generated in an imaging device in response to a determination that a job request is not authentic or not authorized. In such an example, cancellation request 107 may be provided to the processing pipeline of the imaging device before the job request entered the processing pipeline because the job request was intercepted from entering the processing pipeline, as described above with respect to instructions 124. In another example, cancellation request 107 may be provided to a status component of computing device 100 without entering the processing pipeline according to cancellation request 107. For examples, when cancellation request 107 includes identification information of request 105 and instructions to display a cancellation reason, computing device 100 may provide cancellation request 107 to a display of computing device 100 without entering the processing pipeline of computing device 100.
[0021] In some examples, instructions 122, 124, 126, 128, and 130 may be part of an installation package that, when installed, may be executed by processing resource 1 10 to implement the functionalities described herein in relation to instructions 122, 124, 126, 128, and 130. In such examples, storage medium 120 may be a portable medium, such as a CD, DVD, flash drive, or a memory maintained by a computing device from which the installation package can be downloaded and installed. In other examples, instructions 122, 124, 126, 128, and 130 may be part of an application, applications, or component already installed on computing device 100 including processing resource 1 10. In such examples, the storage medium 120 may include memory such as a hard drive, solid state drive, or the like. In some examples, functionalities described herein in relation to FIG. 1 may be provided in combination with functionalities described herein in relation to any of FIGS. 2-3.
[0022] FIG. 2 is a block diagram of an example system 200 to provide cancellation request 207 to an imaging device 220. In the example of FIG. 2, system 200 includes at least engines 212, 214, and 216, which may be any combination of hardware and programming to implement the functionalities of the engines. In examples described herein, such combinations of hardware and programming may be implemented in a number of different ways. For example, the programming for the engines may be processor executable instructions stored on a non-transitory machine- readable storage medium and the hardware for the engines may include a processing resource to execute those instructions. In such examples, the machine-readable storage medium may store instructions that, when executed by the processing resource, implement engines 212, 214, and 216.
[0023] In some examples, the instructions can be part of an installation package that, when installed, can be executed by the processing resource to implement at least engines 212, 214, and 216. In such examples, the machine-readable storage medium may be a portable medium, such as a CD, DVD, or flash drive, or a memory maintained by a computing device from which the installation package can be downloaded and installed. In other examples, the instructions may be part of an application, applications, or component already installed on system 200 including the processing resource. In such examples, the machine-readable storage medium may include memory such as a hard drive, solid state drive, or the like. In other examples, the functionalities of any engines of system 200 may be implemented in the form of electronic circuitry.
[0024] In the example of FIG. 2, job request engine 212 may acquire job request 205 in a computing device. Job request engine 212 may include instructions to intercept job request 205 from a processing pipeline 222 of imaging device 220 as described above with respect to FIG. 1. In some examples, job request engine 212 may be an input output (I/O) filter or more than one I/O filters of an imaging device. In an example, the I/O filter of job request engine 212 may be placed in a first position of a filter pipeline of the imaging device to ensure the job request 205 is intercepted from the processing pipeline 222. In other examples, the I/O filter of job request engine 212 may be placed in any other position in the filter pipeline of the imaging device, thus for example, allowing some job requests to be processed without authorization. In such an example, any job request processed by the prior filters may be exempted from entering job request engine 212. System 200 and imaging device 220 may be separate devices or integrated together as part of one device. In an example, the computing device may be an imaging device. In another example, the computing device may be a desktop computer or laptop computer.
[0025] In some examples, determination engine 214 may determine whether job request 205 is authentic and authorized. For example, determination engine 214 may determine whether job request 205 is authentic and authorized according to a digital signature of job request 205 as described above with respect to FIG. 1. If job request 205 is determined to be authentic and authorized, determination engine 214 may provide job request 205 to processing pipeline 222 of imaging device 220.
[0026] Cancel engine 216 may generate a cancellation request 207 if determination engine 214 determines job request 205 is not authorized or not authentic. The cancellation request 207 may be any cancellation request as described above with respect to FIG. 1. In an example, cancel engine 216 may provide cancellation request 207 to processing pipeline 222 of imaging device 220. In an example, processing pipeline 222 may process cancellation request 207 and provide a cancellation reason to status module 224 according to instructions in cancellation request 207. Status module 224 may be a display of imaging device 220 to display the cancellation reason. In such an example, cancellation request 207 may also be logged or stored in the imaging device. In another example, cancel engine 216 may provide job request 205 to second device 230 according to instructions in cancellation request 207. In some examples, second device 230 may be a device to analyze job request 205 for violations of the data handling policy and may alert a security manager of the violation of the data handling policy. In yet another example, cancel engine 216 may provide cancellation request 207 directly to the status module of the device according to cancellation request 207. In such an example, cancellation request 207 may include instructions to display a cancellation reason on status block 224.
[0028] At 302 of method 300, system 200 may acquire a job request 205. Job request 205 may be any job request described above with respect to FIG. 1 and FIG. 2. In the example of FIG. 3, the job request may be a print request.
[0029] At 304, system 200 may intercept job request 205 from the processing pipeline 222 of imaging device 220 as described above with respect to FIG. 1 and FIG. 2.
[0030] At 306, determination engine 214 of system 200 may determine whether job request 205 is authorized by determining whether a digital signature of job request 205 was provided by an authorized device. In the example of FIG. 3, the authorized device may be an authorization server. As described above, the digital signature of job request 205 may be provided by the authorization device when job request 205 is determined to meet a data handling policy.
[0031] At 308, determination engine 214 of system 200 may determine whether job request 205 is authentic by verifying the digital signature of job request 205. In some examples, the digital signature of the job request 205 may be verified according to a signature verifying algorithm, such as a RSA-PSS algorithm, a Digital Signature Algorithm (DSA), an Elliptic Curve Digital Signature Algorithm (ECDSA), an EIGamal signature algorithm, a Schnorr signature algorithm, a Pointcheval-Stern signature algorithm, a Rabin signature algorithm, etc. In other examples, a trusted public certificate of an authorization device may be used by the determination engine 214 to determine whether job request 205 is authentic.
[0032] At 310, in response to determining job request 205 is authentic and authorized, determination engine 214 may provide job request 205 to processing pipeline 222 of imaging device 220.
[0034] At 314, in response to generating cancellation request 207, cancel engine 216 may provide cancellation request 207 to processing pipeline 222 of imaging device 220 and provide job request 205 to a computing device.
[0035] Although the flowchart of FIG. 3 shows a specific order of performance of certain functionalities, method 300 is not limited to that order. For example, the functionalities shown in succession in the flowchart may be performed in a different order, may be executed concurrently or with partial concurrence, or a combination thereof. In some examples, functionalities described herein in relation to FIG. 3 may be provided in combination with functionalities described herein in relation to any of FIGS. 1-2.

中文:
[0001]期望对来自未授权访问的数据的保护。已经开发了用于防止对电子文档的访问的各种方法。在某些示例中,限制对打印设备和扫描设备的访问以防止数据丢失。
[0002]以下的详细描述参考了图,在所述图中:
[0003]图1是用以在设备中生成取消请求的示例计算设备的框图;
[0004]图2是用以向成像设备提供取消请求的示例系统的框图;以及
[0005]图3是用于提供取消请求的示例方法的流程图。
[0006]如本文中使用的那样,“请求”(或“请求”)是可被计算设备执行以实行计算设备中的至少一个功能的指令(即,命令)。“计算设备”或“设备”可以是台式计算机、膝上型(或笔记本)计算机、工作站、平板计算机、移动电话、智能设备、服务器、刀片机箱、成像设备或任何其他处理设备或装备。例如,请求可以是用以分析数据、改变计算设备的设置、向第二设备提供数据、存储数据等的指令。如本文中使用的那样,“作业请求”是可被计算设备执行以实行成像设备中的至少一个功能的指令(即,命令)。“成像设备”可以是硬件设备,诸如打印机、扫描仪、影印机、多功能打印机(MFP)或具有用以在纸张、光聚合物、热聚合物、塑料、复合材料、金属、木材等上以物理方式产生、扫描或拷贝(一个或多个)图形表示(例如,文本、图像、模型等)的功能的任何其他设备。在某些示例中,MFP可能能够执行诸如例如打印、影印、扫描、传真等的多个不同功能的组合。例如,关于成像设备的功能可以是重启成像设备、检修成像设备、升级固件、检索可消费水平信息、克隆特征、调整安全设置、实行测试、实行设备发现、改变陷阱事件、检索扫描、执行打印请求、执行影印请求、清除提醒等。
[0007]如本文中使用的那样,“认证”或进行“认证”指的是请求的来源和完整性的确定。例如,可通过验证请求中的数字签名来认证请求。“数字签名”可以是用于展示请求的真实性的方案。有效的数字签名可指示请求由已知的发送者创建并且消息在运送中没有被改变。如本文中使用的那样,“授权”和进行“授权”指的是请求由被授权的发送者提供的确定。例如,请求是从被授权与计算设备交互的设备发送的。可通过证实请求的数字签名由被授权的设备提供将请求确定成是被授权的。“被授权的设备”可以是被授权根据数据处理策略来执行动作的任何设备。
[0008]防止由违反数据处理策略的意外或故意的动作而引起的数据丢失是任何联网环境的目标。已开发了提供对被授权的人和设备的访问的数据处理协议。然而,数据处理协议可能不能防止通过成像设备的数据的丢失。例如,某些成像设备可能由于有限的处理资源而不能确定作业请求是否满足数据处理策略。在其他示例中,成像设备中的确定作业请求是否满足数据处理策略的时间约束可将打印速度减小到不可接受的水平。在此类示例中,可在从成像设备输出作业请求之前使用联网环境中的第二设备(例如,授权设备)来确定作业请求是否满足数据处理策略。授权设备可向成像设备仅提供被授权且真实的作业请求,并且成像设备可被指示仅接受来自授权设备的请求。然而,被认证且授权的作业请求可能在到成像设备的途中被拦截并在被成像设备接收到之前被改变。在另一示例中,成像设备可接收尚未被授权设备或联网环境中的中间设备(例如,排存服务器)批准的作业请求。
[0009]为了解决这些问题,在本文中描述的示例中,设备可确定请求是否真实且被授权。例如,授权设备可向请求提供数字签名以表达请求满足数据处理策略。在此类示例中,设备(例如,成像设备)可从设备的处理管线移除或拦截请求以执行确定。如果请求被确定成是真实的且被授权,则可将其提供给设备的处理管线以用于处理。如果请求被确定成未被授权或不真实,则设备可生成取消请求并将取消请求提供给设备的处理管线。在另一示例中,设备可将取消请求直接地提供给设备的状态块。在此类示例中,可将取消请求日志记录在成像设备中。在此类示例中,设备可进一步在生成取消请求时向另一设备提供请求。在此类示例中,第二设备可分析被拒绝的请求,例如用以标识数据处理策略的任何违反。以该方式,本文中描述的示例可显著地减少在处理设备中的未被授权和/或不真实的作业时利用的处理资源。
[0010]现在参考图,图1是用以在设备中提供取消请求的示例计算设备100的框图。在图1的示例中,计算设备100包括处理资源110和机器可读存储介质120,所述机器可读存储介质120包括(例如,被编码有)可被处理资源110执行的指令122、124、126、128和130。在某些示例中,存储介质120可包括附加指令。在某些示例中,指令122、124、126、128和130以及在本文中相对于存储介质120描述的任何其他指令可被存储在远离计算设备100和处理资源110但(例如,经由计算机网络)对其可访问的机器可读存储介质上。在某些示例中,指令122、124、126、128和130可以是计算设备100的计算机程序、计算机应用(app)、代理等的指令。在其他示例中,在本文中相对于指令122、124、126、128和130描述的功能可被实现为引擎,其包括用以实现引擎的功能的硬件和编程(programming)的任何组合,如下面描述的那样。
[0011]在本文中描述的示例中,处理资源可包括例如一个处理器或者被包括在(如图1中示出的)单个计算设备中或跨多个计算设备分布的多个处理器。“处理器”可以是以下中的至少一个:中央处理单元(CPU)、基于半导体的微处理器、图形处理单元(GPU)、用以检索和执行指令的现场可编程门阵列(FPGA)、适于被存储在机器可读存储介质上的指令的检索和执行的其他电子电路,或其组合。处理资源110可获取、解码和执行被存储在存储介质120上的指令以执行下面描述的功能。在其他示例中,可以以电子电路的形式、以被编码在机器可读存储介质上的可执行指令的形式或其组合来实现存储介质120的任何指令的功能。
[0012]如本文中使用的那样,“机器可读存储介质”可以是用以包含或存储诸如可执行指令、数据等的信息的任何电子、磁、光学或其他物理存储装置。例如,本文中描述的任何机器可读存储介质可以是随机访问存储器(RAM)、易失性存储器、非易失性存储器、闪存、存储驱动(例如,硬驱)、固态驱动、任何类型的存储盘(例如,致密盘、DVD等)等中的任何或其组合。进一步地,本文中描述的任何机器可读存储介质可以是非瞬时的。
[0013]在图1的示例中,指令122可主动地获取(例如,检索等)或被动地获取(例如,接收等)计算设备100中的请求105。在某些示例中,请求105可以是成像设备的作业请求。在示例中,计算设备100可以是用以获取、处理以及执行请求的任何设备。
[0015]在指令126中,计算设备100可确定请求105是否真实且被授权。如果请求105被确定成是真实的且被授权,则请求105可被提供给计算设备100的处理管线。在示例中,计算设备100可在处理管线中确定请求105是真实的且被授权。在其他示例中,计算设备100可在处理管线外面确定请求105是真实的且被授权。在某些示例中,计算设备100可通过验证请求105的数字签名来确定请求105是否真实且被授权。
[0016]在某些示例中,数字签名可由设备或授权设备应用于请求105。如本文中使用的那样,“授权设备”可以是确定请求是否可被计算设备100满足的设备,并且可以是专用设备、设备上的机器可读指令或在多个设备上操作的服务(例如,web服务、云服务、本地服务、服务器等)。例如,授权设备可根据数据处理策略来评估请求105的内容、元数据(例如,所有者、日期、时间等)等。在某些实现中,数据处理策略可包括例如按照个体/角色、作业元数据和/或内容的组,特定的成像设备及其能力、位置、被限制的访问和或安全(例如,当特定的人在成像设备附近时可允许打印出文档),日期/时间(例如,仅在办公时间期间可允许打印文档类型)等限制哪些材料被允许用于处理的单独的策略的组。当请求105被确定成满足数据处理策略时,授权设备可向请求105提供数字签名。在其他示例中,可由请求105的发起设备向作业请求105应用数字签名。在此类示例中,请求105的发起设备可从授权设备接收数字签名或指令以向请求105应用数字签名。例如,请求105可以是来自膝上型计算机的作业请求,其具有由授权设备(例如,授权服务)提供的数字签名。在此类示例中,授权服务器可对作业请求应用数字签名,或者可指示膝上型计算机对作业请求应用数字签名。
[0017]在示例中,作业请求可以是来自成像设备的影印请求。在此类示例中,成像设备可扫描影印请求并将其存储在成像设备中而不产生文档的物理拷贝。成像设备可将扫描的影印请求提供给授权服务器以确定作业请求是否满足数据处理策略。例如,如果成像设备是被授权的设备且请求影印请求的个体是被授权的用户,则授权服务器可确定影印满足数据处理策略。在另一示例中,如果影印请求的内容被允许影印,则授权服务器可确定影印请求满足数据处理策略。在某些示例中,授权服务器可从影印请求提取文本和图像、执行光学字符识别(OCR)、搜索关键字、将文本和/或图像分类,并且确定影印请求是否满足数据处理策略。如果授权服务器确定影印请求满足数据处理策略,则授权服务器可通过提供数字签名来指示成像设备产生文档的物理拷贝。在另一示例中,作业请求可以是来自成像设备的扫描请求。在此类示例中,授权服务器可如上面描述的那样确定扫描请求满足数据处理策略,并且如果文档满足数据处理策略则可指示成像设备将文档的扫描图像传输到目的地。
[0018]在另一示例中,作业请求可以是从发起设备到成像设备的打印请求。在此类示例中,授权服务器可从发起设备接收打印请求并如上面描述的那样确定打印请求是否满足数据处理策略。在某些示例中,授权服务器可向打印请求提供数字签名并将打印请求转发到成像设备。在其他示例中,当打印请求被确定成满足数据处理策略时,授权服务器可产生授权签名并指示发起设备向打印请求添加数字签名。成像设备然后可接收具有数字签名的打印请求以用于处理。在此类示例中,计算设备100可如上面关于指令124讨论的那样拦截打印作业请求。计算设备100可通过数字签名验证来确定打印请求是真实的且被授权。在此类示例中,如果数字签名被确定成是有效的(且由授权设备产生),则计算设备100可将打印请求提供给成像设备的处理管线且成像设备可产生文档。
[0019]在指令128中,计算设备100可响应于请求105不真实或未被授权的确定而生成取消请求107。例如,当数字签名缺失、损坏、被确定成不是有效的等的时候,计算设备100可确定请求105不真实或未被授权。如本文中使用的那样,“取消请求”可以是用以指示请求105已被取消或将不被处理的请求,并且可包括请求105的标识信息。在示例中,取消请求107可包括用以取消或终止请求105的处理的指令(即,命令)。在某些示例中,取消请求107可包括用以标识为什么请求105未被授权或不真实的取消原因。在此类示例中,取消请求可包括用以在设备上显示取消原因、在设备中日志记录取消原因、打印取消原因以及向第二设备提供取消原因的指令中的至少一个。例如,取消请求107可包括取消原因和用以在设备上显示取消原因的指令。在另一示例中,取消请求107可被日志记录在设备的日志或设备的状态区中。在某些示例中,取消请求107可包括请求的封装器(wrapper)。例如,如果请求105是包括用打印作业语言(“PJL”)的封装器的作业请求,则作业请求的取消请求107可包括PJL封装器、取消原因以及用以在设备上显示取消原因、在设备中日志记录取消原因、打印取消原因以及向第二设备提供取消原因的指令中的至少一个。在此类示例中,可从作业请求的封装器提取关于作业请求的标识信息并将其提供为取消原因的部分。在另一示例中,取消请求可包含作业请求,使得可由第二设备对取消请求执行后续安全分析。
[0020]在指令130中,计算设备100可向计算设备100的处理管线提供取消请求107。在示例中,计算设备100的处理管线可根据其中提供的指令来处理取消请求107。在示例中,可以响应于作业请求不真实或未被授权的确定而在成像设备中生成取消请求107。在此类示例中,取消请求107可在作业请求进入处理管线之前被提供给成像设备的处理管线,因为作业请求被拦截而不能进入处理管线,如上面关于指令124描述的那样。在另一示例中,取消请求107可被提供给计算设备100的状态组件而不根据取消请求107进入处理管线。例如,当取消请求107包括请求105的标识信息和用以显示取消原因的指令时,计算设备100可将取消请求107提供给计算设备100的显示器而不进入计算设备100的处理管线。
[0021]在某些示例中,指令122、124、126、128和130可以是安装包的部分,所述安装包在被安装时可被处理资源110执行以实现本文中相对于指令122、124、126、128和130描述的功能。在此类示例中,存储介质120可以是便携式介质,诸如CD、DVD、闪速驱动,或者由可以从其下载并安装安装包的计算设备维持的存储器。在其他示例中,指令122、124、126、128和130可以是已经被安装在包括处理资源110的计算设备100上的应用、多个应用或组件的部分。在此类示例中,存储介质120可包括诸如硬驱、固态驱动等的存储器。在某些示例中,可与本文中相对于图2-3中的任何描述的功能组合地提供本文中相对于图1描述的功能。
[0022]图2是用以向成像设备220提供取消请求207的示例系统200的框图。在图2的示例中,系统200至少包括引擎212、214和216,其可以是用以实现引擎的功能的硬件和编程的任何组合。在本文中描述的示例中,可以以多个不同的方式来实现硬件和编程的此类组合。例如,用于引擎的编程可以是被存储在非瞬时机器可读存储介质上的处理器可执行指令,并且用于引擎的硬件可包括用以执行那些指令的处理资源。在此类示例中,机器可读存储介质可存储指令,所述指令在被处理资源执行时实现引擎212、214和216。在此类示例中,系统200可包括机器可读存储介质,其存储指令和用以执行指令的处理资源,或者机器可读存储介质可以是单独的但对系统200和处理资源可访问。
[0023]在某些示例中,指令可以是安装包的部分,所述安装包在被安装时可以被处理资源执行以至少实现引擎212、214和216。在此类示例中,机器可读存储介质可以是便携式介质,诸如CD、DVD或闪速驱动,或者由可以从其下载并安装安装包的计算设备的维持的存储器。在其他示例中,指令可以是已经被安装在包括处理资源的系统200上的应用、多个应用或组件的部分。在此类示例中,机器可读存储介质可包括诸如硬驱、固态驱动等的存储器。在其他示例中,可以以电子电路的形式实现系统200的任何引擎的功能。
[0024]在图2的示例中,作业请求引擎212可获取计算设备中的作业请求205。作业请求引擎212可以包括用以从成像设备220的处理管线222拦截作业请求205的指令,如上面关于图1描述的那样。在某些示例中,作业请求引擎212可以是成像设备的输入输出(I/O)过滤器或多于一个I/O过滤器。在示例中,作业请求引擎212的I/O过滤器可被放置在成像设备的过滤器管线的第一位置中以确保作业请求205被从处理管线222拦截。在其他示例中,作业请求引擎212的I/O过滤器可被放置在成像设备的过滤器管线中的任何其他位置中,因此例如允许在没有授权的情况下处理某些作业请求。在此类示例中,可使被在先过滤器处理的任何作业请求免除进入作业请求引擎212。系统200和成像设备220可以是单独的设备或者被一起集成为一个设备的部分。在示例中,计算设备可以是成像设备。在另一示例中,计算设备可以是台式计算机或膝上型计算机。
[0025]在某些示例中,确定引擎214可确定作业请求205是否真实且被授权。例如,确定引擎214可根据作业请求205的数字签名来确定作业请求205是否真实且被授权,如上面关于图1描述的那样。如果作业请求205被确定成是真实的且被授权,则确定引擎214可将作业请求205提供给成像设备220的处理管线222。
[0026]如果确定引擎214确定作业请求205未被授权或者不真实,则取消引擎216可生成取消请求207。取消请求207可以是如上面关于图1描述的任何取消请求。在示例中,取消引擎216可以向成像设备220的处理管线222提供取消请求207。在示例中,处理管线222可处理取消请求207并根据取消请求207中的指令向状态模块224提供取消原因。状态模块224可以是用以显示取消原因的成像设备220的显示器。在此类示例中,取消请求207还可以被日志记录或存储在成像设备中。在另一示例中,取消引擎216可根据取消请求207中的指令向第二设备230提供作业请求205。在某些示例中,第二设备230可以是用以针对数据处理策略的违反来分析作业请求205的设备,并且可以提醒安全管理器数据处理策略的违反。在又一示例中,取消引擎216可根据取消请求207直接地向设备的状态模块提供取消请求207。在此类示例中,取消请求207可包括用以在状态块224上显示取消原因的指令。
[0028]在方法300的302处,系统200可获取作业请求205。作业请求205可以是上面关于图1和图2描述的任何作业请求。在图3的示例中,作业请求可以是打印请求。
[0029]在304处,系统200可从成像设备220的处理管线222拦截作业请求205,如上面关于图1和图2描述的那样。
[0030]在306处,系统200的确定引擎214可通过确定作业请求205的数字签名是否由被授权的设备提供来确定作业请求205是否被授权。在图3的示例中,被授权的设备可以是授权服务器。如上面描述的那样,当作业请求205被确定成满足数据处理策略时,可由授权设备提供作业请求205的数字签名。
[0031]在308处,系统200的确定引擎214可通过验证作业请求205的数字签名来确定作业请求205是否真实。在某些示例中,可根据签名验证算法来验证作业请求205的数字签名,所述签名验证算法诸如RSA-PSS算法、数字签名算法(DSA)、椭圆曲线数字签名算法(ECDSA)、ElGamal签名算法、Schnorr签名算法、Pointcheval-Stern签名算法、Rabin签名算法等。在其他示例中,授权设备的受信任的公共证书可被确定引擎214用来确定作业请求205是否真实。
[0032]在310处,响应于确定作业请求205是真实的且被授权,确定引擎214可将作业请求205提供给成像设备220的处理管线222。
[0034]在314处,响应于生成取消请求207,取消引擎216可向成像设备220的处理管线222提供取消请求207并向计算设备提供作业请求205。
[0035]虽然图3的流程图示出了某些功能的执行的特定顺序,但方法300不限于该顺序。例如,在流程图中连续地示出的功能可以以不同的顺序被实行,可被同时地或部分同时地执行,或其组合。在某些示例中,可与在本文中相对于图1-2中的任何描述的功能组合地提供在本文中相对于图3描述的功能。