dc.contributor.author | Athalye, Anish | |
dc.contributor.author | Belay, Adam M | |
dc.contributor.author | Kaashoek, M. Frans | |
dc.contributor.author | Morris, Robert | |
dc.contributor.author | Zeldovich, Nickolai | |
dc.date.accessioned | 2020-12-03T18:26:31Z | |
dc.date.available | 2020-12-03T18:26:31Z | |
dc.date.issued | 2019-10 | |
dc.identifier.isbn | 978-1-4503-6873-5 | |
dc.identifier.uri | https://hdl.handle.net/1721.1/128721 | |
dc.description.abstract | Notary is a new hardware and software architecture for running isolated approval agents in the form factor of a USB stick with a small display and buttons. Approval agents allow factoring out critical security decisions, such as getting the user’s approval to sign a Bitcoin transaction or to delete a backup, to a secure environment. The key challenge addressed by Notary is to securely switch between agents on the same device. Prior systems either avoid the problem by building single-function devices like a USB U2F key, or they provide weak isolation that is susceptible to kernel bugs, side channels, or Rowhammer-like attacks. Notary achieves strong isolation using reset-based switching, along with the use of physically separate systems-on-a-chip for agent code and for the kernel, and a machine-checked proof of both the hardware’s register-transfer-level design and software, showing that reset-based switching leaks no state. Notary also provides a trustworthy I/O path between the agent code and the user, which prevents an adversary from tampering with the user’s screen or buttons. We built a hardware/software prototype of Notary, using a combination of ARM and RISC-V processors. The prototype demonstrates that it is feasible to verify Notary’s reset-based switching, and that Notary can support diverse agents, including cryptocurrencies and a transaction approval agent for traditional client-server applications such as websites. Measurements of reset-based switching show that it is fast enough for interactive use. We analyze security bugs in existing cryptocurrency hardware wallets, which aim to provide a similar form factor and feature set as Notary, and show that Notary’s design avoids many bugs that affect them. | en_US |
dc.description.sponsorship | NSF (Awards CNS-1413920 and CNS-1812522) | en_US |
dc.language.iso | en | |
dc.publisher | Association for Computing Machinery (ACM) | en_US |
dc.relation.isversionof | http://dx.doi.org/10.1145/3341301.3359661 | en_US |
dc.rights | Creative Commons Attribution-Noncommercial-Share Alike | en_US |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-sa/4.0/ | en_US |
dc.source | MIT web domain | en_US |
dc.title | Notary: a device for secure transaction approval | en_US |
dc.type | Article | en_US |
dc.identifier.citation | Athalye, Anish et al. "Notary: a device for secure transaction approval." Proceedings of the 27th ACM Symposium on Operating Systems Principles (October 2019): 97–113 © 2019 The Author(s) | en_US |
dc.contributor.department | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory | en_US |
dc.relation.journal | Proceedings of the 27th ACM Symposium on Operating Systems Principles | en_US |
dc.eprint.version | Author's final manuscript | en_US |
dc.type.uri | http://purl.org/eprint/type/ConferencePaper | en_US |
eprint.status | http://purl.org/eprint/status/NonPeerReviewed | en_US |
dc.date.updated | 2020-12-01T18:22:59Z | |
dspace.orderedauthors | Athalye, A; Belay, A; Kaashoek, MF; Morris, R; Zeldovich, N | en_US |
dspace.date.submission | 2020-12-01T18:23:09Z | |
mit.license | OPEN_ACCESS_POLICY | |
mit.metadata.status | Complete | |