我需要在SilverLight应用程序之间发送数据。我有一个要求,数据应该使用SSL/TLS等安全协议进行传输。由于性能原因,使用TCP套接字发送数据。不幸的是,SilverLight不支持。如果我想通过SSL/TLS传输数据,我需要购买第三方库,例如。当涉及到处理传输层时,我不想依赖于第三方库。
但是,SilverLight有类。我正在考虑使用WCF over SSL交换对称加密的密钥(SilverLight支持这一点),然后使用CryptoStream用AES加密数据。
这个解决方案安全吗?在安全性方面,它可以与使用SSL/TLS进行比较吗?我是不是漏掉了什么明显的安全漏洞?
假设我们在CBC模式下使用AES加密多个文件,并使用256位密钥。假设文件的IVs是通过安全方法随机生成的。假设一些密钥K是用Argon2从具有安全参数的安全密码中生成的。
假设每个文件都存储了随机数据的IV和32字节( R )。让K'=K\oplus{}R。
使用K'而不是K进行购买有什么好处或缺点吗?对任何理论或实际的密钥重用攻击或类似的保护?