FHIR Chat · Encrypted Binaries · implementers

Stream: implementers

Topic: Encrypted Binaries


view this post on Zulip Grahame Grieve (Oct 07 2017 at 20:00):

I'm working with an implementer that has a need to use encrypted binaries. A binary is a binary, so encrypted is fine... but you need some minimal crypto metadata .... we don't really have space for this anywhere.

view this post on Zulip Grahame Grieve (Oct 07 2017 at 20:00):

has anyone looked at this before?

view this post on Zulip John Moehrke (Oct 10 2017 at 14:28):

Can you give me some context to the use-case? There are standards based solutions. However the choice of which of these will be dependent on the intended use-case. Specifically the use-case will drive key-management. For example how does the one encrypting know the keys to use so that only the targeted recipient can decrypt.

view this post on Zulip John Moehrke (Oct 10 2017 at 14:28):

The most re-usable is CMS (Like found in the IHE-Document Encryption (DEN) profile http://wiki.ihe.net/index.php/Document_Encryption This is also the core standard used in S/MIME

view this post on Zulip Grahame Grieve (Oct 10 2017 at 14:29):

why does that make any difference? let's assume that there's some way to know

view this post on Zulip John Moehrke (Oct 10 2017 at 14:37):

There are efforts now in HTTP workgroup to add targeted Digital Rights Management methods... Is that what this person is looking for? It is a very different architecture than content encryption to a pre-known targeted identity.

view this post on Zulip Grahame Grieve (Oct 10 2017 at 14:41):

the context of use here is pre-known targetted identity

view this post on Zulip John Moehrke (Oct 10 2017 at 14:43):

okay, known identities certificate or Oauth? Would drive use of CMS vs JWE..

view this post on Zulip Grahame Grieve (Oct 10 2017 at 14:44):

OAuth is not in the picture here.

view this post on Zulip John Moehrke (Oct 10 2017 at 14:44):

I might ask why transport encryption is not sufficient? That might tease out 'requirements' that are not being said.

view this post on Zulip Grahame Grieve (Oct 10 2017 at 14:46):

because there are multiple hops - both routing and storage- between source and target, and this breaks transport continuity, but the intermediaries are not authorized to view the content

view this post on Zulip John Moehrke (Oct 10 2017 at 14:46):

Hence why I wondered about DRM... as many people get excited about DRM and want to use it... DRM is very helpful 'access control' model...

view this post on Zulip John Moehrke (Oct 10 2017 at 14:46):

Okay, then CMS seems a good choice .. CMS is widely implemented. And if you have either secret key (password), or certificate based identities; it is a good choice for end-to-end encryptjon.

view this post on Zulip John Moehrke (Oct 10 2017 at 14:47):

Take a look at the IHE profile. I think it would be re-usable here.

view this post on Zulip Grahame Grieve (Oct 10 2017 at 14:47):

cms as in https://en.wikipedia.org/wiki/Cryptographic_Message_Syntax?

view this post on Zulip John Moehrke (Oct 10 2017 at 14:48):

Yes

view this post on Zulip Grahame Grieve (Oct 10 2017 at 14:48):

it does look like the right base. What do we need to do to support it with Binary?

view this post on Zulip Grahame Grieve (Oct 10 2017 at 14:50):

I will have to look

view this post on Zulip John Moehrke (Oct 10 2017 at 14:53):

So the idea you have is that a Bundle would contain a set of Resources and an encrypted Binary? Or would the whole Bundle be encrypted? I am trying to figure out why this is unique to Binary.

view this post on Zulip John Moehrke (Oct 10 2017 at 14:54):

Would we have a need to create a Bundle mechanism for 'any' resource to be encapsulated in a CMS envelope? (We are re-inventing SOAP... you know that, right?)

view this post on Zulip John Moehrke (Oct 10 2017 at 14:55):

Note that SOAP already has this ability, using XML-Encryption....

view this post on Zulip Julie Maas (Oct 10 2017 at 20:33):

Considering that there are "untrusted" intermediaries involved, signing the content so the recipient can authenticate the source would make sense, in addition to encrypting it for the ultimate data consumer. CMS/S/MIME supports this. This is essentially Direct Messaging without the SMTP transport, so existing Direct tools (and potentially existing endpoints and trust frameworks) could be adapted for this.

view this post on Zulip Grahame Grieve (Oct 12 2017 at 10:53):

I don't know whether this applies outside binary or not.

view this post on Zulip Grahame Grieve (Oct 12 2017 at 10:53):

what makes this different to SOAP/S-MIME is that the question is around persisting, not just sending.

view this post on Zulip John Moehrke (Oct 12 2017 at 13:05):

That sounds like the CMS (like profiled in IHE-DEN profile) is the best choice. This is the kind of use-case that drove the IHE-DEN profile. Where the content needed to be encrypted/signed in a transport agnostic way. The content can be anything, mime-type described. The transport can be anything, including mixed mode transport (http --> email --> usb-stick --> SOAP...). The CMS survives all those conversions between transports. Key management can be as simple as a shared secret, or as complete as PKI. ((( Note that CMS is the underlying standard of S/MIME too)))

view this post on Zulip Grahame Grieve (Oct 14 2017 at 20:14):

indeed that sounds like the case - do we need to do anything in FHIR for this? It seems to me that we do, for binary at least.

view this post on Zulip Grahame Grieve (Oct 14 2017 at 20:14):

another question that arises is whether anyone has used element level encryption as defined in https://www.w3.org/TR/xmlenc-core/, and whether we should think about that

view this post on Zulip John Moehrke (Oct 18 2017 at 16:20):

I would be glad to add a note on the security pages about encapsulating encryption. I would like to see a few more that indicate that this is a proper guidance.

view this post on Zulip John Moehrke (Oct 18 2017 at 16:23):

element level encryption is fraught with ways to fail... More so than partial signatures... that is to say when one does element level encryption or signatures you must do it really-really correct. element level encryption can fail to fully encrypt due to lack of well implemented initialization vectors. I would certainly recommend that that this is well beyond any implementation today in anything other than academic prototypes.

view this post on Zulip Grahame Grieve (Oct 22 2017 at 20:08):

I agree. Was just checking


Last updated: Apr 12 2022 at 19:14 UTC