14

Lorsque j'utilise HTTP BASIC authentication avec HTTPS, le nom d'utilisateur et le mot de passe sont-ils transmis de manière sécurisée au serveur?Authentification HTTPS et BASIC

Je serais heureux si vous pouvez m'aider avec quelques références. Je veux dire, ce serait génial si je peux citer StackOverflow Q & A comme référence dans, disons, des devoirs, des rapports, des examens, ou même dans un document technique. Mais je pense que je ne suis pas encore là.

+0

Mon autre question a de très bonnes réponses qui répondent également à cette question: http://stackoverflow.com/questions/3563957/https-url-path-and-query-string –

Répondre

18

oui. Si vous utilisez https, la conversation avec le serveur Web est entièrement cryptée.

+5

+1. Même le fait que Basic Auth ait lieu ne peut pas être établi de l'extérieur. – Thilo

+0

@Thilo: Merci; Pouvez-vous m'aider avec quelques références? –

+3

[Stripe] (https://stripe.com/docs/api#authentication) le fait comme ça (et traite les transactions par carte de crédit). – greatwitenorth

3

L'authentification HTTP de base et HTTPS sont des concepts différents.

  • nom d'utilisateur authentification HTTP de base et mot de passe sont envoyés en texte clair (Dans le mot de passe HTTP Digest autorisation est envoyé en base64 en utilisant l'algorithme MD5)
  • Alors que le protocole HTTPS est de fonctionnalité complètement différent, un message ici complet est crypté basé sur clés et certificat SSL.

Veuillez noter qu'il existe une différence entre autorisation et sécurité. HTTP L'autorisation de base est un concept d'autorisation. Ce n'est pas la sécurité.

OUI. Dans votre cas, le message HTTP avec nom d'utilisateur et mot de passe sera crypté, puis envoyé au serveur.

+4

C'est l'authentification HTTP Basic, pas l'autorisation, qui est encore un autre concept. – Bruno

+0

Par autorisation, je veux dire "401 Non autorisé" en-tête selon RFC 2617. Désolé de créer la confusion – Alam

+1

Il est également intéressant de mentionner, que HTTPS fournit également des moyens d'authentification (certificat basé sur la connexion), non seulement le cryptage - HTTP Basic authentification peut ne pas être nécessaire là-bas. –

3

Oui, ils sont transmis en toute sécurité ... si un pirate peut déchiffrer votre transaction https qu'il peut pour déchiffrer que l'utilisateur base64: Mot de passe ...

Je sais que le plus de roches que vous mettez plus il faut. .. mais base64 n'est pas pour des raisons de sécurité

+0

Pourriez-vous indiquer comment vous êtes passé de l'authentification HTTP BASIC à base64? –

+3

Les mots de passe d'authentification de base sont codés en base64. Ces chaînes sont ensuite cryptées par SSL. – bnieland

0

Si un outil comme Fiddler est installé sur votre système local, il pourrait être utilisé pour transférer vos transmissions https déchiffrées à un tiers. Si quelqu'un le configure pour cela, il possède déjà votre système (soit avoir un accès physique, soit un accès complet/root).