Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
已建立安全注册的javascript解决方案&;无SSL的身份验证_Javascript_Security_Authentication_Web Applications - Fatal编程技术网

已建立安全注册的javascript解决方案&;无SSL的身份验证

已建立安全注册的javascript解决方案&;无SSL的身份验证,javascript,security,authentication,web-applications,Javascript,Security,Authentication,Web Applications,是否有任何不使用SSL的安全用户注册和身份验证解决方案 使用“secure”我的意思是不受被动窃听的影响,而不是来自(我知道只有具有签名证书的SSL才能达到这种安全程度) 注册(密码设置,即交换预共享密钥)也必须在没有SSL的情况下进行安全保护(我想这将是最难的部分) 我更喜欢成熟且经过良好测试的解决方案。如果可能的话,我不想重新发明轮子,制定自己的加密协议 提前感谢。您可以通过以下方式登录: 我不确定他们使用的随机数生成器有多强。您可能希望尝试使用来获得更强的值。我不知道不使用加密API如何

是否有任何不使用SSL的安全用户注册和身份验证解决方案

  • 使用“secure”我的意思是不受被动窃听的影响,而不是来自(我知道只有具有签名证书的SSL才能达到这种安全程度)

  • 注册(密码设置,即交换预共享密钥)也必须在没有SSL的情况下进行安全保护(我想这将是最难的部分)

  • 我更喜欢成熟且经过良好测试的解决方案。如果可能的话,我不想重新发明轮子,制定自己的加密协议


  • 提前感谢。

    您可以通过以下方式登录:

    • 我不确定他们使用的随机数生成器有多强。您可能希望尝试使用来获得更强的值。我不知道不使用加密API如何在javascript中获得安全的种子值
    要向服务器发送初始密码,可以使用公钥加密。因此,服务器向客户端发送其公钥(在无mitm假设下为ok),客户端在注册时加密整个注册请求。Cipperz支持公钥加密,但形式非常原始。通常使用公钥加密来加密随机生成的对称密钥,并使用对称密钥加密有效负载。您必须非常小心使用/etc以确保公共加密的安全性。我不知道有任何健壮的javascript公钥加密库

    您可能希望签出公钥加密,因为它看起来没有正确填充。不过,我怀疑它受到不安全的随机数生成的影响。使用Crypto API或让用户敲击键盘来产生一些熵是个好主意。来自rng.js的代码片段

    // For best results, put code like
    // <body onClick='rng_seed_time();' onKeyPress='rng_seed_time();'>
    // in your main HTML document.
    
    //为了获得最佳结果,请将代码
    // 
    //在主HTML文档中。
    
    要登录,您可以从以下位置尝试:

    • 我不确定他们使用的随机数生成器有多强。您可能希望尝试使用来获得更强的值。我不知道不使用加密API如何在javascript中获得安全的种子值
    要向服务器发送初始密码,可以使用公钥加密。因此,服务器向客户端发送其公钥(在无mitm假设下为ok),客户端在注册时加密整个注册请求。Cipperz支持公钥加密,但形式非常原始。通常使用公钥加密来加密随机生成的对称密钥,并使用对称密钥加密有效负载。您必须非常小心使用/etc以确保公共加密的安全性。我不知道有任何健壮的javascript公钥加密库

    您可能希望签出公钥加密,因为它看起来没有正确填充。不过,我怀疑它受到不安全的随机数生成的影响。使用Crypto API或让用户敲击键盘来产生一些熵是个好主意。来自rng.js的代码片段

    // For best results, put code like
    // <body onClick='rng_seed_time();' onKeyPress='rng_seed_time();'>
    // in your main HTML document.
    
    //为了获得最佳结果,请将代码
    // 
    //在主HTML文档中。
    
    在将此问题标记为重复问题之前,请检查其他问题是否与此问题一样清楚地说明了要求。我在这里没有发现关于这个主题的如此具体和集中的问题。请在将此问题标记为重复问题之前,检查其他问题是否与此问题一样清楚地说明了要求。我在这里还没有发现关于这个话题的如此具体和集中的问题。