Unity Network
  • Unity Network
    • Introduction
    • Unity Network FL Architecture
    • Data Security
    • Case Study
      • Flashback Overview
      • Registration
      • Integration
      • Model Training
      • Objectives and Outcomes
  • Unity Network SDK
    • Key Features
    • Registration
    • Node Setup
    • SDK Integration
      • Wallet Module
      • Node Module
  • Permissions Management
    • User Permissions
  • Model Training
    • Organization registration
    • Model Training Requests
    • Secure Training and Updates
      • Model Training
        • Model Loading and Initialization
        • Data Loading
        • Training
      • Secure Transmission of Encrypted Updates
        • ECDH Key Exchange for Secure Encryption Key Generation
        • Encrypt and Transmit Model Updates
        • Secure Aggregation and Decryption at Central Server
        • Distribute Updated Model and Continue Training
      • Sharing Model Updates with the Model Owner and Verifying Authenticity of Training
        • Construct the Merkle Tree and Commit to the Merkle Root
        • Log Hashes of Accessed Dataset Chunks During Training
        • Transmission of Model Updates, Merkle Proofs, and Hash Log to the Model Owner
        • Verification by the Model Owner
  • Training rewards
    • Incentivization Process
Powered by GitBook
On this page
  1. Model Training
  2. Secure Training and Updates
  3. Secure Transmission of Encrypted Updates

ECDH Key Exchange for Secure Encryption Key Generation

  1. Key Pair Generation on Each Node:

    • Each node generates a private-public key pair using Elliptic Curve Diffie-Hellman (ECDH). The private key is kept secure on the node, while the public key is shared with Unity Network’s central server.

  2. Public Key Sharing:

    • Each node sends its serialized public key to Unity Network’s central server over a secure communication channel (e.g., HTTPS or TLS). The central server will use this to establish the shared key.

  3. Central Server Key Pair Generation:

    • Unity Network’s central server also generates its own private-public key pair using ECDH. It shares its public key with each node, allowing both sides to compute a shared secret key.

  4. Shared Secret Key Computation:

    • Each node and the central server use their respective private keys and the other’s public key to compute a shared secret key. This shared secret will be used to derive a symmetric encryption key for securing the model updates.

  5. Symmetric Encryption Key Derivation:

    • The shared secret key is passed through a Key Derivation Function (KDF) to produce a symmetric encryption key. This key is unique to each node-server pair, ensuring that updates are securely encrypted before transmission.

PreviousSecure Transmission of Encrypted UpdatesNextEncrypt and Transmit Model Updates

Last updated 7 months ago