加密是如何完成的?
答案是对称密钥算法。 Mega 利用 HTML5 提供的浏览器内对称密钥加密。请参阅问题“MEGA 内部使用什么加密算法?”以下。
正如 onemouth 所说,您的数据球是使用主密钥加密的。
每个用户还有一个公钥/私钥对。每个文件都是
在不同的会话密钥下加密。会话密钥已加密
在用户的主密钥下。
要了解这一切是如何工作的,意味着查看所有组件并了解它们如何互操作。 Mega 在其网站上解释了加密对称/共享密钥的过程:
(我添加的引用文本中的嵌入链接和强调文本)
MEGA内部使用什么加密算法?
对于批量传输,AES-128(我们认为更高的 CPU
AES-192 和 AES-256 的利用超过了理论上的安全性
受益,至少在量子计算机出现之前)。
下载后完整性检查是通过分块变体完成的
CCM 的效率低于 OCB,但不受
专利。
For 建立共享秘密用户之间和丢弃
文件到您的收件箱,RSA-2048(密钥长度选择为中间
介于“太不安全”和“太慢”之间)。全部加密,
解密和密钥生成是实施于JavaScript, 哪个
将吞吐量限制为几 MB/秒,并导致显着的 CPU 负载。我们
期待拟议的实施HTML5
Web加密API在所有主要浏览器中,这将消除这个
瓶颈。 JavaScript 的内置随机数生成器得到增强
通过鼠标/键盘时序驱动的 RC4 熵池也
crypto.* 随机性,其中可用的(仅限 Chrome 和 Firefox
moment - Internet Explorer 和 Safari 生成的密钥较少
比他们可能更安全)。
文件夹共享如何工作?
您可以与朋友、家人或朋友共享云驱动器的任何子树
合作伙伴。邀请是通过电子邮件地址发出的。没有的受邀者
尚未注册的帐户将收到带有注册链接的电子邮件通知。
或者,您可以创建指向任何文件夹的公共链接,然后
导出文件夹特定的加密密钥,使其无需密码即可访问
巨型帐户。那么您有责任安全地传输
收件人的文件夹密钥。
要建立、修改或删除共享,只需右键单击文件夹即可
在文件管理器中,然后选择共享。共有三种访问方式
级别:只读、读/写(可以添加文件,但不能删除文件)、
和完整(可以添加和删除文件)。如果您添加了电子邮件
地址还没有帐户,您需要在线:
收件人完成注册过程后至少一次,以便
您可以将共享秘密加密到他新创建的公钥中。
我放入共享文件夹中的数据对我的其他数据是否安全?从本质上讲,共享文件夹的安全程度取决于其最不安全的程度
成员。
现在,您不再只有一把主钥匙,而是拥有另一把委托给 X 个人的钥匙。您的安全感与您对那些 X 人的信任一样重要。
Mega 上的每个文件都有一个唯一的 ID。因此,如果凭据是:
fileId=Abc123Ab
shareKey=abcdefghijklmnopqrstuvwxyz0123456789ZYXWVUT
https://mega.co.nz/#!fileId!shareKey
正在尝试下载
https://mega.co.nz/#!fileId
将导致下载加密文件。除非用户拥有共享解密密钥,否则无法解密该文件。如何将“shareKey”提供给某人取决于您。但任何有权访问该共享密钥的人都可以解密下载的文件,因此通过电子邮件或其他未加密的媒体发送完整的 URL 是一个坏主意。一旦生成了 shareKey(通过 webapi 中的“获取链接”),它就无法更改。
另外,
然而,我们的核心服务器基础设施的妥协构成了
另一个风险:公钥可能被操纵,并且密钥请求
可以被伪造。
他们所说的是,如果不启用共享,则会出现安全问题,因为单个私钥的威胁会受到损害。
我存储的数据绝对安全吗?所有的安全都是相对的。这
存在以下攻击向量 - 它们并非特定于 MEGA,但我们
希望您了解风险:个人账户面临风险
经过:
- 您计算机上的间谍软件。一个简单的键盘记录器就足够了,但是会话凭证和密钥也可以从内存或
文件系统。
- 肩冲浪。当有人可以看到您的击键时,请勿输入密码。
- 密码暴力破解。使用强密码。
- 网络钓鱼。进入前请务必确认您的连接安全状态 (https://) 和正确的域名 (mega.co.nz)
你的密码。大规模攻击可以通过以下方式发起:
- “中间人”攻击。需要颁发有效的重复 SSL 证书以及 DNS 伪造和/或对我们的 BGP 的攻击
路线(DigiNotar 风格的场景)。
- 获取对托管网络服务器的访问权限https://mega.co.nz/index.html并用伪造的文件替换该文件
版本(这不会影响通过已安装的应用程序库进行访问)。
请注意,在我们的分布式静态内容 CDN 上操作内容
不会造成安全风险,因为所有活动内容均从
index.html 需要使用加密哈希进行验证(想想
它作为网站的某种“安全启动”)。这种类型的攻击
需要向客户端发送恶意代码,因此
可检测到的。
- 访问我们的核心服务器基础设施并在现有共享上创建伪造的密钥请求。这种类型的攻击仅影响数据
在具有共享文件夹的帐户中,并且可以在客户端检测到
以及。
此外,并非所有数据都是私有的,大多数用户可识别信息都是未加密存储的。
我的所有个人信息都需要加密吗?编号 仅有文件
数据和文件/文件夹名称已加密。我们需要的信息
操作访问权限,例如您的电子邮件地址、IP 地址、文件夹
结构、文件所有权和支付凭证均被存储和
未加密处理。详情请参阅我们的隐私政策。
更多详细信息,请参阅他们的 API 文档:https://mega.co.nz/#doc
12.2 密码学
所有对称加密操作均基于 AES-128。它以文件的密码块链接模式运行,并且
文件夹属性块和实际文件数据的计数器模式。
每个文件和每个文件夹节点都使用自己随机生成的128位
钥匙。文件节点的属性块和文件使用相同的密钥
数据,加上 64 位随机计数器起始值和 64 位元 MAC
验证文件的完整性。每个用户帐户都使用对称的
ECB 的主密钥对其保存的节点的所有密钥进行加密
树。该主密钥存储在 MEGA 的服务器上,并使用
从用户的登录密码派生的哈希值。文件完整性是
使用分块 CBC-MAC 进行验证。块大小从 128 KB 开始,
增加到 1 MB,这是所需空间之间的合理平衡
存储块 MAC 和平均开销
完整性检查部分读取。除了对称密钥之外,
每个用户帐户都有一个 2048 位 RSA 密钥对以安全地接收数据
例如共享密钥或文件/文件夹密钥。它的私有组件是
使用用户的对称主密钥加密存储。
12.3 共享文件夹
文件夹的所有者全权负责管理访问;股份是不可传递的(无法创建共享
在传入共享中的文件夹上)。共享文件夹中的所有参与者
通过a获得加密访问普通股特定密钥, 哪个
从所有者传递(理论上,从参与的任何人传递)
共享,但这会造成重大的安全风险
核心基础设施受到损害的事件)向新参与者
通过RSA。共享文件夹中节点的所有键,包括其
根节点,被加密到该共享密钥。党增加了新的
共享文件夹的节点负责提供适当的
节点/共享特定密钥。丢失的节点/共享特定密钥只能是
由股东提供。
12.4 未经身份验证的交付
MEGA 支持安全的未经身份验证的数据传输。任何完全
注册用户可以通过以下方式在收件箱中接收文件或文件夹
他们的 RSA 公钥。
最终,您信任他们的 javascript 代码,该代码已通过 HTTPS 验证真实性。那么您就信任您的 JavaScript 引擎(Web 浏览器)能够正确处理事务。最后,您相信您的操作系统不会允许其他正在运行的进程嗅出 RAM 中未加密的私钥(请参阅https://nzkoz.github.io/MegaPWN/).
在此过程中当然需要采取预防措施,但这是目前可用的最佳选择之一。您始终可以在使用 GPG 上传到 Mega 之前对文件进行加密,以缓解上述一些问题。