[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [wss] Comments on WSS-X509 draft 06-05 merged.pdf
Tim, I see your proposal has two points. 1. <wsse:compartment> element I think your requirement is satisfied by using S:role attributes. - A message sender encrypts some part of the message using a symmetric key. - The sender encrypts the symmetric key using Recipient1's key-aggreement key and put it in <wsse:Security S:role="Recipient1"> element using <xenc:EncryptedKey> element. - <ds:KeyInfo> element for Recipient1's key-aggreement key is also added in the <wsse:Security S:role="Recipient1">. - The sender encrypts the same symmetric key using Recipient2's key-aggreement key and put it in <wsse:Security S:role="Recipient2"> element and so on. I attached the sample. 2. References flow Your proposal adds <wsse:Reference> element in <ds:KeyInfo> element and achives the following flow. ds:KeyInfo Reference -> xenc:EncryptedKey(Compartment) -> message element With current spec, the flow will be: xenc:EncryptedKey -> message element ds:KeyInfo <- ds:KeyInfo or ds:Signature -> (signed) message element BinarySecurityToken <- ds:KeyInfo Is it better we also allow <wsse:Reference> element in <BinarySecurityToken> element? BinarySecurityToken Reference -> ds:Signature -> (signed) message element --- Toshi --- NISHIMURA Toshihiro (FAMILY Given) nishimura.toshi@jp.fujitsu.com XML/Web Services Technology Dept., STRATEGY AND TECHNOLOGY DIV., FUJITSU LIMITED At Fri, 04 Jul 2003 15:39:39 -0400, Tim Moses wrote: > > [1 <text/plain (7bit)>] > Toshihiro - I agree with many of your observations. > > Please consider the attached proposal. It includes an example to illustrate > the following policy: > > "Recipient 1 is permitted access to Element 1, Element 2 and Element 3. > Recipient 2 is > permitted access to Element 1 and Element 2 only." > > I feel certain some optimizations will be possible. But, we have to make > sure that we provide proper support for policies in which different > recipients are permitted access to different portions of the message. > > All the best. Tim. <snip> -------------------------------------------------------------------------- -------------------------------------------------------------------------- <S:Envelope> <S:Header> <wsse:Security S:role="Recipient1"> <ds:KeyInfo> !--Reference to Recipient1's key-agreement key <ds:X509Data> <ds:X509IssuerSerial> <ds:X509IssuerName>Issuer of Recipient1's certificate</ds:X509IssuerName> <ds:X509SerialNumber>Serial number of Recipient1's certificate</ds:X509SerialNumber> </ds:X509IssuerSerial> </ds:X509Data> <wsse:Reference URI="#a"/> <wsse:Reference URI="#c"/> </ds:KeyInfo> <xenc:EncryptedKey Id="a"> <xenc:CipherData> <xenc:CipherValue> Key1 encrypted for Recipient1 </xenc:CipherValue> <xenc:CipherData> <xenc:ReferenceList> <xenc:DataReference URI="#d"/> <xenc:DataReference URI="#e"/> </xenc:ReferenceList> </xenc:EncryptedKey> <xenc:EncryptedKey Id="c"> <xenc:CipherData> <xenc:CipherValue> Key2 encrypted for Recipient1 </xenc:CipherValue> <xenc:CipherData> <xenc:ReferenceList> <xenc:DataReference URI="#f"/> </xenc:ReferenceList> </xenc:EncryptedKey> </wsse:Security> !-- <wsse:Security S:role="Recipient2"> <ds:KeyInfo> !--Reference to Recipient2's key-agreement key <ds:X509Data> <ds:X509IssuerSerial> <ds:X509IssuerName>Issuer of Recipient2's certificate</ds:X509IssuerName> <ds:X509SerialNumber>Serial number of Recipient2's certificate</ds:X509SerialNumber> </ds:X509IssuerSerial> </ds:X509Data> <wsse:Reference URI="#b"/> </ds:KeyInfo> <xenc:EncryptedKey Id="b"> <xenc:CipherData> <xenc:CipherValue> Key1 encrypted for Recipient2 </xenc:CipherValue> <xenc:CipherData> <xenc:ReferenceList> <xenc:DataReference URI="#d"/> <xenc:DataReference URI="#e"/> </xenc:ReferenceList> </xenc:EncryptedKey> </wsse:Security> </S:Header> <S:Body> <xenc:EncryptedData Id="d"/> <xenc:CipherData> <xenc:CipherValue> Element1 encrypted with symmetric Key1 </xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedData> <xenc:EncryptedData Id="e"/> <xenc:CipherData> <xenc:CipherValue> Element2 encrypted with symmetric Key1 </xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedData> <xenc:EncryptedData Id="f"> <xenc:CipherData> <xenc:CipherValue> Element3 encrypted with symmetric Key2 </xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedData> </S:Body> </S:Envelope> --------------------------------------------------------------------------
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]