问题标签 [srp-protocol]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
85 浏览

.net - 使用 TLS 和安全远程密码 (SRP) 的 WCF

RFC 5054 中描述了安全远程密码,但是我在 .NET 或 WCF 中没有看到对此的任何特定支持。有没有人遇到过它被烘焙到 .NET 库中的地方。我意识到 OpenSSL 是这里的一个选项,但我试图避免使用第三方库。编写一个完全充满危险的自定义版本也是完全不可能的。

0 投票
1 回答
728 浏览

java - boost::multiprecision::powm 与 Java 中的 BigInteger#modPow 不同

我正在尝试使用 Boost 在 C++ 中重新实现 AWS Cognito 的 SRP 协议,并查看 Amazon 的 Android 实现。

我遇到了一个问题,即powm具有相同参数的函数在 Java 和 C++ 中返回不同的结果。以下是要重现的真实变量。

Java(所有变量都是 BigInteger):

C++(所有变量都是 cpp_int):

问题出在哪里?

更新:

Pythonpow(base,exp,mod)返回与 Java 相同的结果。看起来像 Boost 中的错误,或者我以错误的方式使用它?

0 投票
0 回答
275 浏览

c# - 如何在客户端和 WebAPI REST 服务器上设置 TLS-SRP 协议

我想使用 TLS-SRP 协议来保护移动应用程序客户端和 WebAPI REST 服务器之间的通信。我的主要原因是避免使用存储在设备上或出于安全原因硬编码的自签名证书(违反、反编译......)。在服务器和客户端之间设置盐不是问题。但是我不知道如何自定义HttpClient客户端和 WebAPI 服务器以遵循协议。

有没有人这样做过?你能指出我的任何文件吗?

干杯,

0 投票
1 回答
400 浏览

amazon-web-services - 打开设备注册后出现 Cognito UnknownError

根据要求,我需要打开设备注册到Always. 但是,我们的 SRP 流程开始失败并出现以下问题。

经过一番研究,我发现了一篇类似的帖子,但似乎唯一的解决方案是关闭设备注册。

运行node get-token.js脚本以检索我们的 CI/CD 测试管道的令牌时失败。

0 投票
1 回答
4745 浏览

java - Cognito SRP 身份验证 JAVA SDK

我正在尝试使用 Cognito 对 Java 应用程序进行身份验证。我已经为 python 使用了运行良好的保证库。但我现在想在java中做同样的事情。

我的 Python 函数用于使用授权库进行身份验证

有了这个,我可以轻松访问一些安全的 API。现在我想对 Java 做同样的事情,但我遇到了问题。

到目前为止,这是我的解决方案是这种方法:

当我运行它时,我得到一个异常:

它说我无权执行这种指令。所以我想我做的事情通常是错误的。因为它与我的 python 代码和 Java 一起工作,所以它可以从凭据中识别我的用户名。Cognito 调用实际上应该独立于我的 aws 凭据/用户帐户,对吗?

如何使用 Java 向 Cognito 进行身份验证以获取令牌以访问安全的 aws 服务?

编辑:

我将 AdminInitateAuthRequest 更改为 InitateAuthRequest。之后我有错误丢失 SRP_A 参数,我在这里用一个类似的问题以某种方式修复了 现在我收到了这个:

我已经用所有键缩短了结果,但下一步该怎么做?

0 投票
1 回答
2648 浏览

python - Amazon Cognito 中使用 boto3 和保证的 DEVICE_PASSWORD_VERIFIER 质询响应

我同时使用 boto3 和保证库来尝试让设备经过身份验证以在识别后跳过多因素身份验证。我已经通过了用户/密码验证,但似乎无法找出验证设备的正确方法。以下是我的代码:

然后在干净的会话中,执行以下操作:

一切似乎都正常工作,直到最后respond_to_auth_challenge导致: botocore.errorfactory.NotAuthorizedException: An error occurred (NotAuthorizedException) when calling the RespondToAuthChallenge operation: Incorrect username or password.

我是否应该使用不同的用户/通行证来DEVICE_PASSWORD_VERIFIER应对我未包括在内的挑战?文档有点轻,只是说:

DEVICE_PASSWORD_VERIFIER: Similar to PASSWORD_VERIFIER, but for devices only. 资源

0 投票
0 回答
60 浏览

c++ - 如何使用 Visual Studio 2017 为 Win32 构建 SRP?

我需要为 2010 年的旧项目构建安全远程密码协议库 (SRP/libsrp)。我不知道如何为 Win32 构建它。

我找到了最新源代码的链接:

http://srp.stanford.edu/download.html

项目中使用了 2.1.2 版本。Win32-binaries 有链接,但它已经死了。所以获取二进制文件的唯一方法是编译源代码。

在 Win32\README 中,据说将 OpenSSL 包含和编译的库放在相关文件夹(包括、库等)中。我不知道应该使用哪个版本的 OpenSSL。网页上说要修补 1.0.0.0 版本,但我使用的是最新版本的 OpenSSL。

然后据说打开“srp_openssl.dsw”文件(即 VC++ 6 工作区)并重建所有内容以获取二进制文件。

结果是数百个与过时语言和 OpenSSL 相关的错误。还需要考虑到 OpenSSL 更改了库名称。

那么,是否是唯一的方法——使用 OpenSSL 1.0.0.0 和 VC++ 6 来构建 SRP?另外,互联网上有二进制文件吗?

0 投票
1 回答
1928 浏览

php - 无法在 PHP 中为 Cognito 生成正确的 PASSWORD_CLAIM_SIGNATURE

我正在尝试使用 AuthFlowUSER_SRP_AUTH进行用户登录。我在发起验证请求的响应中收到“PASSWORD_VERIFIER”质询。在应对这一挑战时,我不确定我应该传递什么作为PASSWORD_CLAIM_SIGNATURE. 我根据文档和java代码尝试了不同的值,但没有成功。

我正在使用下面的代码作为respondToAuthChallenge方法:

我用过这个 PHP SRP 客户端:https ://github.com/falkmueller/srp/

respondToAuthChallenge请求的响应中,我收到此错误

这个错误很可能是由一个不正确的PASSWORD_CLAIM_SIGNATURE. 因为我还没有真正找到这个键应该包含什么作为一个值,只是根据我找到的文档和 java 代码尝试了一些东西。

0 投票
1 回答
211 浏览

php - 有没有办法在 node.js 中使用 GMP 库来使用 SRP6 进行凭据

在搜索了一段时间后,我搜索了一种在 Node.js 中使用等效于以下 PHP 函数的方法,但我发现在我的情况下没有任何效果:

gmp_init gmp_import gmp_powm gmp_export

这个想法是用js重写这个php代码:

0 投票
0 回答
32 浏览

algorithm - 如何将秘密发送到服务器并对其进行验证,而不会冒着对哈希进行暴力破解的风险?

我想向服务器发送一个秘密,比如当前浏览器正在访问的域,但我不希望服务器知道网站地址是什么,只有当服务器具有该特定域的匹配记录时。

我正在考虑简单地在客户端上对域名进行哈希处理,然后在服务器上使用然后比较哈希值,但是在我深夜的思考中,可以说,我想不出一种方法来阻止服务器使用相同的散列算法来“反转”或“蛮力”这是答案。

所以说服务器被入侵了,它有一个散列值+一个标识符,例如 IP。现在它可以简单地暴力破解世界上所有肮脏的网站,看看哪个网站会返回相同的哈希值。

我在考虑 SRP(安全远程密码)——不确定在这种情况下是否会产生任何真正的不同。

晚安。