US20130169992A1 - Secure upgrade supplies and methods - Google Patents
Secure upgrade supplies and methods Download PDFInfo
- Publication number
- US20130169992A1 US20130169992A1 US13/821,917 US201013821917A US2013169992A1 US 20130169992 A1 US20130169992 A1 US 20130169992A1 US 201013821917 A US201013821917 A US 201013821917A US 2013169992 A1 US2013169992 A1 US 2013169992A1
- Authority
- US
- United States
- Prior art keywords
- upgrade
- forming apparatus
- image forming
- supply
- imaging supply
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/40—Details not directly involved in printing, e.g. machine management, management of the arrangement as a whole or of its constitutive parts
- G06K15/4095—Secure printing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2129—Authenticate client device independently of the user
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2153—Using hardware token as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/002—Generic data access
Definitions
- Image forming apparatus such as printers are designed and manufactured to support, perform and/or carry out particular functions.
- the features, capabilities and functions of a printer are embedded into the printer's firmware during manufacture and remain fixed throughout the printer's functional life.
- FIG. 1 is a schematic illustration of an example image forming apparatus that is structured in accordance with the teachings of this disclosure to be securely upgradeable from an inserted upgrade imaging supply.
- FIG. 2 illustrates an example upgrade process that may be implemented using machine-accessible instructions, which may be executed by, for example, one or more processors, to upgrade the example image forming apparatus of FIG. 1 .
- FIGS. 3 , 4 , 5 and 6 illustrate example interactions and example processes that may be implemented using machine-accessible instructions, which may be executed by, for example, one or more processors, to carry out the example upgrade process of FIG. 2 .
- FIG. 7 illustrates an example process that may be implemented using machine-accessible instructions, which may be executed by, for example, one or more processors, to activate an upgrade during initialization of the example image forming apparatus of FIG. 1 .
- FIG. 8 is a schematic illustration of an example processor platform that may be used and/or programmed to execute the example interactions, the example processes and/or the example machine-accessible instructions of any or all of FIGS. 2-7 to upgrade the example image forming apparatus of FIG. 1 .
- an image formation apparatus e.g., a printer, an inkjet printer, a dye sublimation printer, a laser printer, a color laser printer, etc.
- an image formation apparatus e.g., a printer, an inkjet printer, a dye sublimation printer, a laser printer, a color laser printer, etc.
- the design, manufacture and sale of fixed-functionality image formation apparatus may have a number of disadvantages. For example, because each model has associated design and carrying costs, it may be difficult or costly to customize models for different geographic regions. Further, it may be difficult to pre-identify the features of most interest to high-volume and/or high-value customers. Therefore, the set of features incorporated during product design may not result in an image forming apparatus of interest to these consumers.
- image forming apparatus upgrade refers to the activation and/or enablement of a latent, but inactive or inaccessible, feature, functionality and/or capability of an image forming apparatus. Such latent features, functions and/or capabilities are included and/or implemented in the image forming apparatus but not activated, accessible and/or enabled until one of the example upgrade imaging supplies described herein is used to upgrade the image forming apparatus.
- an image forming apparatus may be upgraded without having to modify, change, update and/or upgrade the firmware of the image forming apparatus.
- image forming apparatus downgrade refers to the deactivation and disablement of a feature, functionality and/or capability of an image forming apparatus.
- Example methods, apparatus and articles of manufacture to securely upgrade image forming apparatus such as printers are disclosed.
- the image forming apparatus is upgraded using upgrade data stored on and obtained from an upgrade imaging supply (e.g., an ink supply cartridge) when the upgrade imaging supply is inserted into and/or installed in the image forming apparatus.
- an upgrade imaging supply e.g., an ink supply cartridge
- the term “upgrade imaging supply” refers to an imaging supply (e.g., an ink supply cartridge) containing information and/or data that may be accessed by an image forming device and used by the image forming device to upgrade the image forming device (e.g., enable and/or activate one or more latent features, functionalities and/or capabilities).
- secure upgrades may be implemented using an upgrade imaging supply having an embedded integrated circuit (IC) containing tamperproof data storage storing upgrade data.
- the IC may be implemented via, for example, a smartcard.
- a disclosed example image forming apparatus includes a second smartcard IC and an associated tamperproof identifier (ID).
- ID is unique to the image forming apparatus.
- the image forming apparatus can authenticate the smartcard IC in the upgrade imaging supply and authenticate the smartcard IC in the image forming apparatus to establish a cryptographically secure communication session, and/or to securely transfer data or information between the image forming apparatus and the imaging supply.
- the secure communication session may be used to securely obtain and verify the upgrade data before it is stored and/or applied to upgrade the image forming apparatus.
- the upgrade data is securely and/or cryptographically stored (e.g., encrypted) in a non-volatile memory of the image forming apparatus to prevent unauthorized copying or counterfeiting of the upgrade data to another image forming apparatus, and/or to enable verification and/or authentication of the upgrade data to prevent and/or detect tampering and/or corruption.
- the tamperproof data storage of the upgrade imaging supply may be securely updated with the ID of the image forming apparatus to signify that the upgrade imaging supply has already been used to upgrade that particular image forming apparatus.
- example methods, apparatus and articles of manufacture to upgrade image forming apparatus are described herein, the example methods, apparatus and articles of manufacture may additionally or alternatively be used to securely upgrade any number and/or type(s) of other device(s) and/or component(s).
- Other example devices and components that may be securely upgraded (downgraded) include, but are not limited to engine control systems, automobiles, home appliances, consumer electronics, heating and cooling systems, and/or any other devices and/or systems including a processor and embedded firmware and/or software.
- FIG. 1 illustrates an example image forming apparatus 105 that is structured, configured, and/or programmed to be upgraded based on upgrade data 110 stored in, obtained from and/or provided by an upgrade imaging supply 115 .
- the example image forming apparatus 105 of FIG. 1 may be a printer (e.g., an inkjet printer, a dye sublimation printer, a laser printer, a color laser printer, etc.) and/or any other additional and/or alternative device capable of forming an image on any type(s) of media (not shown).
- a printer e.g., an inkjet printer, a dye sublimation printer, a laser printer, a color laser printer, etc.
- any other additional and/or alternative device capable of forming an image on any type(s) of media (not shown).
- the example upgrade imaging supply 115 may be an ink cartridge, a toner cartridge having one or more tanks, containers and/or any other additional and/or alternative chambers 120 to store and supply one or more materials (e.g., an ink, a dye, a toner, etc.) useable by the example printer 105 and/or the upgrade imaging supply 115 to form an image on the media.
- the example upgrade imaging supply 115 of FIG. 1 is structured, configured and/or programmed to communicate with at least one component of the example image forming apparatus 105 .
- the following descriptions will focus on an example in which the image forming apparatus 105 is implemented by a printer and the upgrade imaging supply 115 is implemented by an upgrade ink or toner cartridge.
- the example image forming apparatus 105 of FIG. 1 will hereafter be referred to as the printer 105
- the upgrade imaging supply 115 will hereafter be referred to as the upgrade cartridge 115 .
- the example upgrade cartridge 115 of FIG. 1 is insertable into a slot, carrier, receptacle, holder and/or supply bay 125 of the example printer 105 .
- the example supply bay 125 of FIG. 1 includes any number and/or type(s) of connectors and/or conductors (not shown) that electrically and/or communicatively couple a security device 130 of the upgrade cartridge 115 to a controller 135 of the printer 105 via, for example, an inter-integrated circuit (I 2 C) interface.
- I 2 C inter-integrated circuit
- the example printer 105 may include more than one bay 125 to allow the printer 105 to form text and/or images on the media using more than one cartridge (e.g., the example upgrade cartridge 115 and a second cartridge).
- more than one bay 125 When more than one bay 125 is present, associated cartridges may operate simultaneously and/or sequentially. Further, when forming some example images on the media only a subset of the cartridges need be used. For example, a black and white image may be formed using only a black ink upgrade cartridge 115 , leaving any color ink cartridges inactive. Further still, the example printer 105 may be operated with or without the upgrade cartridge 115 installed.
- the upgrade cartridge 115 may be installed, used to upgrade the printer 105 and then replaced with another cartridge that is used for forming images on the media.
- the upgrade cartridge 115 may not include the chamber(s) 120 , ink, toner, etc. and, thus, not be useable to form images on the media.
- the example printer 105 of FIG. 1 includes the example controller 135 .
- the example controller 135 of FIG. 1 detects installed and/or inserted cartridge(s), and interacts with each inserted cartridge to determine whether the cartridge includes, contains and/or can provide upgrade data (e.g., the example upgrade data 110 ) and, thus, is an upgrade cartridge 115 .
- the example controller 135 establishes a secure communication session with the upgrade cartridge 115 , obtains and/or receives the upgrade data 110 from the installed upgrade cartridge 115 as an upgrade package 140 via the established secure communication session, and securely and/or cryptographically stores the upgrade package 140 in a non-volatile memory 145 .
- the upgrade package 140 may be stored in a memory 150 of a host computer 155 communicatively coupled to the printer 105 .
- Example interactions, processes and/or machine-accessible instructions that may be carried out by the example controller 135 and the security device 130 to upgrade the example printer 105 are described below in connection with FIGS. 3-8 .
- the example controller 135 of FIG. 1 may also implement any number and/or type(s) of other functions and/or features related to other aspects of the example printer 105 such as, initialization, maintenance and/or configuration.
- Machine-accessible instructions representing the example processes of FIGS. 3-8 and/or other function(s) and/or feature(s) implemented by the example printer 105 may be stored in, for example, any number and/or type(s) of FLASH memory(-ies) and/or FLASH memory device(s) 160 , and/or random-access memory (RAM) and/or RAM devices 165 .
- the example printer 105 of FIG. 1 includes a security device 170 .
- the example security device 170 may be any number and/or type(s) of security device(s), such as a smartcard IC, capable to authenticate the security device 130 and/or the upgrade cartridge 115 containing the security device 130 to the example printer 105 .
- security device(s) such as a smartcard IC
- the controller 135 together with the security device 170 implement and/or carry out any number and/or type(s) of security and/or authentication protocol(s) and/or message(s) with the security device 130 that allow the controller 135 to authenticate the identity of the security device 130 and/or the upgrade data 110 , and/or for the controller 135 to authenticate the upgrade package 140 prior to the controller 135 applying the upgrade package 140 .
- the controller 135 together with the security device 170 implement an authentication protocol with the security device 130 based on a unique identifier 175 securely stored in the security device 170 . While the illustrated example of FIG.
- the image forming apparatus 105 may be upgraded without authentication and/or secure data storage, obviating the need for the example security device 130 and the security device 170 . While not shown in FIG. 1 , in some examples the example security device 170 implements and/or includes the example non-volatile memory 145 .
- the example identifier 175 is written as an install ID 180 in a secure memory or storage area 185 of the security device 130 .
- a portion of the identifier 175 or a modified version of the identifier 175 e.g., a cryptographic hash
- the install ID 180 and the complement of the install ID 180 are stored at two different byte-aligned memory locations within the memory area 185 .
- the memory area 185 stores the identifier 175 or a portion or derivative thereof of each upgraded printer 105 and a count (not shown) of the number of upgrades that have already been completed.
- the count may limit the number of times the upgrade cartridge 115 can be used for upgrades. Thus, when the count reaches a limit, the upgrade cartridge 115 may not be used to perform any additional upgrades. Additionally or alternatively, the count may be omitted and when each of a plurality of install IDs 180 have been written to the upgrade cartridge 115 , the upgrade cartridge 115 may not be used to perform any additional upgrades.
- the secure storage 185 includes an upgrade flag 190 to designate whether the upgrade cartridge 115 is an upgrade cartridge.
- an upgrade cartridge 115 may contain any number of upgrade flags 190 corresponding to any number and/or type(s) of upgrade data 110 available via the upgrade cartridge 115 .
- the example upgrade cartridge 115 of FIG. 1 includes the example security device 130 and the example upgrade data 110
- another cartridge supported by the printer 105 need not include the security device 130 and/or the upgrade data 110 .
- only special-purpose upgrade cartridges 115 may include the example security device 130 and the example upgrade data 110 .
- These special-purpose upgrade cartridges 115 could be sold (e.g., at a premium relative to cartridges that are not special purpose), provided free to high-volume and/or high-value customers, and/or provided free to all users to allow users to upgrade their printers 105 .
- upgrades occur without user knowledge and/or user interaction.
- a user of the printer 105 needs to confirm, allow and/or acknowledge the upgrade(s) (e.g., using one or more buttons of the printer 105 and/or via a user interface implemented by the host 155 communicatively coupled to the printer 105 ) prior to the upgrade(s) being applied.
- any of the example upgrade data 110 , the example chamber(s) 120 , the example supply bay 125 , the example security device 130 , the example controller 135 , the example non-volatile memory 145 , the example FLASH 160 , the example RAM 165 , the example security device 170 , the example secure storage 185 and/or, more generally, the example printer 105 and the example upgrade cartridge 115 may be implemented by the example process platform P 100 of FIG.
- circuit(s) programmable processor(s), application-specific integrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)), field-programmable logic device(s) (FPLD(s)), and/or field-programmable gate array(s) (FPGA(s)), etc.
- ASIC application-specific integrated circuit
- PLD programmable logic device
- FPLD field-programmable logic device
- FPGA field-programmable gate array
- At least one of the example upgrade data 110 , the example chamber(s) 120 , the example supply bay 125 , the example security device 130 , the example controller 135 , the example non-volatile memory 145 , the example FLASH 160 , the example RAM 165 , the example security device 170 , the example secure storage 185 and/or, more generally, the example printer 105 and the example upgrade cartridge 115 is hereby expressly defined to include a tangible article of manufacture such as a tangible computer-readable medium storing the firmware and/or software.
- tangible computer-readable medium is expressly defined to include any type of computer-readable medium and to expressly exclude propagating signals.
- non-transitory computer-readable medium is expressly defined to include any type of computer-readable medium and to exclude propagating signals.
- Example tangible and/or non-transitory computer-readable medium include a volatile and/or non-volatile memory, a volatile and/or non-volatile memory device, a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a read-only memory (ROM), a random-access memory (RAM), a programmable ROM (PROM), an electronically-programmable ROM (EPROM), an electronically-erasable PROM (EEPROM), an optical storage disk, an optical storage device, magnetic storage disk, a magnetic storage device, a cache, and/or any other storage media in which information is stored for any duration (e.g., for extended time periods, permanently, brief instances, for temporarily buffering, and/or for caching of the information) and which can be accessed by a processor, a computer and/or other machine having a processor, such as the example processor platform P 100 discussed below in connection with FIG.
- a volatile and/or non-volatile memory device such as the example processor platform P 100 discussed below in connection with
- example printer 105 and/or the example upgrade cartridge 115 may include interfaces, data structures, elements, processes and/or devices instead of, or in addition to, those illustrated in FIG. 1 and/or may include more than one of any or all of the illustrated interfaces, data structures, elements, processes and/or devices.
- FIGS. 2-7 illustrate example interactions and example processes that may be implemented using machine-accessible instructions, which may be carried out to upgrade the example printer 105 .
- a processor, a controller and/or any other suitable processing device may be used, configured and/or programmed to execute and/or carry out the example interactions, the example processes and/or the example machine-accessible instructions of FIGS. 2-7 .
- the example interactions, the example processes and/or the example machine-accessible instructions of FIGS. 2-7 may be embodied in program code and/or instructions in the form of machine-readable instructions stored on a tangible computer-readable medium, and which can be accessed by a processor, a computer and/or other machine having a processor such as the example processor platform P 100 of FIG. 8 .
- Machine-readable instructions comprise, for example, instructions that cause a processor, a computer and/or a machine having a processor to perform one or more particular processes.
- the example processes and/or the example machine-accessible instructions of FIGS. 2-7 may be implemented using any combination(s) of ASIC(s), PLD(s), FPLD(s), FPGA(s), discrete logic, hardware, firmware, etc.
- the example processes and/or the example machine-accessible instructions of FIGS. 2-7 may be implemented manually or as any combination of any of the foregoing techniques, for example, any combination of firmware, software, discrete logic and/or hardware. Further, many other methods of implementing the examples of FIGS. 2-7 may be employed.
- any or all of the example interactions, the example processes and/or the example machine-accessible instructions of FIGS. 2-7 may be carried out sequentially and/or carried out in parallel by, for example, separate processing threads, processors, devices, discrete logic, circuits, etc.
- FIG. 2 illustrates an example process, which may be implemented as machine-accessible instructions executed by a processor, to upgrade the example printer 105 of FIG. 1 .
- the example machine-accessible instructions of FIG. 2 begin when the example controller 135 of FIG. 1 detects that a cartridge (e.g., the example upgrade cartridge 115 ) has been installed and/or inserted into the example supply bay 125 .
- the example controller 135 together with the example security device 170 interact with the example security device 130 of the installed cartridge 115 to authenticate the identity of the cartridge 115 by, for example, carrying out the example interactions and processes of FIG. 3 (block 205 ).
- the example controller 135 verifies that the installed cartridge 115 is an upgrade cartridge and has an available upgrade by, for example, carrying out the example interactions and processes of FIG. 4 (block 210 ). Carrying out the example interactions and processes of FIG. 5 , for example, the upgrade cartridge 115 is marked as having been used to upgrade the printer 105 (block 215 ).
- the example controller 135 obtains the example upgrade package 140 from the example upgrade cartridge 115 by, for example, carrying out the example interactions and processes of FIG. 6 (block 220 ).
- the example upgrade package 140 includes the example upgrade data 110 and one or more additional pieces of data and/or information that the controller 130 and the security device 170 can use to verify the authenticity of the upgrade package 140 .
- Example additional data and/or information include, but are not limited to, a message authentication code, a secure signature and/or an encryption signature.
- the controller 135 together with the example security device 170 verify the authenticity of the upgrade package 140 (block 225 ) and stores the authenticated upgrade package 140 in the non-volatile memory 145 (block 230 ).
- the upgrade package 140 together with other parameters and/or values that may be used to subsequently authenticate the contents of the upgrade package 140 are stored in the non-volatile memory 145 .
- the authentication performed at block 225 in the example of FIG. 2 is conventional authentication performed in connection with secure transactions.
- the upgrade package 140 may be stored in the non-volatile memory 145 without being authenticated at block 225 .
- Example interactions and processes that may be carried out to implement the blocks 220 , 225 and 230 are illustrated in FIG. 6 . Control then exits from the example process of FIG. 2 .
- FIG. 3 illustrates example interactions and processes, which may be implemented as machine-accessible instructions executed by a processor, to authenticate the identity of an installed cartridge.
- the example process of FIG. 3 may be carried out when, for example, the example controller 135 detects that the example cartridge 115 has be inserted and/or installed in the example bay 125 .
- the example controller 135 and the example security device initiate 305 a secure communication session.
- the example controller 135 requests 310 authentication credentials from the example security device 130 .
- the example security device 130 provides one or more authentication credentials 315 (e.g., a session key ID, a signature, a tamperproof ID, etc.).
- the example controller 135 authenticates 320 the identity of the security device 130 .
- the security device 170 provides an indication 325 to the controller 135 indicating whether the identity of the security device 130 was successfully authenticated. If the response 325 is TRUE (i.e., the identity of the security device 130 was authenticated) (block 330 ), the example process of FIG. 3 returns to, for example, block 210 of FIG. 2 . If the response 325 is FALSE (block 330 ), the control exits from the example of FIG. 3 terminating, for example, the example process of FIG. 2 .
- the secure session and the authentication of the security device 130 are implemented in accordance with the advanced encryption standard (AES) as implemented by commercially available smartcard ICs.
- AES advanced encryption standard
- FIG. 4 illustrates example interactions and processes, which may be implemented as machine-accessible instructions executed by a processor, to verify an installed cartridge is an upgrade cartridge.
- the illustrated example of FIG. 4 begins with the example controller 135 requesting 404 the example install ID 180 and the example upgrade flag 190 from the example security device 130 .
- the security device 130 returns 408 the contents of the install ID 180 and the upgrade flag 190 .
- the install ID 180 contains a first value and a second value representing the complement of the first value, when the upgrade data 110 has been installed.
- the example controller 135 authenticates 412 the response 408 by, for example, verifying a signature included in the response 408 .
- the security device 170 provides an indication 414 to the controller 135 indicating whether the response 408 was successfully authenticated. If the response 414 is FALSE (the response 408 was not authenticated) (block 420 ), control exits from the example of FIG. 4 terminating, for example, the example process of FIG. 2 .
- the example controller 135 determines whether the upgrade flag is set to TRUE representing the upgrade data 110 has not been installed and the install ID is set to a NULL value (block 424 ). If upgrade flag is set to TRUE and the install ID is set to a NULL value (block 424 ), control returns from the illustrated of FIG. 4 to, for example, block 215 of FIG. 2 .
- the controller 135 determines whether the upgrade flag is set to TRUE and the install ID indicates the upgrade cartridge 115 was previously used to upgrade the printer 105 (block 428 ). For example, a first value of the install ID may be compared to the example ID 175 and a second value of the install ID compared to the complement of the ID 175 . If both comparisons are TRUE, then the upgrade cartridge 115 may be considered as having been previously used to upgrade the printer 105 . If upgrade flag is set to TRUE and the install ID indicates the upgrade cartridge 115 was previously used to upgrade the printer 105 (block 428 ), control returns from the illustrated of FIG. 4 to, for example, block 215 of FIG. 2 . Otherwise, control exits from the example of FIG. 4 terminating, for example, the example process of FIG. 2 .
- FIG. 5 illustrates example interactions and processes, which may be implemented as machine-accessible instructions executed by a processor, to mark an upgrade cartridge as having been used to upgrade a printer.
- the illustrated example of FIG. 5 begins with the example controller 135 determining whether the upgrade is being re-installed (block 504 ). For example, a first value of the install ID may be compared to the example ID 175 and a second value of the install ID compared to the complement of the ID 175 . If both comparisons are TRUE, then the upgrade cartridge 115 may be considered as having been previously used to upgrade the printer 105 . If the upgrade is being re-installed (block 504 ), control exits from the illustrated example of FIG. 5 terminating, for example, the example process of FIG. 2 .
- the controller 135 sends a store or write command 508 to the security device instructing the controller 135 to set the install ID 180 to, for example, the ID 175 .
- a first value of the install ID 180 is set equal to the ID 175
- a second value of the install ID 180 is set equal to the complement of the ID 175 .
- the example controller 135 authenticates 516 the response 512 by, for example, verifying a signature included in the response 512 .
- the security device 170 provides an indication 520 to the controller 135 indicating whether the response 512 was successfully authenticated. If the response 520 is FALSE (the response 512 was not authenticated) (block 524 ), control exits from the illustrated example of FIG. 5 terminating, for example, the example process of FIG. 2 . If the response 520 is TRUE (block 524 ), control returns from the illustrated example of FIG. 5 to, for example, block 220 of FIG. 2 .
- FIG. 6 illustrates example interactions and processes, which may be implemented as machine-accessible instructions executed by a processor, to obtain an upgrade package from an upgrade cartridge and securely store the upgrade package on a printer.
- the illustrated example of FIG. 6 begins with the example controller 135 requesting 604 the upgrade package 140 from the security device 130 .
- the security device 130 provides the upgrade package 140 .
- the example controller 135 authenticates 608 the upgrade package 140 by, for example, verifying a signature or message authentication code included in the package 140 .
- the security device 170 provides an indication 612 to the controller 135 indicating whether the upgrade package 140 was successfully authenticated. If the response 612 is FALSE (the upgrade package 140 was not authenticated) (block 616 ), control exits from the illustrated example of FIG. 6 terminating, for example, the example process of FIG. 2 .
- the controller If the response 612 is TRUE (block 616 ), the controller writes or stores 620 the upgrade package 140 together with any number and/or type(s) of other parameter(s) and/or value(s) that may be used to subsequently authenticate the contents of the upgrade package 140 in the non-volatile memory 145 and/or in the memory 150 .
- Control exits from the illustrated example of FIG. 6 , ending, for example, the example process of FIG. 2 .
- FIG. 7 illustrates an example process, which may be implemented as machine-accessible instructions executed by a processor, to apply an upgrade package obtained from an upgrade cartridge.
- the example process may be carried out, for example, each time the example printer 105 is initialized to re-apply and/or re-activate each upgrade every time the example printer 105 is initialized.
- the example process of FIG. 7 begins with the example controller 135 reading the upgrade package 140 from the non-volatile memory 145 (block 705 ).
- the example controller 135 verifies that the upgrade package 140 is an upgrade package associated with the printer 105 by, for example, carrying out the example operations 424 and 428 of FIG. 4 (block 710 ).
- the example controller 135 verifies the authenticity of the upgrade package 140 by, for example, carrying out the example operations 608 , 612 and 616 of FIG. 6 (block 715 ).
- the operations of block 710 may be implemented as a part of the block 715 .
- the controller 135 applies the authenticated upgrade package 140 (block 720 ) by, for example, updating a table or other data structure that represents the features, functions and/or capabilities that are enabled, active and accessible.
- the FLASH 160 may contain a default feature table that is loaded by the controller 135 into the RAM 165 during initialization.
- one or more entries of the feature table in the RAM 165 are updated to enable, activate and/or make accessible one or more additional features, functions and/or capabilities represented and/or identified in the upgrade package 140 .
- FIG. 8 is a schematic diagram of an example processor platform P 100 that may be used and/or programmed to execute the example interactions, the example processes and/or the example machine readable instructions represented by any or all of FIGS. 2-7 .
- One or more general-purpose processors, processor cores, microcontrollers, etc may be used to implement the processor platform P 100 .
- the processor platform P 100 of the example of FIG. 8 includes at least one programmable processor P 105 .
- the processor P 105 executes coded instructions P 110 and/or P 112 present in main memory of the processor P 105 (e.g., within a RAM P 115 and/or a ROM P 120 ).
- the processor P 105 may be any type of processing unit, such as a processor core, a processor and/or a microcontroller.
- the processor P 105 may execute, among other things, the example machine-accessible instructions of FIGS. 3-6 to upgrade the example printer 105 of FIG. 1 .
- the coded instructions P 110 , P 112 may include the instructions of FIGS. 2-7 .
- the processor P 105 is in communication with the main memory (including a ROM P 120 and/or the RAM P 115 ) via a bus P 125 .
- the RAM P 115 may be implemented by dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), and/or any other type of RAM device.
- the ROM P 120 may be implemented by flash memory and/or any other desired type of memory device. Access to the memory P 115 and the memory P 120 may be controlled by a memory controller.
- the example memory P 115 may be used to, for example, implement the example non-volatile memory 145 .
- the processor platform P 100 also includes an interface circuit P 130 .
- Any type of interface standard such as an external memory interface, serial port, general-purpose input/output, etc, may implement the interface circuit P 130 .
- One or more input devices P 135 and one or more output devices P 140 are connected to the interface circuit P 130 .
- the example input and output devices P 135 and P 140 may be used, for example, to implement an I 2 C interface.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Stored Programmes (AREA)
Abstract
Example secure upgrade supplies and methods are disclosed. A disclosed example secure upgrade method includes receiving a request at an imaging supply (115) for an authentication credential associated with the imaging supply (115), providing the authentication credential to an image forming apparatus (105), the provided authentication credential useable by the image forming apparatus (105) to authenticate an identity of the imaging supply (115), and providing upgrade data (110) to the image forming apparatus, the provided upgrade data (110) authenticatable at the image forming apparatus (105) based on the identity of the imaging supply (115), and useable by the image forming apparatus (105) to enable a capability of the image forming apparatus (105).
Description
- Image forming apparatus such as printers are designed and manufactured to support, perform and/or carry out particular functions. Generally, the features, capabilities and functions of a printer are embedded into the printer's firmware during manufacture and remain fixed throughout the printer's functional life.
-
FIG. 1 is a schematic illustration of an example image forming apparatus that is structured in accordance with the teachings of this disclosure to be securely upgradeable from an inserted upgrade imaging supply. -
FIG. 2 illustrates an example upgrade process that may be implemented using machine-accessible instructions, which may be executed by, for example, one or more processors, to upgrade the example image forming apparatus ofFIG. 1 . -
FIGS. 3 , 4, 5 and 6 illustrate example interactions and example processes that may be implemented using machine-accessible instructions, which may be executed by, for example, one or more processors, to carry out the example upgrade process ofFIG. 2 . -
FIG. 7 illustrates an example process that may be implemented using machine-accessible instructions, which may be executed by, for example, one or more processors, to activate an upgrade during initialization of the example image forming apparatus ofFIG. 1 . -
FIG. 8 is a schematic illustration of an example processor platform that may be used and/or programmed to execute the example interactions, the example processes and/or the example machine-accessible instructions of any or all ofFIGS. 2-7 to upgrade the example image forming apparatus ofFIG. 1 . - Traditionally the features, capabilities and functions supported by an image formation apparatus (e.g., a printer, an inkjet printer, a dye sublimation printer, a laser printer, a color laser printer, etc.) have been determined, selected and/or fixed during product design. However, the design, manufacture and sale of fixed-functionality image formation apparatus may have a number of disadvantages. For example, because each model has associated design and carrying costs, it may be difficult or costly to customize models for different geographic regions. Further, it may be difficult to pre-identify the features of most interest to high-volume and/or high-value customers. Therefore, the set of features incorporated during product design may not result in an image forming apparatus of interest to these consumers. For these, and/or other reasons, it is desirable to be able to upgrade image formation apparatus functionality late in the product design cycle, during product testing, after product testing, during product release, during market introduction, while a product is being sold, after a product has been sold, after a product has been installed, and/or after a product has been discontinued.
- As used herein, image forming apparatus upgrade refers to the activation and/or enablement of a latent, but inactive or inaccessible, feature, functionality and/or capability of an image forming apparatus. Such latent features, functions and/or capabilities are included and/or implemented in the image forming apparatus but not activated, accessible and/or enabled until one of the example upgrade imaging supplies described herein is used to upgrade the image forming apparatus. As described herein, an image forming apparatus may be upgraded without having to modify, change, update and/or upgrade the firmware of the image forming apparatus. Similarly, image forming apparatus downgrade refers to the deactivation and disablement of a feature, functionality and/or capability of an image forming apparatus.
- Example methods, apparatus and articles of manufacture to securely upgrade image forming apparatus such as printers are disclosed. In disclosed examples, the image forming apparatus is upgraded using upgrade data stored on and obtained from an upgrade imaging supply (e.g., an ink supply cartridge) when the upgrade imaging supply is inserted into and/or installed in the image forming apparatus. As used herein, the term “upgrade imaging supply” refers to an imaging supply (e.g., an ink supply cartridge) containing information and/or data that may be accessed by an image forming device and used by the image forming device to upgrade the image forming device (e.g., enable and/or activate one or more latent features, functionalities and/or capabilities).
- As disclosed herein, secure upgrades may be implemented using an upgrade imaging supply having an embedded integrated circuit (IC) containing tamperproof data storage storing upgrade data. The IC may be implemented via, for example, a smartcard. A disclosed example image forming apparatus includes a second smartcard IC and an associated tamperproof identifier (ID). In some examples, the ID is unique to the image forming apparatus. The image forming apparatus can authenticate the smartcard IC in the upgrade imaging supply and authenticate the smartcard IC in the image forming apparatus to establish a cryptographically secure communication session, and/or to securely transfer data or information between the image forming apparatus and the imaging supply. The secure communication session may be used to securely obtain and verify the upgrade data before it is stored and/or applied to upgrade the image forming apparatus. In some examples, the upgrade data is securely and/or cryptographically stored (e.g., encrypted) in a non-volatile memory of the image forming apparatus to prevent unauthorized copying or counterfeiting of the upgrade data to another image forming apparatus, and/or to enable verification and/or authentication of the upgrade data to prevent and/or detect tampering and/or corruption. Additionally or alternatively, after an image forming apparatus has been upgraded from an upgrade imaging supply, the tamperproof data storage of the upgrade imaging supply may be securely updated with the ID of the image forming apparatus to signify that the upgrade imaging supply has already been used to upgrade that particular image forming apparatus. Thus, the unauthorized upgrade of multiple image forming apparatus from a single upgrade imaging supply can be substantially detected and prevented.
- While example methods, apparatus and articles of manufacture to upgrade image forming apparatus are described herein, the example methods, apparatus and articles of manufacture may additionally or alternatively be used to securely upgrade any number and/or type(s) of other device(s) and/or component(s). Other example devices and components that may be securely upgraded (downgraded) include, but are not limited to engine control systems, automobiles, home appliances, consumer electronics, heating and cooling systems, and/or any other devices and/or systems including a processor and embedded firmware and/or software.
-
FIG. 1 illustrates an exampleimage forming apparatus 105 that is structured, configured, and/or programmed to be upgraded based onupgrade data 110 stored in, obtained from and/or provided by anupgrade imaging supply 115. The exampleimage forming apparatus 105 ofFIG. 1 may be a printer (e.g., an inkjet printer, a dye sublimation printer, a laser printer, a color laser printer, etc.) and/or any other additional and/or alternative device capable of forming an image on any type(s) of media (not shown). The exampleupgrade imaging supply 115 may be an ink cartridge, a toner cartridge having one or more tanks, containers and/or any other additional and/oralternative chambers 120 to store and supply one or more materials (e.g., an ink, a dye, a toner, etc.) useable by theexample printer 105 and/or theupgrade imaging supply 115 to form an image on the media. As described below, the exampleupgrade imaging supply 115 ofFIG. 1 is structured, configured and/or programmed to communicate with at least one component of the exampleimage forming apparatus 105. For ease of discussion, the following descriptions will focus on an example in which theimage forming apparatus 105 is implemented by a printer and theupgrade imaging supply 115 is implemented by an upgrade ink or toner cartridge. The exampleimage forming apparatus 105 ofFIG. 1 will hereafter be referred to as theprinter 105, and theupgrade imaging supply 115 will hereafter be referred to as theupgrade cartridge 115. - The
example upgrade cartridge 115 ofFIG. 1 is insertable into a slot, carrier, receptacle, holder and/orsupply bay 125 of theexample printer 105. Theexample supply bay 125 ofFIG. 1 includes any number and/or type(s) of connectors and/or conductors (not shown) that electrically and/or communicatively couple asecurity device 130 of theupgrade cartridge 115 to acontroller 135 of theprinter 105 via, for example, an inter-integrated circuit (I2C) interface. - While a
single upgrade cartridge 115 and asingle bay 125 are shown inFIG. 1 , theexample printer 105 may include more than onebay 125 to allow theprinter 105 to form text and/or images on the media using more than one cartridge (e.g., theexample upgrade cartridge 115 and a second cartridge). When more than onebay 125 is present, associated cartridges may operate simultaneously and/or sequentially. Further, when forming some example images on the media only a subset of the cartridges need be used. For example, a black and white image may be formed using only a blackink upgrade cartridge 115, leaving any color ink cartridges inactive. Further still, theexample printer 105 may be operated with or without theupgrade cartridge 115 installed. For example, theupgrade cartridge 115 may be installed, used to upgrade theprinter 105 and then replaced with another cartridge that is used for forming images on the media. Moreover, theupgrade cartridge 115 may not include the chamber(s) 120, ink, toner, etc. and, thus, not be useable to form images on the media. - To control operation of the
example printer 105, theexample printer 105 ofFIG. 1 includes theexample controller 135. Theexample controller 135 ofFIG. 1 detects installed and/or inserted cartridge(s), and interacts with each inserted cartridge to determine whether the cartridge includes, contains and/or can provide upgrade data (e.g., the example upgrade data 110) and, thus, is anupgrade cartridge 115. When anupgrade cartridge 115 is detected, theexample controller 135 establishes a secure communication session with theupgrade cartridge 115, obtains and/or receives theupgrade data 110 from the installedupgrade cartridge 115 as anupgrade package 140 via the established secure communication session, and securely and/or cryptographically stores theupgrade package 140 in anon-volatile memory 145. Additionally or alternatively, theupgrade package 140 may be stored in amemory 150 of ahost computer 155 communicatively coupled to theprinter 105. - Example interactions, processes and/or machine-accessible instructions that may be carried out by the
example controller 135 and thesecurity device 130 to upgrade theexample printer 105 are described below in connection withFIGS. 3-8 . Theexample controller 135 ofFIG. 1 may also implement any number and/or type(s) of other functions and/or features related to other aspects of theexample printer 105 such as, initialization, maintenance and/or configuration. Machine-accessible instructions representing the example processes ofFIGS. 3-8 and/or other function(s) and/or feature(s) implemented by theexample printer 105 may be stored in, for example, any number and/or type(s) of FLASH memory(-ies) and/or FLASH memory device(s) 160, and/or random-access memory (RAM) and/orRAM devices 165. - To enable secure communication with the
example security device 130 and/or to enable authentication of theexample upgrade package 140, theexample printer 105 ofFIG. 1 includes asecurity device 170. Theexample security device 170 may be any number and/or type(s) of security device(s), such as a smartcard IC, capable to authenticate thesecurity device 130 and/or theupgrade cartridge 115 containing thesecurity device 130 to theexample printer 105. In the example ofFIG. 1 , thecontroller 135 together with thesecurity device 170 implement and/or carry out any number and/or type(s) of security and/or authentication protocol(s) and/or message(s) with thesecurity device 130 that allow thecontroller 135 to authenticate the identity of thesecurity device 130 and/or theupgrade data 110, and/or for thecontroller 135 to authenticate theupgrade package 140 prior to thecontroller 135 applying theupgrade package 140. In the example ofFIG. 1 , thecontroller 135 together with thesecurity device 170 implement an authentication protocol with thesecurity device 130 based on aunique identifier 175 securely stored in thesecurity device 170. While the illustrated example ofFIG. 1 employs authentication and secure data storage to prevent unauthorized access to theupgrade data 110 and/or to ensure theupgrade package 140 has not been tampered with, theimage forming apparatus 105 may be upgraded without authentication and/or secure data storage, obviating the need for theexample security device 130 and thesecurity device 170. While not shown inFIG. 1 , in some examples theexample security device 170 implements and/or includes the example non-volatilememory 145. - In some examples, after the
upgrade cartridge 115 has been used to upgrade theprinter 105, theexample identifier 175 is written as aninstall ID 180 in a secure memory orstorage area 185 of thesecurity device 130. In other examples a portion of theidentifier 175 or a modified version of the identifier 175 (e.g., a cryptographic hash) may be written as theinstall ID 180. In some examples, theinstall ID 180 and the complement of theinstall ID 180 are stored at two different byte-aligned memory locations within thememory area 185. If theupgrade cartridge 115 is authorized to upgrade more than one printer 105 (e.g., five), thememory area 185 stores theidentifier 175 or a portion or derivative thereof of each upgradedprinter 105 and a count (not shown) of the number of upgrades that have already been completed. The count may limit the number of times theupgrade cartridge 115 can be used for upgrades. Thus, when the count reaches a limit, theupgrade cartridge 115 may not be used to perform any additional upgrades. Additionally or alternatively, the count may be omitted and when each of a plurality of installIDs 180 have been written to theupgrade cartridge 115, theupgrade cartridge 115 may not be used to perform any additional upgrades. In some examples, thesecure storage 185 includes anupgrade flag 190 to designate whether theupgrade cartridge 115 is an upgrade cartridge. - While the
example upgrade cartridges 115 described herein include asingle upgrade flag 190 andcorresponding upgrade data 110, anupgrade cartridge 115 may contain any number ofupgrade flags 190 corresponding to any number and/or type(s) ofupgrade data 110 available via theupgrade cartridge 115. - While the
example upgrade cartridge 115 ofFIG. 1 includes theexample security device 130 and theexample upgrade data 110, another cartridge supported by theprinter 105 need not include thesecurity device 130 and/or theupgrade data 110. For example, only special-purpose upgrade cartridges 115 may include theexample security device 130 and theexample upgrade data 110. These special-purpose upgrade cartridges 115 could be sold (e.g., at a premium relative to cartridges that are not special purpose), provided free to high-volume and/or high-value customers, and/or provided free to all users to allow users to upgrade theirprinters 105. In some examples, upgrades occur without user knowledge and/or user interaction. In other examples, a user of theprinter 105 needs to confirm, allow and/or acknowledge the upgrade(s) (e.g., using one or more buttons of theprinter 105 and/or via a user interface implemented by thehost 155 communicatively coupled to the printer 105) prior to the upgrade(s) being applied. - While an
example printer 105 and anexample upgrade cartridge 115 have been illustrated inFIG. 1 one or more of the interfaces, data structures, elements, processes and/or devices illustrated inFIG. 1 may be combined, divided, re-arranged, omitted, eliminated and/or implemented in any other way. Further, theexample upgrade data 110, the example chamber(s) 120, theexample supply bay 125, theexample security device 130, theexample controller 135, the examplenon-volatile memory 145, theexample FLASH 160, theexample RAM 165, theexample security device 170, the examplesecure storage 185 and/or, more generally, theexample printer 105 and theexample upgrade cartridge 115 ofFIG. 1 may be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware. Thus, for example, any of theexample upgrade data 110, the example chamber(s) 120, theexample supply bay 125, theexample security device 130, theexample controller 135, the examplenon-volatile memory 145, theexample FLASH 160, theexample RAM 165, theexample security device 170, the examplesecure storage 185 and/or, more generally, theexample printer 105 and theexample upgrade cartridge 115 may be implemented by the example process platform P100 ofFIG. 8 and/or one or more circuit(s), programmable processor(s), application-specific integrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)), field-programmable logic device(s) (FPLD(s)), and/or field-programmable gate array(s) (FPGA(s)), etc. When any apparatus claim of this patent incorporating one or more of these elements is read to cover a purely software and/or firmware implementation, at least one of theexample upgrade data 110, the example chamber(s) 120, theexample supply bay 125, theexample security device 130, theexample controller 135, the examplenon-volatile memory 145, theexample FLASH 160, theexample RAM 165, theexample security device 170, the examplesecure storage 185 and/or, more generally, theexample printer 105 and theexample upgrade cartridge 115 is hereby expressly defined to include a tangible article of manufacture such as a tangible computer-readable medium storing the firmware and/or software. - As used herein, the term “tangible computer-readable medium” is expressly defined to include any type of computer-readable medium and to expressly exclude propagating signals. As used herein, the term “non-transitory computer-readable medium” is expressly defined to include any type of computer-readable medium and to exclude propagating signals. Example tangible and/or non-transitory computer-readable medium include a volatile and/or non-volatile memory, a volatile and/or non-volatile memory device, a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a read-only memory (ROM), a random-access memory (RAM), a programmable ROM (PROM), an electronically-programmable ROM (EPROM), an electronically-erasable PROM (EEPROM), an optical storage disk, an optical storage device, magnetic storage disk, a magnetic storage device, a cache, and/or any other storage media in which information is stored for any duration (e.g., for extended time periods, permanently, brief instances, for temporarily buffering, and/or for caching of the information) and which can be accessed by a processor, a computer and/or other machine having a processor, such as the example processor platform P100 discussed below in connection with
FIG. 8 . Further still, theexample printer 105 and/or theexample upgrade cartridge 115 may include interfaces, data structures, elements, processes and/or devices instead of, or in addition to, those illustrated inFIG. 1 and/or may include more than one of any or all of the illustrated interfaces, data structures, elements, processes and/or devices. -
FIGS. 2-7 illustrate example interactions and example processes that may be implemented using machine-accessible instructions, which may be carried out to upgrade theexample printer 105. A processor, a controller and/or any other suitable processing device may be used, configured and/or programmed to execute and/or carry out the example interactions, the example processes and/or the example machine-accessible instructions ofFIGS. 2-7 . For example, the example interactions, the example processes and/or the example machine-accessible instructions ofFIGS. 2-7 may be embodied in program code and/or instructions in the form of machine-readable instructions stored on a tangible computer-readable medium, and which can be accessed by a processor, a computer and/or other machine having a processor such as the example processor platform P100 ofFIG. 8 . Machine-readable instructions comprise, for example, instructions that cause a processor, a computer and/or a machine having a processor to perform one or more particular processes. Alternatively, some or all of the example interactions, the example processes and/or the example machine-accessible instructions ofFIGS. 2-7 may be implemented using any combination(s) of ASIC(s), PLD(s), FPLD(s), FPGA(s), discrete logic, hardware, firmware, etc. Also, some or all of the example interactions, the example processes and/or the example machine-accessible instructions ofFIGS. 2-7 may be implemented manually or as any combination of any of the foregoing techniques, for example, any combination of firmware, software, discrete logic and/or hardware. Further, many other methods of implementing the examples ofFIGS. 2-7 may be employed. For example, the order of execution may be changed, and/or one or more of the blocks and/or interactions described may be changed, eliminated, sub-divided, or combined. Additionally, any or all of the example interactions, the example processes and/or the example machine-accessible instructions ofFIGS. 2-7 may be carried out sequentially and/or carried out in parallel by, for example, separate processing threads, processors, devices, discrete logic, circuits, etc. -
FIG. 2 illustrates an example process, which may be implemented as machine-accessible instructions executed by a processor, to upgrade theexample printer 105 ofFIG. 1 . The example machine-accessible instructions ofFIG. 2 begin when theexample controller 135 ofFIG. 1 detects that a cartridge (e.g., the example upgrade cartridge 115) has been installed and/or inserted into theexample supply bay 125. Theexample controller 135 together with theexample security device 170 interact with theexample security device 130 of the installedcartridge 115 to authenticate the identity of thecartridge 115 by, for example, carrying out the example interactions and processes ofFIG. 3 (block 205). - The
example controller 135 verifies that the installedcartridge 115 is an upgrade cartridge and has an available upgrade by, for example, carrying out the example interactions and processes ofFIG. 4 (block 210). Carrying out the example interactions and processes ofFIG. 5 , for example, theupgrade cartridge 115 is marked as having been used to upgrade the printer 105 (block 215). - The
example controller 135 obtains theexample upgrade package 140 from theexample upgrade cartridge 115 by, for example, carrying out the example interactions and processes ofFIG. 6 (block 220). Theexample upgrade package 140 includes theexample upgrade data 110 and one or more additional pieces of data and/or information that thecontroller 130 and thesecurity device 170 can use to verify the authenticity of theupgrade package 140. Example additional data and/or information include, but are not limited to, a message authentication code, a secure signature and/or an encryption signature. Thecontroller 135 together with theexample security device 170 verify the authenticity of the upgrade package 140 (block 225) and stores the authenticatedupgrade package 140 in the non-volatile memory 145 (block 230). In some examples, theupgrade package 140 together with other parameters and/or values that may be used to subsequently authenticate the contents of theupgrade package 140 are stored in thenon-volatile memory 145. The authentication performed atblock 225 in the example ofFIG. 2 is conventional authentication performed in connection with secure transactions. In some examples, theupgrade package 140 may be stored in thenon-volatile memory 145 without being authenticated atblock 225. Example interactions and processes that may be carried out to implement theblocks FIG. 6 . Control then exits from the example process ofFIG. 2 . -
FIG. 3 illustrates example interactions and processes, which may be implemented as machine-accessible instructions executed by a processor, to authenticate the identity of an installed cartridge. The example process ofFIG. 3 may be carried out when, for example, theexample controller 135 detects that theexample cartridge 115 has be inserted and/or installed in theexample bay 125. Theexample controller 135 and the example security device initiate 305 a secure communication session. Theexample controller 135requests 310 authentication credentials from theexample security device 130. In response to therequest 310, theexample security device 130 provides one or more authentication credentials 315 (e.g., a session key ID, a signature, a tamperproof ID, etc.). - Using the provided
authentication credentials 315, theexample controller 135 authenticates 320 the identity of thesecurity device 130. Thesecurity device 170 provides anindication 325 to thecontroller 135 indicating whether the identity of thesecurity device 130 was successfully authenticated. If theresponse 325 is TRUE (i.e., the identity of thesecurity device 130 was authenticated) (block 330), the example process ofFIG. 3 returns to, for example, block 210 ofFIG. 2 . If theresponse 325 is FALSE (block 330), the control exits from the example ofFIG. 3 terminating, for example, the example process ofFIG. 2 . In some examples, the secure session and the authentication of thesecurity device 130 are implemented in accordance with the advanced encryption standard (AES) as implemented by commercially available smartcard ICs. -
FIG. 4 illustrates example interactions and processes, which may be implemented as machine-accessible instructions executed by a processor, to verify an installed cartridge is an upgrade cartridge. The illustrated example ofFIG. 4 begins with theexample controller 135 requesting 404 the example installID 180 and theexample upgrade flag 190 from theexample security device 130. In response to the request, thesecurity device 130 returns 408 the contents of the installID 180 and theupgrade flag 190. In some examples, the installID 180 contains a first value and a second value representing the complement of the first value, when theupgrade data 110 has been installed. - Based on the
response 408 provided by thesecurity device 130, theexample controller 135 authenticates 412 theresponse 408 by, for example, verifying a signature included in theresponse 408. Thesecurity device 170 provides anindication 414 to thecontroller 135 indicating whether theresponse 408 was successfully authenticated. If theresponse 414 is FALSE (theresponse 408 was not authenticated) (block 420), control exits from the example ofFIG. 4 terminating, for example, the example process ofFIG. 2 . - If the
response 414 is TRUE (i.e., theresponse 408 was authenticated) (block 420), theexample controller 135 determines whether the upgrade flag is set to TRUE representing theupgrade data 110 has not been installed and the install ID is set to a NULL value (block 424). If upgrade flag is set to TRUE and the install ID is set to a NULL value (block 424), control returns from the illustrated ofFIG. 4 to, for example, block 215 ofFIG. 2 . - Otherwise, the
controller 135 determines whether the upgrade flag is set to TRUE and the install ID indicates theupgrade cartridge 115 was previously used to upgrade the printer 105 (block 428). For example, a first value of the install ID may be compared to theexample ID 175 and a second value of the install ID compared to the complement of theID 175. If both comparisons are TRUE, then theupgrade cartridge 115 may be considered as having been previously used to upgrade theprinter 105. If upgrade flag is set to TRUE and the install ID indicates theupgrade cartridge 115 was previously used to upgrade the printer 105 (block 428), control returns from the illustrated ofFIG. 4 to, for example, block 215 ofFIG. 2 . Otherwise, control exits from the example ofFIG. 4 terminating, for example, the example process ofFIG. 2 . -
FIG. 5 illustrates example interactions and processes, which may be implemented as machine-accessible instructions executed by a processor, to mark an upgrade cartridge as having been used to upgrade a printer. The illustrated example ofFIG. 5 begins with theexample controller 135 determining whether the upgrade is being re-installed (block 504). For example, a first value of the install ID may be compared to theexample ID 175 and a second value of the install ID compared to the complement of theID 175. If both comparisons are TRUE, then theupgrade cartridge 115 may be considered as having been previously used to upgrade theprinter 105. If the upgrade is being re-installed (block 504), control exits from the illustrated example ofFIG. 5 terminating, for example, the example process ofFIG. 2 . - If the upgrade is not a re-install (block 504), the
controller 135 sends a store or writecommand 508 to the security device instructing thecontroller 135 to set the installID 180 to, for example, theID 175. In some examples, a first value of the installID 180 is set equal to theID 175, and a second value of the installID 180 is set equal to the complement of theID 175. When the write is complete, thesecurity device 130 provides aresponse 512 acknowledging the write was completed. - Based on the
response 512 provided by thesecurity device 130, theexample controller 135 authenticates 516 theresponse 512 by, for example, verifying a signature included in theresponse 512. Thesecurity device 170 provides anindication 520 to thecontroller 135 indicating whether theresponse 512 was successfully authenticated. If theresponse 520 is FALSE (theresponse 512 was not authenticated) (block 524), control exits from the illustrated example ofFIG. 5 terminating, for example, the example process ofFIG. 2 . If theresponse 520 is TRUE (block 524), control returns from the illustrated example ofFIG. 5 to, for example, block 220 ofFIG. 2 . -
FIG. 6 illustrates example interactions and processes, which may be implemented as machine-accessible instructions executed by a processor, to obtain an upgrade package from an upgrade cartridge and securely store the upgrade package on a printer. The illustrated example ofFIG. 6 begins with theexample controller 135 requesting 604 theupgrade package 140 from thesecurity device 130. In response to therequest 604, thesecurity device 130 provides theupgrade package 140. - The
example controller 135 authenticates 608 theupgrade package 140 by, for example, verifying a signature or message authentication code included in thepackage 140. Thesecurity device 170 provides anindication 612 to thecontroller 135 indicating whether theupgrade package 140 was successfully authenticated. If theresponse 612 is FALSE (theupgrade package 140 was not authenticated) (block 616), control exits from the illustrated example ofFIG. 6 terminating, for example, the example process ofFIG. 2 . - If the
response 612 is TRUE (block 616), the controller writes orstores 620 theupgrade package 140 together with any number and/or type(s) of other parameter(s) and/or value(s) that may be used to subsequently authenticate the contents of theupgrade package 140 in thenon-volatile memory 145 and/or in thememory 150. Control exits from the illustrated example ofFIG. 6 , ending, for example, the example process ofFIG. 2 . -
FIG. 7 illustrates an example process, which may be implemented as machine-accessible instructions executed by a processor, to apply an upgrade package obtained from an upgrade cartridge. The example process may be carried out, for example, each time theexample printer 105 is initialized to re-apply and/or re-activate each upgrade every time theexample printer 105 is initialized. - The example process of
FIG. 7 begins with theexample controller 135 reading theupgrade package 140 from the non-volatile memory 145 (block 705). Theexample controller 135 verifies that theupgrade package 140 is an upgrade package associated with theprinter 105 by, for example, carrying out theexample operations FIG. 4 (block 710). Theexample controller 135 verifies the authenticity of theupgrade package 140 by, for example, carrying out theexample operations FIG. 6 (block 715). In some examples, the operations ofblock 710 may be implemented as a part of theblock 715. - The
controller 135 applies the authenticated upgrade package 140 (block 720) by, for example, updating a table or other data structure that represents the features, functions and/or capabilities that are enabled, active and accessible. For example, theFLASH 160 may contain a default feature table that is loaded by thecontroller 135 into theRAM 165 during initialization. When theupgrade package 140 is applied, one or more entries of the feature table in theRAM 165 are updated to enable, activate and/or make accessible one or more additional features, functions and/or capabilities represented and/or identified in theupgrade package 140. -
FIG. 8 is a schematic diagram of an example processor platform P100 that may be used and/or programmed to execute the example interactions, the example processes and/or the example machine readable instructions represented by any or all ofFIGS. 2-7 . One or more general-purpose processors, processor cores, microcontrollers, etc may be used to implement the processor platform P100. - The processor platform P100 of the example of
FIG. 8 includes at least one programmable processor P105. The processor P105 executes coded instructions P110 and/or P112 present in main memory of the processor P105 (e.g., within a RAM P115 and/or a ROM P120). The processor P105 may be any type of processing unit, such as a processor core, a processor and/or a microcontroller. The processor P105 may execute, among other things, the example machine-accessible instructions ofFIGS. 3-6 to upgrade theexample printer 105 ofFIG. 1 . Thus, the coded instructions P110, P112 may include the instructions ofFIGS. 2-7 . - The processor P105 is in communication with the main memory (including a ROM P120 and/or the RAM P115) via a bus P125. The RAM P115 may be implemented by dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), and/or any other type of RAM device. The ROM P120 may be implemented by flash memory and/or any other desired type of memory device. Access to the memory P115 and the memory P120 may be controlled by a memory controller. The example memory P115 may be used to, for example, implement the example
non-volatile memory 145. - The processor platform P100 also includes an interface circuit P130. Any type of interface standard, such as an external memory interface, serial port, general-purpose input/output, etc, may implement the interface circuit P130. One or more input devices P135 and one or more output devices P140 are connected to the interface circuit P130. The example input and output devices P135 and P140 may be used, for example, to implement an I2C interface.
- Although certain example methods, apparatus and articles of manufacture have been described herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the claims of this patent either literally or under the doctrine of equivalents.
Claims (14)
1. A secure upgrade method comprising:
receiving a request at an imaging supply (115) for an authentication credential associated with the imaging supply (115);
providing the authentication credential to an image forming apparatus (105), the provided authentication credential useable by the image forming apparatus (105) to authenticate an identity of the imaging supply (115); and
providing upgrade data (110) to the image forming apparatus (105), the provided upgrade data (110) authenticatable at the image forming apparatus (105) based on the identity of the imaging supply (115), and useable by the image forming apparatus (105) to enable a capability of the image forming apparatus (105).
2. A method as defined in claim 1 , further comprising providing first and second identifiers to the image forming apparatus (105) via the secure communication session, the two identifiers useable to determine whether to upgrade the image forming apparatus (105) from the imaging supply (115).
3. A method as defined in claim 1 , further comprising receiving from the image forming apparatus (105) a first value to be written in a first memory location associated with the first identifier and a second value to be written in a second memory location associated with the second identifier, the first and second values identifying that the imaging supply (115) has been used to upgrade the image forming apparatus (105).
4. A method as defined in claim 1 , further comprising receiving a request from the image forming apparatus (105) for the upgrade data (110).
5. A method as defined in claim 1 , further comprising providing a message authentication code to the image forming apparatus (105), the message authentication code usable to authenticate the upgrade data (110).
6. An upgrade supply (115) comprising:
a memory (185) to store an upgrade (110); and
a security module (130) to receive a request for an authentication credential associated with an image forming apparatus (105), provide the authentication credential to the image forming apparatus (105), the provided authentication credential useable by the image forming apparatus (105) to authenticate an identity of the upgrade supply (115), and provide the upgrade (110) to the image forming apparatus (105), the provided upgrade (110) being authenticatable at the image forming apparatus (105) based on the identity of the upgrade supply (115), and useable by the image forming apparatus (105) to activate a capability of the image forming apparatus (105).
7. An upgrade supply (115) as defined in claim 6 , wherein the memory (185) is to store first and second identifiers, the first and second identifiers representing whether the upgrade (110) may be used to upgrade the imaging forming apparatus (105).
8. An upgrade supply (115) as defined in claim 6 , wherein the memory (185) is to store a first value indicating whether the upgrade supply (115) contains the upgrade (110).
9. An upgrade supply (115) as defined in claim 6 , wherein the memory comprises tamperproof storage.
10. An upgrade supply (115) as defined in claim 6 , further comprising a chamber (120) to store at least one of an ink, a dye or a liquid.
11. A tangible article of manufacture storing machine-readable instructions that, when executed, cause an upgrade imaging supply (115) to at least:
receive a request at the upgrade imaging supply (115) for an authentication credential associated with the upgrade imaging supply (115);
provide the authentication credential to the image forming apparatus (105), the provided authentication credential useable by the image forming apparatus (105) to authenticate an identity of the upgrade imaging supply (115); and
provide upgrade data (110) to the image forming apparatus (105), the provided upgrade data authenticatable at the image forming apparatus (105) based on the identity of the upgrade imaging supply (115), and useable by the image forming apparatus (105) to activate a capability of the image forming apparatus (105).
12. A tangible article of manufacture as defined in claim 11 , wherein the machine-readable instructions, when executed, cause the upgrade imaging supply (115) to provide first and second identifiers to the image forming apparatus (105) via the secure communication session, the two identifiers useable to determine whether to upgrade the image forming apparatus (105) from the upgrade imaging supply (115).
13. A tangible article of manufacture as defined in claim 12 , wherein the machine-readable instructions, when executed, cause the upgrade imaging supply (115) to receive from the image forming apparatus (105) a first value to be written in a first memory location associated with the first identifier and a second value to be written in a second memory location associated with the second identifier, the first and second values identifying that the upgrade imaging supply (115) has been used to upgrade the image forming apparatus (105).
14. A tangible article of manufacture as defined in claim 11 , wherein the machine-readable instructions, when executed, cause the upgrade imaging supply (115) to provide a message authentication code to the image forming apparatus (105), the message authentication code usable to authenticate the upgrade data (110).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2010/048143 WO2012033489A1 (en) | 2010-09-08 | 2010-09-08 | Secure upgrade supplies and methods |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2010/048143 A-371-Of-International WO2012033489A1 (en) | 2010-09-08 | 2010-09-08 | Secure upgrade supplies and methods |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/879,656 Continuation US9639794B2 (en) | 2010-09-08 | 2015-10-09 | Secure upgrade supplies and methods |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130169992A1 true US20130169992A1 (en) | 2013-07-04 |
Family
ID=45810907
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/821,917 Abandoned US20130169992A1 (en) | 2010-09-08 | 2010-09-08 | Secure upgrade supplies and methods |
US14/879,656 Active US9639794B2 (en) | 2010-09-08 | 2015-10-09 | Secure upgrade supplies and methods |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/879,656 Active US9639794B2 (en) | 2010-09-08 | 2015-10-09 | Secure upgrade supplies and methods |
Country Status (5)
Country | Link |
---|---|
US (2) | US20130169992A1 (en) |
CN (1) | CN103098069B (en) |
DE (1) | DE112010005796B4 (en) |
TW (1) | TWI441027B (en) |
WO (1) | WO2012033489A1 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120327451A1 (en) * | 2011-06-23 | 2012-12-27 | Steven Miller | Method of Transforming an Imaging Machine |
US20160082740A1 (en) * | 2013-07-31 | 2016-03-24 | Hewlett-Packard Development Company, L.P. | Communicating a Classification of a Consumable Product |
WO2016124787A1 (en) * | 2015-02-06 | 2016-08-11 | Dover Europe Sarl | System for advanced protection of consumable or detachable elements |
US9798294B2 (en) | 2012-09-18 | 2017-10-24 | Nxp B.V. | System, method and computer program product for detecting tampering in a product |
CN113085378A (en) * | 2016-07-29 | 2021-07-09 | 多佛欧洲有限责任公司 | Advanced protection system for consumable or removable components of an industrial printer |
US11328098B2 (en) * | 2019-06-11 | 2022-05-10 | Stmicroelectronics (Rousset) Sas | Electronic circuit |
US11435960B2 (en) * | 2018-12-04 | 2022-09-06 | Hewlett-Packard Development Company, L.P. | Print device functionalities |
US11919313B2 (en) | 2018-12-04 | 2024-03-05 | Hewlett-Packard Development Company, L.P. | Print device functionalities |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10210160B2 (en) | 2010-09-07 | 2019-02-19 | Opentv, Inc. | Collecting data from different sources |
US9699503B2 (en) | 2010-09-07 | 2017-07-04 | Opentv, Inc. | Smart playlist |
US8949871B2 (en) | 2010-09-08 | 2015-02-03 | Opentv, Inc. | Smart media selection based on viewer user presence |
US10080060B2 (en) | 2013-09-10 | 2018-09-18 | Opentv, Inc. | Systems and methods of displaying content |
EP3319069B1 (en) * | 2016-11-02 | 2019-05-01 | Skeyecode | Method for authenticating a user by means of a non-secure terminal |
US10789364B2 (en) * | 2018-05-02 | 2020-09-29 | Nxp B.V. | Method for providing an authenticated update in a distributed network |
WO2020117417A1 (en) | 2018-12-04 | 2020-06-11 | Hewlett-Packard Development Company, L.P. | Ink cartridge activation |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030215248A1 (en) * | 2002-05-17 | 2003-11-20 | Xerox Corporation | Machine post-launch process optimization through customer replaceable unit memory programming |
US20080260418A1 (en) * | 2003-08-15 | 2008-10-23 | Static Control Components, Inc. | System and Method For Remanufacturing Imaging Components |
US20080316533A1 (en) * | 2007-06-22 | 2008-12-25 | Konica Minolta Business Technologies, Inc. | Image forming apparatus, print control method thereof and print control program |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPO797897A0 (en) | 1997-07-15 | 1997-08-07 | Silverbrook Research Pty Ltd | Media device (ART18) |
US5995774A (en) * | 1998-09-11 | 1999-11-30 | Lexmark International, Inc. | Method and apparatus for storing data in a non-volatile memory circuit mounted on a printer's process cartridge |
US6163361A (en) | 1999-04-23 | 2000-12-19 | Eastman Kodak Company | Digital camera including a printer for receiving a cartridge having security control circuitry |
US6658219B1 (en) * | 1999-09-30 | 2003-12-02 | Fuji Photo Film Co., Ltd. | Method, device, system and recording medium for detecting improper cartridge, and cartridge |
JP2002312187A (en) * | 2001-04-11 | 2002-10-25 | Konica Corp | Imaging system, imaging device, management device, program rewrite method, and information storage medium |
US7095858B2 (en) | 2001-05-10 | 2006-08-22 | Ranco Incorporated Of Delaware | System and method for securely upgrading firmware |
US8200988B2 (en) | 2001-08-03 | 2012-06-12 | Intel Corporation | Firmware security key upgrade algorithm |
US20030063311A1 (en) | 2001-10-03 | 2003-04-03 | Covitt Marc L. | Method and apparatus identifying printing supplies |
EP1607821A1 (en) | 2004-06-17 | 2005-12-21 | Nagracard S.A. | Method for secure software upgrade in a security module |
US7623255B2 (en) * | 2004-10-22 | 2009-11-24 | Hewlett-Packard Development Company, L.P. | Printing device |
US7522732B2 (en) | 2004-11-09 | 2009-04-21 | Lexmark International, Inc. | Method for controlling the distribution of software code updates |
US7730326B2 (en) | 2004-11-12 | 2010-06-01 | Apple Inc. | Method and system for updating firmware stored in non-volatile memory |
US9489496B2 (en) | 2004-11-12 | 2016-11-08 | Apple Inc. | Secure software updates |
US20060143600A1 (en) | 2004-12-29 | 2006-06-29 | Andrew Cottrell | Secure firmware update |
JP5213428B2 (en) * | 2007-12-13 | 2013-06-19 | キヤノン株式会社 | Image forming apparatus monitoring system, image forming apparatus, firmware changing method, and program |
CN101251883B (en) * | 2008-03-11 | 2010-07-21 | 北京深思洛克软件技术股份有限公司 | Method for performing safety controllable remote upgrade for software protecting device |
US9009357B2 (en) | 2008-04-24 | 2015-04-14 | Micron Technology, Inc. | Method and apparatus for field firmware updates in data storage systems |
JP5261113B2 (en) * | 2008-09-29 | 2013-08-14 | キヤノン株式会社 | System, server, image forming apparatus, control method, and program |
-
2010
- 2010-09-08 US US13/821,917 patent/US20130169992A1/en not_active Abandoned
- 2010-09-08 CN CN201080069035.0A patent/CN103098069B/en active Active
- 2010-09-08 DE DE112010005796.6T patent/DE112010005796B4/en active Active
- 2010-09-08 WO PCT/US2010/048143 patent/WO2012033489A1/en active Application Filing
-
2011
- 2011-09-05 TW TW100131903A patent/TWI441027B/en not_active IP Right Cessation
-
2015
- 2015-10-09 US US14/879,656 patent/US9639794B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030215248A1 (en) * | 2002-05-17 | 2003-11-20 | Xerox Corporation | Machine post-launch process optimization through customer replaceable unit memory programming |
US20080260418A1 (en) * | 2003-08-15 | 2008-10-23 | Static Control Components, Inc. | System and Method For Remanufacturing Imaging Components |
US20080316533A1 (en) * | 2007-06-22 | 2008-12-25 | Konica Minolta Business Technologies, Inc. | Image forming apparatus, print control method thereof and print control program |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120327451A1 (en) * | 2011-06-23 | 2012-12-27 | Steven Miller | Method of Transforming an Imaging Machine |
US9798294B2 (en) | 2012-09-18 | 2017-10-24 | Nxp B.V. | System, method and computer program product for detecting tampering in a product |
US10036979B2 (en) * | 2013-07-31 | 2018-07-31 | Hewlett-Packard Development Company, L.P. | Communicating a classification of a consumable product |
US10386746B2 (en) * | 2013-07-31 | 2019-08-20 | Hewlett-Packard Development Company, L.P. | Communicating a classification of a consumable product |
US20170139348A1 (en) * | 2013-07-31 | 2017-05-18 | Hewlett-Packard Development Company, L.P. | Communicating a Classification of a Consumable Product |
EP3205503A1 (en) * | 2013-07-31 | 2017-08-16 | Hewlett-Packard Development Company, L.P. | Communicating a classification of a consumable product |
US20170299981A1 (en) * | 2013-07-31 | 2017-10-19 | Hewlett-Packard Development Company, L.P. | Communicating a Classification of a Consumable Product |
EP3564037A1 (en) * | 2013-07-31 | 2019-11-06 | Hewlett-Packard Development Company, L.P. | Communicating a classification of a consumbable product |
US9914306B2 (en) * | 2013-07-31 | 2018-03-13 | Hewlett-Packard Development Company, L.P. | Communicating a classification of a consumable product |
US9989886B2 (en) * | 2013-07-31 | 2018-06-05 | Hewlett-Packard Development Company, L.P. | Communicating a classification of a consumable product |
US20160082740A1 (en) * | 2013-07-31 | 2016-03-24 | Hewlett-Packard Development Company, L.P. | Communicating a Classification of a Consumable Product |
US10052878B2 (en) | 2015-02-06 | 2018-08-21 | Dover Europe Sàrl | System for advanced protection of consumable or detachable elements |
FR3032540A1 (en) * | 2015-02-06 | 2016-08-12 | Dover Europe Sarl | ADVANCED PROTECTION SYSTEM OF CONSUMABLE OR DETACHABLE ELEMENTS |
US10449774B2 (en) | 2015-02-06 | 2019-10-22 | Dover Europe Sàrl | System for advanced protection of consumable or detachable elements |
WO2016124787A1 (en) * | 2015-02-06 | 2016-08-11 | Dover Europe Sarl | System for advanced protection of consumable or detachable elements |
EP3739481A1 (en) * | 2015-02-06 | 2020-11-18 | Dover Europe Sàrl | Advanced protection system for consumable or detachable elements |
US10933646B2 (en) | 2015-02-06 | 2021-03-02 | Dover Europe Sàrl | System for advanced protection of consumable or detachable elements |
US11701893B2 (en) | 2015-02-06 | 2023-07-18 | Dover Europe Sàrl | System for advanced protection of consumable or detachable elements |
CN113085378A (en) * | 2016-07-29 | 2021-07-09 | 多佛欧洲有限责任公司 | Advanced protection system for consumable or removable components of an industrial printer |
US11435960B2 (en) * | 2018-12-04 | 2022-09-06 | Hewlett-Packard Development Company, L.P. | Print device functionalities |
US11919313B2 (en) | 2018-12-04 | 2024-03-05 | Hewlett-Packard Development Company, L.P. | Print device functionalities |
US11328098B2 (en) * | 2019-06-11 | 2022-05-10 | Stmicroelectronics (Rousset) Sas | Electronic circuit |
Also Published As
Publication number | Publication date |
---|---|
WO2012033489A1 (en) | 2012-03-15 |
US9639794B2 (en) | 2017-05-02 |
TW201229768A (en) | 2012-07-16 |
CN103098069B (en) | 2016-10-26 |
DE112010005796T5 (en) | 2013-05-16 |
US20160034802A1 (en) | 2016-02-04 |
DE112010005796B4 (en) | 2021-12-23 |
CN103098069A (en) | 2013-05-08 |
TWI441027B (en) | 2014-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9639794B2 (en) | Secure upgrade supplies and methods | |
US9989886B2 (en) | Communicating a classification of a consumable product | |
US20220131848A1 (en) | Management of Identifications of an Endpoint having a Memory Device Secured for Reliable Identity Validation | |
EP3700243A1 (en) | Security data processing device | |
JP2017215808A (en) | Information device, data processing system, data processing method, and computer program | |
US20170315472A1 (en) | Imaging supply memory | |
US12089049B2 (en) | Virtual subscriber identification module and virtual smart card | |
US20160154957A1 (en) | Protecting Data in Memory of a Consumable Product | |
US12298917B2 (en) | Online security services based on security features implemented in memory devices | |
US12075520B2 (en) | Cloud-service on-boarding without prior customization of endpoints | |
US12039318B2 (en) | Endpoint customization via online firmware store | |
US20220129390A1 (en) | Monitor Integrity of Endpoints having Secure Memory Devices for Identity Authentication | |
US20240094925A1 (en) | Methods for restricting read access to supply chips | |
US11811743B2 (en) | Online service store for endpoints | |
US20220131847A1 (en) | Subscription Sharing among a Group of Endpoints having Memory Devices Secured for Reliable Identity Validation | |
US20210036870A1 (en) | Method and integrated circuit for updating a certificate revocation list in a device | |
US9459577B2 (en) | Updating a supported-supplies database of an image forming apparatus | |
US20220129391A1 (en) | Track Activities of Endpoints having Secure Memory Devices for Security Operations during Identity Validation | |
CN115037491B (en) | Subscription sharing in a group of endpoints with storage devices protected for reliable authentication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PANSHIN, STEPHEN D.;WARD, JEFFERSON P.;NOVAK, DAVID B.;REEL/FRAME:030330/0421 Effective date: 20100907 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |