ace*_*ace 3 security ssl https
据我所知,如果我不使用SSL/HTTPS,cookie和会话ID将通过网络传输为纯文本.一个传感器可以使用数据包嗅探器来获取这些信息.如何在不使用SSL/HTTPS的情况下保护它?我猜这个解决方案包括在客户端和服务器端做一些事情来处理这个问题.我的服务器端是Java.
您可以使用安全Cookie协议(PDF)之类的东西在发送之前加密Cookie.您可以使用请求的IP地址或一般100%特定于用户的其他标识符,而不是会话标识符.
因此,要设置它,您需要创建一个服务器密钥k.然后,您将创建cookie,如下所示:
keyhmac = HMAC(user name + expiration time, k)
encrypted = ENCRYPT(data, keyhmac)
hmacenc = HMAC(user name + expiration time + data + session identifier, keyhmac)
cookie = user name + expiration time + encrypted + hmacenc;
Run Code Online (Sandbox Code Playgroud)
然后,您可以稍后使用反向过程对其进行解密.HMAC验证它没有被篡改到您的服务器外(假设这k是真的秘密)......
它包含一个会话标识符(SSL最好,但IP可以服务)这一事实意味着它不受重放攻击或劫持攻击的影响.
SSL是最好的,但你可以通过使用这样的加密方案获得一个相当不错的系统.绝对最好的方法是将这个方案与SSL相结合,然后SSL可以防止各种恶意(包括MITM篡改,但不会阻止其他MITM攻击)......
| 归档时间: |
|
| 查看次数: |
8516 次 |
| 最近记录: |