Inspiration

We are bored by the stack of documents that need to be stored at home, and we are bored of the documents that we should carry with us on a funny travel.

We were also worried about the environment impact of printing the same document for every procedure we need to get through, when we can just easily send the same copy to our institutions.

Therefore we are looking for an easily accessible application (/or a web application) that allows us to have access of all the official documents, our id, our passport, our visa, our taxes… We want a safe place to upload everything we want.

It bring of course a security concerns on centralized all of our data in one place. We thought about a secure way to access and store the data that we will develop later on.

What it does

User login

  • The government create the account when the user born
  • The parents are responsible of the account until a certain age (for example: 16)
  • Create a user’s private key
  • Create a public address and a private key
  • The user (or his family) choose a private key for Elgamal, our encryption algorithm
  • Encrypt the private key by using Elgamal encryption (so generation a public key)
  • Store the public address, private key, public key in the flash disk

What can user do:

  • Add/Delete/Find documents
  • Change user’s information (physical address, phone number….)
  • Careful: not all information will be possible to modify (for example: name)
  • Allowing someone/some government instance to get access to the documents

Lost the key:

  • Bring the id card, and regenerate a flash disk with the government
  • Disable the ancient key

How we built it

Challenges we ran into

We had to learn front-end on the go, because we were all more back-end oriented. Coline and Matthias had a lot of struggle learning and building a basic app with React JS, our chosen Javascript framework. Making the reading of the USB hardware key multi-platform was also a challenge.

Another common issue we ran into is that we did not defined straightforward goals from the beginning, and everyone had a idea of what we were doing that was a little different from the others.

Accomplishments that we're proud of

We are proud of all what we have done! We are proud of all what we have learned!

What we learned

We learned the concept and the basics of the Blockchain, why it is secure, and the advantages of a decentralized data storage solution. The implementation we learned about was Smart Contracts coded on the Etherum Blockchain.

We learned the basics of implementing a basic web app in Javascript using the React.JS framework and associated tools like WebStorm.

We also learned how to create an API with MongoDB, how to make use of it on a dynamic web app, and how to interact with it using a language we were more familiar with, C#.

What's next for AuthGov

Our goal is to reinforce security by implementing better algorithms, in order to make our solution viable for a real world situation. Our final objective is to present our solution to governments all around the world, for our vision is to make use of the numeric tools at our disposition to make every administrative procedure easier for everyone.

Share this project:

Updates