Java 双因素认证系统的一次性密码逆向工程
给定一个基于时间的一次性密码生成器(如Google Authenticator),需要多少(时间、PIN)对实例才能显著削弱算法,使其能够将可能的种子缩小到原始函数?如果一个人通过短信或电子邮件向客户发送PIN码(而不是使用keyfob或实际的Google Authenticator应用程序,它不会让人看到过去的PIN码),泄露过去的PIN码是否会对系统构成重大威胁(请注意,电子邮件和短信都携带相对精确的时间信息)Java 双因素认证系统的一次性密码逆向工程,java,security,Java,Security,给定一个基于时间的一次性密码生成器(如Google Authenticator),需要多少(时间、PIN)对实例才能显著削弱算法,使其能够将可能的种子缩小到原始函数?如果一个人通过短信或电子邮件向客户发送PIN码(而不是使用keyfob或实际的Google Authenticator应用程序,它不会让人看到过去的PIN码),泄露过去的PIN码是否会对系统构成重大威胁(请注意,电子邮件和短信都携带相对精确的时间信息) OTP算法的详细信息: 参考Java实现: 从数学上讲,对过去的引脚进行详细
- OTP算法的详细信息:
- 参考Java实现: