Uso del schacPersonalUniqueCode dentro del SIR
El schacPersonalUniqueCode (en adelante sPUC) es un atributo definido dentro del Schema for Academia (SCHAC), un esquema desarrollado y promovido en el ámbito de TERENA con la intención de facilitar el intercambio de información entre entidades académicas europeas e internacionales.
Dentro de esta definición de atributos, el sPUC representa un código único asociado a un sujeto, que no tiene que corresponderse necesariamente con ningún otro identificador fuera del ámbito de los directorios que usen este esquema. El atributo se define como un URN con el formato urn:mace:terena.org:schac:personalUniqueCode:<codigo-pais>:<iNSS>, donde el código de país debe ser un código de dos letras válido según el estándar ISO 3166, o bien el literal "int", y asignado por el registro de URN de TERENA, y el iNSS es una cadena de caracteres específica de un espacio de nombres, definida en el RFC 2141, pero sin distinción entre mayúsculas y minúsculas, y perteneciente a un vocabulario controlado nacionalmente, publicado a través del mencionado registro de URN de TERENA.
Dentro del ámbito específico del Servicio de Identidad de RedIRIS, sPUC se utiliza no sólo para identificar unívocamente a los usuarios de la federación, de forma opaca (es decir, sin utilizar ningún atributo susceptible de ser considerado como de carácter personal) pero a la vez verificable buscando una correspondencia con otro identificador único y descriptivo de los usuarios, como es en este caso la dirección de correo electrónico. En ese sentido, un sPUC dentro del SIR debe tener el formato urn:mace:terena.org:schac:personalUniqueCode:es:rediris:sir:mbid:{<algoritmo>}<hash>, donde:
- El identificador se corresponde con un identificador gestionado por RedIRIS y válido para su uso dentro de su Servicio de Identidad.
- Se trata de un identificador basado en el correo electrónico del usuario (mbid, Mail-based ID).
- El algoritmo es un algoritmo de cálculo de resúmenes únicos de un solo sentido, como pueden ser md5 o sha1. El uso de otro tipo de algoritmos se encuentra actualmente en estudio.
- El hash es el resultado de aplicar el algoritmo anteriormente indicado sobre la dirección de correo electrónico del usuario, codificado en formato hexadecimal. Funciones como md5() en PHP o md5_sum() en Perl son adecuadas para el cálculo de este campo.
Todos los proveedores de identidad dentro del SIR deben presentar tantos valores en el atributo sPUC como direcciones institucionales de correo electrónico tengan sus usuarios, y deben seguir este formato para su correcta verificación automatizada en base a dichas direcciones.
