写点什么

.NET 框架 2.0 中的证书应用

  • 2007-08-28
  • 本文字数:1274 字

    阅读完需:约 4 分钟

一直以来无论是 Web Form 应用、Windows Forms 应用还是 Mobile&Smart Device 应用,强密码保护的认证机制普遍缺失,点对点的非对称消息加密和数据内容签名因为缺少了这个可信赖的凭证也总是成为“沙丘上的城堡”,PKI 环境中的证书机制也许是解决上述问题一个不错的选择。

最新一期的 MSDN 杂志刊发了用证书保护.NET 2.0 应用的文章,文章提纲挈领地将如何使用证书,如何用证书完成 SSL,如何对 Web Service 调用进行保护,如何对代码、安全策略(.NET Framework 和 Active Directory)、自动下发机制、数据进行签名支持等进行了介绍。对于开发人员而言,这些内容应该是非常珍贵的,因为它解决了应用中一个两难的问题:

  1. 为了安全和实施简便,.NET 应用常常会选择集成活动目录域环境认证(或者是互信域认证)模式,这种情况普遍存在于 IT 环境相对比较好的企业内部,尤其被用于企业内部应用,企业分支机构(Branch Offices)的员工也通过包装的 SSPI 接口或者集成认证方式访问内部应用。但偶尔还会遇到很多信任域外的用户访问,出于安全考虑不能给他们开放域账号,但又想让他们访问企业信息资源的时候有个凭据;
  2. 应用本身定位于开放的互联网环境(跨域),采用用户名 / 密码的 Forms 认证方式,认证后的结果也“偷偷摸摸”地保存在某个调用上下文中(Session、Cookie)。如果进行一些无关痛痒的操作倒也无妨,但如果用于会有“别有用心”人特别惦记的一些操作时,例如:账户支付、医疗信息交换等,虽然算不上“裸奔”但也和“就穿着内衣过闹市”没什么区别。这些场景下,无论是法律规定,还是用户需求,往往都促使应用的设计者考虑一些跨信任域的强身份措施,以及在此基础上的非对称密码处理。

当“跨域”、“安全”、“简便”合并在一起的时候,好像现有技术手段中能胜任的寥寥无几,仅从.NET Framework 层面看证书机制也许是最易于实施的一种,它本身基于 PKI 的公钥体系下,可以为各主要的安全机制提供强密码保护。而且在 SOA 大行其道的今天,似乎架构师们更关注与互通(Inter-Communication)和互操作(Interoperation),大家常常谈的“互”其实更多的指消息,但往往忽略了如果调用双方互相都不认识这个“互”似乎也太牵强了,而证书机制恰好也适合这个场景。不仅如此,如果设计人员将安全边界界定到应用服务部分的话,对外交户的内容不会仅限于消息,想想看:

  • 您的应用不需要更新吗?如果需要更新的话,下发的、或者客户端应用调用的 Assembly、ActiveX 是您意愿中的那个版本吗?
  • 变基于规则和硬性逻辑的治理为基于策略的治理是一个趋势,但是最终发布的这个策略(适于某个应用,或者某组应用,甚至于适于企业发布的各个应用)能忠实地发布到用户一端,并在目标应用执行中被正确解读吗?
  • WS-* 协议组中,WS-SEC、XML-Signature 之类的似乎给出了很圆满的应用无关、平台不管、开发技术无所谓的 Web Service 安全方案,但他充其量只说了结果、宾语,没有提过程的主语——“谁”。

数据、组件、安全策略、Web Service 调用还有其他只要是与边界外对象交换的东西,如果需要,能用证书的就都给它用上证书好了,不过之前先要生成并分发好这些证书。

2007-08-28 21:16891
用户头像

发布了 61 篇内容, 共 10.6 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

Golang领域模型-开篇

奔奔奔跑

微服务 后端 领域驱动设计 架构设计 Go 语言

性能优化-技术专题-并发编程

洛神灬殇

Java 多线程

微服务API网关-Kong详解

雪雷

kong api 网关

Jenkins部署Python项目实战

雪雷

Python jenkins CI/CD

JVM-技术专题-GCViewer调优GC

洛神灬殇

JVM

RabbitMQ实践

雪雷

RabbitMQ 消息队列

Serverless初探

雪雷

Serverless Lambda 无服务器云函数

Linux自定义快捷工具

雪雷

Linux Shell tools scripts

Apache常用配置指北

亻尔可真木奉

Apache 代理 跨域

Guacamole实战

雪雷

guacamole 远程登录 堡垒机

API统一管理平台-YApi

雪雷

YAPI API接口管理

记一次混合云API发布的反思

雪雷

iptables API api发布

微服务注册发现配置中心-consul

雪雷

Consul 服务注册与发现 配置中心

同态加密

soolaugust

学习 加密 同态加密

lower_case_table_names参数详解

Simon

MySQL

一文带你检查Kubernetes应用是否为最佳实践

雪雷

k8s k8s最佳实践

Docker Web管理工具

雪雷

Docker shipyard dockerui

Elasticsearch安装

北漂码农有话说

SonarQube集成gitlab/jenkins

雪雷

jenkins sonar gitlab ci 代码扫描

Python利用sphinx构建个人博客

雪雷

sphinx Blog

MySQL线程状态详解

Simon

MySQL 线程状态

JVM-技术专题-管程技术分析

洛神灬殇

JVM 管程

业务容器化改造

雪雷

Docker 容器 微服务 服务化改造

Jenkins 详解

雪雷

jenkins

Linux系统检查脚本

雪雷

Shell 系统检测

Docker+Jenkins+Gitlab+Django应用部署实践

雪雷

DevOps jenkins CI/CD

Flink高可用性设置-4

小知识点

scala 大数据 flink 流计算

探测mysqldump详细过程

Simon

MySQL

Ceph集群部署

雪雷

分布式存储 Ceph rdb pvc

Gitlab Pipeline+Supervisor 实战Python项目CI/CD

雪雷

gitlab jenkins CI/CD Supervisor

记一次混合监控的反思

雪雷

监控 zabbix redis监控 监控宝

.NET框架2.0中的证书应用_.NET_王翔_InfoQ精选文章