Smart Contract Key Management for Secure Blockchain Certificate Issuance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
There is a challenge in establishing a system that safely delivers data to a smart contract deployed on a blockchain platform and issues certificates using the smart contract, as the private key of the certificate authority needs to be protected from exposure to all blockchain participants.
Innovation Solution
A system and method where a smart contract generates a pair of private and public keys, encrypts and decrypts data using these keys, and stores the decrypted private key as a local variable to prevent exposure, allowing the smart contract to issue electronically signed certificates securely.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the smart contract stores the private key of the certificate authority as a local variable, then the security of the private key is improved, but the ability of blockchain participants to verify and audit the smart contract is worsened
Solution Approach 1:
The patent introduces an intermediary mechanism where the private key is encrypted using a public key before being stored in the smart contract. This encrypted form acts as an intermediary representation that maintains security while allowing verification through the corresponding private key holder. The encryption layer mediates between the need for secrecy and the need for auditability.
Solution Approach 2:
The patent applies local quality by differentiating between what should be hidden (the decrypted private key) and what can be exposed (the encrypted private key and public key). The smart contract stores the private key in an encrypted state locally, making it inaccessible to participants while still allowing them to verify the contract's integrity through cryptographic proofs and the public key.
2Reliability
If the smart contract generates and stores the private key locally, then the security against key exposure is improved, but the complexity of key management and certificate issuance is worsened
Solution Approach 1:
The smart contract performs self-service by automatically generating its own private key pair and storing the private key encrypted within itself. This eliminates the need for external key management infrastructure, reducing overall system complexity while maintaining security. The contract autonomously manages its own cryptographic materials without requiring separate key management systems.
Solution Approach 2:
The private key is generated and encrypted in advance during smart contract deployment, before the certificate issuance process begins. This preliminary action ensures the key is already secured and ready for use, simplifying the subsequent certificate issuance operations. The encryption and storage are performed once during deployment rather than requiring repeated key management operations.
3Adaptability or versatility
If the smart contract decrypts and uses the private key for certificate issuance, then the functionality of certificate authority is improved, but the risk of private key exposure during decryption is worsened
Solution Approach 1:
The patent applies preliminary anti-action by pre-encrypting the private key with a public key before storage. This creates a protective barrier that prevents exposure during subsequent decryption operations for certificate issuance. The encryption is established in advance to counteract the potential harm of key exposure during operational use.
Solution Approach 2:
The public key encryption serves as an intermediary protective layer between the private key and potential exposure risks. During certificate issuance, the private key is decrypted only temporarily and never exposed in plaintext to external systems. The encryption mechanism mediates the balance between needing the key for functionality and protecting it from harm.
Data Source
AI summary
The present disclosure relates to a system and a method for a blockchain platform-based service, the method including generating, at a smart contract deployed on a blockchain platform, a pair of a first private key and a first public key, transmitting the first public key generated at the smart contract to a first computing device, receiving, at the smart contract, data encrypted with the first public key at the first computing device, decrypting, at the smart contract, the encrypted data with the first private key, and storing, at the smart contract, the data decrypted with the first private key as a local variable of the smart contract.


