Security 通过移动网站的https(SSL)连接传递base64编码的用户名和密码

Security 通过移动网站的https(SSL)连接传递base64编码的用户名和密码,security,Security,通过移动网站的安全SSL连接将base64编码的用户名和密码作为变量传递是否安全 我是否应该用AES256编码 对于每个Web页面,我都会获取一个带有base64编码的用户名和密码的url,如下所示 (其中id包含用户名和密码)如果使用SSL连接,则所有内容(包括密码和用户名)都已编码。 不一定使用AES256,但这取决于使用的密码套件。 不需要对它们进行额外编码,使用SSL是非常好的 使用Base64编码是可选的-这是一种透明编码,不会增加任何额外的安全性,只是为了更方便地传输数据(例如用户名

通过移动网站的安全SSL连接将base64编码的用户名和密码作为变量传递是否安全

我是否应该用AES256编码

对于每个Web页面,我都会获取一个带有base64编码的用户名和密码的url,如下所示


(其中id包含用户名和密码)

如果使用SSL连接,则所有内容(包括密码和用户名)都已编码。
不一定使用AES256,但这取决于使用的密码套件。 不需要对它们进行额外编码,使用SSL是非常好的


使用Base64编码是可选的-这是一种透明编码,不会增加任何额外的安全性,只是为了更方便地传输数据(例如用户名或密码中的特殊字符)。

如果使用SSL连接,则所有内容,包括密码和用户名都已编码。
不一定使用AES256,但这取决于使用的密码套件。 不需要对它们进行额外编码,使用SSL是非常好的


使用Base64编码是可选的-这是一种透明编码,不会增加任何额外的安全性,只是为了更方便地传输数据(例如用户名或密码中的特殊字符)。

SSL是一种方式,将加密发送数据,因此流中的任何人都无法读取该数据。使用AES预先加密它需要您预先与客户机和服务器交换密钥,这将是您需要在通道外执行的附加步骤;在SSL中进行的密钥交换的不对称性质使得这一点变得不必要


而且…不要在客户端散列密码,只发送到服务器进行比较。这是一种可怕的做法。如果您的服务器的用户名/密码表被破坏,攻击者将确切地知道以任何用户身份登录时要向您的服务器发送什么(用户A有散列X,所以只需以UN/PW的形式发送A/X,服务器就会允许您进入)。您希望将实际密码发送到服务器,这样它就可以在那里散列,然后将结果与存储的值进行比较(用户A有散列X,但我无法确定散列到X的值是什么,所以我不知道作为PW发送什么)

SSL是一种方式,它将加密发送数据,因此流中的任何人都无法读取该数据。使用AES预先加密它需要您预先与客户机和服务器交换密钥,这将是您需要在通道外执行的附加步骤;在SSL中进行的密钥交换的不对称性质使得这一点变得不必要



而且…不要在客户端散列密码,只发送到服务器进行比较。这是一种可怕的做法。如果您的服务器的用户名/密码表被破坏,攻击者将确切地知道以任何用户身份登录时要向您的服务器发送什么(用户A有散列X,所以只需以UN/PW的形式发送A/X,服务器就会允许您进入)。您希望将实际密码发送到服务器,这样它就可以在那里散列,然后将结果与存储的值进行比较(用户A有散列X,但我无法确定散列到X的值是什么,所以我不知道作为PW发送什么)

问题是,我每次都通过使用这样的url获取页面内容,其中AEASDASD是我的base64编码用户名和密码。。此外,当用户使用Opera mobile访问url时,url可能会与base64编码字符串一起存储在其代理服务器上,对吗?您应该将该信息存储在cookie中。但是您提到的问题是什么?不要在客户端散列密码,只发送到服务器进行比较。这是一种极不安全的做法。有关详细信息,请参见我的答案。通过SSL发送UN/PW到服务器,并让它使用salt对密码进行散列,然后与存储的salt散列进行比较,这是一种非常标准的设计模式,也是一种安全的做法。它是安全的。但是每次获取网页时都需要发送它。我不认为这是一种安全的做法。问题是我获取了每次使用这样的url进行页面,其中AEASDASD是我的base64编码用户名和密码。。此外,当用户使用Opera mobile访问url时,url可能会与base64编码字符串一起存储在其代理服务器上,对吗?您应该将该信息存储在cookie中。但是您提到的问题是什么?不要在客户端散列密码,只发送到服务器进行比较。这是一种极不安全的做法。有关详细信息,请参阅我的答案。通过SSL发送UN/PW到服务器,并让它使用salt对密码进行散列,并与存储的salt散列进行比较,这是一种非常标准的设计模式,也是一种安全的做法。它是安全的。但是每次获取网页时都需要发送它。如果服务器上的用户表是如果受到攻击,那么攻击者很可能已经可以访问所有帐户(如果需要,他可以在表中更改密码)。你的最小问题是让攻击者登录用户帐号,然后考虑表上的读攻击,而不是写。如果所有凭据都存储为密码的盐散列,那么(理论上)根本没有真正的妥协,因为攻击者将无法从盐散列返回到他们需要提供给服务器的密码,以便访问帐户。拥有一个用户名列表和密码的salt散列大约等于拥有一个用户名列表,因为散列需要破解,这在良好的salt+算法下是非常困难的。如果有人对您的服务器具有写访问权限,则无论您关心什么样的解决方案,所有赌注都将被取消。这并不是不使用最佳设计保护用户凭据和登录过程完整性的理由