Protection of electronic designs
AssigneeXilinx, Inc.
InventorsBin Ochotta, Alec J. Wong, Nghia Do, Dennis McCrohan, David A. Knol, Premduth Vidyanandan, Satyam Jani
Life of this patent
Estimating the term…
Abstract
Removing protections on a session-key protected design include receiving a double encrypted vendor private key and an encrypted session key. The double encrypted vendor private key is decrypted into a single encrypted vendor-private key using a user private key, and the single encrypted vendor-private key is decrypted into a vendor private key using a vendor pass phrase. The encrypted session key is decrypted into a session key using the vendor private key, and the session-key protected design is decrypted into a plain design using the session key.
Claims15
A method comprising:
- receiving in a memory of a user computer, a double encrypted vendor private key, an encrypted session key, a session-key protected design, and metadata specifying a time period for which a vendor key-pair that includes the vendor private key is valid;
- obtaining a user private key by a design processing tool executing on a user computer processor;
- decrypting the double encrypted vendor private key into a single encrypted vendor-private key by the design processing tool using the user private key;
- decrypting the single encrypted vendor-private key into a vendor private key by the design processing tool using a vendor pass phrase;
- decrypting the encrypted session key into a session key by the design processing tool using the vendor private key;
- determining from the metadata whether or not the time period specified in the metadata has expired;
- denying decrypting of the session-key protected design in response to determining that the time period has expired;
- and
- decrypting the session-key protected design into a plain design by the design processing tool using the session key in response to determining that the time period has not expired.
A method comprising:
- receiving in a memory of a computer system a user public key, a vendor public key of a vendor key-pair, a vendor pass phrase, and metadata that specify a time period for which the vendor key-pair is valid, wherein the time period is testable at a time of decryption and permits or denies decryption of a user-deliverable package based on the time of decryption relative to the time period;
- encrypting a plaintext design using a session key by a design processing tool executing on the computer system, resulting in protected design;
- encrypting a vendor private key by the design processing tool using the vendor pass phrase, resulting in a single encrypted vendor private key;
- encrypting the session key by the design processing tool using the vendor public key into an encrypted session key;
- encrypting the single encrypted vendor private key into a double encrypted vendor private key by the design processing tool using the user public key;
- and
- generating the user-deliverable package by the design processing tool, the user-deliverable package including the encrypted session key, the double encrypted vendor private key, the protected design, and the metadata.
A system comprising:
- a processor;
- and
- a memory arrangement coupled to the processor and configured with instructions that when executed by the processor cause the processor to execute a design processing tool that performs operations including:
- receiving a double encrypted vendor private key, an encrypted session key, a session-key protected design, and metadata specifying a time period for which a vendor key-pair that includes the vendor private key is valid;
- obtaining a user private key;
- decrypting the double encrypted vendor private key into a single encrypted vendor-private key using the user private key;
- decrypting the single encrypted vendor-private key into a vendor private key using a vendor pass phrase;
- decrypting the encrypted session key into a session key using the vendor private key;
- determining from the metadata whether or not the time period specified in the metadata has expired;
- denying decrypting of the session-key protected design in response to determining that the time period has expired;
- and
- decrypting the session-key protected design into a plain design using the session key in response to determining that the time period has not expired.
Dependencies are inferred from the claim text.