写点什么

ASP.NET 实现了更好的加密算法

  • 2012 年 12 月 07 日
  • 本文字数:828 字

    阅读完需:约 3 分钟

.NET 4.5 引进了一系列对 ASP .NET 处理加密的改进,并带来了新的 Protect Unprotect API,以及众多不易察觉的更改。 Levi Broderick 通过一系列文章介绍了其动机、改变及兼容问题。

ASP.NET 需要两个密钥(解密钥和验证钥)来加密,而这一对合起来就叫做机器钥。机器钥可以在不同组件间重用。Levi 的第一篇文章里解释了.NET4.0 的设计为何在某一组件上造成安全问题的同时,也给系统其他组件带来了更大的影响。

同样,为开发者开放的 MachineKey.Encode Decode API 也使用了同样的机器钥来加密。因此,开发人员将进一步引入来自他们本身的安全问题,从而再次造成了级联效应。

Duong 和 Rizo 在一篇 IEEE 论文里已经着重强调了这些顾虑的大部分(以及其它方面)。尽管论文里提到的大多数问题已经在论文里被解决了,但还有一些关键问题仍然存在。

作为解决方案,.NET 4.5 引入了以下改变–

  • 机器钥的转换和上一版有显著区别:通过改变机器钥上某几位就可将其作为钥定义方法的钥衍生钥,以生成真正用于应用的密钥。
  • Protect Unprotect API 将 MACing 和 encrypting 并作一步,然后将其命名为“保护(protecting)” 。编码(Encode)和解码(Decode) API 仍然存在,但不推荐使用。
  • 引入一个名叫“目的(purpose)”的参数用来区分那些由于某些特定需要而进一步使用别的加密 API,以减少其它区域安全问题对其造成的影响。

所有这些改变在默认情况下是关闭的,必须在 web config 中明确设置后才能开启(所有新的 ASP.NET 项目模板都使用该变化)。关于改变的所有细节都在 Levi Broderick 的第二篇文章里描述了。而第三篇文章则介绍了一些高级用法和使用技巧。

应注意的是:本次改变不包括membership 提供程序中的密码加密,此功能将分开处理

原文链接 ASP.NET Gets Better Cryptography


感谢姚琪琳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2012 年 12 月 07 日 03:281826
用户头像

发布了 39 篇内容, 共 11.3 次阅读, 收获喜欢 2 次。

关注

评论

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

如何写出有价值的竞品分析报告?

基调听云

竞品分析 基调听云

手机刷新率越高越好吗?

InfoQ IT百科

CPU和GPU有什么区别?

InfoQ IT百科

云融科技加入龙蜥社区,助力金融行业数字化转型

OpenAnolis小助手

数字化转型 龙蜥社区 CLA 云融科技

【深入理解TcaplusDB技术】读取列表指定位置数据接口说明——[List表]

tcaplus

数据库 nosql TcaplusDB 腾讯游戏

塔米狗项目解读|北京华隆典当有限责任公司49.5%股权转让

塔米狗

股权转让 塔米狗 股份转让

NFT、GameFi、SocialFi、云存储,DFINITY 生态上最热赛道详解

TinTinLand

区块链

射频芯片在手机上起到什么作用?

InfoQ IT百科

如何看待现阶段国内手机操作系统的竞争格局?

InfoQ IT百科

量化系统开发,量化交易系统APP搭建

源中瑞

量化交易系统开发 量化交易源码 量化APP搭建

Talent Plan 学习营初体验:交流+坚持 开源协作课程学习的不二路径

PingCAP

真正的量子计算机触手可及!英特尔宣布规模化生产硅量子比特

科技新消息

区块链招聘会完美收官,行业大咖教你如何 Get Web3高薪职位

TinTinLand

区块链

大数据培训Flink面试宝典

@零度

flink 大数据开发

友好型公链Neo,助力开发者轻松掌握区块链智能合约

TinTinLand

区块链

人为什么看不到真相?

源字节1号

网站开发

nginx proxy_next_upstream 与openresty balancer.set_more_tries的使用

飞翔

nginx openresty

“开源之夏”活动火热报名中,丰厚奖金等你来拿!

云智慧AIOps社区

开源 活动 开源软件

手机摄像头芯片主要有哪些?

InfoQ IT百科

手机运存与内存有什么区别?

InfoQ IT百科

【深入理解TcaplusDB技术】扫描数据接口说明——[List表]

tcaplus

数据库 nosql TcaplusDB 腾讯游戏

Gartner调查研究:中国的数字化发展较之世界水平如何?高性能计算能否占据主导地位?

蓝海大脑GPU

GPU服务器 GPU算力

Dubbo 编程之夏报名启动了

阿里巴巴云原生

【深入理解TcaplusDB技术】读取列表指定位置数据接口说明——[List表]

tcaplus

数据库 nosql TcaplusDB 腾讯游戏

手机摄像头越多拍照效果越好吗?

InfoQ IT百科

深度报告:异构时代,芯片需集成多个模板

Finovy Cloud

人工智能 云计算 gpu GPU服务器

开发者友好型公链Neo | 如何连接 Web2 开发者到 Web3 世界

TinTinLand

区块链

2019年华为鸿蒙加入手机系统阵营,如何看待鸿蒙这三年的发展?

InfoQ IT百科

CrashSight 接入上报常见问题及解决方案

WeTest

ASP.NET实现了更好的加密算法_语言 & 开发_Roopesh Shenoy_InfoQ精选文章