end to end encryption design in nextcloud contents
play

End-to-end Encryption design in Nextcloud Contents Intro Nextcloud - PowerPoint PPT Presentation

End-to-end Encryption design in Nextcloud Contents Intro Nextcloud What is E2EE E2EE requirements E2EE technical design Initialization File handling Sharing Edge cases & limitations Nextcloud GmbH 2 What is


  1. End-to-end Encryption design in Nextcloud

  2. Contents ● Intro Nextcloud ● What is E2EE ● E2EE requirements ● E2EE technical design – Initialization – File handling – Sharing ● Edge cases & limitations Nextcloud GmbH 2

  3. What is Nextcloud? ● Nextcloud Files private, self-hosted cloud keeping your data secure ● Nextcloud Talk self-hosted secure video/text chat ● Nextcloud Groupware Easy mail/calendar/contact Nextcloud GmbH 3

  4. Features Open Source Auditing, workfow Easy to use web UI External storage Video/text chat LDAP/ SAML/2FA Collaborative editing Developer APIs Control access rights Mobile/desktop clients Nextcloud GmbH 4

  5. What is End-to-end Encryption Fully protects data/communication from user-to- user so no interception in between can capture data, including servers the data passes through. ● Signal, whatapp, ... ● PGP/GPG for mail Nextcloud GmbH 5

  6. End-to-end encryption in Nextcloud Core goals of our design ● Protect data 100% from the server – Keep data safe in case of fully compromised server or malicious administrator ● Be super easy for the end user – Complexity is enemy of security. Assumption: user makes mistakes, administrator is competent. Nextcloud GmbH 6

  7. Requirements of E2EE in Nextcloud ● Allow secure sharing and ● Ofer optional data recovery – With of-line admin key. Users gets – Guarantee confdentiality warned when this is enabled. ● Only authorized users can have access ● Multi-device support – Guarantee integrity – Friction-less access for all user devices ● Files can not be tampered with ● Easy key exchange undetected – Guarantee authenticity – Sharing should be seamless, secure and not require passwords ● Ownership is always clear ● Versioning of protocol ● Use tested, widely used libraries – Improvements can be made – Available on recent versions of iOS, ● Full activity logging possible for auditing Android, Mac, Windows, Linux, PHP7 Nextcloud GmbH 7

  8. Accepted feature loss ● Only top-folder-level sharing Some of these can, in time, be mitigated. Others are inherent – No sharing of individual fles or folders in an encrypted folder to secure End-to-end ● No group sharing Encryption where the server has no knowledge of the data. ● No public link sharing ● No web access to data Example: web interface access requires code from server → – No collaborative editing which can’t be trusted. Would ● No server capabilities like fundamentally break the versioning, trash, comments, security model. favorites, server-side search. Nextcloud GmbH 8

  9. Next slides: explain design ● Initialization – Create keys, add devices ● File handling – Create folder, fles, download fles etc ● Secure sharing – Sharing, unsharing Nextcloud GmbH 9

  10. Creating a secure identity ● Keys: – Generating – Signing – Encrypting – Syncing ● Adding new device Nextcloud GmbH 10

  11. Initialization – step 1 Nextcloud GmbH 11

  12. Initialization – step 2 Nextcloud GmbH 12

  13. Initialization – step 3 Nextcloud GmbH 13

  14. File handling ● Create E2EE folder ● Upload to server ● Add fles ● Download on other device Nextcloud GmbH 14

  15. File Handling – Create folder Nextcloud GmbH 15

  16. File Handling – Add fle Nextcloud GmbH 16

  17. File Handling – Upload to server Nextcloud GmbH 17

  18. File Handling – Add 2 nd device Nextcloud GmbH 18

  19. Sharing and unsharing ● Sharing ● Unsharing Nextcloud GmbH 19

  20. Sharing Nextcloud GmbH 20

  21. Unsharing Nextcloud GmbH 21

  22. Edge case: complete key loss ● Any user device can recover mnemonic to decrypt Options available in case key the user lost the key. – Lost phone? Add new phone, using laptop to show key ● Optional recovery key Recall: design assumes – When recovery key is enabled, private/public key pair is generated. Users will encrypt all data against public user is weakest link. So: key. Private key protected with mnemonic, shown once to server admin for secure, of-line storage. – User does not choose a – All devices lost? Admin can use recovery key to recover user data. NOT USER KEY or IDENTITY, they are lost. password but is given one – Enterprise use case: employees which have left the company. – User is asked to store ● If CSR/HSM: new user key and identity can be created. password but assumption – A hardware security module can securely generate a is user won’t new user identity. Nextcloud GmbH 22

  23. More information ● nextcloud.com/endtoend – Contains link to detailed design whitepaper ● github.com/nextcloud – /ios – /android – /client – end_to_end_encryption – end_to_end_encryption_rfc Nextcloud GmbH 23

  24. A safe home for all your data Nextcloud GmbH +49.711.896656-0 Kronenstr. 22A hello@nextcloud.com 70173 Stuttgart Germany nextcloud.com

Recommend


More recommend