{"id":170918,"date":"2012-02-25T22:58:55","date_gmt":"2012-02-25T22:58:55","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/project\/u-prove\/"},"modified":"2026-02-05T06:38:25","modified_gmt":"2026-02-05T14:38:25","slug":"u-prove","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/u-prove\/","title":{"rendered":"U-Prove"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/u-prove-2.jpg\" alt=\"\" width=\"253\" height=\"77\" \/><\/p>\n<h1>Overview<\/h1>\n<p>A U-Prove token is a type of credential similar to a PKI certificate that can encode attributes of any type, but with two important differences:<\/p>\n<p>1) The issuance and presentation of a token is <i>unlinkable<\/i> due to the special type of public key and signature encoded in the token; the cryptographic \u201cwrapping\u201d of the attributes contain no correlation handles. This prevents unwanted tracking of users when they use their U-Prove tokens, even by colluding insiders.<\/p>\n<p>2) Users can minimally disclose information about what attributes are encoded in a token in response to dynamic verifier policies. As an example, a user may choose to only disclose a subset of the encoded attributes, prove that her undisclosed name does not appear on a deny list, or prove that she is of age without disclosing her actual birthdate.<\/p>\n<p>These user-centric aspects make the U-Prove technology ideally suited to creating the digital equivalent of paper-based credentials and the plastic ID cards in one&#8217;s wallet.<\/p>\n<p>Microsoft has made available the foundational features of the technology by releasing the core U-Prove specifications under the Open Specification Promise. The core cryptographic scheme has been standardized in <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.iso.org\/standard\/62544.html\">ISO\/IEC 18370-2:2016<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> (Blind digital signatures \u2014 Part 2: Discrete logarithm based mechanisms).<\/p>\n<h1>Links<\/h1>\n<ul>\n<li><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\/microsoft\/uprove-node-reference\/blob\/main\/doc\/U-Prove%20Cryptographic%20Specification%20V1.1%20Revision%205.pdf\">U-Prove Cryptographic Specification V1.1 (Revision 5), March 2023<span class=\"sr-only\"> (opens in new tab)<\/span><\/a><\/li>\n<li><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\/microsoft\/uprove-node-reference\/blob\/main\/doc\/U-Prove%20Technology%20Overview%20V1.1%20Revision%203.pdf\">U-Prove Technology Overview V1.1 (Revision 3), March 2023<span class=\"sr-only\"> (opens in new tab)<\/span><\/a><\/li>\n<li>Open-source <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"https:\/\/github.com\/Microsoft\/uprove-csharp-sdk\" target=\"_blank\" rel=\"noopener noreferrer\">U-Prove C# Crypto SDK<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:\/\/github.com\/microsoft\/uprove-javascript-sdk\">JavaScript SDK<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:\/\/github.com\/microsoft\/uprove-node-reference\/\">TypeScript Node implementation<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>.<\/li>\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"http:\/\/www.credentica.com\/the_mit_pressbook.html\">Stefan Brands\u2019 book<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> detailing the underpinning of the U-Prove technology.<\/li>\n<li>The European Union funded project <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/abc4trust.eu\/\">ABC4Trust<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> on privacy-preserving identity credentials, in which Microsoft participated.<\/li>\n<\/ul>\n<h1>News<\/h1>\n<ul>\n<li>Update to 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\/microsoft\/uprove-node-reference\/blob\/main\/doc\/U-Prove%20Cryptographic%20Specification%20V1.1%20Revision%205.pdf\">cryptographic specification<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:\/\/github.com\/microsoft\/uprove-node-reference\/blob\/main\/doc\/U-Prove%20Technology%20Overview%20V1.1%20Revision%203.pdf\">technology overview<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, and release of a new JSON framework (March 2023)<\/li>\n<li>A new <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\/microsoft\/uprove-node-reference\/\">TypeScript Node reference implementation<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> has been released (November 2022)<\/li>\n<li>Revision 4 of the specification has been released, addressing a potential issue with parallel issuance of tokens in some settings. (November 2022)<\/li>\n<li>We released a new paper describing the various revocation mechanisms available to developers, along with an update to the <a href=\"https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=52462\">U-Prove extensions SDK<\/a>. (Sept 2014)<\/li>\n<li>We released a\u00a0<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\/microsoft\/uprove-javascript-sdk\">JavaScript SDK<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> implementing the U-Prove client-side protocol. (July 2014)<\/li>\n<li>We released new U-Prove extensions for <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/u-prove-collaborative-issuance-extension\/\">collaborative issuance<\/a>, <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/u-prove-bit-decomposition-extension\/\">bit decomposition<\/a>, <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/u-prove-designated-verifier-accumulator-revocation-extension-2\/\">designated-verifier accumulator revocation<\/a>, <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/u-prove-equality-proof-extension\/\">equality<\/a>, <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/u-prove-inequality-proof-extension\/\">inequality<\/a>, <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/u-prove-set-membership-proof-extension\/\">set membership<\/a>, and <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/u-prove-range-proof-extension\/\">range<\/a> proofs, along with a SDK implementing them. A <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/u-prove-extensions\/\">paper<\/a> describing the new features is also available. (July 2014)<\/li>\n<li>Revision 3 of the specification and the C# SDK have been released. The cryptographic protocols have been modified to support interoperability with the <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"https:\/\/abc4trust.eu\/\" target=\"_blank\" rel=\"noopener noreferrer\">ABC4Trust<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> architecture. (December 2013)<\/li>\n<li>New <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/privacy-and-accountability-in-identity-systems-the-best-of-both-worlds\/\">Privacy vs. Accountability in Identity Systems<\/a> paper, along with <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/u-prove-designated-verifier-accumulator-revocation-extension-2\/\">revocation<\/a> and <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/u-prove-id-escrow-extension\/\">ID escrow<\/a> extensions for U-Prove,\u00a0released at the Trusted Computing Conference\u00a0(September 11th\u00a02013).<\/li>\n<li>MSR researchers published a new efficient <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/eprint.iacr.org\/2013\/516\" target=\"_blank\" rel=\"noopener noreferrer\">MAC-based credential scheme<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> providing multi-show unlinkability (August 2013).<\/li>\n<li>Revision 2 of the specification and the C# SDK have been released. This release features an optimized token issuance protocol, and an ability to present scope-exclusive pseudonyms and to generate cryptographic commitments from attribute values. (April 2013)<\/li>\n<li>U-Prove presented at NIST\u2019s <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"http:\/\/www.nist.gov\/itl\/csd\/ct\/pec-workshop.cfm\">Privacy-Enhancing Cryptography Workshop<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> (December 9th 2011)<\/li>\n<li>Kuppinger Cole awarded U-Prove with 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.identityblog.com\/?p=1158\">Best Innovation award<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> in the category of Outstanding projects and initiatives in Identity Management<\/li>\n<li>The International Association of Privacy Professionals honored U-Prove with a Technology Innovation award<\/li>\n<li>Fraunhofer Fokus was honored with the TeleTrusT Technology Innovation Award for their work with Microsoft on privacy-enhancing identity systems<\/li>\n<li>Scott Charney featured the U-Prove HealthVault registration demo in his RSA 2011 Keynote<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Overview A U-Prove token is a type of credential similar to a PKI certificate that can encode attributes of any type, but with two important differences: 1) The issuance and presentation of a token is unlinkable due to the special type of public key and signature encoded in the token; the cryptographic \u201cwrapping\u201d of the [&hellip;]<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"research-area":[13558],"msr-locale":[268875],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-170918","msr-project","type-msr-project","status-publish","hentry","msr-research-area-security-privacy-cryptography","msr-locale-en_us","msr-archive-status-complete"],"msr_project_start":"","related-publications":[163029,163030,163032,163033,165488,165489,165490,166842,166843,166844,166845,166846,166847,166848,167028,167468],"related-downloads":[],"related-videos":[],"related-groups":[901101],"related-events":[],"related-opportunities":[],"related-posts":[],"related-articles":[],"tab-content":[],"slides":[],"related-researchers":[{"type":"user_nicename","display_name":"Karen Easterbrook","user_id":32510,"people_section":"Group 1","alias":"keaster"},{"type":"user_nicename","display_name":"Greg Zaverucha","user_id":31912,"people_section":"Group 1","alias":"gregz"},{"type":"user_nicename","display_name":"Christian Paquin","user_id":31473,"people_section":"Group 1","alias":"cpaquin"}],"msr_research_lab":[1161007],"msr_impact_theme":[],"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/170918","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-project"}],"version-history":[{"count":10,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/170918\/revisions"}],"predecessor-version":[{"id":1161530,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/170918\/revisions\/1161530"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=170918"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=170918"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=170918"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=170918"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=170918"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}