Documentation
Concepts
Modèles de partage

Modèles de partage

Dans Secrecy, partager, c'est transmettre une clé. Une donnée n'étant lisible qu'avec sa clé de donnée, donner accès à quelqu'un revient toujours à lui rendre cette clé accessible — la seule question est avec quoi la clé est verrouillée. Il y a trois réponses, selon qui est l'autre partie et dans quel sens circulent les données.

Partageavec un utilisateur ou un groupeClé de donnéede la donnée partagéeClé verrouilléepour sa clé publiqueUtilisateur ou groupel'ouvre avec sa clé privéeLienavec n'importe quiClé de donnéede la donnée partagéeClé verrouilléepar votre mot de passe, dans le lienN'importe quiavec le lien + le mot de passele mot de passe passe par un canal séparéAnonymedepuis n'importe quiDonnées du visiteursans compte, sans clientDonnées scelléespour votre clé publiqueVousles ouvrez avec votre clé privée
PartageLienAnonyme
L'autre partieUn utilisateur ou un groupeN'importe qui, sans compteN'importe qui, sans compte
SensSortant, de vous vers luiSortant, de vous vers luiEntrant, de lui vers vous
La clé est verrouillée parSa clé publiqueUn mot de passe que vous choisissezVotre clé publique
Il lui fautUne identité dans votre appLe lien et le mot de passeRien — seulement votre clé publique
Mettre fin à l'accèsArrêter le partage, par personneLaisser le lien expirer, ou le supprimerSans objet : c'est vous qui détenez la donnée

Partage

Un partage donne à une identité l'accès à un fichier ou à un dossier : un utilisateur de votre application, ou un groupe. Le SDK prend la clé de donnée et la verrouille à nouveau avec la clé publique du destinataire, qui l'ouvre ensuite avec sa propre clé privée, depuis son propre client. Partager avec un groupe verrouille la clé une seule fois, pour le groupe, et chaque membre peut l'ouvrir. Le destinataire est désigné par sa clé publique, et non par son identifiant : secrecyClient.app.userPublicKey permet de passer de l'un à l'autre, et renvoie la clé de l'utilisateur dans votre application.

Un partage porte aussi des droits : ce que le destinataire peut faire du nœud (lire, modifier, supprimer), et s'il peut à son tour le partager ou retirer des accès. L'accès peut être repris à tout moment.

Le mail fonctionne de la même façon : un mail est chiffré avec la clé publique de chaque destinataire. Un destinataire qui ne s'est pas encore connecté à votre application n'y a pas d'identité, donc pas de clé publique vers laquelle chiffrer : c'est pourquoi son mail est mis en attente jusqu'à ce qu'il le fasse.

Voir partager des fichiers et dossiers et arrêter un partage.

Lien

Un lien envoie des données à quelqu'un qui n'a pas de compte Secrecy, et dont vous ne pouvez donc pas utiliser la clé publique. La clé de donnée est alors verrouillée par un mot de passe que vous choisissez, et la clé verrouillée voyage avec le lien.

Le lien seul n'ouvre rien : le destinataire a aussi besoin du mot de passe, que vous lui transmettez par un canal séparé. Secrecy ne transmet jamais le mot de passe à votre place. Le destinataire télécharge et déchiffre la donnée dans son navigateur, avec une fonction autonome qui ne demande pas de client.

Un lien est révocable : donnez-lui une date d'expiration, ou supprimez-le pour couper l'accès immédiatement. Supprimer le lien laisse la donnée en place.

Voir transfert.

Anonyme

Le chiffrement anonyme est l'image inversée du lien : les données circulent vers vous, depuis quelqu'un qui n'a pas de compte. Vous publiez votre clé publique — celle de votre identité dans votre application ; le visiteur chiffre pour elle dans son propre navigateur, avec une fonction autonome, et seul votre client peut déchiffrer le résultat.

Le visiteur chiffre avec une paire de clés jetable, supprimée aussitôt : le texte chiffré ne porte donc aucune identité d'expéditeur, et le visiteur ne peut pas déchiffrer ce qu'il a envoyé. La donnée chiffrée est une simple suite d'octets que vous stockez, dans votre propre base de données par exemple.

Voir chiffrement anonyme.