Fuxing Loh

About
Aug 16, 2023(6 months ago)

Written for levain.tech, and originally published on https://developer.levain.tech.

Provable Secure Custody Framework on Blockchain

Wallets created under the Provable Secure Custody framework prioritize security using end-to-end encryption and/or end-to-end custody. This ensures that every stage of the custody process is not just secure, but also provable, verifiable, and auditable.

Features of Provable Secure Custody:

  • User Sovereignty: With Provable Secure Custody, your custodian has zero access to your keys, ensuring that only you have control over your assets. This endorses complete user autonomy throughout the asset's lifecycle in our ecosystem.
  • Absolute User Responsibility: Because the custodian doesn't control your keys, if you misplace them, only your designated recovery methods can help you regain access. It's crucial to safeguard these methods.
  • Recovery without Central Access: While custodian aids in the creation of wallets, they don't hold the keys. However, they can provide recovery methods that guide you in regaining access to your assets. It's important to understand that these methods don't grant Levain any form of access to your assets. Their purpose is solely to assist. You are solely responsible for safeguarding your recovery methods. If they are lost or compromised, you may lose access to your assets.

Therefore, guarding your recovery methods is paramount. Ensure they're stored securely and consider multiple backup options.

Finally, to achieve a provable model in custody, the following must be present:

End-to-end encryption (E2EE)

In Provable Secure Custody, end-to-end encryption (E2EE) is a process of encryption where only the trusted actor(s) can read the payload. The payload is encrypted on a trusted device and decrypted solely on that device. No third party can access the payload in transit or at rest.

In the context of custody, the trusted actors are the approved users of the wallet, and the payload is the private key material that holds the crypto asset (also known as the public key or blockchain address). The private key material is encrypted on the user's device and is only decrypted on the user's device. They are never decrypted on custodian's servers or any other third party servers.

E2EE: The Private Key Material is encrypted on the user's device and sent to the server.

sequenceDiagram participant A as Trusted Device participant B as Servers A -->> A: Encrypt Private Key Material A ->> B: Request Encrypted Private Key Material B ->> B: Authentication & Authorization B ->> A: Send Encrypted Private Key Material A -->> A: Decrypt Encrypted Private Key Material

End-to-end custody (E2EC)

In Provable Secure Custody, end-to-end custody (E2EC) is a process of extreme custody where an entity or individual maintains absolute control and oversight over a crypto asset across the entire lifecycle. This includes the initial generation of the private key material that holds the crypto asset (also known as the public key or blockchain address) to the storage of the private key material and the process of transacting with the crypto asset.

This process of custody is also known as "self-custody" or "noncustodial", where no third party has the ability to influence (move, destroy, etc.) the crypto asset on-chain throughout the custody lifecycle.

E2EC: The Private Key Material never leaves the user's device in any form.

sequenceDiagram participant A as Trusted Device participant B as Servers A -->> A: Retrieve & Store Private Key Material B ->>+ A: Send Request for Signing A -->> A: Retrieve Private Key Material Locally A -->> A: Sign Request A ->>- B: Send Signed Request

Secure Element

The Secure Element (SE) is a component designed to securely generate, store, and manage cryptographic data, such as private keys.

To ensure the highest levels of security in key generation and management:

  • Random Number Generation:
    • The SE should generate genuinely secure random numbers to ensure the unpredictability and robustness of the private key material.
    • Any external manipulation, whether targeting the random number generation process or its output, must be prevented.
  • Key Management:
    • Purpose: The private key stored in the SE should solely be used for signing transactions.
    • Security: The key must remain within the SE's protected environment, ensuring it's never exposed to other processes or applications.

Secure Storage

The private key material must be stored in a secured storage that is tamper-proof, and tamper-evident. This includes the ability to detect any attempt to access the private key material and the ability to detect any attempt to tamper with the private key material.

With E2EE, the private key material is encrypted on the user's device and is only decrypted on the user's device.

With E2EC, the private key material never leaves the user's device in any form.

Type Key storage In-transit Key access?
End-to-end encryption (E2EE) On Levain's Server, in Encrypted format Encrypted before transit Only user
End-to-end custody (E2EC) Trusted Device Never Only user

Decentralization

Decentralization in custody ensures that crypto assets are not exposed to a single point of failure or reliant on a central entity. With the Provable Secure Custody model, access to these assets remains independent of the custody stack. Users can bypass the stack entirely and manage their assets directly on the blockchain. This model ensures:

  • Complete ignorance (or "zero knowledge") of the private key material.
  • Freedom to transfer the crypto asset without necessitating interaction with any system or third-party entity.

Transparent Interactions

Every transaction and interaction can be publicly verified on the blockchain. Beyond merely tracking the movement of crypto assets, this transparency extends to operations like the creation of addresses that store these assets. Transparent transactions shift trust dynamics: instead of relying on opaque or semi-opaque systems, trust is placed in a fully transparent public ledger, guaranteed and upheld by the network's consensus.

Provably Simple

Simplicity is a virtue in system design. When systems are easy to understand and verify, they foster greater trust and reduce the potential for errors or oversight. Conversely, overly complex systems can alienate users, complicating the verification process. Striving for simplicity is key to achieve a provably secure model.