Take the 2-minute tour ×
Information Security Stack Exchange is a question and answer site for Information security professionals. It's 100% free, no registration required.

I know how SSL provides security against people reading your messages - by encryting the message with a SYMMETRIC KEY, which was exchanged during SSL Handshake with the help of ASYMMETRIC KEYS. But I could not find out where it was tamper proof (someone tampering the encrypted data).
Is SSL Tamper Detectable? If yes, how?

share|improve this question
1  
What do you mean by tamper? Preventing receipt of a message with/without sender's/recipient's knowledge? Changing content with/without recipient's knowledge? –  Mike Samuel Aug 28 '12 at 17:42
1  
You can't alter the message without detection; as a message authentication code is used. However, an intermediary could just keep altering/capturing packets preventing the communication. –  dr jimbob Aug 28 '12 at 17:46
2  
Tamper generally means the intentional modification of data created by a primary party in an exchange of data. Commonly secure schemes use integrity checks to detect tampering by third parties. And when tampering is detected the data received is ignored or untrusted. Total prevention of tampering is very difficult. In its place tamper detection is usually acceptable. –  this.josh Aug 29 '12 at 6:35
    
@Mike Samuel : sorry...I have edited the title. –  Ashwin Aug 29 '12 at 12:10
    
@this.josh : sorry...I have edited the title –  Ashwin Aug 29 '12 at 12:11

3 Answers 3

up vote 7 down vote accepted

SSL is "tamper-proof" in the following sense: no third party may alter the transferred data in any way, without the receiver being made aware of the tampering. Of course, an attacker can always cut the cables, disrupting communications ! But no alteration goes unnoticed, thanks to the use of Message Authentication Codes by SSL.

Note that SSLv2 did not include a "safe end" feature: an attacker could force a connection close at any point, and the receiver could no know whether this closure was from an attacker or really triggered by the peer. This was fixed in SSLv3 and ulterior versions (TLS), which include an explicit administrative message (close_notify) marking the will of one of the SSL parties to close the connection (this administrative message is covered by the SSL MAC, and thus cannot be forged by an attacker).

Among the cipher suites which SSL clients and servers can negotiate are some integrity-only cipher suites, such as TLS_RSA_WITH_NULL_SHA, which use MAC only but not encryption -- so you can have tamper-proofness without confidentiality, if that's what you want (deployed SSL client and server implementations rarely allow for these suites, and certainly not by default, but they are specified by the standard.

share|improve this answer

SSL/TLS is designed to be tamper proof, as described in the introduction of the specification:

   The primary goal of the TLS Protocol is to provide privacy and data
   integrity between two communicating applications.  [...]

   -  The connection is reliable.  Message transport includes a message
      integrity check using a keyed MAC.  Secure hash functions (e.g.,
      SHA, MD5, etc.) are used for MAC computations.  The Record
      Protocol can operate without a MAC, but is generally only used in
      this mode while another protocol is using the Record Protocol as a
      transport for negotiating security parameters.

The implementation of this mechanism is described further in 5. HMAC and the Pseudorandom Function. In addition, F.2. Protecting Application Data describes more generally how the overall integrity protection mechanism works.

share|improve this answer

On a different note, if are a victim of a man - in - the middle attack on SSL, that is also detectable. But not by using integrity checks in the algorithms, but by viewing the certificate. So in this case, being detectable is purely based on the user.

So, in the above cases, if the user unknowningly accepts the false certificate given by the MiTM, then NO , it is not tamper proof.

Also, SSL strip uses a mechanism where you are forwarded to a non https page. Also detectable, but not by the computer, by you , the user.

This is just a different angle to the question if the OP had this scenario also in mind.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.