Outils pour utilisateurs

Outils du site


securite:crypto

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
securite:crypto [2017/02/15 03:16] – [API Key] sgariepysecurite:crypto [2022/02/02 00:42] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +====== Authentification à une API REST par clé ======
 +
 +Il y plusieurs façons de le faire, selon la complexité dont on a besoin.  On peut simplement générer une clé d'API, garder le hash de cette clé et la comparer avec ce qui est reçu dans les requêtes.
 +
 +On peut aussi avoir une clé d'API avec un secret.  Le secret permet de signer la requête et on donne la clé d'API en //clair// pour que le fournisseur de l'API puisse retrouver le secret dans une base de données.  Le fournisseur recalcule la signature et si elle est la même que celle reçu, la requête est authentifiée.
 +
 +
 +
 +
 ====== Salt ====== ====== Salt ======
  
 Des octets au hasard de 32-bits serait suffisant, on peut en utiliser de 64-bit.  [[http://stackoverflow.com/questions/184112/what-is-the-optimal-length-for-user-password-salt|What is the optimal length for user password salt?]] Des octets au hasard de 32-bits serait suffisant, on peut en utiliser de 64-bit.  [[http://stackoverflow.com/questions/184112/what-is-the-optimal-length-for-user-password-salt|What is the optimal length for user password salt?]]
  
 +<code javascript>
 +const SALT_FACTOR = 5;
  
 +bcrypt.genSalt(SALT_FACTOR, (err, salt) => { });
 +</code>
 ====== Secret ====== ====== Secret ======
  
 +Sert à créer une signature, par exemple avec la requête.  Voir un exemple là : [[http://docs.aws.amazon.com/AmazonS3/latest/dev/S3_Authentication2.html|Authenticating Requests Using the REST API]].
 +
 +On peut utiliser :
  
 +  var secretKey = uuid.v4();
 +  
 +  
 +  
 +Note: On peut utiliser [[https://github.com/ai/nanoid|NanoID]] au lieu de uuid.v4.
 ====== API Key ====== ====== API Key ======
  
securite/crypto.1487124988.txt.gz · Dernière modification : 2022/02/02 00:43 (modification externe)