yananli117 / E2SE

MIT License
2 stars 0 forks source link

使用KDF生成的token与原token始终不匹配 #1

Closed lyf0409 closed 1 year ago

lyf0409 commented 1 year ago

您好,想问下您用户登录时拿存储的sid,passphrase生成的token与注册时生成的token不一样,都是用KDF函数生成,参数都是一样,但是token就是不一样,那如何进行token匹配验证登录密钥服务器呢?

yananli117 commented 1 year ago

您好,想问下您用户登录时拿存储的sid,passphrase生成的token与注册时生成的token不一样,都是用KDF函数生成,参数都是一样,但是token就是不一样,那如何进行token匹配验证登录密钥服务器呢?

您好,想问下您用户登录时拿存储的sid,passphrase生成的token与注册时生成的token不一样,都是用KDF函数生成,参数都是一样,但是token就是不一样,那如何进行token匹配验证登录密钥服务器呢?

KDF是deterministic function,两次输入相同,KDF函数输出应该是一样的。 你是用自己写的代码吗?有没有可能是encode的方式不同导致两次KDF的输入不一样呢?用同一个输入run两次应该输出是一样的吧

lyf0409 commented 1 year ago

您好,是不一样的,我参照您的代码实现的是省去通信过程的流程,想问问您是什么原因,导致kdf值不一样呢 image

59d118a9c3049c3bbf7ca53c12b5e58
yananli117 commented 1 year ago

您好,是不一样的,我参照您的代码实现的是省去通信过程的流程,想问问您是什么原因,导致kdf值不一样呢 image

59d118a9c3049c3bbf7ca53c12b5e58

你打印bytes array用的方法不对,”[B@... “这个好像是地址,你可以用Arrays.toString()试一下,我找了一个参考https://www.geeksforgeeks.org/arrays-tostring-in-java-with-examples/,或者你自己搜一下使用方法

lyf0409 commented 1 year ago

还想问问您在验证tao的时候,是密钥服务器将之前客户端生成ivct发给客户端,得到tao=KDF(ivct,k2)与tao_take(存在密钥服务器上的tao)进行匹配吗?

lyf0409 commented 1 year ago

感谢作者!已经得到解决。 image

yananli117 commented 1 year ago

还想问问您在验证tao的时候,是密钥服务器将之前客户端生成ivct发给客户端,得到tao=KDF(ivct,k2)与tao_take(存在密钥服务器上的tao)进行匹配吗?

tao是为了实现完整性的检验,避免rid被恶意修改。检验步骤是你说的那样:服务器根据ivct计算tao,和返回的tao比对是否一致。 建议参考论文中的具体协议https://www.usenix.org/system/files/sec22-chen-long.pdf 谢谢

lyf0409 commented 1 year ago

还想问问您为什么是tao=KDF(ivct,k2),而不是tao=KDF(ct,k2)呢?如果是第一种方式,密钥服务器是发ivct还是iv和ct?呢?

yananli117 commented 1 year ago

Ivct是完整的密文,即iv串联ct,这里的ivct在论文里面用ct表示

On 26 Mar 2023, at 2:15 am, lyf0409 @.***> wrote:

还想问问您为什么是tao=KDF(ivct,k2),而不是tao=KDF(ct,k2)呢?如果是第一种方式,密钥服务器是发ivct还是iv和ct?呢?

— Reply to this email directly, view it on GitHub https://github.com/yananli117/E2SE/issues/1#issuecomment-1483848461, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALMVOCURUG5GMOJEFKFLU23W54DYZANCNFSM6AAAAAAWHPZVN4. You are receiving this because you commented.

lyf0409 commented 1 year ago

非常非常感谢您的帮助,使得我顺利完成编程得到解密后的密钥!希望日后也能成为像您一样优秀的人!

yananli117 commented 1 year ago

非常非常感谢您的帮助,使得我顺利完成编程得到解密后的密钥!希望日后也能成为像您一样优秀的人!

np, 加油!欢迎深入探讨,我们共同进步!