diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2012-12-03 20:35:22 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2012-12-03 20:35:22 +0100 |
commit | f97082d162912524d417239b2b143fb52430cf7d (patch) | |
tree | 2f5a471582b36230daf210e1c3b4a545b39acb53 /manual/html_node/Separate-ports.html | |
download | gnutls-f97082d162912524d417239b2b143fb52430cf7d.tar.gz |
added web
Diffstat (limited to 'manual/html_node/Separate-ports.html')
-rw-r--r-- | manual/html_node/Separate-ports.html | 201 |
1 files changed, 201 insertions, 0 deletions
diff --git a/manual/html_node/Separate-ports.html b/manual/html_node/Separate-ports.html new file mode 100644 index 0000000000..f0b8ba7b5c --- /dev/null +++ b/manual/html_node/Separate-ports.html @@ -0,0 +1,201 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- This manual is last updated 17 November 2012 for version +3.1.5 of GnuTLS. + +Copyright (C) 2001-2012 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with no +Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A +copy of the license is included in the section entitled "GNU Free +Documentation License". --> +<!-- Created by GNU Texinfo 4.13.90, http://www.gnu.org/software/texinfo/ --> +<head> +<title>GnuTLS 3.1.5: Separate ports</title> + +<meta name="description" content="GnuTLS 3.1.5: Separate ports"> +<meta name="keywords" content="GnuTLS 3.1.5: Separate ports"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="index.html#Top" rel="start" title="Top"> +<link href="Function-and-Data-Index.html#Function-and-Data-Index" rel="index" title="Function and Data Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="How-to-use-TLS-in-application-protocols.html#How-to-use-TLS-in-application-protocols" rel="up" title="How to use TLS in application protocols"> +<link href="Upward-negotiation.html#Upward-negotiation" rel="next" title="Upward negotiation"> +<link href="How-to-use-TLS-in-application-protocols.html#How-to-use-TLS-in-application-protocols" rel="previous" title="How to use TLS in application protocols"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.smallquotation {font-size: smaller} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.indentedblock {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +div.smalldisplay {margin-left: 3.2em} +div.smallexample {margin-left: 3.2em} +div.smallindentedblock {margin-left: 3.2em; font-size: smaller} +div.smalllisp {margin-left: 3.2em} +kbd {font-style:oblique} +pre.display {font-family: inherit} +pre.format {font-family: inherit} +pre.menu-comment {font-family: serif} +pre.menu-preformatted {font-family: serif} +pre.smalldisplay {font-family: inherit; font-size: smaller} +pre.smallexample {font-size: smaller} +pre.smallformat {font-family: inherit; font-size: smaller} +pre.smalllisp {font-size: smaller} +span.nocodebreak {white-space:nowrap} +span.nolinebreak {white-space:nowrap} +span.roman {font-family:serif; font-weight:normal} +span.sansserif {font-family:sans-serif; font-weight:normal} +ul.no-bullet {list-style: none} +body { + margin: 2%; + padding: 0 5%; + background: #ffffff; +} +h1,h2,h3,h4,h5 { + font-weight: bold; + padding: 5px 5px 5px 5px; + background-color: #c2e0ff; + color: #336699; +} +h1 { + padding: 2em 2em 2em 5%; + color: white; + background: #336699; + text-align: center; + letter-spacing: 3px; +} +h2 { text-decoration: underline; } +pre { + margin: 0 5%; + padding: 0.5em; +} +pre.example,pre.verbatim { + padding-bottom: 1em; + + border: solid #c2e0ff; + background: #f0faff; + border-width: 1px 1px 1px 5px; + margin: 1em auto; + width: 90%; +} + +div.node { + margin: 0 -5% 0 -2%; + padding: 0.5em 0.5em; + margin-top: 0.5em; + margin-bottom: 0.5em; + font-weight: bold; +} +dd, li { + padding-top: 0.1em; + padding-bottom: 0.1em; +} +div.float { + + margin-bottom: 0.5em; + text-align: center; +} + +table { + text-align: left; + margin-left:auto; + margin-right:auto; + width: 50%; +} + +th { + padding: 0; + color: #336699; + background-color: #c2e0ff; + border: solid #000000; + border-width: 0px; + margin: 1em auto; + text-align: center; + margin-left:auto; + margin-right:auto; +} + +td { + padding: 0; + border: solid #000000; + background-color: #f0faff; + border-width: 0px; + margin: 1em auto; + text-align: left; + margin-left:auto; + margin-right:auto; + padding-left: 1em; +} + +dl { + text-align: left; + margin-left:auto; + margin-right:auto; + width: 50%; + + padding-left: 1em; + border: solid #c2e0ff; + background: #f0faff; + border-width: 5px 1px 1px 1px; + margin: 1em auto; +} + +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> +<a name="Separate-ports"></a> +<div class="header"> +<p> +Next: <a href="Upward-negotiation.html#Upward-negotiation" accesskey="n" rel="next">Upward negotiation</a>, Up: <a href="How-to-use-TLS-in-application-protocols.html#How-to-use-TLS-in-application-protocols" accesskey="u" rel="up">How to use TLS in application protocols</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Function-and-Data-Index.html#Function-and-Data-Index" title="Index" rel="index">Index</a>]</p> +</div> +<hr> +<a name="Separate-ports-1"></a> +<h4 class="subsection">3.7.1 Separate ports</h4> + +<p>Traditionally <acronym>SSL</acronym> was used in application protocols by +assigning a new port number for the secure services. That way two +separate ports were assigned, one for the non secure sessions, and one +for the secured ones. This has the benefit that if a user requests a +secure session then the client will try to connect to the secure port +and fail otherwise. The only possible attack with this method is a +denial of service one. The most famous example of this method is the +famous “HTTP over TLS” or <acronym>HTTPS</acronym> protocol [<em>RFC2818</em>]. +</p> +<p>Despite its wide use, this method is not as good as it seems. This +approach starts the <acronym>TLS</acronym> Handshake procedure just after the +client connects on the —so called— secure port. That way the +<acronym>TLS</acronym> protocol does not know anything about the client, and +popular methods like the host advertising in HTTP do not +work<a name="DOCF6" href="#FOOT6"><sup>6</sup></a>. There is no way for the client to say “I +connected to YYY server” before the Handshake starts, so the server +cannot possibly know which certificate to use. +</p> +<p>Other than that it requires two separate ports to run a single +service, which is unnecessary complication. Due to the fact that there +is a limitation on the available privileged ports, this approach was +soon obsoleted. +</p> +<div class="footnote"> +<hr> +<h4 class="footnotes-heading">Footnotes</h4> + +<h3><a name="FOOT6" href="#DOCF6">(6)</a></h3> +<p>See also the Server Name Indication extension on +<a href="Server-name-indication.html#serverind">serverind</a>.</p> +</div> + + + +</body> +</html> |