Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/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
Asp.net 通过客户端将敏感数据从服务器发送到服务器_Asp.net_Wcf_Web Services_Encryption - Fatal编程技术网

Asp.net 通过客户端将敏感数据从服务器发送到服务器

Asp.net 通过客户端将敏感数据从服务器发送到服务器,asp.net,wcf,web-services,encryption,Asp.net,Wcf,Web Services,Encryption,在这种情况下,我需要跨多个web服务对客户机进行身份验证。基本上,每个服务都需要识别客户机,并了解有关客户机的其他一些小信息 我现在的工作方式是,所需的标识信息由身份验证web服务器存储在数据库中的会话表中。web服务器将一个字符串交给客户端,该字符串标识数据库条目并传递给其他web服务。然后,web服务使用此字符串从数据库条目中提取有关客户端的所需信息 我突然想到,可以给客户机一个加密的blob,其中包含用户ID和其他需要的信息,这个blob非常小,并且可以完全避免使用数据库。客户机只需传递b

在这种情况下,我需要跨多个web服务对客户机进行身份验证。基本上,每个服务都需要识别客户机,并了解有关客户机的其他一些小信息

我现在的工作方式是,所需的标识信息由身份验证web服务器存储在数据库中的会话表中。web服务器将一个字符串交给客户端,该字符串标识数据库条目并传递给其他web服务。然后,web服务使用此字符串从数据库条目中提取有关客户端的所需信息

我突然想到,可以给客户机一个加密的blob,其中包含用户ID和其他需要的信息,这个blob非常小,并且可以完全避免使用数据库。客户机只需传递blob(如前一段中的字符串),而不需要知道它包含什么,并且只有web服务知道如何解密它

这将消除数据库存储会话信息的需要,并使整个过程更加简单。使用数据库时,您必须担心清理旧会话和超时等问题


所以我的问题是:通过客户端将敏感数据从一个服务传递到另一个服务被认为是安全和可接受的吗?这样做是否可以消除客户篡改数据的担忧?什么加密算法最好使用?我正在使用特定于.Net的类将非常有用。

这似乎是简化应用程序的合理方法,但请记住,如果您使用客户端存储识别数据,您将始终容易受到攻击

换句话说,无论您如何加密blob,其他人都可以获取用户的浏览器数据并复制它,然后模拟用户。顺便说一句,ASP.Net会话cookie也总是容易受到此攻击


实现完全安全的唯一方法是使用SSL。

这似乎是简化应用程序的合理方法,但请记住,如果您使用客户端存储识别数据,您将始终容易受到攻击

换句话说,无论您如何加密blob,其他人都可以获取用户的浏览器数据并复制它,然后模拟用户。顺便说一句,ASP.Net会话cookie也总是容易受到此攻击

完全安全的唯一方法是使用SSL