Mobile 智能手机上有什么好的熵源?

Mobile 智能手机上有什么好的熵源?,mobile,cryptography,Mobile,Cryptography,我是在考虑智能手机可以产生多少(kB/s)加密安全熵的背景下考虑这一点的。例如,一个示例应用程序:持续生成新加密密钥的VoIP应用程序 我能马上想到的事情: -摄影机 -麦克风 -加速计 -磁强计 -触摸屏 -呼叫、WiFi、蓝牙等的信号强度和定时 显然,每一种方法都会产生不同数量的信号(可预测的数据)和噪声(所需的熵),但适当地结合起来应该是好的 此外,如果有人对正常条件下各种来源产生的熵量有任何估计,也会引起人们的兴趣。通常的答案是,你不需要太多的熵。128位就足够了;一旦您拥有128个真

我是在考虑智能手机可以产生多少(kB/s)加密安全熵的背景下考虑这一点的。例如,一个示例应用程序:持续生成新加密密钥的VoIP应用程序

我能马上想到的事情: -摄影机 -麦克风 -加速计 -磁强计 -触摸屏 -呼叫、WiFi、蓝牙等的信号强度和定时

显然,每一种方法都会产生不同数量的信号(可预测的数据)和噪声(所需的熵),但适当地结合起来应该是好的



此外,如果有人对正常条件下各种来源产生的熵量有任何估计,也会引起人们的兴趣。

通常的答案是,你不需要太多的熵。128位就足够了;一旦您拥有128个真正的随机位,您就可以在加密安全的伪随机数生成器(PRNG)中使用它们,该生成器将以高速率生成所需的任意数量的随机位,仅受本地计算能力的限制(在智能手机上,PRNG带宽将以兆字节/秒为单位,而不是千字节/秒)

持续的熵收集与其说是科学的、理性的需要,不如说是一种迷信。有人说,随机获取“真实”可以保护您免受未来PRNG密码分析漏洞的侵害;但只有当你能获得新的统一随机位(实际上不会发生这种情况:你需要应用散列函数来消除收集到的“噪音”)并且你直接使用随机位,而不是作为加密算法中的密钥时,这个论点才成立。关于种子存储,可以提出一个更有力的持续熵收集的理由:担心攻击者抓住PRNG,可能会查看其内脏,恢复内部状态,并追溯猜测先前发出的随机比特。好的PRNG可以防止这种情况。至少,每秒可以重新设定128个新位的种子,这是一个低速率

这就是说,如果你需要熵,手机摄像头可能是最好的使用来源,因为CCD探测器对热产生的噪声非常敏感,并且它以非常高的带宽输出数据。一个基本的手机摄像头一张图片很容易包含一兆字节的数据,而且,即使手机放在一个后倾冰箱内,你仍然会有数千位的噪音(只有1000位的噪音意味着超过百万像素,99.9%是“完美的”在一部400美元的手机里,这是一个有点可笑的想法——美国宇航局的工程师们在太空探测器上做不到这一点,因为太空探测器的成本要高出100万倍)


所以只要拍张照片,用任何方便的散列函数(例如SHA-256)散列它,瞧!你有256位的熵,你用在PRNG中。如果一段时间后你真的对PRNG感到紧张,那就再拍一张快照。

这听起来是一个不错的Masters项目;)我同意在单个CCD图像中,应该有几百位的噪声。然而,我不确定我是否愿意相信(没有进一步的信息)一幅图像的条件熵在连续图像中是如此之高,或者如果有人能够访问物理相机进行分析。噪声真的与时间不相关吗?一个给定的CCD有一个不均匀的基线:当没有光的时候,这就是你从探测器上得到的新图像。随着时间的推移,该基线趋于恒定(或者变化缓慢)。使用CCD的电路和软件应该已经考虑到了这一点。然而,除此之外,还有一点低振幅噪声,这就是我所说的噪声。解决这一问题的一个方法是在将图像添加到熵池之前对其进行积极的“压缩”。正常的压缩格式可能不适合,但可能是包含熵的良好估计。