Show simple item record

dc.contributor.authorAthalye, Anish
dc.contributor.authorBelay, Adam M
dc.contributor.authorKaashoek, M. Frans
dc.contributor.authorMorris, Robert
dc.contributor.authorZeldovich, Nickolai
dc.date.accessioned2020-12-03T18:26:31Z
dc.date.available2020-12-03T18:26:31Z
dc.date.issued2019-10
dc.identifier.isbn978-1-4503-6873-5
dc.identifier.urihttps://hdl.handle.net/1721.1/128721
dc.description.abstractNotary 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.sponsorshipNSF (Awards CNS-1413920 and CNS-1812522)en_US
dc.language.isoen
dc.publisherAssociation for Computing Machinery (ACM)en_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/3341301.3359661en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alikeen_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/4.0/en_US
dc.sourceMIT web domainen_US
dc.titleNotary: a device for secure transaction approvalen_US
dc.typeArticleen_US
dc.identifier.citationAthalye, 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.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.relation.journalProceedings of the 27th ACM Symposium on Operating Systems Principlesen_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dc.date.updated2020-12-01T18:22:59Z
dspace.orderedauthorsAthalye, A; Belay, A; Kaashoek, MF; Morris, R; Zeldovich, Nen_US
dspace.date.submission2020-12-01T18:23:09Z
mit.licenseOPEN_ACCESS_POLICY
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record