📄 draft-day-svrloc-signature-00-nr.txt
字号:
The Signature Extension comprises an envelope for a CryptographicMessage Syntax signed-data content type. (See section 5.1 of [CMS].).KS.HDR_2 Signature\ Extension\ FieldsThe Signature Extension has the following format: .DS L 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Extension ID = 0x000? |Next Ext. Offset (must be zero)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Offset, contd.| CMS signed-data \\ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+.DE.KE .HDR_3 CMS\ signed-data\ FieldThe CMS signed-data field contains the signature of the SLP messageand accompanying data. The format for the signed-data field isoutlined in section 5.1 of [CMS]. It is a BER-encoded [X.209-88]buffer that may include at least the following information:.nr PI 5 .RS .nr step 1 1.IP \n[step]. 3Version of the CMS used to sign the message data. .IP \n+[step]. Algorithms used to generate and sign the message digest. .IP \n+[step].Signed content, which includes a digest of the message data. .IP \n+[step]. Optional Signer information, which may include Public-KeyCertificates. Signer attributes are subject to additional encodingrules. .RE.in 3 The list above is generalized. For example, if the signed-data fieldcontains variable-length attribute data that data must use specialadditional rules. See [CMS] for precise details..bp.HDR_3 Size\ of\ signed-data\ FieldThere is a paradox involving the size of the signed-data field and thegeneration of the signed message digest. The SLP header MUST be included in the input for the message digestcontained in the signed-data field. Because the SLP Header includes alength field, the length of the message including the signatureextension must be part of the input into the message digest containedin the signature extension.The message digest and the signature of the message digest are fixed-length fields and their length is known prior to generating thesigned digest. This makes it straightforward to calculate the lengthof the SLP message, initialize the length field in the SLP header, andthen generate the signed message digest. .HDR_2 Contents\ of\ signed-data\ FieldThe CMS provides considerable flexibility when generating signed-datacontent. For example, it allows multiple signers and multiplesignatures. It also allows a variable number and type of signerattributes including certificates.To be consistent with the goals of SLP UAs and SAs SHOULD keep thesigned-data field as simple as possible when generating signatureextensions. A simple signed-data field with only a message digest, asignature of the message digest, and a subject key identifier makes aprior calculation of the signed-data length simple and ensures thatgenerating and verifying signatures of SLP messages requires thesmallest possible overhead.A signed-data field that contains only a signed message digest and asubject key identifier can fit easily within the datagram MTU of mostnetwork environments and does not represent an unusual field size relative toother SLP fields. However, embellishing the signed-data withadditional variable length attributes may quickly cause the SLPmessage to exceed the datagram MTU. .HDR_2 Omission\ of\ eContentThe CMS referrs to the data being signed for authentication as"eContent." In this case, the eContent is an SLP Message minus thesignature extension. The CMS allows signed content to be either encapsulated within asigned-data "envelope" or "external." The signature extension requiresthe eContent to be "external.".KSTo quote from section 5.2 of [CMS]: .in 5The optional omission of the eContent within theEncapsulatedContentInfo field makes it possible to construct"external signatures." In the case of external signatures, thecontent being signed is absent from the EncapsulatedContentInfo valueincluded in the signed-data content type. If the eContent valuewithin EncapsulatedContentInfo is absent, then the signatureValue iscalculated and the eContentType is assigned as though the eContentvalue was present..KE.in 3In other words, the signed-data field will always contain a signeddigest of the SLP message but not the SLP message itself. .RETURN_HDR_1 Use\ of\ the\ Signature\ ExtensionSubject to the applicability guidelines in section 2 above, theSignature extension can provide additional security to SLP byauthenticating the content SLP messages, including other SLPextensions. It cannot provide privacy and it cannot authenticate theorigin of IP messages. IPSec [AH] is required to authenticate IP headers..HDR_2 Input\ to\ signed-data\ FieldWhen generating a signature extension for an SLP message, thefollowing data MUST be used as input to the message digest:.KS.nr PI 5 .RS .nr step 1 1.IP \n[step]. 3SLP Header and message..IP \n+[step]. Any SLP extension up to but not including the signature extension..IP \n+[step].The Signature extension MUST be the last extension present in an SLP message..KE.RE.in 3.KS.HDR_3 Calculating\ the\ Length\ of\ a\ Signed\ SLP\ MessageThe following steps should be used to calculate the length of an SLPmessage that includes the signature extension. .nr PI 5 .RS .nr step 1 1.IP \n[step]. 3Determine the length of the signature extension. The signatureextension will always be 6 bytes larger than the size of the CMSsigned-data field. If the signed-data field will contain any variablelength data such as signer attributes it will be necessary to encodethe signed-data field using a dummy message digest and signature toobtain its length..IP \n+[step]. Determine the length of the SLP message, including the length of thesignature extension and all preceeding extensions. .IP \n+[step].Initialize the SLP Header with the length of the message. .RE.in 3.KE.RETURN_HDR_2 Signature\ Generation\ ProcessThe details of generating signatures for a CMS signed-data field arecontained in [CMS] sections 5.4 and 5.5. The following is an overviewfor using CMS signed-data in the SLP signature extension. The detailsfor performing the individual steps are covered in [CMS]..KS.nr PI 5.RS.nr step 1 1.IP \n[step]. 3Generate a message digest of the SLP message beginning with the firstbyte of the SLP Header up to and including the last byte of themessage and extensions not including the signature extension. Note that if CMS signedattributes are to be included in the signed-data field they too mustbe input to the message digest. See [CMS] for details. .IP \n+[step].Generate a signature of the digest from step 1. The input to thesignature is the digest and the signer's private key. .RE.KE.in 3.KS.HDR_2 Signature\ Verification\ ProcessThe details of verifying signatures for a CMS signed-data field arecontained in [CMS] section 5.6. The following is an overview forverifying signatures in CMS signed-data fields within an SLP signatureextension..nr PI 5.RS.nr step 1 1.IP \n[step]. 3Generate a message digest exactly as in step [1] in section 4.2above. .IP \n+[step]. The signer's public key must be obtained separately. .IP \n+[step]. The input to the signature verification step is thedigest generated in step 1 and the signers public key. The detailsdepend upon the exact signature algorithm employed but generally includeencrypting the locally generated digest with the signerspublic key and comparing the result to the signature contained in themessage. .RE.KE.in 3.HDR_1 AcknowledgementsJames Kempf was instrumental in the development of this document.Erik Guttman contributed the basic theory of usingdigital signatures with SLP and offered valuable insights during the preparation of this document. . .HDR_1 References.IP [rfc2608bis] 3Guttman, E., Kempf, J., Service Location Protocol, Version 2 (work inprogress). draft-guttman-svrloc-rfc2608bis-03.txt, August 2002..IP [TLS] 3 McDonald, Ira, Kempf, J., Day, M., "Upgrading to TLS WithService Location Protocol", draft-mcdonald-svrloc-tls-00.txt (work inprogress)..IP [AH] 3Kent, S., and Atkinson, R., "IP Authentication Header," RFC2402, November, 1998..IP [ESP] 3 Kent, S., and Atkinson, R., "IP Encapsulating Security Payload(ESP)," RFC 2406, November, 1998..IP [CMS] 3Housely, R., "Cryptographic Message Syntax", RFC 3369, August, 2002..IP [PROFILE] 3Housley, R., Polk, W., Ford, W. and D. Solo, "InternetX.509 Public Key Infrastructure: Certificate and CRLrofile", RFC 3280, April 2002..IP [X.209-88] 3 CCITT. Recommendation X.209: Specification of BasicEncoding Rules for Abstract Syntax Notation One (ASN.1).1988..KS.HDR_1 Author's\ Contact\ InformationMichael DayIBM3039 Cornwallis RoadResearch Triangle Park, NC 27709USAPhone: +1 919 543-4283Email: mdday@us.ibm.comIra McDonaldHigh North Inc221 Ridge AveGrand Marais, MI 49839USAPhone: +1 906 494-2434Email: imcdonald@sharplabs.com.KE.HDR_1 Full\ Copyright\ StatementCopyright (C) The Internet Society (2000-2002). All Rights Reserved.This document and translations of it may be copied and furnished toothers, and derivative works that comment on or otherwise explain itor assist in its implementation may be prepared, copied, published anddistributed, in whole or in part, without restriction of any kind,provided that the above copyright notice and this paragraph areincluded on all such copies and derivative works. However, thisdocument itself may not be modified in any way, such as by removingthe copyright notice or references to the Internet Society or otherInternet organizations, except as needed for the purpose of developingInternet standards in which case the procedures for copyrights definedin the Internet Standards process must be followed, or as required totranslate it into languages other than English.The limited permissions granted above are perpetual and will not berevoked 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 ENGINEERINGTASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUTNOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREINWILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OFMERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.".TC
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -