Sécurité > Notes > Certificats serveurs

Certificat et autorité de confiance

Un certificat est un document électronique. Associé à une clé dite « privée », il permet de s’assurer de l’identité de celui qui le présente. Concrètement, il permet par exemple de répondre à la question : « quand je donne mon numéro de carte bleue au site marchand tartampion.com, comment être certain que j’envoie bien l’information à tartampion ? »

Il permet en outre d’établir, après cette authentification initiale, un tunnel chiffré que seul tartampion saura déchiffrer, ce qui protégera la communication d’une écoute possible.

Cependant, il faut au préalable avoir confiance dans un premier certificat (dit d’autorité de confiance) pour pouvoir valider le certificat présenté par tartampion. Par analogie avec les cartes d’identité : il faut connaître le coup de tampon de la préfecture pour être certain que la carte présentée émane effectivement de services officiels.

Une autorité reconnue : pour qui et pourquoi ?

Le SCI peut remettre des certificats pour des serveurs ou des services (serveur web, messagerie sécurisée, ...), gratuitement, pour toute composante de l’Université.

Ces certificats sont signés par une société commerciale (COMODO), qui a le poids nécessaire pour être déjà enregistrée comme autorité de confiance. Leur certificat racine AddTrust External CA Root est déjà connu des logiciels comme les navigateurs webs ou les clients de messagerie.

En conséquence, en naviguant sur un site web sécurisé de l’université (https://portail.unilim.fr par exemple), le navigateur affichera un petit cadenas, montrant que le site est sécurisé, et aucun message d’avertissement ne doit s’afficher.

Si vous recevez quand même un message d’avertissement, quelqu’un essaye peut-être d’intercepter la communication ! Prévenez le SCI (rssi@unilim.fr) en notant exactement le message d’erreur ou d’avertissement que vous avez reçu.

Un accord européen

L’obtention (gratuite pour notre université) de ces certificats est le fruit d’un accord signé par TERENA, réseau trans-européen pour la recherche et l’éducation. Le réseau français Renater est membre de TERENA, et la gestion du service a été déléguée au Comité Réseau des Université

Pour les composantes de l’université

Le SCI peut demander des certificats pour les serveurs des composantes. Nous ne ferons des demandes que pour les serveurs publics, sur lesquels se connectent les utilisateurs. Plusieurs possibilités techniques intéressantes :
- Nous pouvons demander un certificat « wildcard » (de type « *.composante.unilim.fr ») qui permet de n’utiliser qu’un seul et même certificat pour tous les serveurs du domaine DNS composante.unilim.fr.
- Il est possible de demander plusieurs certificats wildcards pour le même domaine. L’intérêt est d’utiliser des certificats différents par serveurs, tous les services d’un même serveurs utilisant par contre le même certificat wildcard
- Les certificats peuvent posséder des noms alternatifs pour le sujet : nous utilisons ainsi un même certificat pour « imap.unilim.fr » et « pop.unilim.fr »

Pour demander un certificat : une demande de certificat se fait dans un format particulier, PKCS#10. Deux possibilités :
- nous générons la demande de certificat : dans ce cas, nous assurons un service de séquestre, où nous gardons une copie de la clé privée
- vous générez la demande : dans ce cas, vous nous transmettez le fichier PKCS#10, ou vous le déposez directement sur https://tcs.cru.fr/tcs/apply/198 70... Attention, vous serez seul détenteur de la clé privée

Voici un exemple de commande sous Linux pour générer votre clé privée et votre demande au format PKCS#10 (la demande PKCS#10 s’affiche à l’écran, faire du copier-coller pour le transmettre) :

openssl req -newkey rsa:2048 -keyout www.composante.unilim.fr.key \
    -nodes \
    -subj "/C=FR/O=Universite de Limoges/OU=Ma Composante/CN=www.composante.unilim.fr/"

Si vous voulez un certificat pour Java, il est préférable de faire la génération avec la commande keytool directement dans le keystore Java :

STORE=/chemin/vers/keystore.kdb
PASS=changeit
ALIAS=monserveur
SRV=www.composante.unilim.fr

keytool -genkey -storepass $PASS -keystore $STORE \
    -alias $ALIAS -keyalg RSA -keysize 2048 \
    -dname "CN=$SRV,OU=Ma Composante,O=Universite de Limoges,C=FR" \
    -validity $((3 * 365))

keytool -certreq -storepass $PASS -keystore $STORE \
    -alias $ALIAS -file $SRV.p10

Une fois en possession de votre certificat signé, vous devrez aussi installer la chaîne de certification sur votre serveur.

Contactez svp-certificats@unilim.fr pour faire des demandes ou obtenir plus de renseignements.

Modifié le : 13 janvier 2012