Protecting Private Keys on Mobile Devices

dc.contributor.advisorSafavi-Naeini, Reyhane
dc.contributor.advisorSanders, Barry
dc.contributor.authorNgure, Joan Watiri
dc.contributor.committeememberYanushkevich, Svetlana
dc.contributor.committeememberWalker, Robert J.
dc.date2022-11
dc.date.accessioned2022-08-18T16:56:21Z
dc.date.available2022-08-18T16:56:21Z
dc.date.issued2022-08
dc.description.abstractA cryptocurrency wallet is a software stored in a user's device, such as a mobile phone or personal computer. This wallet software holds a public-private key pair that is used for digital cryptocurrency transactions, like Bitcoin. The private key is used to access, authorize and sign transactions, hence it should be secured. The public key on the other hand, serves as the user's public address. Mobile phones and personal computers are susceptible to device failure, external attacks, theft and loss. In the event of a user's device failure, the private key could become inaccessible. If the device is lost or stolen, the private key would fall into the wrong hands and the user will irrecoverably lose their funds. This thesis addresses the question of secure storage of the private key. More precisely, we study this problem such that the following conditions are satisfied: (i) The private key is broken into shares and stored on remote servers; (ii) A user can retrieve their private key by triggering a reconstruction protocol using only a human-memorable password, and the reconstruction is successful as long as at least some threshold number of servers are honest and available. We have designed and implemented a Password Protected Secret Sharing (PPSS) scheme, that can be used to construct a system that satisfies the above. Our PPSS uses two building blocks: (i) Threshold Password-Authenticated Key Exchange (TPAKE) protocol (for authentication); and (ii) A symmetric key encryption scheme (to emulate secure channels for sending the shares). The user divides the private key into shares, and stores each share on a different remote server. When the key is needed, the user enters their password to the device, and the device will reconstruct the secret key by contacting the servers and obtaining the stored shares. Our protocol is provably secure under Computational Diffie-Hellman (CDH) assumption, while providing state-of-the-art security guarantees. We give an implementation as an application for a mobile phone. Efficiency analysis shows that the proposed system is highly deployable.en_US
dc.identifier.citationNgure, J. W. (2022). Protecting private keys on mobile devices (Master's thesis, University of Calgary, Calgary, Canada). Retrieved from https://prism.ucalgary.ca.en_US
dc.identifier.urihttp://hdl.handle.net/1880/115109
dc.identifier.urihttps://dx.doi.org/10.11575/PRISM/40150
dc.language.isoengen_US
dc.publisher.facultyScienceen_US
dc.publisher.institutionUniversity of Calgaryen
dc.rightsUniversity of Calgary graduate students retain copyright ownership and moral rights for their thesis. You may use this material in any way that is permitted by the Copyright Act or through licensing that has been assigned to the document. For uses that are not allowable under copyright legislation or licensing, you are required to seek permission.en_US
dc.subjectPassword Protected Secret Sharingen_US
dc.subjectTPAKEen_US
dc.subjectWalleten_US
dc.subjectMobile Application Implementationen_US
dc.subject.classificationComputer Scienceen_US
dc.titleProtecting Private Keys on Mobile Devicesen_US
dc.typemaster thesisen_US
thesis.degree.disciplineComputer Scienceen_US
thesis.degree.grantorUniversity of Calgaryen_US
thesis.degree.nameMaster of Science (MSc)en_US
ucalgary.item.requestcopytrueen_US
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
ucalgary_2022_ngure_joan.pdf
Size:
519.43 KB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
2.62 KB
Format:
Item-specific license agreed upon to submission
Description: