GGS-3: Encrypted Communication

Stage: Finalize

Definitions

Cryptography

The science and practice of securing communication and information through the use of mathematical techniques, algorithms, and protocols. Cryptography is used to protect the confidentiality, integrity, and authenticity of data.

Encryption

The process of converting plaintext data into an unreadable format, called ciphertext, using an algorithm and an encryption key. This ensures that only authorized parties with the appropriate decryption key can read the original data.

Communication

The exchange of information between two or more parties through various mediums. In the context of cryptography, communication refers to the transmission of data between users, often with an emphasis on confidentiality and security.

Communication is handled through Send and Receive calls in G6 developed software.

Communication Channel

The medium through which information is transmitted between parties. In a digital context, this could be a network, like the internet, or a physical medium like a fiber optic cable or radio frequency channel. A secure communication channel ensures that the information sent cannot easily be intercepted or altered by unauthorized entities.

Encrypted Communication

Communication that has been protected using encryption to ensure that its contents are only accessible by authorized recipients. The encryption ensures that, even if the communication is intercepted, it cannot be understood without the correct decryption key.

NCrypt Read Receipt

A system within the NCrypt application that allows both the sender and recipient to verify whether a message has been read. The read receipt works by generating a cryptographic signature when a message is accessed, which is then stored and can be verified on-chain or within the system. This mechanism provides proof of message delivery and read status without compromising the privacy or integrity of the message content. The read receipt ensures that a message's read status is verifiable, potentially using a blockchain-based infrastructure to store limited amount of metadata in a secure, tamper-proof manner.

NCrypt

Encrypted chat application in the Gen6 ecosystem.

It is an encrypted chat application within the Gen6 ecosystem, designed to provide secure and private communication between users. NCrypt uses cryptographic protocols to protect the confidentiality and integrity of messages exchanged through the platform.

NCrypt Threat Model

The NCrypt Threat Model identifies potential security risks and malicious actors that could compromise the confidentiality, integrity, and availability of the encrypted chat system. The model helps to define protections, mitigations, and necessary controls for each threat identified.

1. Malicious Actors

  • External Attacker: Intercepts messages to read them. Mitigation: End-to-end encryption (X25519, AES) ensures confidentiality.

  • Man-in-the-Middle (MITM): Alters or intercepts communication. Mitigation: Public key cryptography and digital signatures protect against tampering.

  • Malicious Insider: Exploits authorized access to steal data. Mitigation: Access controls, decentralized systems (e.g., blockchain) reduce trust in any single party.

  • Compromised End-User: Malware or social engineering compromises a user's device. Mitigation: Multi-factor authentication, secure key storage, and regular security updates.

2. Confidentiality Risks

  • Key Leakage: Exposing private keys allows message decryption. Mitigation: Secure key storage (hardware modules, encrypted browser storage).

  • Decryption Key Exposure: Private key exposure allows access to encrypted messages. Mitigation: Strong encryption and isolated storage for keys.

  • Read Receipts Meta: Read receipts are signed and submitted on-chain to making to proof immutable. It doesn't affect encryption, but there will be public information about reading a message (not its content).

3. Integrity Risks

  • Message Tampering: Altered messages during transmission. Mitigation: Digital signatures ensure message authenticity.

  • Replay Attacks: Reusing intercepted messages to cause confusion. Mitigation: Use of timestamps and nonces to prevent replay.

4. Availability Risks

  • Denial of Service (DoS): Overloading the system to prevent access. Mitigation: on G6 MW rate-limiting, DDoS protection, decentralized components.

  • Resource Exhaustion: Overconsumption of system resources. Mitigation: Efficient algorithms, input validation, and scalable architecture.

  • Spam Attacks: Sending too many messages.

    Mitigation: At least 5 GSX is needed to use the system and only 3 messages per second per user. We might require later PoH. More limitations might be added later.

5. Privacy Risks

  • Metadata: Public Keys and the optional Read Receipts are on-chain. Mitigation: Users can skip the on-chain part.

  • Unintended Data Exposure: Backup files might leak data. Mitigation: Encrypt backups before storing.

  • Malicious MiddleWare Instance: Someone hacks the MW instance used or manipulates it. Mitigation: Choose a trusted MW instance or self-host it.

6. Key Management Risks

  • Key Revocation: Failure to revoke compromised keys. Mitigation: Key revocation protocols and easy key replacement options.

  • Key Synchronization Issues: Mismatched or unsynced keys cause decryption failures. Mitigation: Automatic synchronization and user notifications for key issues.

  • Loss of Keys: User loses his/her keys or get compromised.

    Mitigation: Revoke the key through signature or through Gen6 governance. Securely, create new keys.

NCrypt Application Logic

Store of NCrypt Data

  1. Blockchain for matching G6 SS58 Public Keys to X25519 Public keys (public on-chain)

    1. Pallet used for this: postman

  2. Read Receipt System (signatures if a message was read or not, publicly verifiable)

    1. Pallet used for this: postman

  3. Plain text messages (as user types and data before encryption)

    1. Front-end only, loaded by trusted party or ran locally

  4. X25519 Private Key

    1. For daily use: Stored in browser storage

    2. Backup: user can choose how to store this key, FE privates mnemonic

  5. Encrypted messages (permissions required to access)

    1. Stored on a G6 Middleware instance with permissions

Who can use NCrypt messaging?

  • Anyone who has 105 GSX balance at least. This is a requirement to protect against spam. Additional measures on the backend also need to be in place to protect against spam.

  • Registering your public messaging key takes a minimal amount of AURA (denomination of GSX).

  • It is free to use the messaging, no balance is removed.

  • No identity required. No KYC.

  • No phone numbers needed.

  • Only requirement is the 105 GSX balance on the SS58 account used.

NCrypt Application Logic

Last updated

Was this helpful?