IoTone / substrate-coffee-supplychain

A Coffee Supply Chain example based on A fork of the blockchain project substrate-enterprise-sample-v3 (Polkadot)
Apache License 2.0
0 stars 1 forks source link

Design an NFC/DID based identity system #2

Open truedat101 opened 2 years ago

truedat101 commented 2 years ago

The project needs a way to represent identities with an NFC tag and using concepts defined in https://w3c.github.io/did-core/

Start prototyping an architecture here.

truedat101 commented 2 years ago

@Damfortx8 can you start looking into how we might utilize NFC for the DID identity.

Concept: A user ID is tied to the NFC card and phone. I'm thinking we could store the secret key, encrypted in the NFC tag. It would be the job of the phone to prompt the user with a password, and decrypt the key, and then use the key data to sign transactions, etc.

I've reviewed the information here :https://docs.substrate.io/tutorials/v3/private-network/ to try to understand this a bit better.

truedat101 commented 2 years ago

@Damfortx8 the other concept I'd like to be able to perform is assign the identifier for a product into the NFC tag, and be able to scan the tag and load the verification of the entire "chain of custody" . In theory, this could simply open the web page of the view that shows the entire set of steps of creating this bag of coffee beans.

truedat101 commented 2 years ago

One issue I have had is getting the initial concept for how to use the NFC tags nailed down. I've been looking for some existing open source examples of NFC/blockchain utilization. In principle, the tag needs to store a private key in a secure element, and we'd use the app on a phone to unlock the tag and in theory, sign transactions.

truedat101 commented 2 years ago

I found a few projects as reference points:

truedat101 commented 2 years ago

There really isn't much published. That's a surprise.

truedat101 commented 2 years ago

Some details on the substrate/polkadot key/accounts:

Regarding our NFC tags we most definitely can fit them into memory! The ST25 tags that I have I think are mostly 256 bytes of data available. That means we can, in theory store a key pair. Yes!

truedat101 commented 2 years ago

I've verified there is a way to lock entire areas of the ST25 cards, password protect for read/write. User has to set up a pin sort of thing. While I can use this, maybe we just want to leave it insecure for a demo. Seems like something I can add later. TBD.