Skip to content

LCD communication process (security) #382

Closed
@faboweb

Description

The cosmos SDK provides a REST-server, that should provide all the functionality of the SDK. The question is, is the communication with this REST-server secure enough to send local passwords so that only the SDK can handle building of TX / signing of TX / sending of TX. This would be a major improvement for all app-developers building on top of the SDK, as they don't have to implement this round-trip themselves.

Process before:

UI -- (build request, including the data) -- SDK -- (unsigned tx) -- UI
UI -- (sign request, including the local password) -- SDK -- (signed tx) -- UI
UI -- (send request) -- SDK -- (result) -- UI

Process after:

UI -- (send request, including the local password and data) -- SDK -- (result) -- UI

Quoting @jaekwon:

What do you think? Trying to make the UX more secure by enforcing a separate process where one enters the key. We can have another electron app. If we could check for existence of internet (not by pinging our own servers... I wonder if there's a better way, like pinging DNS servers), and quit with a warning message if internet is found.

<electron-wallet Javascript>--(USB)--<HSM>
<electron-wallet ArmorString>--(file,QR,chirp)--<electron-ckeystore>
<electron-wallet ArmorString>--(file)--<ckeystore>

ckeystore will show the transaction JSON visually so one can inspect what they are about to sign.

Quoting @mappum from a meeting: (Correct me if quote you wrong)

The LCD REST-server is only local. The scenarios to compromise this communication assume that the computer already is compromised. In this case there are a variety of other attack vectors more dangerous then this one.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions