W3C home > Mailing lists > Public > xml-encryption@w3.org > November 2000

RE: Algorithm Selections

From: Ed Simon <ed.simon@entrust.com>
Date: Wed, 15 Nov 2000 17:07:18 -0500
Message-ID: <A0E1DEC54ED42F4884DD9EEA00ACE37106D027@sottmxs08>
To: Public XML Encryption List <xml-encryption@w3.org>
The idea is that XML Encryption should support the encryption of arbitrary
data as well as XML elements and attributes.  For example,

<EncryptedDataManifest xmlns="http://www.example.org/xmlenc">

  <EncryptedData Type="video/mpeg" Name="secret.mpg">
    <DecryptionInfo>...</DecryptionInfo>
    <CipherText URI="http://www.example.com/videos/secret.enc"/>
  </EncryptedData>

  <EncryptedData Type="text" Name="secret.txt">
    <DecryptionInfo>...</DecryptionInfo>
    <CipherText>JkE4T6S...</CipherText>
  </EncryptedData>

</EncryptedDataManifest>

In the above, secret.enc would be an encrypted MPEG video stream, and the
<DecryptionInfo> would provide the info necessary for decrypting it.

Now how would this work in SMIL, or indeed any XML where one wants to
encrypt linked data such as a GIF used by an XHTML file?  I haven't thought
about this thoroughly yet, but here's an initial idea.

The plaintext SMIL file:

<smil>
...
<video src="secret.mpg"/>
...
</smil>

And here's the SMIL file after the MPEG has been encrypted and stored in
"secret.enc" (and secret.mpg deleted):

<smil>
...
<video src="secret.mpg" enc:EncryptedDataManifest="./EncryptedDataManifest"
xmlns:enc="http://www.example.org/xmlenc">
  <EncryptedDataManifest xmlns="http://www.example.org/xmlenc">
    <EncryptedData Type="video/mpeg" Name="secret.mpg">
      <DecryptionInfo>...</DecryptionInfo>
      <CipherText URI="http://www.example.com/videos/secret.enc"/>
    </EncryptedData>
  </EncryptedDataManifest>
</video>
...
</smil>

When a SMIL app is processing the <video> element, it detects that there is
an EncryptedDataManifest attribute pointing to data that needs to be
decrypted.  Upon decrypting the contents of the manifest, it processes the
<video> element in the normail way.  In the case of streaming, the
application may decrypt a block, stream it, decrypt the next block, stream
that, and so on.  (A general application-level processing rule for XML
Encryption is that upon detection of encrypted data, that data be decrypted,
if possible, before the application does any further processing.)

To be honest, I need to learn more about SMIL and streaming technology
myself but hopefully I've expressed the scenario adequately here.

Regards, Ed

-----Original Message-----
From: Joseph M. Reagle Jr. [mailto:reagle@w3.org]
Sent: Wednesday, November 15, 2000 4:09 PM
To: Ed Simon
Cc: Public XML Encryption List
Subject: RE: Algorithm Selections


At 15:40 11/15/2000 -0500, Ed Simon wrote:
>If XML Encryption is to be used for streaming media, as discussed in my 
>presentation at the work shop, then we will also need streaming ciphers.

Ed,  at the workshop you mentioned things like SMIL which I'm somewhat 
unfamiliar with. I don't believe the SMIL instance is streamed, instead it's

a discrete object that includes meta-data (synchronization) and 
references/invocations of streams [1]. Could you provide an example/scneario

of how one would use XML Encryption with streaming ciphers?


[1] 
http://www.w3.org/TR/2000/WD-smil20-20000921/extended-media-object.html#edef
-ref

__
Joseph Reagle Jr.
W3C Policy Analyst                mailto:reagle@w3.org
IETF/W3C XML-Signature Co-Chair   http://www.w3.org/People/Reagle/
Received on Wednesday, 15 November 2000 17:08:12 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 27 October 2009 08:42:18 GMT