Comment by pkulak

Comment by pkulak a day ago

15 replies

“Transport Layer Security” really is a better name though. I also like to say “TLS”. Two Ses in a row makes you sound like a snake.

o11c a day ago

The problem is that TLS was already in widespread use for "thread local storage".

Transport Layer Security is widely documented as beginning in 1999.

I can find references to "Thread Local Storage" going back to at least 1996. That particular term seems more common in the Microsoft (and maybe IBM, does anyone have an OS/2 programming manual?) world at the time; Pthreads (1995) and Unix in general tended to call it "thread-specific data".

It's possible that the highly influential 2001 Itanium ABI document (which directly led to Drepper's TLS paper) brought the term to (widespread) use in the broader Unix world, though Sun (for both Solaris and Java?) was using the term previously. But it's also possible that I'm just missing the reference material.

  • kstrauser a day ago

    I don’t doubt that, but I never heard Thread Local Storage until much later than that. While it might well’ve been common within its ecosystem, I don’t think it was widely known outside it.

  • JdeBP a day ago

    I might have an OS/2 programming manual. But I don't need it. (-: This was not an OS/2 thing. We had to make map data structures using thread IDs. Or our language runtimes did.

    Look to Windows NT rather than to OS/2 for thread-local storage. TlsAlloc() et al. were in the Win32 API right from NT 3.1, I think.

  • dboreham 9 hours ago

    tls meaning thread local storage goes back at least to 1992 when Win32 was released. pthreads and Java are obviously much later.

jeroenhd a day ago

I think SSL is a better fit, actually. In theory TLS could be a transport-layer security mechanism that would let arbitrary protocols run on top of it (like IPSec does), but in practice it's pretty much tied up to TCP sockets. The UDP variant (DTLS, and I suppose QUIC) isn't part of the TLS spec for instance. Of course we have kernel TLS on Linux now, and Windows also has infrastructure like that, but it isn't as easy as setting a flag on a socket to turn TLS on.

Plus, who doesn't like to sound like a snake sometimes? Snakes are badass.

  • somat 9 hours ago

    Speaking of ipsec, ipsec was supposed to be "the" encrypted interchange on the internet, basically used for random secure connections like we use tls today.

    I like to imagine an alternate past where ipsec "won" and how that would affect our expectations of secure connections. One thing different is that the security would handled at the os level instead of the application level, on the one hand this is nice all application get a secure connection whether they want one or not, on the other hand the application has no idea it is using a secure transport and has no way of indicating this to the user.

    Anyhow the opportunistic connection employment of ipsec never really got implemented and all we use it for anymore is as a dedicated tunnel. one that is fiendishly difficult to employ.

    I think the primary problem with ipsec is that it tried to be too flexible. this made setting up a ipsec link a non-trivial exercise in communication, and the process never got streamlined enough to just be invisible and work.

  • LukeShu a day ago

    No? The "transport" layer is layer 4 in the 7-layer OSI model (physical/datalink/network/transport/session/presentation/application) and 5-layer IP model (physical/network/internetwork/transport/application). That is: the "transport" provides reliable continuous data-stream abstraction over the lower-layers' discreet and unreliable packets; e.g. TCP.

    And that data-stream the interface that TLS provides; to the higher layers it looks like a transport layer.

    • aoetalks 15 hours ago

      I was about to agree with you, and then I read the article on DTLS.

      > And that data-stream the interface that TLS provides

      That’s exactly the problem. You might lose a UDP packet. That would corrupt data encrypted with stream cipher.

      With DTLS, each packet is encrypted individually.

      https://en.m.wikipedia.org/wiki/Datagram_Transport_Layer_Sec...

      • ekr____ 13 hours ago

        Just on a technical note, TLS 1.3 only uses AEAD ciphers where the nonce is determined by the record numbers, so it actually is in principle possible to decrypt the packets even if they are received out of order by trial decrypting with different record numbers. You don't do this in TLS (as opposed to DTLS) because it runs over TCP and therefore you are guaranteed in-order delivery.

        DTLS, by contrast, provides a record number hint (the low order bits of the record number and epoch) to assist in record number reconstruction: https://www.rfc-editor.org/rfc/rfc9147.html#name-reconstruct....

  • [removed] 15 hours ago
    [deleted]
layer8 a day ago

“SSL” is easier to pronounce, because the tongue barely changes position between the three letters, compared to “TLS”.

  • nulbyte 11 hours ago

    This is objective, but ai find TLS rolls more easily off the tongue.

andrewfromx a day ago

picture kaa from the jungle book discussing tcp security and arguing for the s-s-l name. In fact maybe adding a 3rd s.