The invention relates to a distributed registration method and system for controlling anonymous access to resources and services.
A first object of the invention relates to a computer-assisted distributed registration method that allows controlling access with limited communication between parties, minimal user interaction, and without the need to store identification information.
Another object of the invention relates to a distributed registration system comprising means for managing anonymous access to resources and services.
There are various solutions in the field of anonymous authentication methods and systems.
Some solutions, such as those reflected in documents WO2008065341A2 (MAIDSAFE FOUND) and GB2444346, relate to distributed network systems that provide privacy, security, and freedom to their users, facilitating their intercommunication and anonymous access to their own or shared resources. These systems allow access by means of anonymous authentication using encryption algorithms.
In turn, document WO2017145010A1 (NCHAIN HOLDINGS) describes a computer-implemented method which controls access to a digital wallet implemented using blockchain technology. The method divides a verification element (private key) into multiple fractions that are transmitted by means of a common secret between two or more nodes. To divide the secret S into fractions (n being the number of participants), a polynomial y=f(x) of degree k−1 (mod p) is constructed in a random or pseudo-random manner, where k is a threshold number and p a prime number, such that the secret can be divided into portions and later reconstructed by means of a set of known points.
Document CN111416705A (NANJING RUBAN QUANTUM TECHNOLOGY) introduces a system and method for electronic voting based on cryptographic anonymous identification, blockchain, and secret sharing technologies, capable of resisting quantum computing attacks and reducing computing times for the use of blind digital signatures.
Document ES2255455A1 (SCYTL ON LINE WORLD SECURITY) describes a method to securely conduct electronic voting and poll over a communications network by means of interrelated cryptographic processes and protocols, designed to facilitate the tasks of vote casting, counting, and secure verification, allowing voter privacy, result accuracy, and the impossibility of coercion and sale of votes.
However, the solutions provided by the state of the art do not allow controlling access to a guarded resource in a distributed, efficient, and simpler manner with less computational cost for the parties.
The present invention relates to a computer-assisted method for controlling anonymous and distributed access to remote resources or services which uses one or more central authorities, or distributors, and N authorities responsible for controlling access to the resource or service, referred to as guards, wherein N is greater than or equal to 1, and wherein the method comprises the steps of:
Two different methods for controlling access to a remote resource (such as an electronic voting ballot box, a blockchain, or a smart parcel box, for example) that solve the problem in controlling distributed and anonymous access to a guarded resource, can preferably be obtained from the steps of the method.
Therefore, the aim is to give access to a resource guarded by a set of guards that distrust one another. To access the resource, all the guards must verify that the credentials presented are correct. At the same time, the credentials must not reveal any type of information about the user seeking access, guaranteeing the owner of the credential a single access to the resource.
The first method preferably has a respectable central authority (distributor) that is assumed to be honest and is responsible for generating access credentials, regardless of the form they may take.
Furthermore, a set of N authorities responsible for controlling access to a certain resource or service (or guards) is incorporated. The set of guards does not consider the distributor as a member. The scenario is completed with a set of m duly identified users.
The distributor's job is twofold: first, it establishes the system by distributing credentials (regardless of the form they may take) to users and validation tools to guards and, secondly, it is responsible for auditing possible identification errors among the users and guards.
On the one hand, only the distributor can link users to their credentials; on the other hand, the distributor is not provided with any information about how that protected resource will be used.
Therefore, in this first method the following set of steps is followed:
The second method furthermore allows distributing the responsibility for generating access credentials among a set of accredited authorities or distributors.
Likewise, a set of N authorities, which is distinct from the set of distributors responsible for controlling access (or guards), and a set of m duly identified users are included.
Therefore, in this second method the following set of steps is followed:
In this second method, it is considered that the prior credential and the received accreditation component can allow the user to obtain an anonymous credential that is impossible for distributors to link to his/her identity.
The invention also relates to a system for controlling anonymous and distributed access to remote resources or services comprising a first set of one or more processing units acting as distributors, a second set of one or more processing units acting as guards, and a third set of one or more processing units acting as users, configured for carrying out the steps of the described method.
Some of the possible applications of the method of the invention are, among others:
Likewise, the following advantages are identified with respect to solutions of the state of the art:
In summary, the method of the invention solves the problem of access to a guarded resource in a distributed, efficient, and simpler manner insofar as the dialogue between the different parties involved is reduced and with less computational cost for the parties.
In order to complement the description being made and with the object of helping to better understand the features of the invention, in accordance with a preferred practical exemplary embodiment thereof, said description is accompanied, as an integral part thereof, by a set of drawings where, in an illustrative and non-limiting manner, the following has been represented:
The present invention relates to a method for controlling anonymous and distributed access which allows controlling access to a resource or service anonymously and distributing access control and credential generation.
Three implementation examples with post-quantum security and/or anonymity properties are presented below.
The first example allows providing single-use credentials, guaranteeing the maintenance of user anonymity along with the guarantee that, unless all access control authorities (guards) are compromised, it is not possible to fraudulently generate valid credentials.
In this case, the existence of an honest central entity that acts as distributor (1) is assumed, the method also comprises a set of N guards (2) responsible for controlling access and a set of duly accredited m users (3).
The distributor (1) is responsible for establishing the system by distributing credentials to users (3) and auditing possible identification errors among the users (3) and guards (2).
On the one hand, in this case, only the distributor (1) can link users (3) to their credentials; while on the other hand, the distributor (1) is not provided with any information about how the protected resource will be used.
This first embodiment of the method of the invention begins with the generation (100) of a sufficiently large prime number p, and the generation (101) of a polynomial of degree m, taking into consideration the result modulo p, when it is necessary to calculate the value of the polynomial for a specific value x. The value of m, the maximum degree of the polynomial, must be less than p−1, and it is not necessary to take into consideration a polynomial with all coefficients other than zero:
Once q(x) is generated, the authority divides (102) it into N polynomials (pj(x)):
such that the fractional polynomials complement one another to obtain the coefficients of q(x), in other words:
Each of the fractional polynomials is assigned and sent (103) securely to each of the guards (2). Therefore, unless all guards (2) collaborate, it is impossible for a subset of guards (2) to obtain the original polynomial q(x).
Once the system has been configured, users (3) are allowed to obtain their credentials. To that end, the users (3) send (109) their identifications to the distributor (1), which once verified as relevant, the distributor (1) generates a random Ptu value and use the polynomial to calculate and send (111) to the user (3) the (Ptu,q(Ptu)) point of the polynomial q(x). These points function as anonymous credentials for the guards (2) that guard the resource. The distributor (1) is responsible for not generating two points with the same Ptu coordinate.
Unless the number of users (3) exceeds the limit m, it is impossible for any set of users (3) to forge new credentials.
In the proposed method, the size of modulo p has no relevant influence on the security of the system, but it must be greater than m. Furthermore, the use of modular arithmetic limits the size of credentials while not restricting working with a large number of users (3). Therefore, for example, a value of m of 30 bits is not large in terms of computational time and is large enough to provide credentials to everyone on earth.
Once the credentials have been delivered, for the users (3) to be able to access the resource or service, they must send (113) their credentials to all the guards (2) which calculate (114) the result of pj(Ptu), and collaborate to verify (115) that the received credential (Ptu,q(Ptu)) meets the following:
Finally, access is given (116) to the user (3) after the guards (2) verify the received credential.
The second implementation distributes credential generation among a set of D distributors (1) that are assumed to be honest, guaranteeing the anonymity of the users (3) with respect to the guards (2) and the impossibility of generating fraudulent accreditations, even in a post-quantum scenario, unless either all the distributors (1) or all the guards (2) agree to violate the system.
To initially configure the system, the distributors (1) first agree (100) on a modular value p and the degree m of a polynomial q(x) to be built. Next, each distributor (1) independently generates (101) a polynomial qi(x) of degree m and modulo p. This polynomial qi(x) is divided (102) independently and freely into N complementary gij(x) portions, such that:
Next, the distributors (1) send (103) over a secure channel to each guard (2) one of the partitions qij. In this way, each guard (2) receives the partitions from each of the distributors (1) and calculates (104) its own polynomial pj(x) as:
Therefore, pj(x) is the result of adding up all the functions received from each distributor (1), such that the polynomial of each guard (2) cannot be known by any distributor (1), unless all of them agree to share their polynomial qi(x) and violate the system.
Furthermore, with respect to the polynomials known by the distributors (1) and the guards (2), the following is met:
To obtain their credentials, the users (3) send (109) their identification along with a Ptu integer such that p>Ptu to each of the distributors (1). These are responsible for ensuring that there are no duplicates of Ptu, in which case, the user (3) will be prompted to choose a different Ptu or he/she will be assigned one agreed upon by the distributors (1).
Each distributor (1) checks the identification of the user (3) and, if it is correct, responds by calculating and sending (111) the result of qi(Ptu) mod p. Once the response is received from all the distributors (1), the users (3) can calculate (112) their credentials as:
Once the credentials have been delivered, for the users to be able to access the resource or service, they must send (113) their credentials (Ptu,yu) to all the guards which must calculate (114) the result of pj(Ptu), and collaborate to verify (115) that the received credential meets the following:
Finally, access is given (116) to the user (3) after the guards (2) verify the received credential.
The third proposed implementation allows maintaining the anonymity of users (3) also with respect to the distributors (1). In fact, this implementation guarantees the anonymity of users (3) with respect to any authority involved, making it impossible for information extracted from compromised authorities to allow the generation of malicious credentials as long as there is an uncompromised authority and there is no solution for the discrete logarithm problem (current basis of security in public key cryptographic systems).
Therefore, this implementation allows the privacy of the user (3) to be protected during the registration phase, eliminating the connection existing between the identity of the user (3) and his/her credentials. For this work, homomorphic cryptography is used to hide the credential information that distributors (1) have access to. The implementation presented guarantees the anonymity of users (3) with respect to the authorities (even in post-quantum scenarios), preventing the generation of malicious credentials as long as the problem of the discrete logarithm (basis of many current public key cryptographic protocols) remain secure.
In this implementation, D distributors (1) responsible for generating access credentials and a group of N guards (2) are taken into consideration.
The configuration of the system implies that the distributors (1) agree (100) in advance on a prime modular value p, and that each of the distributors (1) generates (101) a random mi integer less than (p−1). Furthermore, the distributors (1) agree (105) on a redundancy function ƒ(x). Next, each distributor (1) divides (102) the mi integer into N portions such that:
The portions mij are sent (103) to the guards (2) through secure channels. Each guard (2) can then calculate (104) its own value from the portions received from the distributors (1):
Therefore, at the end of the distribution phase, both the distributors (1) and the guards (2) have different information to build the same secret integer m that is never stored anywhere. That is, m is the result of the sums:
In the identification phase, before starting communication with the distributors (1), each user (3) generates (108) a pair of integers s and v such that the product v*s reduction modulo (p−1) is equal to 1. The registration phase begins when user u privately selects an integer Ptu, which, to avoid attacks based on the homomorphic properties of the modular product, contains the result of a redundancy function previously agreed upon (105). Thus, Ptu it is calculated (107) as the result of the concatenation of a random value r previously generated (106) and the result of ƒ(r).
The generated value will be part of the credential of the user (3), so in order for the distributors (1) to not be able to link the received credential to the identifier of the user (3), the integer Ptu is masked as P′tu=Ptuv mod p before sending (109) the user identification along with the P′tu value to each of the distributors (1).
If the identification is correct and it is previously checked (110) that there is no prior issuance of credentials to said user (3), each distributor (1) calculates and sends (111) the (P′tu)m
For a sufficiently large p value, the probability that two users (3) generate the same Ptu is extremely low, practically negligible with p values of 1024 bits, which is a conservative number of bits by current standards.
Once the response from the distributors (1) is received, the user (3) can calculate (112) his/her access credentials as:
Such that:
where m is the integer previously agreed upon, but unknown to both guards (2) and distributors (1).
Furthermore, P′tu=Ptuv mod p is the only value transmitted to the distributors and is insufficient to reveal the hidden Ptu value. Once the credentials have been delivered, for the users (3) to be able to access (116) the resource or service, they must send (113) their credentials to all the guards which must calculate (114) the result of (Ptun
Finally, access (116) is given to the user (3) after the guards (2) verify the received credential, or the requested action (116) is performed, and the user (3) is provided with guarantee (117) that the action has been performed.
Number | Date | Country | Kind |
---|---|---|---|
P202130890 | Sep 2021 | ES | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/ES2022/070587 | 9/16/2022 | WO |