Network Working Group. A. Keromytis U. of Pennsylvania March DSA and RSA Key and Signature Encoding for the KeyNote Trust Management System

Similar documents
Category: Informational January 2010 ISSN:

Request for Comments: 3110 Obsoletes: 2537 May 2001 Category: Standards Track. RSA/SHA-1 SIGs and RSA KEYs in the Domain Name System (DNS)

Request for Comments: 2537 Category: Standards Track March RSA/MD5 KEYs and SIGs in the Domain Name System (DNS)

Request for Comments: 2536 Category: Standards Track March DSA KEYs and SIGs in the Domain Name System (DNS)

Network Working Group. Category: Standards Track NIST November 1998

Category: Informational September 2004

Request for Comments: 2539 Category: Standards Track March Storage of Diffie-Hellman Keys in the Domain Name System (DNS)

KeyNote: Trust Management for Public-Key. 180 Park Avenue. Florham Park, NJ USA.

Category: Informational March Portable Font Resource (PFR) - application/font-tdpfr MIME Sub-type Registration

Network Working Group Request for Comments: 4432 March 2006 Category: Standards Track

Network Working Group. Category: Informational Cisco Systems J. Brezak Microsoft February 2002

Request for Comments: 3401 Updates: 2276 October 2002 Obsoletes: 2915, 2168 Category: Informational

Request for Comments: 3007 Updates: 2535, 2136 November 2000 Obsoletes: 2137 Category: Standards Track. Secure Domain Name System (DNS) Dynamic Update

November VeriSign Registry Registrar Protocol (RRP) Version 2.0.0

Category: Informational November 2000

Request for Comments: TIS Labs March Storing Certificates in the Domain Name System (DNS)

Network Working Group Request for Comments: IBM L. Masinter AT&T December 1999

Network Working Group Request for Comments: 5702 Category: Standards Track October 2009

Category: Standards Track November Registration of Charset and Languages Media Features Tags. Status of this Memo

Network Working Group Request for Comments: 4869 Category: Informational May Suite B Cryptographic Suites for IPsec. Status of This Memo

Request for Comments: 3548 July 2003 Category: Informational

Internet Engineering Task Force (IETF) Request for Comments: 5754 Updates: 3370 January 2010 Category: Standards Track ISSN:

Network Working Group Request for Comments: Category: Standards Track April 2001

Category: Standards Track August 2002

Network Working Group. Category: Standards Track September The SRP Authentication and Key Exchange System

Request for Comments: Columbia U. November 2000

Network Working Group Request for Comments: January IP Payload Compression Using ITU-T V.44 Packet Method

Category: Standards Track August 2002

Updates: 2535 November 2003 Category: Standards Track

Category: Standards Track September 2003

Network Working Group Request for Comments: D. Kuenzi 724 Solutions Inc. February 2001

Category: Standards Track August POP URL Scheme. Status of this Memo

Network Working Group Request for Comments: 2921 Category: Informational September 2000

Using SRP for TLS Authentication

Request for Comments: 4255 Category: Standards Track SPARTA January Using DNS to Securely Publish Secure Shell (SSH) Key Fingerprints

Request for Comments: 3206 Category: Standards Track February 2002

Network Working Group Request for Comments: Category: Best Current Practice January 2004

Network Working Group Request for Comments: 3508 Category: Informational April H.323 Uniform Resource Locator (URL) Scheme Registration

J. Basney, NCSA Category: Experimental October 10, MyProxy Protocol

Network Working Group. Category: Standards Track September Telnet Encryption: DES3 64 bit Cipher Feedback

Request for Comments: 2420 Category: Standards Track September The PPP Triple-DES Encryption Protocol (3DESE)

Network Working Group. Category: Standards Track Netscape Communications Corp. May 1999

Network Working Group. November Encoding Long Options in the Dynamic Host Configuration Protocol (DHCPv4)

Network Working Group. AT&T Labs - Research A. Keromytis U. of Pennsylvania September 1999

Updates: 2409 May 2005 Category: Standards Track. Algorithms for Internet Key Exchange version 1 (IKEv1)

Request for Comments: 3566 Category: Standards Track Intel September The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

Network Working Group. Sun Microsystems October 2001

Internet Engineering Task Force (IETF) April Elliptic Curve Digital Signature Algorithm (DSA) for DNSSEC

Category: Informational 1 April 2001

Category: Experimental April BinaryTime: An Alternate Format for Representing Date and Time in ASN.1

Network Working Group. February Digital Imaging and Communications in Medicine (DICOM) - Application/dicom MIME Sub-type Registration

Network Working Group. Category: Standards Track September MIME Content Types in Media Feature Expressions

Network Working Group Request for Comments: 3634 Category: Standards Track Comcast Cable J. Bevilacqua N. Davoust YAS Corporation December 2003

Network Working Group. Extreme Networks July Intermediate System to Intermediate System (IS-IS) Cryptographic Authentication

Request for Comments: 2712 Category: Standards Track CyberSafe Corporation October 1999

Category: Standards Track Human Communications S. Zilles Adobe Systems, Inc. March 1998

Request for Comments: 2711 Category: Standards Track BBN October 1999

Network Working Group Request for Comments: 4162 Category: Standards Track KISA August 2005

Request for Comments: 8479 Category: Informational September 2018 ISSN:

Expires: 20 May December 2000 Obsoletes: 1779, 2253

Updates: 2710 September 2003 Category: Standards Track. Source Address Selection for the Multicast Listener Discovery (MLD) Protocol

Category: Standards Track June 1999

Network Working Group. Category: Standards Track January 1999 Updates: 2284, 1994, PPP LCP Internationalization Configuration Option

Obsoletes: 2070, 1980, 1942, 1867, 1866 Category: Informational June 2000

Expires: 11 October April 2002

Network Working Group Request for Comments: 3397 Category: Standards Track Apple Computer, Inc. November 2002

Network Working Group. Updates: 1858 June 2001 Category: Informational. Protection Against a Variant of the Tiny Fragment Attack

Network Working Group Request for Comments: Category: Standards Track A. B. Roach dynamicsoft June 2002

This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026.

September Copyright (C) The Internet Society (2000). All Rights Reserved.

Category: Standards Track Cisco Systems, Inc. A. Mutz Jutvision Corporation K. Holtman TUE March 1999

Request for Comments: February Mobile IP Vendor/Organization-Specific Extensions

Request for Comments: 2803 Category: Informational IBM April Digest Values for DOM (DOMHASH) Status of this Memo

Network Working Group. Category: Informational September 2000

Network Working Group. Category: Standards Track December 2001

Category: Informational 1 April Definitions of Managed Objects for Drip-Type Heated Beverage Hardware Devices using SMIv2

Telemetry Data Sharing Using S/MIME

Category: Informational March Methods for Avoiding the "Small-Subgroup" Attacks on the Diffie-Hellman Key Agreement Method for S/MIME

Network Working Group. Category: Standards Track Cisco Systems. D. Katz Juniper Networks Y. Rekhter. Cisco Systems. February 1998

Request for Comments: 5208 Category: Informational May 2008

Network Working Group Request for Comments: 3137 Category: Informational Cisco Systems A. Zinin Nexsi Systems D. McPherson Amber Networks June 2001

Category: Standards Track September MIB Textual Conventions for Uniform Resource Identifiers (URIs)

EPFL S. Willmott UPC September 2003

Request for Comments: 4715 Category: Informational NTT November 2006

Network Working Group. Category: Standards Track February SIEVE Filtering: Spamtest and VirusTest Extensions

Category: Standards Track Sun Microsystems Laboratories November 2000

National Computerization Agency Category: Informational July 2004

Network Working Group Request for Comments: 2866 Category: Informational June 2000 Obsoletes: 2139

Category: Standards Track June 2006

Advanced Access Control. Role-Based Access Control. Common Concepts. General RBAC Rules RBAC96

Request for Comments: 2930 Category: Standards Track September 2000

Network Working Group. February 2005

Request for Comments: 3306 Category: Standards Track Microsoft August 2002

Network Working Group Request for Comments: 2696 Category: Informational Microsoft T. Howes Netscape September 1999

Network Working Group. Category: Standards Track December The String Representation of LDAP Search Filters

See Also: 1201 January 1999 Category: Standards Track

Network Working Group Request for Comments: 4419 Category: Standards Track March 2006

Obsoletes: RFC February LDAP: String Representation of Search Filters <draft-ietf-ldapbis-filter-02.txt> 1. Status of this Memo

Network Working Group. Ohio University C. Metz The Inner Net September 1998

Intended Category: Standards Track Expires March 2006 September 2005

Transcription:

Network Working Group Request for Comments: 2792 Category: Informational M. Blaze J. Ioannidis AT&T Labs - Research A. Keromytis U. of Pennsylvania March 2000 Status of this Memo DSA and RSA Key and Signature Encoding for the KeyNote Trust Management System This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (2000). All Rights Reserved. Abstract This memo describes RSA and DSA key and signature encoding, and binary key encoding for version 2 of the KeyNote trust-management system. 1. Introduction KeyNote is a simple and flexible trust-management system designed to work well for a variety of large- and small-scale Internet-based applications. It provides a single, unified language for both local policies and credentials. KeyNote policies and credentials, called assertions, contain predicates that describe the trusted actions permitted by the holders of specific public keys. KeyNote assertions are essentially small, highly-structured programs. A signed assertion, which can be sent over an untrusted network, is also called a credential assertion. Credential assertions, which also serve the role of certificates, have the same syntax as policy assertions but are also signed by the principal delegating the trust. For more details on KeyNote, see [BFIK99]. This document assumes reader familiarity with the KeyNote system. Cryptographic keys may be used in KeyNote to identify principals. To facilitate interoperation between different implementations and to allow for maximal flexibility, keys must be converted to a normalized canonical form (depended on the public key algorithm used) for the purposes of any internal comparisons between keys. For example, an Blaze, et al. Informational [Page 1]

RSA [RSA78] key may be encoded in base64 ASCII in one credential, and in hexadecimal ASCII in another. A KeyNote implementation must internally convert the two encodings to a normalized form that allows for comparison between them. Furthermore, the internal structure of an encoded key must be known for an implementation to correctly decode it. In some applications, other types of values, such as a passphrase or a random nonce, may be used as principal identifiers. When these identifiers contain characters that may not appear in a string (as defined in [BFIK99]), a simple ASCII encoding is necessary to allow their use inside KeyNote assertions. Note that if the identifier only contains characters that can appear in a string, it may be used as-is. Naturally, such identifiers may not be used to sign an assertion, and thus no related signature encoding is defined. This document specifies RSA and DSA [DSA94] key and signature encodings, and binary key encodings for use in KeyNote. 2. Key Normalized Forms 2.1 DSA Key Normalized Form DSA keys in KeyNote are identified by four values: - the public value, y - the p parameter - the q parameter - the g parameter Where the y, p, q, and g are the DSA parameters corresponding to the notation of [Sch96]. These four values together make up the DSA key normalized form used in KeyNote. All DSA key comparisons in KeyNote occur between normalized forms. 2.2 RSA Key Normalized Form RSA keys in KeyNote are identified by two values: - the public exponent - the modulus These two values together make up the RSA key normalized form used in KeyNote. All RSA key comparisons in KeyNote occur between normalized forms. Blaze, et al. Informational [Page 2]

2.3 Binary Identifier Normalized Form The normalized form of a Binary Identifier is the binary identifier s data. Thus, Binary Identifier comparisons are essentially binarystring comparisons of the Identifier values. 3. Key Encoding 3.1 DSA Key Encoding DSA keys in KeyNote are encoded as an ASN1 SEQUENCE of four ASN1 INTEGER objects. The four INTEGER objects are the public value and the p, q, and g parameters of the DSA key, in that order. For use in KeyNote credentials, the ASN1 SEQUENCE is then ASCIIencoded (e.g., as a string of hex digits or base64 characters). DSA keys encoded in this way in KeyNote must be identified by the "dsa-xxx:" algorithm name, where XXX is an ASCII encoding ("hex" or "base64"). Other ASCII encoding schemes may be defined in the future. 3.2 RSA Key Encoding RSA keys in KeyNote are encoded as an ASN1 SEQUENCE of two ASN1 INTEGER objects. The two INTEGER objects are the public exponent and the modulus of the DSA key, in that order. For use in KeyNote credentials, the ASN1 SEQUENCE is then ASCIIencoded (e.g., as a string of hex digits or base64 characters). RSA keys encoded in this way in KeyNote must be identified by the "rsa-xxx:" algorithm name, where XXX is an ASCII encoding ("hex" or "base64"). Other ASCII encoding schemes may be defined in the future. 3.3 Binary Identifier Encoding Binary Identifiers in KeyNote are assumed to have no internal encoding, and are treated as a sequence of binary digits. The Binary Identifiers are ASCII-encoded, similarly to RSA or DSA keys. Binary Identifiers encoded in this way in KeyNote must be identified by the "binary-xxx:" algorithm name, where XXX is an ASCII encoding ("hex" or "base64"). Other ASCII encoding schemes may be defined in the future. Blaze, et al. Informational [Page 3]

4. Signature Computation and Encoding 4.1 DSA Signature Computation and Encoding DSA signatures in KeyNote are computed over the assertion body (starting from the beginning of the first keyword, up to and including the newline character immediately before the "Signature:" keyword) and the signature algorithm name (including the trailing colon character, e.g., "sig-dsa-sha1-base64:") DSA signatures are then encoded as an ASN1 SEQUENCE of two ASN1 INTEGER objects. The two INTEGER objects are the r and s values of a DSA signature [Sch96], in that order. For use in KeyNote credentials, the ASN1 SEQUENCE is then ASCIIencoded (as a string of hex digits or base64 characters). DSA signatures encoded in this way in KeyNote must be identified by the "sig-dsa-xxx-yyy:" algorithm name, where XXX is a hash function name ("sha1", for the SHA1 [SHA1-95] hash function is currently the only hash function that may be used with DSA) and YYY is an ASCII encoding ("hex" or "base64"). 4.2 RSA Signature Computation and Encoding RSA signatures in KeyNote are computed over the assertion body (starting from the beginning of the first keyword, up to and including the newline character immediately before the "Signature:" keyword) and the signature algorithm name (including the trailing colon character, e.g., "sig-rsa-sha1-base64:") RSA signatures are then encoded as an ASN1 OCTET STRING object, containing the signature value. For use in KeyNote credentials, the ASN1 OCTET STRING is then ASCIIencoded (as a string of hex digits or base64 characters). RSA signatures encoded in this way in KeyNote must be identified by the "sig-rsa-xxx-yyy:" algorithm name, where XXX is a hash function name ("md5" or "sha1", for the MD5 [Riv92] and SHA1 [SHA1-95] hash algorithms respectively, may be used with RSA) and YYY is an ASCII encoding ("hex" or "base64"). 4.3 Binary Signature Computation and Encoding Binary Identifiers are unstructured sequences of binary digits, and are not associated with any cryptographic algorithm. Thus, they may not be used to validate an assertion. Blaze, et al. Informational [Page 4]

5. Security Considerations This document discusses the format of RSA and DSA keys and signatures and of Binary principal identifiers as used in KeyNote. The security of KeyNote credentials utilizing such keys and credentials is directly dependent on the strength of the related public key algorithms. On the security of KeyNote itself, see [BFIK99]. 6. IANA Considerations Per [BFIK99], IANA should provide a registry of reserved algorithm identifiers. The following identifiers are reserved by this document as public key and binary identifier encodings: - "rsa-hex" - "rsa-base64" - "dsa-hex" - "dsa-base64" - "binary-hex" - "binary-base64" The following identifiers are reserved by this document as signature encodings: - "sig-rsa-md5-hex" - "sig-rsa-md5-base64" - "sig-rsa-sha1-hex" - "sig-rsa-sha1-base64" - "sig-dsa-sha1-hex" - "sig-dsa-sha1-base64" Note that the double quotes are not part of the algorithm identifiers. 7. Acknowledgments This work was sponsored by the DARPA Information Assurance and Survivability (IA&S) program, under BAA 98-34. References [Sch96] Bruce Schneier, Applied Cryptography 2nd Edition, John Wiley & Sons, New York, NY, 1996. [BFIK99] Blaze, M., Feigenbaum, J., Ioannidis, J. and A. Keromytis, "The KeyNote Trust-Management System Version 2", RFC 2704, September 1999. Blaze, et al. Informational [Page 5]

[DSA94] NIST, FIPS PUB 186, "Digital Signature Standard", May 1994. [Riv92] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, April 1992. [RSA78] R. L. Rivest, A. Shamir, L. M. Adleman, "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems", Communications of the ACM, v21n2. pp 120-126, February 1978. [SHA1-95] NIST, FIPS PUB 180-1, "Secure Hash Standard", April 1995. http://csrc.nist.gov/fips/fip180-1.txt (ascii) http://csrc.nist.gov/fips/fip180-1.ps (postscript) Contacts Comments about this document should be discussed on the keynote-users@nsa.research.att.com mailing list. Questions about this document can also be directed to the authors as a group at the keynote@research.att.com alias, or to the individual authors at: Matt Blaze AT&T Labs - Research 180 Park Avenue Florham Park, New Jersey 07932-0000 EMail: mab@research.att.com John Ioannidis AT&T Labs - Research 180 Park Avenue Florham Park, New Jersey 07932-0000 EMail: ji@research.att.com Angelos D. Keromytis Distributed Systems Lab CIS Department, University of Pennsylvania 200 S. 33rd Street Philadelphia, Pennsylvania 19104-6389 EMail: angelos@cis.upenn.edu Blaze, et al. Informational [Page 6]

Full Copyright Statement Copyright (C) The Internet Society (2000). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. Blaze, et al. Informational [Page 7]