As you can see in the latter part of the conversation, there is a criteria one can use to determine whether to associate and deal with another: “Does somebody who trusts us also trust them?” What this means is that if there exist common authorities that are willing to endorse an entity, either in a general way or for specific attributes, that significantly decreases the likelihood of that party reneging on a deal or committing fraud.
This scenario occurs in both the physical and the online world today. In the latter, services or agents acting on behalf of real-world entities can negotiate using automated protocols and APIs. With AI advances, you can imagine the need for such automated deals between AI proxies for real-world entities growing more salient. The technology for secure certification has existed for several decades in the form of public key infrastructure (PKI) infrastructure, and prominently, X.509 certificates, which embody endorsements by a certificate authority (CA) on an entity or another certificate authority (thereby creating a hierarchy of endorsements).
Now this might seem like an easy problem to handle. S1 asks S2 for its list of CAs, and similarly S2 asks S1 for its list of CAs. They compute the intersection, or the set of common CAs, select one or more certificates attested by those CAs, and validate the digital signatures within before proceeding with their interaction. But this process carries a different set of hazards, impacting the entities’ privacy. As an example, let us assume that S1 and S2 hold certificates attested by the following authorities:
S1: {Financial Institution A, Political Organization M, Scientific Organization N, Governmental Agency B}
It is easy to observe that the two have Scientific Organization N and Governmental Agency B as common CAs. If either or both were revealed to S1 and S2, they could strike a deal and build a business relationship, as illustrated below.
But what if a different CA were revealed before any of these common ones? If the counterparty does not trust that CA or holds a negative opinion of that CA, the deal may fall through as illustrated below.
It is clearly not in S1’s interest to reveal that it is certified by M unless it knows that S2 also trusts M. Further, S2 may leak this information to other parties, negatively impacting S1’s reputation in many circles.
Another potential downside of, say S2, revealing a non-common CA is that it may expose confidential information to S1, resulting in the latter gaining leverage or competitive advantage over the former, as illustrated below.
In summary, what this example reveals is that counterparties that wish to make deals have a genuine interest or need for both the following simultaneously:
Resource/information need: Revealing one or more common CAs that certify both.
Privacy need: Hiding every CA that certifies only one counterparty.
The Private Certifier Intersection Problem
We can generalize the above story to describe the PCI problem in more generic and formal terms using a representative example. Consider two parties P1 and P2, each possessing certificates attested by particular CAs as illustrated below.
There are certifiers in common that are highlighted in green while the remaining certifiers are highlighted in red. The dual goal of PCI is the following:
Output: P1→{Cert4,Cert5,Cert6},P2→{Cert7,Cert8,Cert9} (Note: implicitly the common CAs {f,b,e} are also revealed.)
Do not leak: P1→{Cert1,Cert2,Cert3},P2→{Cert10,Cert11,Cert12,Cert13}
The PCI model and objective, represented by this example, is illustrated in the figure below.
Why not use Private Set Intersection (PSI)?
A classic problem that has been researched by the cryptography community over the past couple of decades is one where two parties, each possessing a set of elements, must compute the intersection of those sets without leaking the elements in the respective sets that don’t lie in the intersection. Called PSI, or Private Set Intersection, this mechanism has been used in many real-world applications, notably by the Apple PSI system 1 as part of a larger system for detecting CSAM. PSI can be illustrated using a representative example below.
Superficially, PSI seems to resemble PCI. Can PCI be an extrapolation of PSI, or use PSI as a black box building block? Let us consider the following process, referring to the PCI example diagram presented earlier:
P1 and P2 compute their respective CA sets (the box at the bottom).
These sets are input to PSI, which computes the intersection, following which the certificates can be shared between the parties for signature validations.
It is easy to spot the flaw in this process. There is no guarantee that either P1 or P2 will honestly provide an accurate set of CAs as input to PSI, and PSI has no way of determining whether a given CA specified by either party actually issued a certificate to that party. If either party is malicious, it can launch a universal set attack using this process, whereby it supplies a large (possibly universal) set of CAs despite not possessing certificates issued by all those CAs. The counterparty, if it remains honest, will then inadvertently reveal its entire set of CAs to the other, because the intersection of a given set with a universal set is simply that set. Any valid PCI procedure must be able to prevent either party from falsely claiming to possess a certificate from a given CA. Therefore, PCI cannot be a simple extrapolation or wrapper over PSI.
A PCI solution
We encountered the PCI problem, and tried to find a solution, in the context of a long-term blockchain interoperability project. One aspect of this project involved decentralized cross-blockchain-network identity management, which was researched in collaboration with IIT Kharagpur.
The solution, as it turned out, could be built on a mechanism that has gained salience in the past few years since blockchains started getting popular: Multi-Party Computation (MPC)2. Specifically, we were able to solve PCI by devising an MPC extension for elliptic curve pairings, with the key innovation being efficient secret-sharing. We identified the MP-SPDZ library 3 as a suitable target for experimentation and implemented our new techniques by extending it. For evaluation and comparison purposes, we used ECDSA and BLS signature schemes, both of which are popular in the blockchain and distributed ledger community, which is where we envision that the main applications of PCI will lie.
Details on our solution mechanisms, including a formal definition of PCI in the Simplified Universal Composability (SUC) framework 4 can be found in the full paper. The paper also lists a taxonomy of different varieties of PCI and presents detailed solutions for particular <variety, signature scheme> combinations. These varieties are useful to consider when the set of claims made within the certificates by the respective CAs also hold importance, and where we can devise different techniques to produce different output sets and control leakage of claim information. The table below illustrates the PCI protocol variants we have implemented and experimented with.
We found the PCI-All protocol for BLS to be particularly efficient thanks to signature aggregation schemes. For details as well as security analyses, performance measurement results, and extensions PCI from 2-party to multi-party, read the full paper.
Application in Blockchain and DLT Interoperability
Interoperability is one of the most important research areas in the blockchain and distributed ledger systems world, where both open and permissioned networks, as well as DLTs built on diverse technology stacks, co-exist without possessing secure means of sharing ledger data (with authenticity proof), exchanging digital assets, and transferring digital assets, across network boundaries. This can be visualized in the “Data Plane” box in the figure below. Especially for networks that are permissioned, some mechanism for cross-network identity syncing must exist in order to establish a trust basis, and the “Identity Plane” box illustrates such mechanisms in conjunction with decentralized identity registries.
The PCI protocols can serve a key purpose in the Identity Plane for cross-network interoperability, allowing networks to identity common Certificate Authorities (or, in the future, Verifiable Credential Issuers) without revealing the ones they wish and need to keep private. As several prominent blockchain and DLT networks are built for consortia of enterprises that don’t necessarily trust each other, the downside of losing competitive advantage in the market upon privacy loss makes PCI a very compelling solution.
For more information about the blockchain interoperability project that inspired the quest for PCI, visit the Weaver and Hyperledger Cacti project repositories, and check out the blog post that describes the Cacti vision.
Keller, Marcel. “MP-SPDZ: A versatile framework for multi-party computation.” Proceedings of the 2020 ACM SIGSAC conference on computer and communications security. 2020. ↩
R. Canetti, A. Cohen, and Y. Lindell, “A simpler variant of universally composable security for standard multiparty computation,” in Annual Cryptology Conference. Springer, 2015, pp. 3–22. ↩
About cookies on this siteOur websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising.For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.