< draft-ietf-sidr-rpsl-sig-08.txt   draft-ietf-sidr-rpsl-sig-09.txt >
SIDR R. Kisteleki SIDR R. Kisteleki
Internet-Draft RIPE NCC Internet-Draft RIPE NCC
Intended status: Standards Track B. Haberman Intended status: Standards Track B. Haberman
Expires: April 11, 2016 JHU APL Expires: September 4, 2016 JHU APL
October 9, 2015 March 3, 2016
Securing RPSL Objects with RPKI Signatures Securing RPSL Objects with RPKI Signatures
draft-ietf-sidr-rpsl-sig-08.txt draft-ietf-sidr-rpsl-sig-09.txt
Abstract Abstract
This document describes a method to allow parties to electronically This document describes a method to allow parties to electronically
sign RPSL-like objects and validate such electronic signatures. This sign RPSL-like objects and validate such electronic signatures. This
allows relying parties to detect accidental or malicious allows relying parties to detect accidental or malicious
modifications on such objects. It also allows parties who run modifications on such objects. It also allows parties who run
Internet Routing Registries or similar databases, but do not yet have Internet Routing Registries or similar databases, but do not yet have
RPSS-like authentication of the maintainers of certain objects, to RPSS-like authentication of the maintainers of certain objects, to
verify that the additions or modifications of such database objects verify that the additions or modifications of such database objects
skipping to change at page 1, line 39 skipping to change at page 1, line 39
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 11, 2016. This Internet-Draft will expire on September 4, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Signature Syntax and Semantics . . . . . . . . . . . . . . . 3 2. Signature Syntax and Semantics . . . . . . . . . . . . . . . 3
2.1. General Attributes, Meta Information . . . . . . . . . . 3 2.1. General Attributes, Meta Information . . . . . . . . . . 3
2.2. Signed Attributes . . . . . . . . . . . . . . . . . . . . 4 2.2. Signed Attributes . . . . . . . . . . . . . . . . . . . . 5
2.3. Storage of the Signature Data . . . . . . . . . . . . . . 5 2.3. Storage of the Signature Data . . . . . . . . . . . . . . 5
2.4. Number Resource Coverage . . . . . . . . . . . . . . . . 5 2.4. Number Resource Coverage . . . . . . . . . . . . . . . . 5
2.5. Validity Time of the Signature . . . . . . . . . . . . . 6 2.5. Validity Time of the Signature . . . . . . . . . . . . . 6
3. Signature Creation and Validation Steps . . . . . . . . . . . 6 3. Signature Creation and Validation Steps . . . . . . . . . . . 6
3.1. Canonicalization . . . . . . . . . . . . . . . . . . . . 6 3.1. Canonicalization . . . . . . . . . . . . . . . . . . . . 6
3.2. Signature Creation . . . . . . . . . . . . . . . . . . . 8 3.2. Signature Creation . . . . . . . . . . . . . . . . . . . 8
3.3. Signature Validation . . . . . . . . . . . . . . . . . . 9 3.3. Signature Validation . . . . . . . . . . . . . . . . . . 9
4. Signed Object Types, Set of Signed Attributes . . . . . . . . 10 4. Signed Object Types, Set of Signed Attributes . . . . . . . . 10
5. Keys and Certificates used for Signature and Verification . . 12 5. Keys and Certificates used for Signature and Verification . . 12
6. Security Considerations . . . . . . . . . . . . . . . . . . . 12 6. Security Considerations . . . . . . . . . . . . . . . . . . . 12
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13
9. Normative References . . . . . . . . . . . . . . . . . . . . 13 9. Normative References . . . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14
1. Introduction 1. Introduction
Objects stored in resource databases, like the RIPE DB, are generally Objects stored in resource databases, like the RIPE DB, are generally
protected by an authentication mechanism: anyone creating or protected by an authentication mechanism: anyone creating or
modifying an object in the database has to have proper authorization modifying an object in the database has to have proper authorization
to do so, and therefore has to go through an authentication procedure to do so, and therefore has to go through an authentication procedure
(provide a password, certificate, e-mail signature, etc.) However, (provide a password, certificate, e-mail signature, etc.) However,
skipping to change at page 3, line 46 skipping to change at page 3, line 46
pairs, separated by a semicolon ";" and a white space. Collectively pairs, separated by a semicolon ";" and a white space. Collectively
these fields make up the value for the new "signature" attribute. these fields make up the value for the new "signature" attribute.
The "name" part of such a component is always a single ASCII The "name" part of such a component is always a single ASCII
character that serves as an identifier; the value is an ASCII string character that serves as an identifier; the value is an ASCII string
the contents of which depend on the field type. Mandatory fields the contents of which depend on the field type. Mandatory fields
must appear exactly once, whereas optional fields MUST appear at most must appear exactly once, whereas optional fields MUST appear at most
once. once.
Mandatory fields of the "signature" attribute: Mandatory fields of the "signature" attribute:
o Version number of the signature (field "v"). This field MUST be o Version of the signature (field "v"). This field MUST be set to
set to "1". "rpkiv1". The signature format described in this document applies
when the version field is set to "rpkiv1". All the rest of the
signature attributes are defined by the value of version field.
o Reference to the certificate corresponding to the private key used o Reference to the certificate corresponding to the private key used
to sign this object (field "c"). This is a URL of type "rsync" or to sign this object (field "c"). The value of this field MUST be
"http(s)" that points to a specific resource certificate in an a URL of type "rsync" or "http(s)" that points to a specific
RPKI repository [RFC6481]. The value of this field MUST be an resource certificate in an RPKI repository [RFC6481]. Any non
"rsync://..." or an "http[s]://..." URL. Any non URL-safe URL-safe characters (including semicolon ";" and plus "+") must be
characters (including semicolon ";" and plus "+") must be URL URL encoded.
encoded.
o Signature method (field "m"): what hash and signature algorithms o Signature method (field "m"): what hash and signature algorithms
were used to create the signature. The allowed algorithms which were used to create the signature. The allowed algorithms which
can be used for the signature are specified in [RFC6485]. can be used for the signature are specified in Section 5 of RFC
4055 [RFC4055]. More specifically, this version of RPSL
signatures supports the following hash algorithms:
* sha224WithRSAEncryption
* sha256WithRSAEncryption
* sha384WithRSAEncryption
* sha512WithRSAEncryption
The algorithms are referenced witin the signature attribute by the
ASCII names of the algorithms.
o Time of signing (field "t"). The format of the value of this o Time of signing (field "t"). The format of the value of this
field MUST be in the Internet Date/Time format [RFC3339]. All field MUST be in the Internet Date/Time format [RFC3339]. All
times MUST be converted to Universal Coordinated Time (UTC) times MUST be converted to Universal Coordinated Time (UTC)
o The signed attributes (field "a"). This is a list of attribute o The signed attributes (field "a"). This is a list of attribute
names, separated by an ASCII "+" character (if more than one names, separated by an ASCII "+" character (if more than one
attribute is enumerated). The list must include any attribute at attribute is enumerated). The list must include any attribute at
most once. most once.
skipping to change at page 5, line 32 skipping to change at page 5, line 42
2.3. Storage of the Signature Data 2.3. Storage of the Signature Data
The result of applying the signature mechanism once is exactly one The result of applying the signature mechanism once is exactly one
new attribute for the object. As an illustration, the structure of a new attribute for the object. As an illustration, the structure of a
signed RPSL object is as follows: signed RPSL object is as follows:
attribute1: value1 attribute1: value1
attribute2: value2 attribute2: value2
attribute3: value3 attribute3: value3
... ...
signature: v=1; c=rsync://.....; m=sha256WithRSAEncryption; signature: v=rpkiv1; c=rsync://.....; m=sha256WithRSAEncryption;
t=2014-12-31T23:59:60Z; t=2014-12-31T23:59:60Z;
a=attribute1+attribute2+attribute3+...; a=attribute1+attribute2+attribute3+...;
b=<base64 data> b=<base64 data>
2.4. Number Resource Coverage 2.4. Number Resource Coverage
Even if the signature(s) over the object are valid according to the Even if the signature(s) over the object are valid according to the
signature validation rules, they may not be relevant to the object; signature validation rules, they may not be relevant to the object;
they also need to cover the relevant Internet number resources they also need to cover the relevant Internet number resources
mentioned in the object. mentioned in the object.
Therefore the Internet number resources present in [RFC3779] Therefore the Internet number resources present in [RFC3779]
extensions of the certificate referred to in the "c" field of the extensions of the certificate referred to in the "c" field of the
signature (or in the union of such extensions in the "c" fields of signature MUST cover the resources in the primary key of the object
the certificates, in case multiple signatures are present) MUST cover (e.g., value of the "aut-num:" attribute of an aut-num object, value
the resources in the primary key of the object (e.g., value of the of the "inetnum:" attribute of an inetnum object, values of "route:"
"aut-num:" attribute of an aut-num object, value of the "inetnum:" and "origin:" attributes of a route object, etc.).
attribute of an inetnum object, values of "route:" and "origin:"
attributes of a route object, etc.).
2.5. Validity Time of the Signature 2.5. Validity Time of the Signature
The validity time interval of a signature is the intersection of the The validity time interval of a signature is the intersection of the
validity time of the certificate used to verify the signature, the validity time of the certificate used to verify the signature, the
"not before" time specified by the "t" field of the signature, and "not before" time specified by the "t" field of the signature, and
the optional "not after" time specified by the "x" field of the the optional "not after" time specified by the "x" field of the
signature. signature.
When checking multiple signatures, these checks are applied to each When checking multiple signatures, these checks are applied to each
skipping to change at page 12, line 48 skipping to change at page 13, line 8
to use. to use.
7. IANA Considerations 7. IANA Considerations
[Note to IANA, to be removed prior to publication: there are no IANA [Note to IANA, to be removed prior to publication: there are no IANA
considerations stated in this version of the document.] considerations stated in this version of the document.]
8. Acknowledgements 8. Acknowledgements
The authors would like to acknowledge the valued contributions from The authors would like to acknowledge the valued contributions from
Jos Boumans, Steve Kent, Sean Turner, and Geoff Huston in preparation Jos Boumans, Steve Kent, Sean Turner, Geoff Huston, and Stephen
of this document. Farrell in preparation of this document.
9. Normative References 9. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <http://www.rfc-editor.org/info/rfc2119>.
[RFC2622] Alaettinoglu, C., Villamizar, C., Gerich, E., Kessens, D., [RFC2622] Alaettinoglu, C., Villamizar, C., Gerich, E., Kessens, D.,
Meyer, D., Bates, T., Karrenberg, D., and M. Terpstra, Meyer, D., Bates, T., Karrenberg, D., and M. Terpstra,
skipping to change at page 13, line 27 skipping to change at page 13, line 33
[RFC3339] Klyne, G. and C. Newman, "Date and Time on the Internet: [RFC3339] Klyne, G. and C. Newman, "Date and Time on the Internet:
Timestamps", RFC 3339, DOI 10.17487/RFC3339, July 2002, Timestamps", RFC 3339, DOI 10.17487/RFC3339, July 2002,
<http://www.rfc-editor.org/info/rfc3339>. <http://www.rfc-editor.org/info/rfc3339>.
[RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP [RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP
Addresses and AS Identifiers", RFC 3779, Addresses and AS Identifiers", RFC 3779,
DOI 10.17487/RFC3779, June 2004, DOI 10.17487/RFC3779, June 2004,
<http://www.rfc-editor.org/info/rfc3779>. <http://www.rfc-editor.org/info/rfc3779>.
[RFC4055] Schaad, J., Kaliski, B., and R. Housley, "Additional
Algorithms and Identifiers for RSA Cryptography for use in
the Internet X.509 Public Key Infrastructure Certificate
and Certificate Revocation List (CRL) Profile", RFC 4055,
DOI 10.17487/RFC4055, June 2005,
<http://www.rfc-editor.org/info/rfc4055>.
[RFC4632] Fuller, V. and T. Li, "Classless Inter-domain Routing [RFC4632] Fuller, V. and T. Li, "Classless Inter-domain Routing
(CIDR): The Internet Address Assignment and Aggregation (CIDR): The Internet Address Assignment and Aggregation
Plan", BCP 122, RFC 4632, DOI 10.17487/RFC4632, August Plan", BCP 122, RFC 4632, DOI 10.17487/RFC4632, August
2006, <http://www.rfc-editor.org/info/rfc4632>. 2006, <http://www.rfc-editor.org/info/rfc4632>.
[RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data [RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data
Encodings", RFC 4648, DOI 10.17487/RFC4648, October 2006, Encodings", RFC 4648, DOI 10.17487/RFC4648, October 2006,
<http://www.rfc-editor.org/info/rfc4648>. <http://www.rfc-editor.org/info/rfc4648>.
[RFC4871] Allman, E., Callas, J., Delany, M., Libbey, M., Fenton, [RFC4871] Allman, E., Callas, J., Delany, M., Libbey, M., Fenton,
skipping to change at page 14, line 10 skipping to change at page 14, line 20
[RFC5952] Kawamura, S. and M. Kawashima, "A Recommendation for IPv6 [RFC5952] Kawamura, S. and M. Kawashima, "A Recommendation for IPv6
Address Text Representation", RFC 5952, Address Text Representation", RFC 5952,
DOI 10.17487/RFC5952, August 2010, DOI 10.17487/RFC5952, August 2010,
<http://www.rfc-editor.org/info/rfc5952>. <http://www.rfc-editor.org/info/rfc5952>.
[RFC6481] Huston, G., Loomans, R., and G. Michaelson, "A Profile for [RFC6481] Huston, G., Loomans, R., and G. Michaelson, "A Profile for
Resource Certificate Repository Structure", RFC 6481, Resource Certificate Repository Structure", RFC 6481,
DOI 10.17487/RFC6481, February 2012, DOI 10.17487/RFC6481, February 2012,
<http://www.rfc-editor.org/info/rfc6481>. <http://www.rfc-editor.org/info/rfc6481>.
[RFC6485] Huston, G., "The Profile for Algorithms and Key Sizes for
Use in the Resource Public Key Infrastructure (RPKI)",
RFC 6485, DOI 10.17487/RFC6485, February 2012,
<http://www.rfc-editor.org/info/rfc6485>.
[RFC6487] Huston, G., Michaelson, G., and R. Loomans, "A Profile for [RFC6487] Huston, G., Michaelson, G., and R. Loomans, "A Profile for
X.509 PKIX Resource Certificates", RFC 6487, X.509 PKIX Resource Certificates", RFC 6487,
DOI 10.17487/RFC6487, February 2012, DOI 10.17487/RFC6487, February 2012,
<http://www.rfc-editor.org/info/rfc6487>. <http://www.rfc-editor.org/info/rfc6487>.
Authors' Addresses Authors' Addresses
Robert Kisteleki Robert Kisteleki
Email: robert@ripe.net Email: robert@ripe.net
 End of changes. 14 change blocks. 
30 lines changed or deleted 44 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/