Skip to content

[Feature] Make optional the use of remote TEE server to compute the proof #1630

Description

@Marlinski

Description

As per the documentation, when first scanning the passport with the app, the data is then sent, encrypted, to a remote TEE server for computing the proof. Would it be possible to have this step optional and instead compute the proof locally on the device. How practical would that be ?

Motivation

Since it is a one time step I'd rather have all my data stay on my device instead of being sent over the wire, albeit encrypted, to a remote server. The advantage of using ZK cryptography is precisely the idea of self custody and that no input nor any private data have to be sent anywhere to create / check the proof. Unless I am missing something, the TEE is only used to provide remote compute and speed up the computation of the proof. However the using the TEE introduces some vulnerability since ultimately the trust model of TEE is rooted on trusting Intel and the underlying supply chain to be uncompromised. I am curious how much time is saved against computing the proof on a smart phone ? Is this really impractical ? If we are talking mere minutes I'd be happy having it happening on my own device.

Proposed Solution (optional)

My proposed solution would be, after having scanned the passport details and NFC, to prompt the user to choose where he wants the proof to be computed, and explaining the benefits of using the TEE in terms of speed but having the option to choose to stay local if the user prefers to (maybe with an estimate).

Workspace (optional)

app, sdk/core

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    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