[en] An attribute-based signature with respect to a signing policy chosen by the signer, convinces the verifier that the signer sustains a subset of attributes satisfying that signing policy. The verifier must not obtain any other information about the identity of the signer or the attributes he holds. This type of signatures have a lot of applications in real life scenarios that demand both authentication and privacy properties. The ability of revoking users that have misbehaved or lost their attributes, so that they can not compute more valid signatures, is very desirable for real life applications of attribute-based signatures. In this project, the main goal consists in studying different protocols of revocation and incorporating them into an already existing RSA attribute-based signature. In order to achieve these objectives, two different protocols were chosen from those available in the literature, taking into account the efficiency of the existing protocols and the necessity that the protocol is built in an anonymous way: the user must not reveal his identity when proving that he is not in the revocation list. The first one is based on a polynomial evaluation argument, and some of its main advantages are that this argument has logarithmic communication cost in the number of revoked users in contrast to other protocols with cubic root complexity at best, thus obtaining a more efficient protocol and besides its security relies only on the discrete logarithm assumption. The second one was based on a protocol for special cases when the revoked elements are coprime, since in the attribute based signature the elements are prime, this protocol was considered suitable. While demonstrating its soundness it was found that the original protocol was not secure because we found a particular attack (that we describe in this work). Thus, a new secure protocol was designed which fits with the attribute-based signature. Finally, the previous protocols have been incorporated into an existing RSA attribute-based signature scheme, and both resulting signatures have been analyzed in terms of efficiency of the communication cost. The second protocol is shown to be always more efficient than the first one, even for the case with a single revoked user.

[es] Una firma basada en atributos con relación a una política de firmas elegida por el firmante, convence al verificador que el firmante tiene un subconjunto de atributos que satisfacen la política de firmas. El verificador no obtendrá ninguna información sobre la identidad del firmante o sobre los atributos que tiene. Este tipo de firmas tiene muchas aplicaciones en situaciones de la vida real que demandan autenticación y privacidad al mismo tiempo. La habilidad para revocar a usuarios que se han comportado mal o han perdido sus atributos y ya no pueden computar más firmas válidas, es muy deseable para aplicaciones de firmas basadas en atributos en la vida real. En este proyecto, el principal objetivo consiste en estudiar diferentes protocolos de revocación e incorporarlos a un esquema de una firma RSA basada en atributos ya existente. Para poder alcanzar estos objetivos, dos protocolos fueron elegidos entre los disponibles en la literatura existente, teniendo en cuenta la eficiencia de los protocolos existentes y la necesidad de que el protocolo haya sido construido de manera anónima: el usuario no puede revelar su identidad en el momento de probar que él no está en la lista de revocación. El primer protocolo está basado en un argumento de evaluación de polinomios, y una de sus principales ventajas es que tiene coste de comunicación logarítmica en el número de usuarios revocados en contraste con otros protocolos con complejidad cúbica en el mejor caso, por lo tanto se obtiene un protocolo más eficiente y además su seguridad sólo depende de la conjetura del logaritmo discreto. El segundo protocolo está basado en un protocolo para situaciones especiales cuando los elementos en la lista de revocación son números coprimos dos a dos, como en la firma basada en atributos los elementos son primos, este protocolo fue considerado como una buena posibilidad. Mientras se estaba demostrando la solidez del protocolo nos dimos cuenta que el protocolo original no era seguro porque encontramos un ataque (que está descrito en el proyecto). Por lo tanto, un nuevo protocolo seguro fue diseñado que sirve para la firma basada en atributos. \vspace{0.2cm}\\ Finalmente, los protocolos previos fueron han sido incorporados a la firma RSA basada en atributos existente, y las dos firmas resultantes han sido analizadas en términos de la eficiencia del coste de comunicación. El segundo protocolo se demuestra que siempre es más eficiente que el primero, incluso en el caso de un solo usuario revocado.