- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些关于找到一种方法来实现可以与多个收件人共享的任意数据的加密的问题。 Mega似乎正是这样做的。据我所知,它会在将数据上传到 Web 服务器之前对其进行加密。仍然可以与他人共享该文件。加密是如何完成的?
想象以下场景:
最佳答案
How is that done with the encryption?
Every user also has a public/private key pair. And every file isencrypted under different session key. Session keys are encryptedunder user's master key.
What encryption algorithms does MEGA use internally?
For bulk transfers, AES-128 (we believe that the higher CPUutilization of AES-192 and AES-256 outweighs the theoretical securitybenefit, at least until the advent of quantum computers).Post-download integrity checking is done through a chunked variationof CCM, which is less efficient than OCB, but not encumbered bypatents.
For establishing shared secrets between users and droppingfiles into your inbox, RSA-2048 (the key length was chosen as middlegrounds between "too insecure" and "too slow"). All encryption,decryption and key generation is implemented in JavaScript, whichlimits throughput to a few MB/s and causes significant CPU load. Weare looking forward to the implementation of the proposed HTML5WebCrypto API in all major browsers, which will eliminate thisbottleneck. JavaScript's built-in random number generator is enhancedthrough a mouse/keyboard timing-driven RC4 entropy pool as well ascrypto.* randomness where available (Chrome and Firefox only at themoment - keys generated by Internet Explorer and Safari are lesssecure than they could be).
You can share any subtree of your cloud drive with friends, family orcoworkers. Invitation is by e-mail address. Invitees who do not havean account yet will receive an e-mail notification with a signup link.Alternatively, you can create a public link to any of your folders andexport the folder-specific crypto key, making it accessible without aMEGA account. It is then your responsibility to securely transmit thefolder key to the recipient(s).
To establish, modify or delete a share, simply right click on a folderin your file manager and select Sharing. There are three accesslevels: Read-only, read/write (files can be added, but not deleted),and full (files can be added and deleted). If you added an e-mailaddress that did not have an account yet, you need to be online atleast once after the recipient completes the signup process so thatyou can encrypt the share secret to his newly created public key.
Is data that I put in shared folders as secure my other data?Shared folders, by nature, are only as secure as their least securemember.
fileId=Abc123Ab
shareKey=abcdefghijklmnopqrstuvwxyz0123456789ZYXWVUT
https://mega.co.nz/#!fileId!shareKey
正在尝试下载
https://mega.co.nz/#!fileId
将导致下载加密文件。除非用户拥有共享的解密 key ,否则无法解密该文件。如何将“shareKey”发送给某人取决于您。但是任何有权访问该 shareKey 的人都可以解密下载的文件,因此通过电子邮件或其他未加密的媒体发送完整的 URL 是一个坏主意。一旦生成了 shareKey(通过 webapi 中的“获取链接”),它就无法更改。
However, a compromise of our core server infrastructure posesan additional risk: Public keys could be manipulated, and key requestscould be forged.
Is my stored data absolutely secure? All security is relative. Thefollowing attack vectors exist - they are not specific to MEGA, but wewant you to know about the risks: Individual accounts are jeopardizedby:
- Spyware on your computer. A simple keylogger is enough, but session credentials and keys could also be extracted from memory or thefilesystem.
- Shoulder surfing. Do not type your password while someone could watch your keystrokes.
- Password brute-forcing. Use strong passwords.
- Phishing. Always confirm the security status of your connection (https://) and the correct domain name (mega.co.nz) before enteringyour password. Large-scale attacks could be mounted through:
- A "man in the middle" attack. Requires issuing a valid duplicate SSL certificate in combination with DNS forging and/or attacks on our BGProutes (a DigiNotar-style scenario).
- Gaining access to the webservers hosting https://mega.co.nz/index.html and replacing that file with a forgedversion (this would not affect access through the installed app base).Note that manipulating content on our distributed static content CDNdoes not pose a security risk, as all active content loaded fromindex.html is subject to verification with a cryptographic hash (thinkof it as some kind of "secure boot" for websites). This type of attackrequires sending malicious code to the client and is thereforedetectable.
- Gaining access to our core server infrastructure and creating forged key requests on existing shares. This type of attack only affects datain accounts with shared folders and is detectable on the client sideas well.
Is all of my personal information subject to encryption? No. Only filedata and file/folder names are encrypted. Information that we needoperational access to, such as your e-mail address, IP address, folderstructure, file ownership and payment credentials, are stored andprocessed unencrypted. Please see our privacy policy for details.
12.2 Cryptography
All symmetric cryptographic operations are based on AES-128. It operates in cipher block chaining mode for the file andfolder attribute blocks and in counter mode for the actual file data.Each file and each folder node uses its own randomly generated 128 bitkey. File nodes use the same key for the attribute block and the filedata, plus a 64 bit random counter start value and a 64 bit meta MACto verify the file's integrity. Each user account uses a symmetricmaster key to ECB-encrypt all keys of the nodes it keeps in its owntrees. This master key is stored on MEGA's servers, encrypted with ahash derived from the user's login password. File integrity isverified using chunked CBC-MAC. Chunk sizes start at 128 KB andincrease to 1 MB, which is a reasonable balance between space requiredto store the chunk MACs and the average overhead forintegrity-checking partial reads. In addition to the symmetric key,each user account has a 2048 bit RSA key pair to securely receive datasuch as share keys or file/folder keys. Its private component isstored encrypted with the user's symmetric master key.
12.3 Shared folders
The owner of the folder is solely responsible for managing access; shares are non-transitive (shares cannot be createdon folders in incoming shares). All participants in a shared foldergain cryptographic access through a common share-specific key, whichis passed from the owner (theoretically, from anyone participating inthe share, but this would create a significant security risk in theevent of a compromise of the core infrastructure) to new participantsthrough RSA. All keys of the nodes in a shared folder, including itsroot node, are encrypted to this share key. The party adding a newnode to a shared folder is responsible for supplying the appropriatenode/share-specific key. Missing node/share-specific keys can only besupplied by the share owner.
12.4 Unauthenticated delivery
MEGA supports secure unauthenticated data delivery. Any fullyregistered user can receive files or folders in their inbox throughtheir RSA public key.
关于encryption - Mega 的加密如何用于共享?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18346054/
只是想知道是否有可能找出谁从 Windows 共享中读取了文件(最好使用 .NET,但 win32 native 可以)? 我想做的是创建类似 awstats 的东西对于 Windows 共享,这样我
是否可以列出 Intent.ACTION_SEND ?我的意思是我需要知道是否有人通过 action_send 在 Facebook 上分享或在 Twitter 上发推文。 最佳答案 也许你想要一个更
我正在使用 Google Apps 应用程序。实际上,我想在不使用密码的情况下访问另一个 ID。我使用了 OAuth,它运行良好。但我无法分享特定人的日历。我尝试了以下代码。 GoogleOAuthP
我怎样才能只创建模拟器...可能吗?我知道,设备需要分发证书。 最佳答案 您只需将应用程序目录从 iPhone 模拟器复制到另一个实例/操作系统版本,它就应该可以工作。 因此,如果您想分发 3.1.3
我想使用多阶段构建来避免每次构建应用程序时都下载我的 Java 项目所需的所有 Maven 依赖项。 我正在考虑在第一阶段解决 Maven 依赖项,然后在第二阶段构建应用程序,这将需要访问在前一阶段下
我正在寻找保护用户下载内容的初步想法。用户下载充满有趣资源的 zip 文件,这些资源被提取到本地文件系统中以供应用程序使用。我的目标是防止用户通过互联网将下载的资源共享给其他用户(假设他们获得了对文件
我想知道在具有移动和桌面版本的网站上共享身份验证、 session 管理等的最佳方法是什么。我们正在运行 Tomcat,并且更愿意将移动站点和桌面站点的应用程序保持在不同的节点上。 我看过类似的帖子,
我发现了这个单例的实现。我怎样才能创建指向它的指针或共享指针?` 为什么这不起作用?自动测试 = Singleton::Instance(); class Singleton { public: st
我有一个 heroku 项目,我想与其他人分享。作为the instructions describe ,我使用 virtualenv 来管理环境和依赖项。有没有办法在新机器上从 requiremen
Maven 将所有 jar 存储在本地存储库 ~/.m2/repository/ 下。用户多时占用空间大。 那么,是否可以由多个用户共享这个本地存储库,或许在不同的目录结构下? 最佳答案 简单的回答
为什么共享 worker 在重新加载页面时死了?应该是复活了我该如何解决这个问题? 重装前 重新加载后(在example.com上按F5) parent worker var port = new S
我正在开发多个小型应用程序,这些应用程序将共享通用和共享模块和 Assets 。 关于如何创建项目结构的部分在这里回答:https://stackoverflow.com/a/61254557/135
我在 RHEL 上安装了 jenkins (localhost:8080),我能够成功地构建代码 现在,我想设置主/从代理。 我的笔记本电脑将充当“Master Jenkins”,而我同事的笔记本电脑
我有这种方法可以根据我使用的 EXTRA_STREAM 共享文本文件或图片。我有这两个我可以选择 i.putExtra(Intent.EXTRA_STREAM, uri); i.putExtra(In
我正在使用 R 中的一个数据分析项目,我正在使用 R 中的敏感私有(private)数据进行一些逻辑和多级建模。我爱上了 。预订 包,我已经创建了一本关于我们的工作流程和分析管道的相当广泛的书。问题是
我正在构建的应用程序需要在 UITabBarController 框架内为多个 View (及其 subview )显示共享的自定义 UIToolbar。自定义工具栏的内容在所有 View 中都是相同
我有多个应用程序,我想共享相同的 eslint 配置: - project_root/ - app1/ - node_modules/ - eslint.rc
我有多个 Electron 应用程序。一个是主应用程序,其他几个功能应用程序。主应用程序上的按钮很少,这将导致功能应用程序打开。这里的问题是每个应用程序都有一个主进程,该进程导致要利用更多的CPU。是
我正在开发一个 Node.js 后端,它通过 websocket 与一些桌面客户端进行通信,而服务器端的通信是从 Web 前端发起的。一切正常,因为我将 SockJS Connection 实例存储在
我对托管多个网站的服务器上的多个用户帐户使用私有(private) SSH key 和无密码条目。 我为每个用户帐户使用相同的私钥。 (因为我很懒?或者那是“正确”的方式)。 我现在想授权该国不同地区
我是一名优秀的程序员,十分优秀!