报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

.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:161034
用户头像

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

关注

评论

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

【Vue2.x 源码学习】第三十三篇 - diff算法-收尾+阶段性总结

Brave

源码 vue2 8月日更

测试经验| 音视频通话相关app如何进行测试

anyRTC开发者

软件测试 音视频 实时通信

一文带你了解 TreeMap ,LinkedHashMap 的主要特点

4ye

Java 后端 hashmap LinkedHashMap 8月日更

金融级IT架构:网商银行是如何进行数字化落地的

博文视点Broadview

FunTester框架教程(一)

FunTester

教程 接口测试 API测试 测试框架 FunTester

U2Net基于ModelArts Notbook的仿真实验

华为云开发者联盟

开源 modelarts 目标检测算法 U2Net Notbook

从0开始的TypeScriptの五:webpack打包typescript

空城机

JavaScript typescript 大前端 8月日更

七夕赶上服务器架构升级,女朋友的约会怎么办

华为云开发者联盟

华为云 FunctionGraph DevStar Serverless架构 服务器架构

Prometheus监控的4个黄金指标

Rubble

Prometheus 8月日更

Ipfs排名前十的公司有哪些?怎么选择靠谱的ipfs公司?

区块链 分布式存储 IPFS fil ipfs公司

Jetpack Compose 架构分层

Changing Lin

8月日更

JavaScript 之事件循环(Event Loop)

网易云信

Django 做个小后台,细节在完善一点点,滚雪球学 Python 第三阶段

梦想橡皮擦

8月日更

small-spring 代码贡献者3个月,敢说精通Spring了,分享我的总结!

小傅哥

spring 小傅哥 cglib aware BeanPost

这几个棘手的面试常见问题,如何高情商的回答?

架构精进之路

情商 8月日更

Android开发:获取安卓App版本号的方法步骤

三掌柜

8月日更

【Flutter 专题】70 图解自定义 ACEStepper 步进器

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 8月日更

netty系列之:自动重连

程序那些事

Java Netty 程序那些事 响应式系统

【LeetCode】从上到下打印二叉树Java题解

Albert

算法 LeetCode 8月日更

在openEuler上做开发?这个大赛拿出30万寻找开源的yyds

华为云开发者联盟

开源 操作系统 服务器 openEuler 鲲鹏

Go语言那些事儿之管道的关闭

Regan Yue

Go 语言 8月日更 管道

Vue进阶(二十七):Vuex 之 getters, mapGetters, ...mapGetters详解

No Silver Bullet

Vue vuex 8月日更

Mybatis自定义拦截器与插件开发

码农参上

8月日更

Stack Overflow 2021 开发者调查报告出炉,开发浪潮中的变与不变

清秋

语言 & 开发 文化 & 方法 Stack Overflow 开发者报告 编程语言排行

oeasy教您玩转vim - 14 - # 行头行尾

o

Rust从0到1-模式-相关语法

rust 语法 模式 Patterns Syntax

Hive企业级性能优化

五分钟学大数据

hive hive性能优化

命令行操作Java程序的那些事~

Bob

Java 命令行 8月日更

LeetCode题解:781. 森林中的兔子,贪心,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

手撸二叉树之将有序数组转换为二叉搜索树

HelloWorld杰少

数据结构与算法 8月日更

送你两个神器,关系数据库数据入湖轻松应对

华为云开发者联盟

数据库 数据湖 数据迁移 关系数据库 实时数据

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