Hiroshi Maruyama Tokyo Research Laboratory IBM Research Proposal: Syntax for Keying Information & Encryption Algorithm 1 Introduction Focused on EncryptionInfo (DecryptionInfo) Design principles: Alignment with XML Signature (i.e., reuse of KeyInfo!) Reuse of content­encryption mechanism for key­encryption Design assumptions on Node Encryption Node substitution model: An item is encrypted into an element, with which the item is replaced Encrypted node is well­formed InfoSet preserve Encryption keys represented as elements or text strings Either inline key ( in ) or detached key Key­centric processing and Data­centric processing 2 EncryptionInfo EncrypedData EncryptionInfo Data­Centric Key­Centric Data­Centric vs Key­Centric 3 EncrypedData EncryptionInfo Inline Key vs Detached Key EncryptionInfo EncrypedData Inline Key Detached Key 4 Syntax Overview (EncryptionMethod (Algorithm=)) for encryption algorithm (EncryptionPropertyList)? for meta­information (Reference (URI=)? (XPath=)?)+ for reference to encrypted data ? (KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#") for encryption key 5 Example 1: Base case [01] [02] [03] [04] MC0CFFrV... [05] [06] 6 Example 2: Use of Key Name (shared symmetric key) [01] [02] [03] [04] 1234 [05] [06] 7 Example 2: Use of Manifest Enabling Key­centric Processing [01] [02] [03] [04] [05] [06] [07] 1234 [08] [09] 8 Example 3: Using Key Transport (1/3) [01] [02] [03] [04] MC0CFFrV... [05] [06] This is to be encrypted by recipient's public key 9 Example 3: Using Key Transport (2/3) [01] [02] [03] [04a] [04b] k0xFFH56... [04c] [05] [06] [07] [08] [09] [10] ... [11] [12] 10 Example 3: Inline EncryptionInfo [01] [02] [03] [04a] [04b] [04c] [04d] [04e] [04f] ... [04g] [04h] [04i] k0xFFH56... [04j] [04k] [05] [06] 11 Example 5: Including Meta­Information [01] [02] [03] [04] [05] [06] 20001027 [07] [08] [09] [10] [11] [12] 1234 [13] [14] 12 Discussions What data model is suitable for XML Encryption and and which should be adopted? What should be added to (or deleted from) ? How should and reference each other? Any other algorithms? Interaction with Signature 13 Use of "Decrypt" Transform j6lwx3rvEPO0vKtMup4NbeVu8nk= MC0CFFrVLtRlk=... Need to know about encryption before signature 14