Network Working Group P. Gutmann
Internet-Draft University of Auckland
Intended status: BCP September 29, 2008
Expires: April 2, 2009
Key Management through Key Continuity (KCM)
draft-gutmann-keycont-01.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on April 2, 2009.
Gutmann Expires April 2, 2009 [Page 1]
Internet-Draft KCM September 2008
Abstract
This memo provides advice and Best Current Practice for implementors
and deployers of security applications that wish to use the key
continuity method of key management.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Conventions Used in This Document . . . . . . . . . . . . 3
2. Key Management through Key Continuity . . . . . . . . . . . . 4
2.1. Key Continuity in SSH . . . . . . . . . . . . . . . . . . 4
2.2. Key Continuity in SSL/TLS and IPsec . . . . . . . . . . . 5
2.3. Key Continuity in Other Security Protocols . . . . . . . . 6
3. Using Key Continuity for Key Management . . . . . . . . . . . 7
3.1. Key Generation . . . . . . . . . . . . . . . . . . . . . . 7
3.2. Optional out-of-band Authentication . . . . . . . . . . . 7
3.3. Key Rollover . . . . . . . . . . . . . . . . . . . . . . . 8
3.4. Key <-> Host/Service Mapping . . . . . . . . . . . . . . . 8
3.5. User Interface . . . . . . . . . . . . . . . . . . . . . . 8
3.6. Trust Lifetimes . . . . . . . . . . . . . . . . . . . . . 9
3.7. Key Hash/Fingerprint Truncation . . . . . . . . . . . . . 9
3.8. Key Information Storage . . . . . . . . . . . . . . . . . 10
3.9. Key Continuity via External Authorities . . . . . . . . . 11
4. Key Continuity Data Storage . . . . . . . . . . . . . . . . . 12
5. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6. Security Considerations . . . . . . . . . . . . . . . . . . . 15
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.1. Normative References . . . . . . . . . . . . . . . . . . . 17
8.2. Informative References . . . . . . . . . . . . . . . . . . 17
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 19
Intellectual Property and Copyright Statements . . . . . . . . . . 20
Gutmann Expires April 2, 2009 [Page 2]
Internet-Draft KCM September 2008
1. Introduction
There are many ways of managing the identification of remote
entities. One simple but also highly effective method is the use of
key continuity, a means of ensuring that that the entity a user is
dealing with today is the same as the one they were dealing with last
week (this principle is sometimes referred to as continuity of
identity). In the case of cryptographic protocols the problem
becomes one of determining whether a file server, mail server, online
store, or bank that a user dealt with last week is still the same one
this week. Using key continuity to verify this means that if the
remote entity used a given key to communicate/authenticate itself
last week then the use of the same key this week indicates that it's
the same entity. This doesn't require any third-party attestation
because it can be done directly by comparing last week's key to this
week's one. This is the basis for key management through key
continuity: Once you've got a known-good key, you can verify a remote
entity's identity by verifying that they're still using the same key.
This document describes the principles that underly key management
through key continuity, and provides guidelines for its use in
practice.
1.1. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
Gutmann Expires April 2, 2009 [Page 3]
Internet-Draft KCM September 2008
2. Key Management through Key Continuity
In its most basic form, key management through key continuity
consists of two steps:
Step 1 On the first connection exchange key(s), possibly with
additional out-of-band authentication.
Step 2 On subsequent connections ensure that the key being used
matches the one exchanged initially.
In more formal terms, the key continuity method of key management may
be regarded as a variation of the baby-duck security model
[Duckling1] [Duckling2] in which a newly-initialised device (either
one fresh out of the box or one reset to its ground state) imprints
upon the first device that it sees in the same way that a newly
hatched duckling imprints on the first moving object that it sees as
its mother.
2.1. Key Continuity in SSH
SSH [SSH] was the first widely-used security application that used
key continuity as its primary form of key managment. The first time
that a user connects to an SSH server, the client application
displays a warning that it's been given a new public key that it's
never encountered before, and asks the user whether they want to
continue. When the user clicks "Yeah, sure, whatever" (although the
button is more frequently labelled "OK"), the client application
remembers the key that was used, and compares it to future keys used
by the server. If the key is the same each time, there's a good
chance that it's the same server (SSH terminology refers to this as
the known-hosts mechanism). In addition to this SSH allows a user to
verify the key via its fingerprint, which can be conveniently
exchanged via out-of-band means. The fingerprint is a universal key
identifier consisting of the hash of the key components or the hash
of the certificate if the key is in the form of a certificate.
SSH is the original key-continuity solution, but unfortunately it
doesn't provide complete continuity. When the server is rebuilt, the
connection to the previous key is lost unless the sysadmin has
remembered to archive the configuration and keying information after
they set up the server (some OS distributions can migrate keys over
during an OS upgrade, so this can vary somewhat depending on the OS
and how total the replacement of system components is). Since SSH is
often used to secure access to kernel-of-the-week open-source Unix
systems the breaking of the chain of continuity can happen more
frequently than would first appear.
Some of the problem is due to the ease with which an SSH key
Gutmann Expires April 2, 2009 [Page 4]
Internet-Draft KCM September 2008
changeover can occur. In the PKI world this process is so painful
that the same key is typically reused and recycled in perpetuity,
ensuring key continuity at some cost in security since a compromise
of a key recycled over a period of several years compromises all data
that the key protected in that time unless a mechanism that provides
perfect forward secrecy is used (it rarely is). In contrast an SSH
key can be replaced quickly and easily, limiting its exposure to
attack but breaking the chain of continuity. A solution to this
problem would be to have the server automatically generate and
certify key n+1 when key n is taken into use, with key n+1 saved to
offline media such as a floppy disk or USB memory token for future
use when the system or SSH server is reinstalled/replaced. In this
way continuity to the previous, known server key is maintained.
Periodically rolling over the key (even without it being motivated by
the existing system/server being replaced) is good practice since it
limits the exposure of any one key. This would require a small
change to the SSH protocol to allow an old-with-new key exchange
message to be set after the changeover has occurred.
2.2. Key Continuity in SSL/TLS and IPsec
Unlike SSH, SSL/TLS [TLS] and IPsec [IPsec] were designed to rely on
an external key management infrastructure, although at a pinch both
can function without it by using shared keys, typically passwords.
The lack of such an infrastructure has been addressed in two ways.
In SSL the client (particularly in its most widespread form, the web
browser) contains a large collection of hardcoded CA certificates
(over a hundred) that are trusted to issue SSL server certificates.
Many of these hardcoded CAs are completely unknown, follow dubious
practices such as using weak 512-bit keys or keys with 40-year
lifetimes, appear moribund, or have had their CA keys on-sold to
various third parties when the original owners went out of business
[NotDead]. All of these CAs are assigned the same level of trust,
which means that the whole system is only as secure as the least
secure CA, since compromising or subverting any one of the CAs
compromises the entire collection (in PKI terminology what's being
implemented is unbounded universal cross-certification among all of
the CAs).
The second solution, used by both SSL/TLS and IPsec, is to use self-
issued certificates where the user acts as their own CA and issues
themselves certificates that then have to be installed on client/peer
machines. In both cases the security provided is little better than
for SSH keys unless the client is careful to disable all CA
certificates except for the one or two that they trust, a process
that requires around 700 mouse clicks for Internet Explorer 6. A
further downside of this is that the client software will now throw
up warning dialogs prophesying all manner of doom and destruction
Gutmann Expires April 2, 2009 [Page 5]
Internet-Draft KCM September 2008
when an attempt is made to connect to a server with a certificate
from a now-untrusted CA, although research by security usability
researchers indicates that invalid or untrusted certificates have
little to no effect on users anyway so this is probably not a big
deal [Hardening].
The same key-continuity solution used in SSH can be used here, and is
already employed by some SSL clients such as MTAs which have to deal
with self-issued and similar informal certificates more frequently
than other applications such as web servers. This is because of
their use in STARTTLS, an extension to SMTP that provides
opportunistic TLS-based encryption for mail transfers. Similar
facilities exist for other mail protocols such as POP and IMAP, with
the mechanism being particularly popular with SMTP server
administrators because it provides a means of authenticating
legitimate users to prevent misuse by spammers. Since the mail
servers are set up and configured by sysadmins rather than commercial
organisations worried about adverse user reactions to browser warning
dialogs they typically make use of self-issued certificates since
there's no point in paying a CA for the same thing.
Key continuity management among STARTTLS implementations is still
somewhat haphazard. Since STARTTLS is intended to be a completely
transparent, fire-and-forget solution, the ideal setup would
automatically generate a certificate on the server side when the
software is installed and use standard SSH-style key continuity
management on the client, with optional out-of-band verification via
the key/certificate fingerprint. Some implementations (typically
open-source ones) support this fully, some support various aspects of
it (for example requiring tedious manual operations for certificate
generation or key/certificate verification), and some (typically
commercial ones) require the use of certificates from commercial CAs,
an even more tedious (and expensive) manual operation.
2.3. Key Continuity in Other Security Protocols
A similar model is used in SIP, in which the first connection
exchanges a (typically) self-signed certificate which is then checked
for continuity on subsequent connects. Further measures such as the
use of speaker voice recognition can be used to provide additional
authentication for the SIP exchange. A similar principle has been
used in several secure IP-phone protocols, which (for example) have
one side read out a hash of the key over the secure link, relying for
its security on the fact that real-time voice spoofing is relatively
difficult to perform.
Gutmann Expires April 2, 2009 [Page 6]
Internet-Draft KCM September 2008
3. Using Key Continuity for Key Management
Section 2 outlined a number of considerations that need to be taken
into account when using key continuity as a form of key management.
These are covered in the following subsections.
3.1. Key Generation
The simplest key-continuity approach automatically (and
transparently) generates the key when the application that uses it is
installed or configured for the first time. If the underlying
protocol uses certificates then the application would generate a
standard self-signed certificate at this point, otherwise it can use
whatever key format the underlying protocol uses, typically raw
public key components encoded in a protocol-specific manner.
3.2. Optional out-of-band Authentication
If possible, the initial exchange should use additional out-of-band
authentication to authenticate the key. A standard technique is to
generate a hash or fingerprint of the key and verify the hash through
out-of-band means. All standard security protocols have a notion of
a key hash in some form, whether it be an X.509 certificate
fingerprint, a PGP/OpenPGP [OpenPGP] key fingerprint, or an SSH key
fingerprint and the use of key authentication channels such as PGP
key fingerprints printed on business cards or in email signatures is
a long-established practice. Unfortunately research has shown that
this form of authentication is (at least in the case of SSH
fingerprints) relatively easily defeated [Fingerprints], see
Section 3.9 for a more practical solution to this problem
An extended form of this style of authentication has been proposed in
the form of cryptoIDs, long-lived fingerprints tied to a (user-
controlled) root key that's used to certify sub-keys on demand. The
intent of a cryptoID is to associate it with user information such as
their name and email address and treat it as a standard part of the
user identity data. For example a key change notification would be
handled in the same way as an email address change notification,
making it part of the standard user information-propagation channels.
The out-of-band verification of the hash/fingerprint is done in a
situation-specific manner. For example when the key is used in a
VoIP application the communicating parties may read the hash value
over the link, relying on speaker voice recognition and the
difficulty of performing real-time continous-speech spoofing for
security. When the key is used to secure access to a network server
the hash may be communicated in person, over the phone, printed on a
business card, or published in some other well-known location. When
Gutmann Expires April 2, 2009 [Page 7]
Internet-Draft KCM September 2008
the key is used to secure access to a bank server the hash may be
communicated using a PIN mailer, or by having the user visit their
bank branch. Although it's impossible to enumerate every situation
here, applying a modicum of common sense should provide the corerct
approach for specific situations.
Other distribution mechanisms are also possible. For example when
configuring a machine the administrator can pre-install the key
information when the operating system is installed, in the same way
that many systems come pre-configured with trusted X.509
certificates.
3.3. Key Rollover
When a key needs to be replaced the new key should ideally be
authenticated using forward-chaining authentication from the current
key. For example if the key is in the form of an X.509 certificate
or PGP key, the current key can sign the new key. If the key
consists solely of raw key components exchanged during a protocol
handshake, this type of forward-chaining authentication isn't
possible without modifying the underlying protocol. Protocol
designers may wish to take into account the requirements for forward-
chaining authentication when designing new protocols or updating
existing ones.
3.4. Key <-> Host/Service Mapping
A key will usually be associated with a service type (for example
"SSH" or "TLS"), a host, and a port (typically the port is specified
implicitly by the service type, but it may also be specified
explicitly if a nonstandard port is used). When storing key
continuity data, the service/host/port information should always be
stored exactly as seen by the user, without any subsequent expansion,
conversion, or other translation. For example if the user knows a
host as www.example.com then the key continuity data should be stored
under this name, and not under the associated IP address(es).
Applying the WYSIWYG principle to the name that the user sees
prevents problems with things like virtual hosting (where
badguy.example.com has the same IP address as goodguy.example.com),
hosts that have been moved to a new IP address, and so on.
3.5. User Interface
Providing a usable user interface for security features has
historically proven to be an extremely difficult undertaking
[Phishing]. A feature of key continuity management is that in its
simplest form it requires very little UI: if the key crosses a
certain trust threshold (length of use, number of times it's been
Gutmann Expires April 2, 2009 [Page 8]
Internet-Draft KCM September 2008
used, rating(s) from an external key continuity authority, and so on)
then the connection can be allowed, otherwise it's disallowed. If an
external authority is used this becomes particularly simple.
Unfortunately this basic strategy may not be suitable in all cases.
In particular if no external authority is available or the key is
unknown then requiring that the user wait for a set number of days
until it's certain that the key doesn't belong to an ephemeral
phishing site will no doubt cause user acceptance problems. The
general-case key bootstrap problem appears to be an unsolveable one,
althoug a great many hypotheses and workable but situation-specific
solutions do exist. If should be remembered though that the intent
of key continuity management is to ensure key continuity and not key
initial authentication. Designing an appropriate user interface for
a key continuity mechanism is (as with all security user interface
designs) a challenging problem. [Usability] provides extensive
guidance on effectively communicating the issues to users, and
potential traps and pitfalls to avoid.
3.6. Trust Lifetimes
Like real-world trust, trust of keys can both increase and decrease
over time. In current key trust models, trust is purely boolean,
starting out untrusted and then becoming completely trusted for all
eternity once the user clicks OK on a dialog requesting that the key
be trusted. In the real world trust doesn't work like this, but must
be built up over time. Similarly, trust can decay over time.
Rather than making trust a purely boolean value, you can remember how
many times a key has been safely used of for how long the key has
been around and increase or decrease the trust in it over time. For
example a new key should be regarded with suspicion unless verified
by out-of-band means, which slowly decreases with repeated use. A
key that's been used once should have a much lower trust level than
one that's been used a hundred times, something that the current
boolean model that's typically used with certificates isn't capable
of providing.
3.7. Key Hash/Fingerprint Truncation
The use of the full hash/fingerprint when the authentication process
is being performed by humans can be quite cumbersome, requiring the
transmission and verification of (for the most common hash algorithm,
SHA-1), 40 hex digits. Implementors may consider truncating the hash
value to make it easier to work with. For example a 64-bit hash
value provides a moderate level of security while still allowing the
value to be printed on media such as business cards and communicated
and checked by humans. Although such a short hash value isn't secure
Gutmann Expires April 2, 2009 [Page 9]
Internet-Draft KCM September 2008
against an intensive brute-force attack, it is sufficient to stop all
but the most dedicated attackers, and certainly far more secure than
simply accepting the key at face value as is currently widely done.
Implementors should consider the relative merits of usability vs.
security when deciding to truncate the key hash/fingerprint.
3.8. Key Information Storage
Configuration information of this kind is typically stored using a
two-level scheme, systemwide information set up when then operating
system is installed or configured and managed by the system
administrator and per-user information which is private to each user.
For example on Unix systems the systemwide configuration data is
traditionally stored in /etc or /var, with per-userconfiguration data
stored in the user's home directory. Under Windows the systemwide
configuration data is stored under an OS service account and the per-
user configuration data is stored in the user's registry branch. The
systemwide configuration provides an initial known-good set of key
<-> identity mappings, with per-user data providing additional user-
specific information that doesn't affect any other users on the
system.
Note that the use of plaintext host names may make the information
vulnerable to address harvesting by an attacker who has gained read
access to the file, since it identifies remote hosts that the user/
local host software implicitly trusts. For example a worm might use
it to identify remote hosts to attack. In addition a plaintext
record of sites that a user has interacted with cryptographically may
present privacy concerns. [AddressHarvest] contains more information
on this type of attack, and possible countermeasures.
The key continuity data should be protected by at least OS-level
security measures if they are available and if it's regarded as
particularly sensitive or if it's used on a shared machine like a
home PC where everyone shares the same account then it can be given
additional protection through encapsulation in PGP or S/MIME security
envelopes or through the use of other cryptographic protection
mechanisms such as cryptographic checksums or MACs. When
encapsulated using PGP or S/MIME the key data is no longer in its
original form and will need to be extracted in order to be used.
Alternatively if integrity protection only is considered sufficient
then a mechanism like a PGP or S/MIME detached signature can be
stored alongside the key data so that the data can be used directly
while still allowing it to be verified.
Gutmann Expires April 2, 2009 [Page 10]
Internet-Draft KCM September 2008
3.9. Key Continuity via External Authorities
Directly managing key continuity on end-user systems may not always
be the best approach to take. For one thing the system needs to
manage and record a (potentially unbounded) number of locations that
the user has visited, which can be problematic if the system has
limited storage capacity, although in practice this is likely to be
fairly limited since most users interact with only a very small
number of sites that use encryption. A larger concern though is the
fact that when the user visits a site that they've never been to
before they initially have no key continuity information to rely
upon, the key/trust bootstrap problem.
The bootstrap problem can be addressed through the use of an external
authority to manage the key continuity information. A key continuity
external authority records how long a particular key has been in use
by a particular cryptographic service and returns this information in
response to queries. Note that this differs very significantly from
the information that CAs provide. A commercial CA guarantees that
money changed hands and that some form of identity checking took
place while the only information that a key continuity authority
provides is the amount of time that a particular key has been in use
by that service. Since the lifetime of a typical phishing site
currently runs at around 12 hours (well under the response time of
any blacklist or site-rating system), a key continuity authority
provides a means of singling out phishing sites and similar short-
lived traps for users, making it necessary to operate a phishing site
continuously at the same location for a considerable amount of time
in order to build up the necessary key continuity history. A key
continuity authority therefore implements a form of key whitelist
that can be run directly alongside the (relatively ineffective) site
blacklists already used by some applications like web browsers. Note
that in order to ensure true continuity of use key continuity
authorities should re-check keys at random intervals to ensure that a
site and its key really are around for the entire time interval and
not just during the initial check and the final phish.
Use of an external key continuity authority carries with it a variety
of aplication- and situation-specific considerations such as which
external authority to trust, whether the communications need to be
authenticated and/or encrypted or not, potential privacy concerns
when using an external authority, tradeoffs of speed/throughput vs.
security, and so on. A more detailed analysis may be found in
[Perspectives].
Gutmann Expires April 2, 2009 [Page 11]
Internet-Draft KCM September 2008
4. Key Continuity Data Storage
[[Note: This may be better off in its own RFC, although since it's
pretty cross-jurisdictional there's no obvious domain to put it
under. The main motivation for including it here is to avoid a
profusion of incompatible homebrew formats, with applications having
to support a mass of oddball variants in order to authenticate keys]]
Applications require a standardised means of associating hosts with
keys. The following text-based format, inspired by the /etc/passwd
format, is recommended for easy exchange of key continuity data
across applications. The format of the key data file using using
Augmented BNF [ABNF] is as follows.
keydata = keydef | comment | blank
keydef = algorithm ":" key-hash ":" service ":" host ":" port rfu CRLF
comment = "#" *(WSP / VCHAR) CRLF
blank = *(WSP) CRLF
algorithm = *(ALPHA / DIGIT)
key-hash = *(HEXDIG)
service = *(ALPHA)
host = [wherever this is specified]
port = *(DIGIT) / ""
rfu = "" / ":" *(WSP / VCHAR)
The algorithm field contains the hash/fingerprint algorithm, usually
"sha1". This allows multiple hash algorithms to be used for a
fingerprint. For example while the current standard algorithm is
SHA-1, some legacy implementations may require MD5, and future
implementations may use SHA-1 successors.
The key-hash field contains the hash/fingerprint of the key. This
value may be truncated as described in section 3. When comparing
truncated hashes for equality, the first min( hash1_length,
hash2_length ) bytes of the two values are compared.
The service field specifies the service or protocol that the hash/
fingerprint applies to. For example if both a TLS and and SSH server
were running on the same host, the protocol field would be used to
Gutmann Expires April 2, 2009 [Page 12]
Internet-Draft KCM September 2008
distinguish between the key hashes for the two servers.
The host-name and (optional) host-port fields contain the host name
and port that the key corresponds to. Typically the port is
implicitly specified in the service field, but it may also be
explicitly specified here.
For example a typical key continuity data file might consist of:
# Sample key continuity data file
sha1:B65427F83CED23A70263F8247C8D94192F751983:tls:www.example.com:443
sha1:17A2FE37808F3E84:ssh:ssh.example.com:22
md5:B2071C526B19F27C:ssh:ssh.example.com:22
The first entry contains the fingerprint of an X.509 certificate used
by the web server for www.example.com. The second and third entries
contain the (truncated) fingerprint of the SSH key used by the server
ssh.example com, first in the standard SHA-1 format and then in the
alternative MD5 format.
Gutmann Expires April 2, 2009 [Page 13]
Internet-Draft KCM September 2008
5. Discussion
The intent of this format is to follow the widely-used and recognised
/etc/passwd file format with which many users will be familiar. The
format has been kept deliberately simple in order to avoid designing
a general-purpose security assertion language such as KeyNote
[KeyNote] or SAML [SAML]. While this will no doubt not suit all
users, it should suffice for most, while remaining simple enough to
encourage widespread adoption.
There are two options available for storing the key-continuity data,
the single-file format described above, and one entry per file. The
latter makes it possible to use mechanisms like rsync to update
individual entries/files across systems, but leads to an explosion of
hard-to-manage tiny files, each containing a little piece of
configuration data. It also makes it impossible to secure the
configuration data via mechanisms such as PGP or S/MIME. Finally,
the number of users who would use rsync to manage these files, when
compared to the total user base, is essentially nonexistent. For
this reason the single-file approach is preferred.
Gutmann Expires April 2, 2009 [Page 14]
Internet-Draft KCM September 2008
6. Security Considerations
Publishing a BCP on the topic of key/trust verification may make the
authors a lightning rod for complaints of the form "this is just
pretend security, you really need a <insert sender's favourite
authentication system>".
Gutmann Expires April 2, 2009 [Page 15]
Internet-Draft KCM September 2008
7. IANA Considerations
This document has no IANA Actions.
Gutmann Expires April 2, 2009 [Page 16]
Internet-Draft KCM September 2008
8. References
8.1. Normative References
[ABNF] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 4234, October 2005.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
8.2. Informative References
[AddressHarvest]
Schechter, S., Jung, J., Stockwell, W., and C. McLain,
"Inoculating SSH Against Address-Harvesting", Proceedings
of the 2006 Network and Distributed Systems Security
Symposium 2006, February 2006.
[Duckling1]
Stajano, F. and R. Anderson, "The Resurrecting Duckling:
Security Issues in Ad-Hoc Wireless Networking",
Proceedings of the 7th International Workshop on Security
Protocols 1999, Springer-Verlag Lecture Notes in Computer
Science 1796, April 1999.
[Duckling2]
Stajano, F., "The Resurrecting Duckling - What Next?",
Proceedings of the 8th International Workshop on Security
Protocols 2000, Springer-Verlag Lecture Notes in Computer
Science 2133, April 2000.
[Fingerprints]
"Fuzzy Fingerprints: Attacking Vulnerabilities in the
Human Brain", October 2003.
[Hardening]
Xia, H. and J. Brustoloni, "Hardening Web Browsers Against
Man-in-the-Middle and Eavesdropping Attacks", Proceedings
of the 14th International World Wide Web Conference 2005,
May 2005.
[IPsec] Kent, S. and K. Seo, "Security Architecture for the
Internet Protocol", RFC 4301, December 2005.
[KeyNote] Blaze, M., Feigenbaum, J., Ioannidis, J., and A.
Keromytis, "The KeyNote Trust-Management System Version
2", RFC 2704, September 1999.
Gutmann Expires April 2, 2009 [Page 17]
Internet-Draft KCM September 2008
[NotDead] Gutmann, P., "PKI: It's Not Dead, Just Resting", IEEE
Computer August 2002, August 2002.
[OpenPGP] Callas, J., Donnerhacke, L., Hal, H., Shaw, D., and R.
Thayer, "OpenPGP Message Format", RFC 4880, November 2007.
[Perspectives]
Wendlandt, D., Andersen, D., and A. Perrig, "Perspectives:
Improving SSH-style Host Authentication with Multi-Path
Probing", Proceedings of the 2008 USENIX Annual Technical
Conference 2008, June 2008.
[Phishing]
Jakobsson, M., Ed. and S. Myers, Ed., "Phishing and
Countermeasures", 2007.
[SAML] "Security Assertion Markup Language (SAML), Version 2.0",
2008.
[SSH] Ylonen, T. and C. Lonvick, "The Secure Shell (SSH)
Transport Layer Protocol", RFC 4253, Janaury 2006.
[TLS] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol", RFC 4346, April 2006.
[Usability]
Gutmann, P., "Security Usability", September 2008.
Gutmann Expires April 2, 2009 [Page 18]
Internet-Draft KCM September 2008
Author's Address
Peter Gutmann
University of Auckland
Department of Computer Science
New Zealand
Email: pgut001@cs.auckland.ac.nz
Gutmann Expires April 2, 2009 [Page 19]
Internet-Draft KCM September 2008
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Gutmann Expires April 2, 2009 [Page 20]