Skip to content

ShivKushwah/password-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Password Manager

Keystore with encryption to store website-password combinations

Document

App.cpp has the main method that calls Enclave functions in Enclave.cpp

In Enclave.cpp,

  • create_keystore -> initializes a KeyStoreBank object and sets the password for the entire password manager
  • add_password -> Sets the password and website to the current KeyStoreBank, and then sets the next pointer to a new KeyStoreBank
  • get_password -> Given the correct password to the password manager, iterates through all the KeyStoreBank objects to find the password for the given website
  • encrypt_and_serialize_key_store -> takes all of the KeyStoreBank objects and serializes them using the binn library. Then, uses scrypt to serialize this entire sequence. Outputs this encrypted block of memory. (When shutting down enclave, you should use this method to save the Password_Manager) decrypt_and_set_key_store -> given encryted memory generated by encrypt_and_serialize_key_store, sets up this password manager in the enclave

Installation

-Install Intex SGX SDK from https://01.org/intel-software-guard-extensions/downloads to Documents folder -clone this repo

  • cd ~/Documents/hello-enclave-master
  • source ~/Documents/linux-sgx-master/linux/installer/bin/sgxsdk/environment
  • make clean
  • make
  • ./app

Based on Below Template

Intel SGX "Hello World"

This is meant to be a base template for an Intel SGX application on Linux. Not sure if it is just me, but I feel the documentations on Intel SGX development on Linux is still sorely lacking. This meant to be a stub of a "Getting-started" tutorial.

This template is based on the SampleEnclave app of the sample enclaves provided with the Intel SGX Linux drivers and SDK.

Features

  • Sample code for doing ECALL
  • Sample code for doing OCALL
  • Sample code for sealing (can be taken out and patched into your enclave!)

TODO

  • Tutorial explaining what each directory and file is used for.

  • Write a getting started tutorial.

  • Tutorial on treating edls as static library (with the sealing functions as example)

Contribute

Any help for the above TODOs or any general feedback will be much appreciated! Go ahead and submit those PRs in!

About

Password Manager using Intel SGX SDK's enclave technology

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors