Skip to content

Fingerprint pipe communications example #706

@MGibson1

Description

@MGibson1

While discussing native messaging at TPAC, I mentioned Bitwarden encrypts these communication channels.

It was asked that I share a quick demo of that experience.

Bitwarden-IPC-fingerprinting.mov

What is going on here is the browser extension creating a public/private key pair, sharing the public one along the unencrypted and insecure native messaging pipe to the desktop application. The desktop application calculates a fingerprint of the public key and asks the user to verify it is the same one calculated by the browser. In this way, we ensure that no middle party intercepted and injected a compromised key to spy on communications between the applications.

The user experience of validating the fingerprint is not perfect, but without a supervisor (probably the OS) validating both isolated communications between the two applications AND validating the identity of both parties, we need to rely on the user to do so.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions