Download Firefox: WindowsMac OS X
logo       
Google Custom Search
    AddThis Social Bookmark Button

Certificate Exchange - Use Cases: msg#00004

Subject: Certificate Exchange - Use Cases
Comment on draft-ediint-certificate-exchange-00.txt.

I have 2 comments on section 4.

1. The beginning of section 4 says that it is "only illustrative".  However, 
section 4 contains several uses of MUST and SHOULD, which are prescriptive 
words.  These words should be in lower case, to indicate that they are not 
stating additional requirements, or different language should be used.
2. Section 4.2 does state some requirements that were not stated earlier in 
section 2 or 3.  These requirements should be in section 2.  The requirements 
in 4.2 on accepting signed messages should be modified.

1.
In 4.1.1 Step 1, change
   In the case of an encryption certificate, the initiator MUST be 
   immediately ready to receive documents encrypted with the new 
   certificate. 
to
   In the case of an encryption certificate, the initiator is
   immediately ready to receive documents encrypted with the new 
   certificate. 

Change the first paragraph of 4.1.2 to
   Receiver validates the EDIINTCertificateExchangeRequest message at 
   the AS2 level and returns a correct MDN.  If the message is a proper 
   AS2 document, the receiver automatically accepts or rejects the 
   new certificate(s) or requires manual intervention. If the certificate 
   is automatically accepted or rejected, an 
   EDIINTCertificateExchangeResponse is generated and returned to 
   the initiator.  Since the trading relationship could be hindered if 
   action is not taken prior to the RespondByDate, manual intervention 
   must be done before that date. When the manual intervention 
   determines to accept or reject the new certificate, an 
   EDIINTCertificateExchangeResponse is generated and returned to 
   the initiator. Both automatic and manual 
   EDIINTCertificateExchangeResponses are formatted according to 
   Section 2. Message Processing and Section 3. XML Schema Description 
   and sent according to EDIINT-AS2 protocol.  A positive MDN received 
   for the response message indicates successful transmission of the 
   response message. 

2.
4.2.1 says
        If the receiver supports this use case, they MUST accept this message 
        regardless of the presence of a signature. 
and 4.2.2 says
        The initiator MUST accept this response, regardless of if it is signed. 
 

I interpret these requirements to mean that the receiver of a Request/Response 
message must accept a signed message, even if the receiver cannot validate the 
signing certificate.  This requirement should be stated in section 2.3.  

In the first paragraph of section 2.3, after this sentence

   After obtaining the desired certificate, the initiator of the 
   certificate exchange transmits the certificate in the CEM Request 
   message. 

insert
   If the initiator does not possess the receiver's signature 
   certificate, the initiator SHOULD NOT request a signed MDN. 

Change the first sentence of paragraph 3 of section 2.3 from

   Upon receipt of the CEM Request, the recipient trading partner 
   processes the transport message as normal and returns the MDN. 
to

   Upon receipt of the CEM Request, the recipient trading partner 
   processes the transport message as described below and returns the MDN. 

Add the following to the end of 2.3:

        If the initiator signs the CEM Request, the initiator SHOULD include 
the signing certificate in the signature.  If the recipient partner receives a 
signed CEM Request, but the recipient does not possess a currently valid 
signing certificate for the initiator, then the recipient partner may ignore 
the signature without processing it in any way, return a positive MDN if one is 
requested, and go on to process the Request.  However, it is RECOMMENDED that 
the recipient partner process the signature as much as possible, to detect 
possible corruption of the Request message, as follows.  If the signing 
certificate is in the signature, or if the recipient possesses the signing 
certificate, the recipient SHOULD verify that the digest of the message equals 
the digest in the signature.  If the signing certificate is issued by a CA 
Certificate that the recipient trusts, the recipient SHOULD verify 
 that the issuer did issue the signing certificate.  If either of these checks 
is done and!
  fails, the recipient MUST return a negative MDN.  If the recipient does not 
trust the signing certificate because the signing certificate or one of its 
issuers has been revoked or has expired or is explicitly not trusted, the 
recipient SHOULD return a negative MDN.  If the recipient already trusts the 
signing certificate or one of its issuers and all other tests pass, then the 
recipient MUST return a positive MDN.  If the recipient has no basis to either 
trust or not trust the signing certificate, then the recipient MUST return a 
positive MDN.  (This is contrary to the behavior for non-CEM messages, where 
the recipient returns a negative MDN if it cannot validate the trust of the 
signing certificate.)  In this case, the recipient SHOULD require manual 
intervention to accept the certificates in the Request.

The recipient returns a positive MDN even when it cannot validate trust of the 
signing certificate because this CEM Request may be the initial distribution of 
the signing certificate.  The recipient might not yet possess any certificates 
of the initiator or have any means to validate the signing certificate.  After 
the initial distribution, the initiator will normally sign the CEM Request with 
the existing signing certificate, which the recipient can validate.

The burden for the initial distribution is placed on the recipient, as in 
section 4.2.  The initiator can always send CEM Requests in the same way.

The recipient might sign the Request's MDN or the Response, and the initiator 
may not yet possess any signing certificate of the recipient.  (Note that the 
AS2 specification permits the recipient to sign the MDN even if the initiator 
did not request a signed MDN.)  So the same requirements apply to the initiator 
when processing the MDN or Response message.  Add to the end of 2.3, after the 
paragraph above:

        If the recipient signs the MDN for the CEM Request, the recipient 
SHOULD include the signing certificate in the signature.  If the initiator 
receives a signed MDN for the CEM Request, but the initiator does not possess a 
currently valid signing certificate for the recipient, then the initiator may 
ignore the signature without processing it in any way, and accept the MDN.  
However, it is RECOMMENDED that the initiator process the signature as much as 
possible, to detect possible corruption of the MDN message, as follows.  If the 
signing certificate is in the signature, or if the initiator possesses the 
signing certificate, the initiator SHOULD verify that the digest of the message 
equals the digest in the signature.  If the signing certificate is issued by a 
CA Certificate that the initiator trusts, the initiator SHOULD verify that the 
issuer did issue the signing certificate.  If either
  of these checks is done and fails, the initiator MUST reject the MDN.  If the 
initiator !
 does not trust the signing certificate because the signing certificate or one 
of its issuers has been revoked or has expired or is explicitly not trusted, 
the initiator SHOULD reject the MDN.  The behavior when the initiator rejects 
the MDN is not defined.  If the initiator already trusts the signing 
certificate or one of its issuers and all other tests pass, then the initiator 
MUST accept the MDN.  If the initiator has no basis to either trust or not 
trust the signing certificate, then the initiator MUST accept the MDN.  (This 
is contrary to the behavior for non-CEM messages, where the initiator rejects a 
MDN if it cannot validate the trust of the signing certificate.)  

        If the recipient signs the CEM Response, the recipient SHOULD include 
the signing certificate in the signature.  If the initiator receives a signed 
CEM Response, but the initiator does not possess a currently valid signing 
certificate for the recipient, then the initiator may ignore the signature 
without processing it in any way, return a positive MDN if one is requested, 
and go on to process the Response.  However, it is RECOMMENDED that the 
initiator process the signature as much as possible, to detect possible 
corruption of the Response message, as follows.  If the signing certificate is 
in the signature, or if the initiator possesses the signing certificate, the 
initiator SHOULD verify that the digest of the message equals the digest in the 
signature.  If the signing certificate is issued by a CA Certificate that the 
initiator trusts, the initiator SHOULD verify that the issuer did 
 issue the signing certificate.  If either of these checks is done and fails, 
the initiato!
 r MUST return a negative MDN.  If the initiator does not trust the signing 
certificate because the signing certificate or one of its issuers has been 
revoked or has expired or is explicitly not trusted, the initiator SHOULD 
return a negative MDN.  If the initiator already trusts the signing certificate 
or one of its issuers and all other tests pass, then the initiator MUST return 
a positive MDN.  If the initiator has no basis to either trust or not trust the 
signing certificate, then the initiator MUST return a positive MDN.  (This is 
contrary to the behavior for non-CEM messages, where the initiator returns a 
negative MDN if it cannot validate the trust of the signing certificate.)  

Sections 4.2.1 and 4.2.2 should be modified as follows.  MUST and SHOULD are 
replaced by other words, and the requirements for accepting signed messages are 
modified in accordance with the language above.

   4.2.1.  Step 1 
    
   Initiator creates an EDIINTCertificateExchangeRequest as described in 
   Section 2.0 Message Format and Section 3.0 XML Schema.  The initiator 
   sends it according to EDIINT-AS2 protocol.  Using a digital signature 
   on the AS2 message is optional, as the receiver will not be able to 
   verify until after accepting the signature certificate.  The 
   receiver accepts this message in accordance with section 2.3.
   Unless the initiator 
   possesses the receiver's encryption certificate, encryption is not
   used.  Unless the initiator possesses the receiver's signature 
   certificate, the initiator does not request a signed MDN.  If the MDN is not 
   signed, there is no legal proof the receiver received the message.  
   In addition, a positive MDN received during this step gives some 
   indication of successful transmission of the message, but does not 
   imply successful action on the certificate.  In the case of an 
   encryption certificate, the initiator must be immediately ready to 
   receive documents encrypted with the new certificate.  In the case of 
   a signing certificate, the initiator can begin signing documents with 
   the new certificate at the RespondByDate or upon receipt of an 
   EDIINTCertificateExchangeResponse from the partner indicating they 
   are ready. If an acceptance response is not received by the 
   RespondByDate, the initiator may or may not begin signing with the 
   new certificate, depending on the implementation's capabilities and 
   the policies of the initiator. 
    
   4.2.2.   Step 2 
    
   Receiver validates the EDIINTCertificateExchangeRequest message at 
   the AS2 level and returns an MDN according to the EDIINT-AS2 
   protocol and section 2.3.  If the message is a proper AS2 document, the 
receiver 
   automatically accepts or rejects the new certificate(s), or requires 
   manual intervention.  Caution should be used in automatically 
   accepting the certificate, as it may be impossible to verify the 
   sender is authentic.  If the certificate is automatically accepted or 
   rejected, an EDIINTCertificateExchangeResponse is generated and 
   returned to the initiator.  Since the trading relationship could be 
   hindered if action is not taken prior to the RespondByDate, manual 
   intervention must be done before that date. When the manual 
   intervention determines to accept or reject the certificate, an 
   EDIINTCertificateExchangeResponse is generated and returned to 
   the initiator.  
    
   In both the automatic and manual case, the 
   EDIINTCertificateExchangeResponses are formatted according to 
   Section 2. Message Processing and Section 3. XML Schema Description 
   and sent according to EDIINT-AS2 protocol.  If the original CEM Request
   included the encryption certificate, or if the receiver has the 
   initiator encryption certificate on file, it may be used to encrypt 
   the AS2 message including the EDIINTCertificateExchangeResponse.  
   Otherwise, it may be necessary to send this 
   EDIINTCertificateExchangeResponse unencrypted.  The message may be 
   signed, but it is possible the initiator will have no way to verify 
   the signature.  The initiator accepts this response in accordance with 
section 2.3.
   A positive MDN received for the response message 
   indicates successful transmission of the response message. 
    
 




<Prev in Thread] Current Thread [Next in Thread>