Ignore:
Timestamp:
Jan 18, 2007 2:22:40 AM (6 years ago)
Author:
dkg
Message:

TLS Centralization article: incorporated input from Josue and Christine.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tls-centralization/index.html

    r66 r115  
    1717<p>The protocols we use for communication shape not just the 
    1818communications themselves, but social and economic structures beyond 
    19 them.  I'll discuss here a protocol in common use on the internet 
    20 today: <term>Transport Layer Security</term> (or <term>TLS</term>) and 
    21 its precursor, the <term>Secure Sockets Layer</term> (or 
    22 <term>SSL</term>).  These are used (among other places) in secure 
     19them.  As Americans, we have seen how choices in infrastructure can 
     20shape social structure in the physical world. Our society builds 
     21highways, malls, and suburban developments while neglecting its rail 
     22lines, public spaces, and cities. In doing so, we <a 
     23href="http://www.planning.org/APAStore/Search/Default.aspx?p=3333">discourage 
     24civic interaction while facilitating pollution and dangerously 
     25sedentary lifestyles</a>. This article shows how choices in digital 
     26communications infrastructure can also have an effect on our social 
     27fabric by focusing on one small example out of many. 
     28 
     29<p>I'll discuss here a protocol in common use on the internet 
     30today: <term>Transport Layer Security</term> (<term>TLS</term>) and 
     31its precursor, the <term>Secure Sockets Layer</term> 
     32(<term>SSL</term>).  These are used (among other places) in secure 
    2333World Wide Web connections.  <term>TLS</term>, as it is currently 
    2434implemented, fosters the concentration of power and money among 
     
    3343authoritarian. 
    3444 
    35 <p>But this is one small piece of the puzzle.  There are thousands of 
     45<p>TLS is only one small piece of the puzzle.  There are thousands of 
    3646protocols and tools in use on the Internet today, with a variety of 
    3747subtle societal effects.  We can choose the way we want to go, but we 
     
    111121veering into paranoia here: the global network is very flexible; it 
    112122relies on wide-scale co-operation; and the malicious actors are often 
    113 tireless and concsienceless machines, not individual humans. 
     123tireless and conscienceless machines, not individual humans. 
    114124 
    115125<p> So how does your browser know to show that lock, since anyone 
     
    119129tooltip</cap></captionedimage> Because during the initial claim of 
    120130identity, the web server presents a certificate which is 
    121 cryptographically signed by an <term>Certificate Authority</term> (or 
    122 <term>CA</term>) who your browser already knows about and trusts.  On 
     131cryptographically signed by an <term>Certificate Authority</term> 
     132(<term>CA</term>) who your browser already knows about and trusts.  On 
    123133some modern web browsers, if you hover your mouse over the 
    124134<q>lock</q>, a tool tip will pop up showing which <term>CA</term> 
     
    159169 
    160170What is it about the architecture of the Web that encourages this 
    161 insecurity and lack of integrity?  I want to step briefly into a 
    162 discussion of the underlying protocols used to create secure web 
    163 connections.  The Internet is a collection of co-operating machines, 
    164 all passing messages to each other in various forms.  Viewed from 
    165 another angle, the Internet is also a collection of interacting 
    166 protocols, which fit together in certain ways. 
     171insecurity and lack of integrity?  This requires a basic understanding 
     172of the underlying protocols used to create secure web connections. 
     173The Internet is a collection of co-operating machines, all passing 
     174messages to each other in various forms.  Viewed from another angle, 
     175the Internet is also a collection of interacting protocols, which fit 
     176together in certain ways. 
    167177 
    168178<h3>TLS</h3> 
     
    218228<pre>/O=secure.mayfirst.org/OU=Domain Validated/OU=Go to https://www.thawte.com/repository/index.html/OU=Thawte SSL123 certificate/CN=secure.mayfirst.org</pre> 
    219229 
    220 <p>The name of the signer (aka the <term>issuer</term>) is also present in a 
    221 similar form (though your browser treats the entire string as 
    222 important), and a <em>single</em> signature is allowed within the 
    223 certificate. 
     230<p>The identity of the signer (aka the <term>issuer</term>) is also 
     231present in the certificate, and a <em>single</em> signature is allowed 
     232within the certificate. 
    224233 
    225234<p>Your browser (or other <term>TLS</term>-capable client) takes the 
     
    401410larger <term>CA</term>s called <a 
    402411href="http://www.cabforum.org/certificates.html"><term>Extended 
    403 Validation</term> (or <term>EV</term>) Certificates</a>.  From what I 
     412Validation</term> (<term>EV</term>) Certificates</a>.  From what I 
    404413can tell, this is simply the big <term>CA</term>s offering to actually 
    405414do a serious level of identity verification &mdash; what they should 
     
    470479implemented or adopted yet. 
    471480 
    472 <p>One implementation exists: the free <a 
    473 href="http://www.gnu.org/software/gnutls/">GnuTLS library</a> has 
    474 supported <term>OpenPGP</term> certificates in addition to 
     481<p>Most programs which use <term>TLS</term> do not actually implement 
     482their TLS functionality directly.  Instead, they make use of software 
     483<term>libraries</term>, which are collections of code that can be used 
     484by many programs. 
     485 
     486<p>At least one library exists which can use OpenPGP certificates: the 
     487free <a href="http://www.gnu.org/software/gnutls/">GnuTLS library</a> 
     488has supported <term>OpenPGP</term> certificates in addition to 
    475489<term>X.509</term> certificates since at least the end of 2003.  Tools 
    476490(like web browsers) which use the GnuTLS library basically can get 
    477 this extra support without any extra work. 
     491this extra feature without any extra work. 
    478492 
    479493<p>However, the <a href="http://openssl.org/">OpenSSL library</a> is 
    480494by far the most widely-used free library, and it only includes support 
    481 for <term>X.509</term> certificates.  There are some folks talking it 
    482 over at the moment, but it's doubtful that anything will happen in the 
    483 near future with that.  Tools which use OpenSSL are not going to take 
    484 a while to migrate to this new architecture. 
     495for <term>X.509</term> certificates.  Some developers <a 
     496href="http://www.mail-archive.com/openssl-dev@openssl.org/msg21728.html">are 
     497discussing adding OpenPGP support for OpenSSL</a>, but it's doubtful 
     498that anything will happen in the near future.  Tools which 
     499use OpenSSL are going to take a while to migrate to this new 
     500architecture. 
    485501 
    486502<p>So what needs to happen?  Web browsers (and other TLS-enabled 
     
    498514the widest-distributed Free Browser today.  In my version of it on my 
    499515<a href="http://debian.org/">debian</a> operating system, it actually 
    500 already links against GnuTLS, but I haven't reviewed the sources to 
    501 see how it gets used.  Furthermore, there is no clear way through the 
    502 Firefox graphical interface to manage OpenPGP <term>CA</term>s, the 
    503 way there is to manage <term>X.509</term> <term>CA</term>s.  So that 
    504 needs work.  Firefox is also the basis for the proprietary Netscape 
    505 browser, so any fix to Firefox could have an effect there.  Many other 
    506 Free browsers also derive from Firefox, so a fix here would be a big 
    507 win. 
     516already uses the GnuTLS library, but I haven't reviewed the sources to 
     517see how it gets used (it could be used for library features unrelated 
     518to certificate verification).  Furthermore, there is no clear way 
     519through the Firefox graphical interface to manage OpenPGP 
     520<term>CA</term>s, the way there is to manage <term>X.509</term> 
     521<term>CA</term>s.  So that needs work.  Firefox is also the basis for 
     522the proprietary Netscape browser, so any fix to Firefox could have an 
     523effect there.  Many other Free browsers also derive from Firefox, so a 
     524fix here would be a big win. 
    508525 
    509526<p><a href="http://www.konqueror.org/">Konqueror</a> is another 
     
    518535<p>Finally, a couple text-mode browsers, <a 
    519536href="http://elinks.or.cz/"><tt>elinks</tt></a> and the venerable <a 
    520 href="http://lynx.browser.org/"><tt>lynx</tt></a> appear to be built 
    521 against GnuTLS these days.  So they might be a possibility. 
     537href="http://lynx.browser.org/"><tt>lynx</tt></a> appear to use the 
     538GnuTLS library these days. 
    522539 
    523540<h3>Web Server Buy-in</h3> 
     
    596613<hr> 
    597614<address></address> 
    598 <!-- hhmts start -->Last modified: Sat Jan  6 13:47:48 EST 2007 <!-- hhmts end --> 
     615<!-- hhmts start -->Last modified: Thu Jan 18 02:21:55 EST 2007 <!-- hhmts end --> 
    599616</body> </html> 
Note: See TracChangeset for help on using the changeset viewer.