{"id":665757,"date":"2020-06-16T08:03:15","date_gmt":"2020-06-16T15:03:15","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?p=665757"},"modified":"2020-06-16T08:47:03","modified_gmt":"2020-06-16T15:47:03","slug":"tabellion-a-new-system-for-more-secure-independently-verifiable-legal-contracts","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/research\/blog\/tabellion-a-new-system-for-more-secure-independently-verifiable-legal-contracts\/","title":{"rendered":"Tabellion: A new system for more secure, independently verifiable legal contracts"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-666111 size-full\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/1400x788_NoLogo_Tabellion.gif\" alt=\"A animated diagram showing the Tabellion protocol users must follow. \" width=\"1400\" height=\"788\" \/><\/p>\n<p><em>Editor\u2019s Note: The author would like to give special thanks to his collaborators, <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.ics.uci.edu\/~ardalan\/\">Ardalan Amiri Sani<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, Professor of Computer Science at UC Irvine, <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.law.uci.edu\/faculty\/full-time\/kim\/\">Sung Eun (Summer) Kim<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, Professor of Law at UC Irvine, and UC Irvine students <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.ics.uci.edu\/~saeed\/index.html\">Saeed Mirzamohammadi<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, Yuxin (Myles) Liu, and Tianmei Ann Huang.<\/em><\/p>\n<p>In addition to my day job at Microsoft Research, I have been an active angel investor in the Seattle startup ecosystem. I have been an assistant fund manager with Seattle Angel, have co-founded the Grubstakes angel network, and have led multiple investment syndicate deals. In this role, I routinely sign and exchange lengthy legal documents. The standard practice is to either use DocuSign or print documents, sign them, and send the signature pages alone by postal mail. Both methods did not sit right with me.<\/p>\n<p>What if someone mistyped my email address in DocuSign, and some random person on the internet signed an important legal document in my name? What if the recipient of my inked signature pages inserts those pages into a contract that I never intended to sign? In high-risk transactions, signatures can be notarized. However, that adds a lot of burden\u2014I have to find a notary, arrange a time to use their services, and pay for their services. A similar burden exists with e-notaries that conduct their business over video calls. I wanted a better way to sign legal documents\u2014a way that is as iron clad as a notarized document, with the ease, simplicity, and low cost of pasting my signature into a PDF.<\/p>\n<p>Our team of researchers has worked to develop a technology that combines the assurance and security of notarized documents with the convenience of electronic signature methods. As our world continues to shift to more digital-centric methods of commerce, we must build systems that enable the formation of secure legal contracts while maintaining trust with all parties involved. Our work resulted in an ongoing research initiative called Tabellion, a prototype system for forming legal contracts that enlists the help of secure primitives to create self-evident contracts. Unlike other systems, Tabellion is designed to provide evidence that a signature is authentic, verify mutual assent to terms in a contract, and confirm that opportunities were provided to both parties to read the contract. The system is optimized for mobile devices, and contracts created with Tabellion can be validated by independent inspectors. Our research is presented in a paper accepted at <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.sigmobile.org\/mobisys\/2020\/program\/\">ACM MobiSys 2020<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> and is titled <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/tabellion-secure-legal-contracts-on-mobile-devices\/\">\u201cTabellion: Secure Legal Contracts on Mobile Devices.\u201d<\/a> We also encourage you to check out The University of California, Irvine Department of Computer Science\u2019s <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.cs.uci.edu\/tabellion-provides-secure-legal-contracts-on-mobile-devices\/\">blog post<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> on the Tabellion technology.<\/p>\n<h3>Combining expertise in trusted computing and understanding of the law<\/h3>\n<p>Working to build this technology required a multidisciplinary approach, combining legal experts and researchers versed in trusted computing technology. At ACM MobiSys 2018 in Germany, I sought out Professor Ardalan Amiri Sani to discuss this problem at length. I knew Ardalan well\u2014he was my intern for a year at Microsoft Research, working with me to improve the cellular data efficiency of the mobile app platform on Windows. His work on using trusted computing to solve mobile systems problems is very innovative, deep, and exceedingly well known, including <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/dl.acm.org\/doi\/abs\/10.1145\/2906388.2906391\">&#8220;Viola: Trustworthy Sensor Notifications for Enhanced Privacy on Mobile Systems,&#8221;<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/dl.acm.org\/doi\/abs\/10.1145\/3131672.3131688\">&#8220;Ditio: Trustworthy Auditing of Sensor Activities in Mobile & IoT Devices,&#8221;<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> and <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/dl.acm.org\/doi\/abs\/10.1145\/3081333.3081346\">&#8220;SchrodinText: Strong Protection of Sensitive Textual Content of Mobile Applications.&#8221;<span class=\"sr-only\"> (opens in new tab)<\/span><\/a><\/p>\n<p>We immediately started brainstorming and making a plan to understand the problem in more detail and identify potential solutions. We soon realized we would need help and recruited two of Ardalan&#8217;s top students\u2014Saeed Mirzamohammadi and Yuxin (Myles) Liu. We needed strong legal expertise to understand requirements from the law of contracts and legal ramifications of design choices, so we recruited the world-renowned expertise of Professor Sung Eun (Summer) Kim of the UC Irvine School of Law and her JD student, Tianmei Ann Huang.<\/p>\n<h3>What it takes for a contract to be enforceable under the law<\/h3>\n<p>In order to design a system that creates a valid contract, we first had to understand what makes a contract legal. The law of contracts requires many important qualifications for a signed contract to be valid, three of which are particularly relevant to an electronic signature platform:<\/p>\n<ol>\n<li><strong>Signature attribution<\/strong>: a signature must be authentic to the party that it represents.<\/li>\n<li><strong>Mutual assent:<\/strong> both parties must ultimately agree to the same contract, even as a draft contract goes through multiple rounds of offer, counter-offer, acceptance, or rejection.<\/li>\n<li><strong>Reading opportunity<\/strong>: any party to a contract should have ample opportunity to read a contract.<\/li>\n<\/ol>\n<p>Existing electronic contract signature platforms have run afoul of one or more of these requirements. For example, in a <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.govinfo.gov\/content\/pkg\/USCOURTS-caeb-2_16-bk-22134\/pdf\/USCOURTS-caeb-2_16-bk-22134-0.pdf\">2016 California bankruptcy case<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, the court questioned whether an electronic signature created using a popular e-signature platform was adequate as it could be manipulated or forged with ease, asking specifically what would happen if a debtor denied signing a document based on the claim that someone else had access to their computer and clicked the \u201csign here\u201d button.<\/p>\n<p>In another example, a plaintiff in a <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.scribd.com\/document\/29617636\/Adams-v-Superior-Quicksilver-02-22-10\">2010 case<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> challenged the validity of an arbitration agreement by arguing that the document signing system they used did not include an audit trail, and therefore it could not be determined when the agreement had been signed.<\/p>\n<p>Finally, in a <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.courtlistener.com\/opinion\/2575248\/labajo-v-best-buy-stores-lp\/\">2007 case<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> against a retail chain, a plaintiff argued that there had not been a disclosure revealing that they would be charged for a magazine subscription upon signing an electronic signature pad. According to case documents, the question was not about whether there had been disclosure. Instead, what mattered was the fact that the store couldn\u2019t prove the customer saw and approved the disclosure.<\/p>\n<h3>Understanding security risks: Attacks against electronic signature systems<\/h3>\n<p>Beyond the legal considerations of this technology, there are numerous security concerns that we needed to address when designing the Tabellion system. We identified three different attacks that existing electronic legal contract platforms can be susceptible to:<\/p>\n<ol>\n<li><strong>Repudiation attack:<\/strong> a party to a contract denies having signed a contract. They may claim that they never signed it, or that they signed a different version of a contract, or that they were not given an opportunity to read the contract.<\/li>\n<li><strong>Impersonation attack:<\/strong> someone impersonates a party to a contract and signs it. The attacker may spoof the victim&#8217;s identity or acquire access to their digital devices or services.<\/li>\n<li><strong>Confusion attack:<\/strong> an attacker fools a victim into signing a contract that is different from what is eventually claimed. In a special form of this attack, called the Dal\u00ec attack, the attacker uses a contract file which shows different content on the offeror\u2019s and offeree\u2019s devices. We have demonstrated this attack with a specially crafted PDF file that shows some text in a contract in DocuSign\u2019s mobile app, but the same contract shows different text on a desktop PDF viewer.<\/li>\n<\/ol>\n<h3>Tabellion: Inside the secure system for submitting and signing legal contracts<\/h3>\n<p>Tabellion is based on four secure primitives, as defined by our research team, that a legal contract platform should have in order to both meet the requirements of contracts under the law and defend against the aforementioned attacks.<\/p>\n<ol>\n<li><strong>Tamper-proof camera-capture photo (secure photo):<\/strong> photos or videos of the user and their identification documents should be captured securely, such that they cannot be tampered with.<\/li>\n<li><strong>Tamper-proof global timestamp (secure timestamp):<\/strong> a tamper-proof timestamp is needed to order events between parties to a contract to ensure mutual assent.<\/li>\n<li><strong>Tamper-proof user-confirmed screenshot (secure screenshot):<\/strong> proof that the user had opportunity to read the contract and exactly what contract the user agreed to must be captured in a tamper-proof manner.<\/li>\n<li><strong>Secure notarization of the contract:<\/strong> all the evidence of a contract produced by these secure primitives need to be assembled and bound together so that nothing can be added or altered and so that components cannot be re-used in other contracts.<\/li>\n<\/ol>\n<p>The figure below shows a high-level architecture of our solution and where the primitives are implemented. The green boxes show the entirety of the Trusted Computing Base (TCB) in Tabellion. Here, the TCB includes all the software that is being trusted in Tabellion to function correctly and is not vulnerable to attacks. Minimizing the size of the TCB was an important goal in our design.<\/p>\n<div id=\"attachment_666057\" style=\"width: 546px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-666057\" class=\"wp-image-666057 size-full\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Fig-1-Tabellion.png\" alt=\"\" width=\"536\" height=\"361\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Fig-1-Tabellion.png 536w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Fig-1-Tabellion-300x202.png 300w\" sizes=\"auto, (max-width: 536px) 100vw, 536px\" \/><p id=\"caption-attachment-666057\" class=\"wp-caption-text\">High level software architecture of Tabellion. The Tabellion client on mobile devices includes large amounts of untrusted code, which includes the user-facing Tabellion app and the mobile operating system, along with small amounts of trusted code that run Primitives I, II, III on the mobile TEE. On the Tabellion server, Primitive IV runs on the server TEE which is Intel SGX in our implementation. We also rely on an external secure time server for Primitive II.<\/p><\/div>\n<p>The figure below shows the protocol that parties to a contract must follow in Tabellion. First, each party must register using the secure photo primitive. The Tabellion app captures the user&#8217;s photo (or video), optionally with the user&#8217;s identity documents. Cryptographically signed images are then sent to the Tabellion server, along with the user device&#8217;s TEE (Trusted Execution Environment) certificate and a certified hash of the TCB code. The first time that a user uses the Tabellion app, the client TEE creates a per-user, per-device key pair. It uses the private key of this pair to sign the user\u2019s photo (Primitive I) and uses the same key later to sign the screenshots captured of the content of the contract (Primitive III). It also sends the public key to the Tabellion server for verification. We use secure biometric authentication on the local device to confirm user actions.<\/p>\n<p>When an offeror submits a contract, they submit it to the Tabellion server in Markdown format. The server then renders the contract as readable images for each user device, ensuring that all text is readable and that there is no computer-interpretable content that can change after rendering. Each party receives the contract as properly formatted for their device screen dimensions. Each party must confirm every single page of the contract with their biometric authentication, which uses Primitive III to cryptographically sign each screenshot. Also at play here is Primitive II, which protects against timing attacks that can prevent mutual assent. Finally, the Tabellion server uses Primitive IV to produce a single contract with all the evidence from all the parties that can be independently verified as correctly formed.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-666060 size-full\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Figure-2-Tabellion.png\" alt=\"A diagram showing the Tabellion protocol users must follow (as described in the two paragraphs above).\" width=\"596\" height=\"412\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Figure-2-Tabellion.png 596w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Figure-2-Tabellion-300x207.png 300w\" sizes=\"auto, (max-width: 596px) 100vw, 596px\" \/><\/p>\n<p>We have implemented the Tabellion client on Android on a HiKey LeMaker development board. The TEE in this board is the Xen hypervisor (version 4.7) and the OPTEE OS (version 3.3) running in ARM\u2019s TrustZone secure world. We implement Primitives I and III (other than the cryptographic signatures) in the Xen hypervisor. We implement cryptographic signing operations as well as Primitive II in OPTEE. We use <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/people.csail.mit.edu\/rivest\/Rsapaper.pdf\">RSA<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> with 2048 bit keys for digital signatures in the client. We also have an implementation of the client for commodity mobile devices, where the TCB is significantly larger.<\/p>\n<p>We have implemented the Tabellion server&#8217;s notary enclave in an <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/azure.microsoft.com\/en-us\/solutions\/confidential-compute\/\">Azure Confidential Compute<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> Standard DC4s virtual machine (VM). This VM runs on top of the 3.7GHz Intel XEON E-2176G processor, which supports Intel SGX. We program the enclave using the open-source <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/ccf-a-framework-for-building-confidential-verifiable-replicated-services\/\">Confidential Consortium Framework (CCF).<\/a> For the measurement of the TCB and the enclave certificate, we use the <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/github.com\/intel\/SGXDataCenterAttestationPrimitives\">Intel SGX Data Center Attestation Primitives (DCAP) libraries<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, which leverage Elliptic Curve Digital Signature Algorithm (ECDSA). We use RSA with 4096 bit keys for digital signatures by the notary in the enclave.<\/p>\n<p>There are many subtle challenges in securely implementing our primitives to prevent attacks. The figures below show an overview of how we implement Primitives I and III.<\/p>\n<div id=\"attachment_666072\" style=\"width: 406px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-666072\" class=\"wp-image-666072 \" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Fig-3-Tabellion.png\" alt=\"\" width=\"396\" height=\"493\" \/><p id=\"caption-attachment-666072\" class=\"wp-caption-text\">Overview of how Primitive I works in Tabellion. Rather than include the entire camera driver in the TCB, our key idea in Tabellion is to protect the camera photo buffer in memory from the time that the camera is about to capture the photo until when it is cryptographically signed. Tabellion write-protects the buffer pages before the camera device populates them with the photo data using Direct Memory Access (DMA). To prevent the untrusted OS from storing a fake image in the camera photo buffer before protection, Tabellion zeroes out the buffer right after protection.<\/p><\/div>\n<div id=\"attachment_666078\" style=\"width: 376px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-666078\" class=\" wp-image-666078\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Figure-4-Tabellion.png\" alt=\"\" width=\"366\" height=\"455\" \/><p id=\"caption-attachment-666078\" class=\"wp-caption-text\">Overview of how Primitive III works in Tabellion. Rather than include the entire display software stack in our TCB, our key idea in Tabellion is to secure the buffer used for displaying content (that is the framebuffer) in the TEE. When invoked by the Tabellion app, the TEE freezes the framebuffer, not allowing any more updates. It then waits for the user\u2019s authentication using biometrics. Once the user confirms, the TEE signs a copy of the framebuffer and unfreezes it. This guarantees that the displayed content and the authentication are atomic.<\/p><\/div>\n<p>&nbsp;<\/p>\n<h3>TCB size and user study results<\/h3>\n<p>An important metric is the size of the TCB. Larger TCBs with more API calls and arguments increase the attack surface and make it harder to independently validate functionality. Our implementation of Tabellion adds only 826 lines of code to the TCB, as summarized in the following figure. This is a small fraction of the total 14,925 lines of code in Tabellion. The TCB is small enough that independent entities can audit it.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-666084 size-large\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Figure-5-Tabellion-1024x412.png\" alt=\"A table indicating the size of client, server, and combined components in Tabellion, comparing both trusted code and untrusted code. Client size: Primitive 1, 166, Primitive 2, 104, Primitive 3, 80, shared 291. Server size: Primitive 4, 185. Combined total size: 826. Untrusted code client mobile app: 9919. Rest: 4180. Combined untrusted code: 14099.\" width=\"1024\" height=\"412\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Figure-5-Tabellion-1024x412.png 1024w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Figure-5-Tabellion-300x121.png 300w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Figure-5-Tabellion-768x309.png 768w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Figure-5-Tabellion.png 1351w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>In section 8.2 of our <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/tabellion-secure-legal-contracts-on-mobile-devices\/\">paper<\/a>, we include a detailed security analysis of our system to demonstrate its ability to protect against all three attacks we have identified.<\/p>\n<p>We performed a 30-person user study, where users were asked to sign a variety of real-world legal contracts in DocuSign and Tabellion, and they were then asked a series of questions about the contracts that they signed. In the results shown below, users\u2019 ability to understand and recall what they signed, ease of reading, convenience of signing, and duration of effort while using Tabellion are quite comparable to DocuSign.<\/p>\n<div id=\"attachment_666087\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-666087\" class=\"wp-image-666087 size-medium\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Tabellion-Figure-6-300x210.png\" alt=\"A bar graph showing correct and wrong answers in the user study. DocuSign: correct approx. 160, wrong approx. 60. Tabellion, correct approx. 170, wrong approx. 50.\" width=\"300\" height=\"210\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Tabellion-Figure-6-300x210.png 300w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Tabellion-Figure-6.png 360w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><p id=\"caption-attachment-666087\" class=\"wp-caption-text\">Above: Users\u2019 recollection of answers<\/p><\/div>\n<div id=\"attachment_666090\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-666090\" class=\"wp-image-666090 size-medium\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Tabellion-figure-7-300x210.png\" alt=\"A bar graph showing time spent in seconds for DocuSign (200 seconds) and Tabellion (just over 150 seconds).\" width=\"300\" height=\"210\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Tabellion-figure-7-300x210.png 300w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Tabellion-figure-7.png 360w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><p id=\"caption-attachment-666090\" class=\"wp-caption-text\">Above: Users&#8217; perceived convenience and readability using a Likert scale<\/p><\/div>\n<div id=\"attachment_666093\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-666093\" class=\"wp-image-666093 size-medium\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Tabellion-figure-8-300x210.png\" alt=\"A bar graph showing convenience and readability scores from user study (1-5). Docusign, convenience approx. 3.5 and readability approx. 3.25. Tabellion, convenience approx. 4.25 and readability approx. 4. \" width=\"300\" height=\"210\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Tabellion-figure-8-300x210.png 300w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/Tabellion-figure-8.png 360w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><p id=\"caption-attachment-666093\" class=\"wp-caption-text\">Above: Time required for using each system<\/p><\/div>\n<h3>Working toward a future of mobile friendly, trusted contract signing<\/h3>\n<p>We believe that the future of legal contract signing is mobile friendly and trustworthy. We can achieve this goal by carefully understanding legal requirements and prior cases and implementing secure primitives in a novel way on trusted computing in mobile devices and in the cloud. Doing so does not need to come at the expense of usability\u2014this is one situation where security and user experience concurrently improve.<\/p>\n<p>However, some challenges remain. Our secure prototype with a small TCB was built on a development board\u2014we do not yet have the ability to program the TEE on commodity smartphones. We need an open ecosystem that allows for programmability, deployment and attestation of code running in the TEE. Although Tabellion remains a research initiative for the time being, it creates a distinct path forward for improving the security and usability of electronic signature systems on mobile devices.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Editor\u2019s Note: The author would like to give special thanks to his collaborators, Ardalan Amiri Sani, Professor of Computer Science at UC Irvine, Sung Eun (Summer) Kim, Professor of Law at UC Irvine, and UC Irvine students Saeed Mirzamohammadi, Yuxin (Myles) Liu, and Tianmei Ann Huang. In addition to my day job at Microsoft Research, [&hellip;]<\/p>\n","protected":false},"author":38838,"featured_media":667257,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","msr-author-ordering":[{"type":"user_nicename","value":"Sharad Agarwal","user_id":"33489"}],"msr_hide_image_in_river":0,"footnotes":""},"categories":[1],"tags":[],"research-area":[13547],"msr-region":[],"msr-event-type":[],"msr-locale":[268875],"msr-post-option":[],"msr-impact-theme":[],"msr-promo-type":[],"msr-podcast-series":[],"class_list":["post-665757","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-research-blog","msr-research-area-systems-and-networking","msr-locale-en_us"],"msr_event_details":{"start":"","end":"","location":""},"podcast_url":"","podcast_episode":"","msr_research_lab":[],"msr_impact_theme":[],"related-publications":[],"related-downloads":[],"related-videos":[],"related-academic-programs":[],"related-groups":[],"related-projects":[],"related-events":[],"related-researchers":[{"type":"user_nicename","value":"Sharad Agarwal","user_id":33489,"display_name":"Sharad Agarwal","author_link":"<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/sagarwal\/\" aria-label=\"Visit the profile page for Sharad Agarwal\">Sharad Agarwal<\/a>","is_active":false,"last_first":"Agarwal, Sharad","people_section":0,"alias":"sagarwal"}],"msr_type":"Post","featured_image_thumbnail":"<img width=\"960\" height=\"540\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/1400x788_Tabellion_NoLogo_Still-02-960x540.png\" class=\"img-object-cover\" alt=\"Tabellion illustration\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/1400x788_Tabellion_NoLogo_Still-02-960x540.png 960w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/1400x788_Tabellion_NoLogo_Still-02-300x169.png 300w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/1400x788_Tabellion_NoLogo_Still-02-1024x576.png 1024w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/1400x788_Tabellion_NoLogo_Still-02-768x432.png 768w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/1400x788_Tabellion_NoLogo_Still-02-1536x865.png 1536w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/1400x788_Tabellion_NoLogo_Still-02-2048x1153.png 2048w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/1400x788_Tabellion_NoLogo_Still-02-1066x600.png 1066w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/1400x788_Tabellion_NoLogo_Still-02-655x368.png 655w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/1400x788_Tabellion_NoLogo_Still-02-343x193.png 343w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/1400x788_Tabellion_NoLogo_Still-02-640x360.png 640w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/1400x788_Tabellion_NoLogo_Still-02-1280x720.png 1280w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2020\/06\/1400x788_Tabellion_NoLogo_Still-02-1920x1080.png 1920w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/>","byline":"<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/sagarwal\/\" title=\"Go to researcher profile for Sharad Agarwal\" aria-label=\"Go to researcher profile for Sharad Agarwal\" data-bi-type=\"byline author\" data-bi-cN=\"Sharad Agarwal\">Sharad Agarwal<\/a>","formattedDate":"June 16, 2020","formattedExcerpt":"Editor\u2019s Note: The author would like to give special thanks to his collaborators, Ardalan Amiri Sani, Professor of Computer Science at UC Irvine, Sung Eun (Summer) Kim, Professor of Law at UC Irvine, and UC Irvine students Saeed Mirzamohammadi, Yuxin (Myles) Liu, and Tianmei Ann&hellip;","locale":{"slug":"en_us","name":"English","native":"","english":"English"},"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/posts\/665757","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/users\/38838"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/comments?post=665757"}],"version-history":[{"count":14,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/posts\/665757\/revisions"}],"predecessor-version":[{"id":667320,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/posts\/665757\/revisions\/667320"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media\/667257"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=665757"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/categories?post=665757"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/tags?post=665757"},{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=665757"},{"taxonomy":"msr-region","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-region?post=665757"},{"taxonomy":"msr-event-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-event-type?post=665757"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=665757"},{"taxonomy":"msr-post-option","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-post-option?post=665757"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=665757"},{"taxonomy":"msr-promo-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-promo-type?post=665757"},{"taxonomy":"msr-podcast-series","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-podcast-series?post=665757"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}