我正在构建一个类似于区块链的钱包,它是一个端到端的加密桌面程序,用户(客户端)必须是唯一一个知道他的私钥的人,使用这个私钥,他可以发送资金或执行一些可能非常关键的操作,当然,他只是发送与私钥签名的消息。
UX允许用户保存他的私钥,因此它可以在以后被同一个应用程序重用。
由于明显的原因,我需要以某种方式加密这个私钥(64个字符串),这样任何其他程序或访问该文件系统的人都无法读取它。
什么是最先进的或推荐的做法来解决这个关键的问题?
是否有一些操作系统特性只允许一个程序读取/放置一些数据?
谢谢
发布于 2019-06-20 22:44:13
你想要建立一个类似DRM的解决方案,你错了。从长远来看,与DRM类似的任何东西都不会奏效。相反,请这样做:
当用户保存私钥时,向他们询问密码。通过KDF (如PBKDF2、scrypt或Argon2)运行密码,然后将结果用作某些安全对称加密算法的秘密密钥。用这个加密私钥。
https://security.stackexchange.com/questions/212172
复制相似问题