Re: [plasma] Clarification of how client applications handle the LockBox in client in <plasma:GetCMSToken> elements

Ed Simon <Ed.Simon@titus.com> Sat, 17 November 2012 21:07 UTC

Return-Path: <Ed.Simon@titus.com>
X-Original-To: plasma@ietfa.amsl.com
Delivered-To: plasma@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D13DA21F84D0 for <plasma@ietfa.amsl.com>; Sat, 17 Nov 2012 13:07:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.288
X-Spam-Level:
X-Spam-Status: No, score=-6.288 tagged_above=-999 required=5 tests=[AWL=0.310, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, UNPARSEABLE_RELAY=0.001]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id G2SClhdYG61V for <plasma@ietfa.amsl.com>; Sat, 17 Nov 2012 13:07:06 -0800 (PST)
Received: from mail1.bemta12.messagelabs.com (mail1.bemta12.messagelabs.com [216.82.250.242]) by ietfa.amsl.com (Postfix) with ESMTP id 320EF21F84CA for <plasma@ietf.org>; Sat, 17 Nov 2012 13:07:06 -0800 (PST)
Received: from [216.82.249.35:10485] by server-12.bemta-12.messagelabs.com id 8A/92-09292-97CF7A05; Sat, 17 Nov 2012 21:07:05 +0000
X-Env-Sender: Ed.Simon@titus.com
X-Msg-Ref: server-11.tower-138.messagelabs.com!1353186424!10147714!1
X-Originating-IP: [67.210.173.99]
X-StarScan-Received:
X-StarScan-Version: 6.6.1.8; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9133 invoked from network); 17 Nov 2012 21:07:05 -0000
Received: from 67-210-173.99.static.tel-ott.com (HELO snakeskin.titus.com) (67.210.173.99) by server-11.tower-138.messagelabs.com with AES128-SHA encrypted SMTP; 17 Nov 2012 21:07:05 -0000
Received: from E10MB3.tituscorp.local ([fe80::84f4:cfbe:f32f:9a5]) by E10CH1.tituscorp.local ([192.168.200.115]) with mapi id 14.03.0099.000; Sat, 17 Nov 2012 16:07:04 -0500
From: Ed Simon <Ed.Simon@titus.com>
To: "plasma@ietf.org" <plasma@ietf.org>
Thread-Topic: Clarification of how client applications handle the LockBox in client in <plasma:GetCMSToken> elements
Thread-Index: Ac3FB35SonDRZ33PRKGGX29wjdBweg==
Date: Sat, 17 Nov 2012 21:07:03 +0000
Message-ID: <DCD8C7A5A8B3E844AA2E2CBE327CDC92013D21D4@E10MB3.tituscorp.local>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [192.168.200.2]
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [plasma] Clarification of how client applications handle the LockBox in client in <plasma:GetCMSToken> elements
X-BeenThere: plasma@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "The PoLicy Augmented S/Mime \(plasma\) bof discussion list." <plasma.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/plasma>, <mailto:plasma-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/plasma>
List-Post: <mailto:plasma@ietf.org>
List-Help: <mailto:plasma-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/plasma>, <mailto:plasma-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Nov 2012 21:07:06 -0000

Based on discussions with others on this mailing list, and

http://www.ietf.org/mail-archive/web/plasma/current/msg00118.html

...I have drawn up the following three scenarios regarding the construction of the <GetCMSToken> element sent to the PLASMA Server by the Sending Agent, and the construction of the LockBox by the PLASMA Server.

Does what I've described in these scenarios, particularly Scenario B in which the Sending Agent leaves it to the PLASMA Server to construct a LockBox for a named recipient, sound reasonable? Scenario B follows from the text 
   “Additionally the Plasma server could return the standard
   recipient info structures to be added to the message for recipients
   if it can pre-authorize them to have access the message and knows the
   appropriate keying material.” 
in the PLASMA Service CMS Processing v2 document.

Here are the scenarios:

Scenario A: The Sending Agent does NOT share the CEK with the PLASMA server and specifies a limited set of recipients who can decrypt the message (for example, due to section 7.2.2 of PLASMA Service Trust processing v3).

Sending Agent: In the <GetCMSToken> element of the PLASMA Request, the sender will construct a <Recipient> list specifying, for each recipient, both the <Subject> element (to identify the recipient), and the <LockBox> element to contain the encrypted CEK for that recipient (encrypted so only that recipient can decrypt it). There will be no <CEK> element.

PLASMA Server: Will construct an ASN.1 PLASMA LockBox (as described in PLASMA Service CMS Processing v2). The LockBox constructed by the PLASMA Server will comprise, in the namedRecipients, the LockBox-es provided by the Sending Agent. There will be no defaultRecipients structure. Note that in this scenario, the PLASMA Server will not be able, barring further communication with the Sending Agent, be able to supplement the list of recipients.

Scenario B: The sender shares the CEK with the PLASMA server and specifies a limited set of recipients who can decrypt the message (for example, again, due to section 7.2.2 of PLASMA Trust processing). For each recipient specified, there may or may not be a LockBox specified by the Sending Agent. 

Sending Agent: In the <GetCMSToken> element of the PLASMA Request, the sender will construct a <Recipient> list specifying, for each recipient, both the <Subject> element (to identify the recipient), and, optionally, the <LockBox> element to contain the encrypted CEK for that recipient (encrypted so only that recipient can decrypt it). The Sending Agent will also construct a <CEK> element to contain the CEK.

PLASMA Server: Where a LockBox for a recipient was specified by the Sending Agent, it will be treated as in Scenario A; otherwise, the PLASMA Server will create a LockBox for that recipient to populate the namedRecipients structure. It will also create a defaultRecipients structure using the CEK provided by the Sending Agent. Note that in this scenario, the PLASMA Server will be able to, independently of the Sending Agent, be able to supplement the list of recipients.

Note that for Scenario B, the schema definition for the <LockBox> element will need to have the attribute minOccurs=0.

Scenario C: The Sending Agent shares the CEK with the PLASMA server and does NOT specify any recipients. 

Sending Agent: The Sending Agent will also construct a <CEK> element to contain the CEK; no <Recipient> element will be created.

PLASMA Server: The PLASMA Server will also create a defaultRecipients structure using the CEK provided by the Sending Agent; it may or may not create a namedRecipients structure (populated independently of the Sending Agent). As in Scenario B, the PLASMA Server will be able to, independently of the Sending Agent, be able to supplement the list of recipients.