System and method for secured host-slave communication

US9231926B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9231926-B2
Application numberUS-201113308363-A
CountryUS
Kind codeB2
Filing dateNov 30, 2011
Priority dateSep 8, 2011
Publication dateJan 5, 2016
Grant dateJan 5, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A new system and method for communicating between a host device and one or more slave devices are presented. The system provides data error checking and correcting, data encryption, and robust slave address sequencing using a portion of a session key. The data encryption uses a second portion of the session key, which changes for each power cycle.

First claim

Opening claim text (preview).

What is claimed is: 1. Slave device circuitry, comprising: a processor and memory coupled thereto having stored therein program code instructions which, when executed by the processor, cause the processor to: following the slave device circuitry being reset, determine a seed value; receive a host number from a host that is substantially random; generate a session key based upon the determined seed value and the host number, the session key being substantially random and a single session key; perform encryption and decryption operations based on the generated session key on data to be transmitted and data received by the slave device circuitry, respectively; and determine an address value based on the generated session key for a slave device associated with the slave device circuitry for communicating with the host, wherein substantially random comprises being one of a true random number and a pseudorandom number, wherein a first portion of the session key is used by the processor for performing the encryption and decryption operations on the data to be transmitted and the data received by the slave device circuitry, respectively, and a second portion of the session key is used for determining the address value for the slave device associated with the slave device circuitry for communicating with the host, wherein the session key comprises a set of bits, wherein the first portion of the session key comprises a first predetermined subset of the set of bits, wherein the second portion of the session key comprises a second predetermined subset of the set of bits, and wherein the first predetermined subset of the set of bits is separate from the second predetermined subset of the set of bits. 2. The slave device circuitry of claim 1 , wherein the processor calculates a session identifier value following the slave device circuitry being reset, the session identifier value being based upon a session identifier value prior to the slave device circuitry being reset, the session key being based upon the calculated session identifier value. 3. The slave device circuitry of claim 2 , wherein the calculated session identifier value is the session identifier value prior to the slave device circuitry being reset that is incremented or decremented. 4. The slave device circuitry of claim 2 , wherein the processor determines a substantially random number based only upon the determined seed value, the calculated session identifier value and a serial number of the slave device, and wherein the session key is based upon the substantially random number. 5. The slave device of circuitry of claim 2 , wherein the processor determines a substantially random number based upon a SHA-1 algorithm of the determined seed value, the calculated session identifier value and a serial number of the slave device; identifies a slave random number from a portion of the substantially random number; and determines the session key based upon a hash-based message authentication code (HMAC) of the host number received from the host, the slave random number, a secret encryption key of the slave device and the session identifier value, the session key being a substantially random number. 6. The slave device circuitry of claim 1 , wherein the determined seed value is determined using a secure hash algorithm. 7. The slave device circuitry of claim 1 , wherein the determined seed value is substantially random. 8. The slave device circuitry of claim 1 , wherein the session key is based upon a secret encryption key of the slave device. 9. The slave device circuitry of claim 1 , wherein the instructions which cause the processor to determine the session key use a hash-based message authentication code (HMAC). 10. The slave device circuitry of claim 1 , wherein the encryption and decryption operations form part of a stream cipher for communicating with the host. 11. The slave device circuitry of claim 1 , wherein the determined seed value is based upon a seed value of the slave device prior to the slave device circuitry being reset. 12. The slave device circuitry of claim 1 , wherein a toner bottle includes the slave device circuitry. 13. The slave device circuitry of claim 1 , wherein the processor functions as a pseudorandom number generator that is initialized with the second portion of the session key, and a portion of an output of the pseudorandom number generator forms a portion of the address value of the slave device. 14. A computer program product stored in a non-transitory storage medium and having instructions which when executed by a processor in a slave device causes the processor to: following the slave device being reset, determine a seed value; receive a host number from a host that is substantially random; generate a session key based upon the determined seed value and the host number, the session key being substantially random and a single session key; perform encryption and decryption operations based upon the generated session key on data to be transmitted and data received by the slave device, respectively; and determine a new address value for the slave device for communicating with the host based upon the generated session key, wherein substantially random comprises being one of a true random number and a pseudorandom number, wherein a first portion of the session key is used to perform the encryption and decryption operations and a second portion of the session key is used to determine the new address value for the slave device for communicating with the host, wherein the session key comprises a set of bits, wherein the first portion of the session key comprises a first predetermined subset of the set of bits, wherein the second portion of the session key comprises a second predetermined subset of the set of bits, and wherein the first predetermined subset of the set of bits is separate from the second predetermined subset of the set of bits. 15. The computer program product of claim 14 , wherein the instructions cause the processor to calculate a session identifier value following the slave device being reset, the session identifier value being based upon a session identifier value prior to the slave device being reset, the session key being based upon the calculated session identifier value. 16. The computer program product of claim 15 , wherein the instructions cause the processor to determine a substantially random number based only upon the determined seed value, the calculated session identifier value and a serial number of the slave device, and wherein the session key is based upon the substantially random number. 17. The computer program product of claim 14 , wherein the determined seed value is determined using a hash algorithm. 18. The computer program product of claim 15 , wherein the instructions cause the processor to determine a substantially random number based upon a SHA-1 algorithm of the determined seed value, the calculated session identifier value and a serial number of the slave device, identify a slave random number from a portion of the substantially random number, and determine the session key based upon a hash-based message authentication code (HMAC) of the host number received from the host, the slave random number, a secret encryption key of the slave device and the session identifier value, the session key being a substantially random number. 19. The computer program product of claim 14 , wherein the determined seed value is substantially random. 20. The computer program product of claim 14 , wher

Assignees

Inventors

Classifications

  • involving random numbers or seeds · CPC title

  • wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption (cryptographic mechanisms or cryptographic arrangements for symmetric key encryption H04L9/06) · CPC title

  • Security improvement · CPC title

  • Key-lock mechanism · CPC title

  • H04L9/0866Primary

    involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9231926B2 cover?
A new system and method for communicating between a host device and one or more slave devices are presented. The system provides data error checking and correcting, data encryption, and robust slave address sequencing using a portion of a session key. The data encryption uses a second portion of the session key, which changes for each power cycle.
Who is the assignee on this patent?
Adkins Christopher Alan, Rademacher Timothy John, Lexmark Int Inc
What technology area does this patent fall under?
Primary CPC classification H04L63/0435. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 05 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).