IETF-SSH archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: IESG feedback on core drafts.
Well, I'm not sure if this is what we need or not, but
here is my first stab--
Here is the current Security Considerations section from
the transport draft.
> This protocol provides a secure encrypted channel over an insecure
> network. It performs server host authentication, key exchange,
> encryption, and integrity protection. It also derives a unique
> session id that may be used by higher-level protocols.
>
> It is expected that this protocol will sometimes be used without
> insisting on reliable association between the server host key and the
> server host name. Such use is inherently insecure, but may be
> necessary in non-security critical environments, and still provides
> protection against passive attacks. However, implementors of
> protocols running on top of this protocol should keep this
> possibility in mind.
>
> This protocol is designed to be used over a reliable transport. If
> transmission errors or message manipulation occur, the connection is
> closed. The connection SHOULD be re-established if this occurs.
> Denial of service attacks of this type ("wire cutter") are almost
> impossible to avoid.
>
> The protocol was not designed to eliminate covert channels. For
> example, the padding, SSH_MSG_IGNORE messages, and several other
> places in the protocol can be used to pass covert information, and
> the recipient has no reliable way to verify whether such information
> is being sent.
Here is my proposed revision:
11. Security Considerations
This protocol provides a secure encrypted channel over an insecure
network. It performs server host authentication, key exchange,
encryption, and integrity protection. It also derives a unique
session id that may be used by higher-level protocols.
11.1 Confidentiality
This protocol does allow the encryption mechanism to be
disabled. Implementors SHOULD be wary of exposing this
feature for any purpose other than debugging. Users and
administrators SHOULD be explicitly warned anytime the
"none" method is enabled.
So long as the "none" cipher is not used, this protocol
provides confidentiality. Older, smaller ciphers, such
as 3des and arcfour MAY be less secure from attack than
ciphers such as AES. Implementors SHOULD prefer ciphers
such as twofish, serpent, or AES over blowfish, 3des and
arcfour.
11.2 Data Integrity
This protocol does allow the Data Integrity mechanism to
be disabled. Implementors SHOULD be wary of exposing this
feature for any purpose other than debugging. Users and
administrators SHOULD be explicitly warned anytime the
"none" mac is enabled.
So long as the "none" mac is not used, this protocol
provides data integrity.
11.3 Replay
This protocol binds each session key to the session
by including random data that is specific to the
session in the hash used to produce session keys.
This session id is used by higher level protocols
to prevent replay of packets form previous sessions.
In addition, the use of cipher chaining prevents
replay of packets within the session. Cipher chaining
also prevents the insertion or deletion of packets.
11.4 Man-in-the-middle
This protocol makes no assumptions nor provisions for
an infrastructure for distributing public keys. It is
expected that this protocol will sometimes be used without
insisting on reliable association between the server host
key and the server host name. Such usage is vulnerable
to man-in-the-middle attacks.
This vulnerability to man-in-the-middle attacks can
be mitigated in several fashions:
1. Narrow the window. If the client ensures that the
host key for a given server remains consistant, an
attacker must execute the man-in-the-middle attack
on the _first_ connection to a given server.
2. Use an authentication method that is not vulnerable
to man-in-the-middle. For example, public-key
authentication is not vulnerable to man-in-the-middle
attack, because the signature is made across data
that is session specific. The attack can not use
the signature he receives because the session specific
data between the attacker and server is different, and
can not create a valid signature because he does not
have the private key.
3. Because the protocol is extensible, future extensions
to the protocol may provide better mechanisms for dealing
with the need to know the server's host key before
connecting. For example, storing the hostkey fingerprint
in a secure dns database, or using kerberos over gssapi
during keyexchange to authenticate the server.
Use of this protocol without reliable association
is inherently insecure, but may be necessary in
non-security critical environments, and still
provides protection against passive attacks. However,
implementors of protocols running on top of this
protocol should keep this possibility in mind.
11.5 Denial-of-service
This protocol is designed to be used over a reliable transport. If
transmission errors or message manipulation occur, the connection is
closed. The connection SHOULD be re-established if this occurs.
Denial of service attacks of this type ("wire cutter") are almost
impossible to avoid.
In addition, this protocol is vulnerable to Denial of Service
attack because an attacker can force the server to go through
the CPU and memory intensive tasks of connection setup and
key exchange without authenticating. Implementors SHOULD provide
features that make this more difficult. For example, only allowing
connections from a subset of IPs known to have valid users.
11.6 Covert Channels
The protocol was not designed to eliminate covert channels. For
example, the padding, SSH_MSG_IGNORE messages, and several other
places in the protocol can be used to pass covert information, and
the recipient has no reliable way to verify whether such information
is being sent.
----
Is this what is needed, or am I way off track?
Thanks,
Joseph
----- Original Message -----
From: "Bill Sommerfeld" <sommerfeld%east.sun.com@localhost>
To: <ietf-ssh%netbsd.org@localhost>
Cc: <smb%research.att.com@localhost>; <jis%mit.edu@localhost>
Sent: Thursday, February 20, 2003 19:12
Subject: IESG feedback on core drafts.
> Some time ago I mentioned that the core drafts were being held up due
> to concerns about the security considerations section.
>
> I've just gotten feedback from Steve Bellovin (security co-AD).
>
> He states that in his opinion, the security consideration section is
> inadequate and should be rewritten along the lines described in
> draft-iab-sec-cons-03.txt including:
>
> ".. a discussion of the limitations of the protocol, the
> countermeasures, and the residual vulnerabilities. Looking just
> at the architecture document, it says (in that section) nothing
> about the risks from users accepting unknown host keys. The
> information is present in diffuse form in 3.1, but it isn't
> spelled out clearly in one spot. A possible countermeasure would
> be some way for a logged-in user to then verify the fingerprint,
> in a way that a clever mitm proxy would find hard to
> mimic. Similarly, the draft says little about the security of the
> endpoint being important. It's not any one thing; it's that I'd
> really like SEC-area documents to be better than average, and this
> isn't up to the standards that I, at least, have been demanding of
> documents from other areas."
>
> WG members interested in forward progress of the core drafts should
> take the time to read draft-iab-sec-cons-03 and send suggested text to
> the list..
>
> - Bill
>
>
>
>
Home |
Main Index |
Thread Index |
Old Index