Skip to content

Post: Encrypting PHI in data resources #27

@gadenbuie

Description

@gadenbuie

encryptr is interesting and allows you to do something like

gp %>% 
  encrypt(postcode, telephone)

To encrypt the columns postcode and telephone, enabling the data to be shared without the risk of exposing PHI.

encryptr uses RSA, so it has a similar authentication model to ssh, except it seems that the private key is required for decryption.

Decryption requires the private key generated using genkeys() and the password set at the time.

The package README really doesn't spend much time explaining how to use and share keys with others.

From How does RSA work?

RSA is an asymmetric system, which means that a key pair will be generated (we will see how soon), a public key and a private key, obviously you keep your private key secure and pass around the public one.
https://hackernoon.com/how-does-rsa-work-f44918df914b

A blog post could explore an example with more details about key generation, key sharing, etc.

Also there is a related ROpensci package cyphr which seems to be more oriented towards encrypting files. This might be a better package choice (better community support, etc.) but there is a gap in the README in terms of column-specific encryption.

Finally, another interesting package for secret sharing is secret by Gabor Csardi et al. This package is oriented towards sharing API keys but the UseR! 2017 presentation about secret could provide a good starting point for sketching out the ideal key-sharing workflow.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions