Difference between SSL and Kerberos authentication?

前端 未结 7 1365
北海茫月
北海茫月 2021-01-30 06:23

I am trying to understand what\'s the actual difference between SSL and Kerberos authentications, and why sometimes I have both SSL traffic and Kerberos. Or does Kerberos use S

相关标签:
7条回答
  • 2021-01-30 07:13

    From https://www.eldos.com/security/articles/7240.php?page=all,

    Kerberos and TLS are not the things to compare. Their have different objectives and different methods. In the beginning of our article we mentioned the frequently asked questions like “which is better” and “what to choose”. The former is not a question at all: nothing is better and everything is good if you use it in a right way. The latter question is worth a serious consideration: what to choose depends on what you have and what you want.

    If you want to secure your communications in a sense that nobody can read it or tamper it, perhaps the right choice is to use TLS or some other protocols based on it. A good example of TLS usage for securing World Wide Web traffic carried by HTTP is to use HTTPS. For secure file transferring you may use FTPS, and take into account that SMTP (though it stands for a “simple” mail transfer protocol, not “secure”) is also may be protected with TLS.

    On the other hand, if you need to manage user access to services, you may want to use Kerberos. Imagine, for example, that you have several servers like Web server, FTP, SMTP and SQL servers, and optionally something else, everything on one host. Some clients are allowed to use SMTP and HTTP, but not allowed to use FTP, others may use FTP but don’t have access to your databases. This is exactly the situation when Kerberos is coming to use, you just have to describe user rights and your administrative policy in Authentication Server.

    0 讨论(0)
  • 2021-01-30 07:18

    From http://web.mit.edu/kerberos/: Kerberos was created by MIT as a solution to these network security problems. The Kerberos protocol uses strong cryptography so that a client can prove its identity to a server (and vice versa) across an insecure network connection. After a client and server has used Kerberos to prove their identity, they can also encrypt all of their communications to assure privacy and data integrity as they go about their business.

    Meanwhile: SSL is used for establishing server<-->server authentication via public key encryption.

    0 讨论(0)
  • 2021-01-30 07:19

    SSL uses public key cryptography:

    1. You (or your browser) has a public/private keypair
    2. The server has a public/private key as well
    3. You generate a symmetric session key
    4. You encrypt with the server's public key and send this encrypted session key to the server.
    5. The server decrypts the encrypted session key with its private key.
    6. You and the server begin communicating using the symmetric session key (basically because symmetric keys are faster).

    Kerberos does not use public key cryptography. It uses a trusted 3rd party. Here's a sketch:

    1. You both (server and client) prove your identity to a trusted 3rd party (via a secret).
    2. When you want to use the server, you check and see that the server is trustworthy. Meanwhile, the server checks to see that you are trustworthy. Now, mutually assured of each others' identity. You can communicate with the server. 2
    0 讨论(0)
  • 2021-01-30 07:19

    To put simply, Kerberos is a protocol for establishing mutual identity trust, or authentication, for a client and a server, via a trusted third-party, whereas SSL ensures authentication of the server alone, and only if its public key has already been established as trustworthy via another channel. Both provides secure communication between the server and client.

    More formally (but without getting into mathematical proofs), given a client C, server S, and a third-party T which both C and S trust:

    After Kerbeos authentication, it is established that:

    • C believes S is who it intended to contact
    • S believes C is who it claims to be
    • C believes that it has a secure connection to S
    • C believes that S believes it has a secure connection to C
    • S believes that it has a secure connection to C
    • S believes that C believes it has a secure connection to S

    SSL, on the other hand, only establishes that:

    • C believes S is who it intended to contact
    • C believes it has a secure connection to S
    • S believes it has a secure connection to C

    Clearly, Kerberos establishes a stronger, more complete trust relationship.

    Additionally, to establish the identity of S over SSL, C needs prior knowledge about S, or an external way to confirm this trust. For most people's everyday use, this comes in the form of Root Certificates, and caching of S's certificate for cross-referencing in the future.

    Without this prior knowledge, SSL is susceptible to man-in-the-middle attack, where a third-party is able to pretend to be S to C by relaying communication between them using 2 separate secure channels to C and S. To compromise a Kerberos authentication, the eavesdropper must masquerade as T to both S and C. Note, however, that the set of trusts is still unbroken according to the goal of Kerberos, as the end-state is still correct according to the precondition "C and S trusts T".

    Finally, as it has been pointed out in a comment, Kerberos can be and has been extended to use SSL-like mechanism for establishing the initial secure connection between C and T.

    0 讨论(0)
  • 2021-01-30 07:20

    While Kerberos and SSL are both protocols, Kerberos is an authentication protocol, but SSL is an encryption protocol. Kerberos uses UDP, SSL uses (most of the time) TCP. SSL authentication is usually done by checking the server's and the client's RSA or ECDSA keys embedded in something called X.509 certificates. You're authenticated by your certificate and the corresponding key. With Kerberos, you can be authenticated by your password, or some other way. Windows uses Kerberos for example, when used in domain.

    Related note: Recent versions of SSL are called TLS for Transport Layer Security.

    0 讨论(0)
  • 2021-01-30 07:21

    In short:

    Kerberos usually does not encrypt transferring data, but SSL and TLS do.

    "there are no standard APIs for accessing these messages. As of Windows Vista, Microsoft does not provide a mechanism for user applications to produce KRB_PRIV or KRB_SAFE messages." - from http://www.kerberos.org/software/appskerberos.pdf

    In opposite, SSL and TLS usually do not transfer and proof Yours Windows domain login name to the server, but Kerberos does.

    0 讨论(0)
提交回复
热议问题