- 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/
我正在使用框架的对象编写一个用于加密/解密的简单库。方法如下: public static byte[] Encrypt(byte[] key, byte[] vector, byte[] input
据我所知,RIM Crypto API 似乎只提供用于对称加密 (3Des) 的 PKCS5 填充模式。我正在使用 JDE 4.6.0。 我正在尝试为黑莓应用程序提供密码学,该应用程序需要与已经使用标
我已经获得了用于加密的 Java 实现,但遗憾的是我们是一家 .net 商店,我无法将 Java 整合到我们的解决方案中。可悲的是,我也不是 Java 专家,所以我已经为此苦苦挣扎了几天,我想我终于可
我正在尝试使用 KMS 和 AWS 加密 SDK 加密数据。查看 AWS documentation 中提供的示例,似乎没有地方可以明确设置数据 key 。 我找到了 EncryptionMateri
我目前有一个用于为我的网站制作哈希的代码,该代码使用 SALT 进行哈希处理,因此密码是不可逆的...... 目前它是 100% 为我的网站工作,它是使用 ASP.NET(C#) 编码的 这是我的代码
我想要做的是在 javascript 中生成一个 key 对,并在 PHP 中使用这些加密,然后用 JS 解密。 我在附加的代码中有两个问题 它不会从装甲文本块重新加载私钥 并且它不会解密 PHP 加
在进行密码哈希时,我有以下 node.js 代码。 body.password = covid@19 salt = "hello@world" body.passwordhex = crypto.cr
我想知道的是在配置文件中加密连接字符串的明确方法。以下是我的问题: 使用机器级加密,访问我的服务器的任何人都不能编写一个小的 .Net 程序来读取连接字符串的内容吗? 如果我将我的应用程序部署到企业环
我知道 rsync 可以在文件传输期间启用/禁用 ssh 加密协议(protocol)。那么,如果 ssh 加密协议(protocol)被禁用了,是不是意味着 rsync 根本不做任何加密呢? 另外,
脚本必须搜索网页内的字符串。但该脚本不应显示它正在搜索的字符串。我的意思是搜索字符串应该采用加密格式或任何其他格式。但如果没有该搜索字符串,则不应显示网页或应在页面上显示错误。 我要开发一个插件。如果
我正在尝试加密 MySQL 上的某些字段。我正在使用 TPC-DS 的 v2.8 版本,并尝试在客户地址表的某些列上使用 AES。知道如何加密字段的所有行吗?我尝试使用 UPDATE customer
我需要一个简单的 javascript 函数,它允许我使用 key 加密 textarea 数据( key 是存储为散列 session 变量的用户密码,由 PHP 打印到字段中) 我基本上希望在用户
如何在 JavaScript 中散列/加密字符串值?我需要一种机制来隐藏 localStorage/cookie 中的一些数据吗? 这与安全问题有关,但我想为我的数据提供一些保护。 最佳答案 有很多
我有一个程序,其中数据库的密码由远程用户设置。该程序将用户名和密码保存到 xml 文件中的加密字符串中,否则应该是人类可读的。现在,这工作正常,我使用带有 key 的 C# DES 加密,它被加密和解
Kotlin 中是否有任何关于椭圆曲线加密的信息? 用于生成 key 对和加密、解密消息。 关于这个主题的信息很少甚至没有。 例如,我想实现 ECC P-521 椭圆曲线。 是否可以在 Kotlin
所以我知道 MD5 在技术上是新应用程序的禁忌,但我随机想到了这个: 自 md5($password); 不安全,不会 md5(md5($password)) 是更好的选择?我使用它的次数越多,它会变
我一直在努力使用 crypto_secretbox_easy() 在 libsodium 中加密/解密一些数据| .我似乎找不到关于使用的任何好的文档。 我想从用户那里获取密码,用它来以某种方式制作
我正在做一个加密项目 视频,我对这个程序有几个问题。 我用命令转码mp4至HLS与 ts段持续时间约为 10 秒。 首先,我需要使用数据库中的 key 加密这些视频。然而, 我不知道是否使用 ffmp
我有一个加密/复制保护问题。 我正在为使用加密狗的公司编写应用程序。请不要告诉我软件保护是没有用的,或者我应该让它自由地飞向空中,或者我花任何时间这样做都是浪费;这不是关于软件保护有效性的哲学问题,更
我对 有一个疑问VIM 加密 key . 我有一个文本文件,我使用加密该文件 :X 现在,加密 key 的存储位置(路径)。 无论是存储在单独的文件中还是存储在文本文件本身中。 如果我打开文件,它会询
我是一名优秀的程序员,十分优秀!