积极答复者
wce3.0 ,webserver 传输加密问题!!

问题
答案
-
你说的是身份验证
可是身份验证是建立在 公钥私钥数据加密 好使的情况下
如果(恶意)他人 都有公钥了 数据已经可以解密了 里面的用户名 密码 直接替换 或者转发 一样你的验证没有意义
我感觉还是加密(公钥私钥对加密)安全 认证只是建立在加密里面的二次认证而已。。
总结下:公钥还得保护好啊!!
vc815vc815 你可能没能理解清楚我的意思
可以加密不代表可以解密
他虽然知道公钥 可以用公钥加密自己的信息 但是不代表他能解密,因为解密公钥加密的内容需要私钥,而这个只有你服务器端知道 所以是安全的
Raymond Tang (Microsoft C# MVP)
Denn Ich Gehoer nur mir
.NET交流群71840452
微软中文论坛同城社区成都QQ群:74268428
My Chinese Blog
Chengdu,Sichuan Province,China- 已标记为答案 Raymond Tang 2011年3月7日 13:53
2010年11月30日 3:06 -
你可以尝试做一个认证服务器,所有服务端和客户端都和认证服务器信任。当客户要和服务端通信的时候,由认证服务器认证双方身份,然后生成临时的对称秘钥。这样你的客户端只要有认证服务器的证书就可以了。不过认证服务器是要给所有的信任的服务端和客户分发证书,或者有所有其它终端的公钥。你可以看看Kerberos协议。微软的域的安全认证就是建立在这个协议之上。
- 已标记为答案 Raymond Tang 2011年3月7日 13:53
2011年2月22日 3:42
全部回复
-
你好 建议你参考这篇文章 http://www.microsoft.com/china/MSDN/library/WebServices/WebServices/WSESecurity.mspx?mfr=true
Raymond Tang (Microsoft C# MVP)
Denn Ich Gehoer nur mir
.NET交流群71840452
微软中文论坛同城社区成都QQ群:74268428
My Chinese Blog
Chengdu,Sichuan Province,China2010年11月22日 8:07 -
我有webserver需求 一个客户端 要访问多个webserver
如果做传输加密 网上大多说是用证书!不对称加密! 服务端做证书导出公钥,客户端安装上使用 (用WSE3.0实现)
我的服务端如果太多 这个客户端岂不是要安装很多个证书(公钥?)
有没有实现更好的方案 在传输加密方面!?
vc815更好的办法实际有的。
你说的WSE3.0,我写过一个系列文章。
其实,针对你的情况,简单的就是使用HTTPS使用传输加密,但是如果客户端很多,而且分布于互联网上,那最好购买商业证书。而不是自己制作的证书。
这个客户端验证服务证书,就不需要导入服务证书了。
Frank Xu Lei--谦卑若愚,好学若饥
专注于.NET平台下分布式应用系统开发和企业应用系统集成
Focus on Distributed Applications Development and EAI based on .NET
【老徐的网站】:http://www.frankxulei.com/
- 已建议为答案 Frank Xu Lei 2010年11月26日 1:49
- 取消建议作为答案 vc815 2010年11月26日 8:38
2010年11月26日 1:48 -
你好 建议你参考这篇文章 http://www.microsoft.com/china/MSDN/library/WebServices/WebServices/WSESecurity.mspx?mfr=true
Raymond Tang (Microsoft C# MVP)
Denn Ich Gehoer nur mir
.NET交流群71840452
微软中文论坛同城社区成都QQ群:74268428
My Chinese Blog
Chengdu,Sichuan Province,China
你的说的这文章已经看过实例程序也看了 问题就出在这个程序上!!! 我的本地电脑都没有安装证书 他怎么能运行好使???
程序里 也请用策略了!?!?
vc8152010年11月26日 2:01 -
我有webserver需求 一个客户端 要访问多个webserver
如果做传输加密 网上大多说是用证书!不对称加密! 服务端做证书导出公钥,客户端安装上使用 (用WSE3.0实现)
我的服务端如果太多 这个客户端岂不是要安装很多个证书(公钥?)
有没有实现更好的方案 在传输加密方面!?
vc815更好的办法实际有的。
你说的WSE3.0,我写过一个系列文章。
其实,针对你的情况,简单的就是使用HTTPS使用传输加密,但是如果客户端很多,而且分布于互联网上,那最好购买商业证书。而不是自己制作的证书。
这个客户端验证服务证书,就不需要导入服务证书了。
Frank Xu Lei--谦卑若愚,好学若饥
专注于.NET平台下分布式应用系统开发和企业应用系统集成
Focus on Distributed Applications Development and EAI based on .NET
【老徐的网站】:http://www.frankxulei.com/
又没看明白的我意思????我的说的是“服务端多,客户端 就一个!!!! 一个客户端连接很多webserver ”
vc8152010年11月26日 2:03 -
你好 我们说的证书一般就是指的公钥证书,如果你没有安装你又怎么解密呢?
如果你想要非对称加密,那么就需要公私玥对,客户端如果不安装,就无法解密私钥加密的信息。
公钥加密后的信息只有私钥可以解密,在传递的时候别人 由于你只发布了公钥 其他人只可以加密信息传送给你,但是无法破解传递过程中的信息因为他没有私钥这就保证了安全性。
Raymond Tang (Microsoft C# MVP)
Denn Ich Gehoer nur mir
.NET交流群71840452
微软中文论坛同城社区成都QQ群:74268428
My Chinese Blog
Chengdu,Sichuan Province,China2010年11月26日 14:02 -
你好 我们说的证书一般就是指的公钥证书,如果你没有安装你又怎么解密呢?
如果你想要非对称加密,那么就需要公私玥对,客户端如果不安装,就无法解密私钥加密的信息。
公钥加密后的信息只有私钥可以解密,在传递的时候别人 由于你只发布了公钥 其他人只可以加密信息传送给你,但是无法破解传递过程中的信息因为他没有私钥这就保证了安全性。
Raymond Tang (Microsoft C# MVP)
Denn Ich Gehoer nur mir
.NET交流群71840452
微软中文论坛同城社区成都QQ群:74268428
My Chinese Blog
Chengdu,Sichuan Province,China
那就说只能 防止 中途的信息外泄? 如果公钥被别人(恶意)获取到 这人也可以和服务器通信?公钥也得保护好?
vc8152010年11月30日 2:21 -
你好 我们说的证书一般就是指的公钥证书,如果你没有安装你又怎么解密呢?
如果你想要非对称加密,那么就需要公私玥对,客户端如果不安装,就无法解密私钥加密的信息。
公钥加密后的信息只有私钥可以解密,在传递的时候别人 由于你只发布了公钥 其他人只可以加密信息传送给你,但是无法破解传递过程中的信息因为他没有私钥这就保证了安全性。
Raymond Tang (Microsoft C# MVP)
Denn Ich Gehoer nur mir
.NET交流群71840452
微软中文论坛同城社区成都QQ群:74268428
My Chinese Blog
Chengdu,Sichuan Province,China
那就说只能 防止 中途的信息外泄? 如果公钥被别人(恶意)获取到 这人也可以和服务器通信?公钥也得保护好?
vc815
你好,举个简单的例子,如果你的钥匙掉了,或者这个钥匙是提供给任何人都可以使用的,那么你就无法防止其他人用钥匙开门不过你可以在开门的时候再加一道程序,需要开门的人提供自己的个人信息,如果他在你的合法钥匙使用者中,你的系统才让它打开门
这相当于在服务器端需要客户端提供自己的信息 服务器端再多一次验证
Raymond Tang (Microsoft C# MVP)
Denn Ich Gehoer nur mir
.NET交流群71840452
微软中文论坛同城社区成都QQ群:74268428
My Chinese Blog
Chengdu,Sichuan Province,China2010年11月30日 2:27 -
你说的是身份验证
可是身份验证是建立在 公钥私钥数据加密 好使的情况下
如果(恶意)他人 都有公钥了 数据已经可以解密了 里面的用户名 密码 直接替换 或者转发 一样你的验证没有意义
我感觉还是加密(公钥私钥对加密)安全 认证只是建立在加密里面的二次认证而已。。
总结下:公钥还得保护好啊!!
vc815vc815 你可能没能理解清楚我的意思
可以加密不代表可以解密
他虽然知道公钥 可以用公钥加密自己的信息 但是不代表他能解密,因为解密公钥加密的内容需要私钥,而这个只有你服务器端知道 所以是安全的
Raymond Tang (Microsoft C# MVP)
Denn Ich Gehoer nur mir
.NET交流群71840452
微软中文论坛同城社区成都QQ群:74268428
My Chinese Blog
Chengdu,Sichuan Province,China- 已标记为答案 Raymond Tang 2011年3月7日 13:53
2010年11月30日 3:06 -
你可以尝试做一个认证服务器,所有服务端和客户端都和认证服务器信任。当客户要和服务端通信的时候,由认证服务器认证双方身份,然后生成临时的对称秘钥。这样你的客户端只要有认证服务器的证书就可以了。不过认证服务器是要给所有的信任的服务端和客户分发证书,或者有所有其它终端的公钥。你可以看看Kerberos协议。微软的域的安全认证就是建立在这个协议之上。
- 已标记为答案 Raymond Tang 2011年3月7日 13:53
2011年2月22日 3:42 -
关于 证书 对称加密 请参考我这两篇博客
http://hi.baidu.com/1987raymond/blog/item/8681980f0db965feab6457e0.html
http://hi.baidu.com/1987raymond/blog/item/b91630d728eb34cea044df6f.html
Raymond Tang (Microsoft C# MVP)
Denn Ich Gehoer nur mir
.NET交流群71840452
微软中文论坛同城社区成都QQ群:74268428
My Chinese Blog
Chengdu,Sichuan Province,China2011年3月7日 13:55