wil*_*son 4 macos cocoa remote-desktop objective-c
我正在开发 Apple 远程桌面的第三方客户端。但我被困在它的身份验证过程中。
来自远程桌面手册:Apple 远程桌面客户端的身份验证使用基于 Diffie-Hellman 密钥协议的身份验证方法,该协议创建共享 128 位密钥。此共享密钥用于使用高级加密标准 (AES) 对名称和密码进行加密。ARD 2 中使用的 Diffie-Hellman 密钥协商协议与个人文件共享中使用的 Diffie-Hellman 密钥协商协议非常相似,两者都使用 512 位素数进行共享密钥计算。使用远程桌面 2,当您控制 Mac OS X 客户端计算机时,击键和鼠标事件都会被加密。此信息使用高级加密标准 (AES) 以及身份验证期间派生的 128 位共享密钥进行加密。
有谁知道我在哪里可以找到有关 ARD 中身份验证过程的更多技术信息?比如它使用哪种AES模式以及什么初始化向量。谢谢
我最近遇到了这个问题。除了您提到的高级概述之外,我找不到任何详细信息,但根据我对gtk-vnc 开源项目中的C 代码的研究,我能够找出该技术。基本上,步骤如下:
{ username[64], password[64] }。每个都以空终止。用随机字符填充未使用的字节,以便加密输出更难以预测。我没有可分享的 Objective C 实现,但我已经实现了这个 Java 版本,您可能会发现它对参考有用。