RSS 2.0 Feed
2003-12 Entries
摘要: 目前企业面临的计算环境和过去有很大的变化,许多数据资源能够依靠网络来远程存取,而且越来越多的通讯依赖于公共网络公共网络(如 Internet),而这些环境并不保证实体间的安全通信,数据在传输过程可能被其它人读取或篡改。 加密将防止数据被查看或修改,并在原本不安全的信道上提供安全的通信信道,它达到以下目的: 保密性:防止用户的标识或数据被读取。 数据完整性:防止数据被更改。 身份验证:确保数据发自特定的一方。 一、数据加密/编码算法列表 常见用于保证安全的加密或编码算法如下: 1、常用密钥算法 密钥算法用来对敏感数据、摘要、签名等信息进行加密,常用的密钥算法包括: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合; 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高; RC2和 RC4:用变长密钥对大量数据进行加密,比 DES 快; IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全性; RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件快的长度也是可变的; DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准); AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,目前 AES 标准的一个实现是 Rijndael 算法; BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快; 其它算法,如ElGamal、Deffie-Hellman、新型椭圆曲线算法ECC等。  2、单向散列算法 单向散列函数一般用于产生消息摘要,密钥加密等,常见的有: MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法,MD5被广泛使用,可以用来把不同长度的数据块进行暗码运算成一个128位的数值; SHA(Secure Hash Algorithm)这是一种较新的散列算法,可以对任意长度的数据运算生成一个160位的数值; MAC(Message Authentication Code):消息认证代码,是一种使用密钥的单向函数,可以用它们在系统上或用户之间认证文件或消息。HMAC(用于消息认证的密钥散列法)就是这种函数的一个例子。 CRC(Cyclic Redundancy Check):循环冗余校验码,CRC校验由于实现简单,检错能力强,被广泛使用在各种数据校验应用中。占用系统资源少,用软硬件均能实现,是进行数据传输差错检测地一种很好的手段(CRC 并不是严格意义上的散列算法,但它的作用与散列算法大致相同,所以归于此类)。  3、其它数据算法 其它数据算法包括一些常用编码算法及其与明文(ASCII、Unicode 等)转换等,如 Base 64、Quoted Printable、EBCDIC 等。 二、算法的 .NET 实现 常见的加密和编码算法都已经在 .NET Framework中得到了实现,为编码人员提供了极大的便利性,实现这些算法的名称空间是:System.Security.Cryptography。 System.Security.Cryptography 命名空间提供加密服务,包括安全的数据编码和解码,以及许多其他操作,例如散列法、随机数字生成和消息身份验证。 System.Security.Cryptography 是按如下方式组织的: 1、私钥加密 私钥加密又称为对称加密,因为同一密钥既用于加密又用于解密。私钥加密算法非常快(与公钥算法相比),特别适用于对较大的数据流执行加密转换。 .NET Framework 提供以下实现私钥加密算法的类: DES:DESCryptoServiceProvider RC2:RC2CryptoServiceProvider Rijndael(AES):RijndaelManaged 3DES:TripleDESCryptoServiceProvider 2、公钥加密和数字签名  公钥加密使用一个必须对未经授权的用户保密的私钥和一个可以对任何人公开的公钥。用公钥加密的数据只能用私钥解密,而用私钥签名的数据只能用公钥验证。公钥可以被任何人使用;该密钥用于加密要发送到私钥持有者的数据。两个密钥对于通信会话都是唯一的。公钥加密算法也称为不对称算法,原因是需要用一个密钥加密数据而需要用另一个密钥来解密数据。 .NET Framework 提供以下实现公钥加密算法的类: DSA:DSACryptoServiceProvider RSA:RSACryptoServiceProvider  3、哈希(Hash)值 哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。 .NET Framework 提供以下实现数字签名算法的类: HMAC:HMACSHA1 (HMAC 为一种使用密钥的 Hash 算法) MAC:MACTripleDES MD5:MD5CryptoServiceProvider SHA1:SHA1Managed、SHA256Managed、SHA384Managed、SHA512Managed 4、随机数生成 加密密钥需要尽可能地随机,以便使生成的密钥很难再现,所以随机数生成是许多加密操作不可分割的组成部分。 在 .NET Framework 中,RNGCryptoServiceProvider 是随机数生成器算法的实现,对于数据算法,.NET Framework 则在其它命名空间中实现,如 Convert 类实现 Base 64 编码,System.Text 来实现编码方式的转换等。 从以上来看,.NET Framework 对于数据加密/编码还是支持比较好,大大地方便了开发人员,但美中不足的是,.NET Framework 中的数据加密算法仍然不够完全,如 IDEA、BLOWFISH、其它算法,如ElGamal、Deffie-Hellman、ECC 等,对于一些其它的数据校验算法支持也不够,如 CRC、SFV 等,开发人员只能去从早期代码做移植或者寻找第三方厂商的实现。 BTW:看着这么多数据加密算法,是不是有点头晕?看看 这个图片 后,你一定感觉到一些压力的......[阅读全文]

posted @ | Feedback (40) | Filed Under [ 软件技术 ]

摘要: 近年来,MS 为企业发布了太多的产品,并且使得他们都互相独立,以至于几乎不可能来完全跟踪他们。其它的许多产品是两层或三层产品,有的产品已经在过去很长的时间占了相当大的市场份额,而有些新产品则没有太多市场份额。 MS 利润核心的产品集中于六大基本领域:Windows Clients、Windows Server、Exchange Server、SQL Server、Office 和 Visual Studio,所以事情就变得简单了,Microsoft 的产品路线图就很容易跟踪了,在 2003 年,Redmond集中精力于发布 Windows Server 2003、Exchange Server 2003 和 Office 2003,在 2004 年,Microsoft 将把注意力转向 Windows Client、SQL Server 和 Visual Studio。 Windows Clients 或许是为了讨好得州法院或其它原因,2004 年所有的客户端的工作都和经营农场有关:“Shorthorn”、“Longhorn” 和“Lonestar”。 Shorthorn 这个术语有点夸张,起因是有人称在 Longhorn 出来之前,Microsoft 将发布的一个过渡期的产品,可能在 2005 年或 2006 年发布,也有可能就是 Windows XP 的一个 Service Pack(Steve Ballmer 声称 XP SP2 是 XP 的一个新的发布版本) Microsoft 在 SP2 上将提供增强的安全特性,包括:网络保护,内存保护,更安全的EMAIL和更安全的网上冲浪Microsoft声称XP SP2 将在2004 上半年发布,并且不是一个普通的 SP。 Longhorn Longhorn 并不在2004 年发布,但是这个下一代的 Windows 也许会成为整年的头条,而且,Microsoft 会至少再发布一个 Longhorn 的 Beta 版本,使得 IT 部门和开发人员有机会去测试。在十月的 PDC 上,Longhorn 中的一些关键技术已被公布,包括 Windows Future Storage (WinFS), 用于表现层的“Avalon” 和用于通讯的 “Indigo”。 Longhorn 也包含其它方面的一些增强特性,包括“Palladium“,下一代安全计算基础,它将 OS 和应有程序的安全性同硬件结合起来 Lonestar 许多人忽视了 Tablet PC 技术,形势正在改变,Microsoft Windows XP Tablet PC Edition 以及与其配套的硬件改变了 Tablet 技术的境况,Microsoft 在 2003 年秋季发布了 OneNote 2003,第一个面向 Tablet......[阅读全文]

posted @ | Feedback (3) | Filed Under [ 行业观察 软件技术 ]

摘要: 当学投资学出身的 Adam 忽然问我:选择项目A我可以获利500,选择B获利600,我选择项目A或B的机会成本各为多少? 我还真有点回答不上来。 机会成本是经济学里面的一个很重要的概念,一般是指面临多种选择时,选择其中的一种可能造成的损失,Adam 提出的解释是:选择B损失500,选择A损失600,所以A的机会成本大 ... 我虽然觉得差不多,但好象并不完全正确。 经过与精算师沟通,这个题目的正确答案应该是:选择 A 的机会成本是 100 ,正是由于选择了 A 而未选择 B ,则损失了 600-500=100,而 B 的机会成本是 0 ,因为你已经选择了最大的获利,所以没有损失。 上面这道题其实很简单,它只是考察了一下机会成本的概念,而在实际的经济生活中,面临多种选择带来的收益和损失更多地是体现出不同质性,就是无法直接对比,象上面的题,只要 AI 大于 0 ,我估计就会选择 B ,但如果题目变成:公司选择 A 项目可以要花半年,获利 500 万,而选择 B ,则要花 9 个月,没有直接获利,但获得了某一国际知名质量认证,有了一张产品的国际市场的通行证,那在这种情况下,选择两个项目的机会成本就需要仔细计算了,把不质的结果转变成同质的,可度量和对比的指标。 翻开了书柜中多年没有摸过但一直舍不得扔掉的大学课本(会计学,经济学,企业财务管理,货币银行学,国际贸易概论等),在查阅机会成本的时候,顺便复习了另一个经济学中非常重要的概念:边际效应。 边际效应,有时也称为边际贡献,是指消费者在逐次增加1个单位消费品的时候,带来的单位效用是逐渐递减的(虽然带来的总效用仍然是增加的)。 举一个通俗的例子,当你肚子很饿的时候,有人给你拿来一笼包子,那你一定感觉吃第一个包子的感觉是最好的,吃的越多,单个包子给你带来的满足感就越小,直到你吃撑了,那其它的包子已经起不到任何效用了。 边际效应的应用非常广泛,例如经济学上的需求法则就是以此为依据,即:用户购买或使用商品数量越多,则其愿为单位商品支付的成本越低(因为后购买的商品对其带来的效用降低了)。当然也有少数例外情况,例如嗜酒如命的人,是越喝越高兴,或者集邮爱好者收藏一套文革邮票,那么这一套邮票中最后收集到的那张邮票的边际效应是最大的。 了解边际效应的概念,你就可以尝试去在实际生活中运用它,例如:你是公司管理层,要给员工涨工资,给 3K 月薪的人增加 1K 带来的效应一般来说是比 6K 月薪增加 1K 大的,可能和 6K 月薪的人增加 2K 的相当,所以似乎给低收入的人增加月薪更对公司有利;另外,经常靠增加薪水来维持员工的工作热情看来也是不行的,第一次涨薪 1K 后,员工非常激动,大大增加了工作热情;第二次涨薪 1K,很激动,增加了一些工作热情;第三次涨薪 2K ,有点激动,可能增加工作热情;第四次 ... ... ,直至涨薪已经带来不了任何效果。 如果想避免这种情况,每次涨薪都想达到和第一次涨薪 1K 相同的效果,则第二次涨薪可能需要 2K ,第三次需要 3K ... ... ,或者使用其它激励措施,例如第二次可以安排其参加职业发展培训,第三次可以对其在职位上进行提升,虽然花费可能想当,但由于手段不同,达到了更好的效果。 研究经济学其实也很有意思,只是对很多人来说,与 IT 这个行业不可完全兼得。...[阅读全文]

posted @ | Feedback (116) | Filed Under [ IT 人生 ]

摘要: 对于开放源码软件(Open Source Software:OSS)的安全性问题,一直以来有两种观点。 一方观点是:正是由于其源代码开放,用户可以检查和确信软件中不会留有后门,所以开放源码软件的安全性高;而另一方观点则是:具有高超技术的 Hacker 可以查看源代码来寻找潜在的漏洞,从而可能在开发人员和用户都不知情的情况下,掌握系统的弱点,进而威胁系统的安全,并且大多数开放源码软件并没有给用户做出任何保证。 从目前国内外的情况来看,似乎是前者观点更流行,不过,SecurityFocus 的一篇文章则从另外一个方面对开放源码软件的安全性提出了质疑。 作者称,由于开放源码软件是由一些松散组织的开发人员(称为 Contributor)在一个源代码树(CVS、BitKeeper等)上进行开发和维护的,那么可能产生这样几个问题: 有开发人员有意置入恶意代码,并且不被代码管理员发现而被接受(Accepted); 开发人员的机器可能感染病毒或受到其它攻击,可能导致恶意代码进入源代码树; 由于开发环境和编译环境没有严格的限制和要求,可能在编译环节被嵌入恶意代码; 开放源码是基于 Internet 分发的,如果服务器被攻陷或着下载过程被监视,用户可能得到并不完全合法的目标程序 作者的观点最后似乎是:信任但要验证(Trust and Verify),和预科中的一样,文章的评论又是明显的两派观点,以反对方为多,他们举例说明开放源码是如何保证安全的,支持方很少,但观点也很中肯:目前开放源码软件的问题虽然可能不至于这么严重,但是对于我们来说,如何在人员、环境、设备等资源高度分散的情况组织软件的开发,源代码的管理,的确是一个需要关注的问题。 BTW:这些评论者虽然观点鲜明,但修养和素质还是不错,和新浪的新闻评论员们是明显的对比。 来源:SecurityFocus来源:文章评论...[阅读全文]

posted @ | Feedback (4) | Filed Under [ 组织/项目管理 行业观察 软件技术 ]

摘要: 一家制造自动柜员机(ATM)的厂商周一称,两家银行的基于流行的 Windows 的 ATM 在八月被病毒感染,SecurityFocus.com 最先披露了这次感染事件,据信是计算机病毒第一次直接侵袭柜员机,而且据一些计算机安全专家预测,随着一些关键系统向 Windows 上的移植,将暴露出更多安全性问题。 制造 ATM 机的 Diebold 公司的管理人员说,在这个被称为 Nachi 蠕虫病毒传染期间不明数量的运行 Windows XP Embeded 的 ATM 被关停,但他们拒绝透露是那些客户受此影响。 在一月份, SQL Slammer 蠕虫病毒 曾经短暂导致美洲银行的 ATM 机的网络问题,但没有直接影响 ATM 本身。 Diebold的高级产品经理称,他们从 IBM 的 OS/2 转换到 Windows 平台上,是因为银行需要 Windows ,“他们要求我们装配带有具有图形处理能力的 Windows 的 ATM ,他们想让 ATM 和 Web-banking 具有一致的界面,而且他们熟悉 Windows”,他同时说,为了防止未来可能出现类似的问题,他们已经在 ATM 上配置了防火墙,来防止病毒和其它攻击。 看到这个消息,你的反应是什么? 有些银行内部的技术人员曾经说,“SNA 协议防病毒”,这个看似可笑的论点确是实实在在的事实,开放性、通用性、功能强大也许和安全永远是矛盾的两端,另外,用于特定领域或设备的专用的操作系统,是否有必要全部转向开放和通用? 来源:new.com...[阅读全文]

posted @ | Feedback (9) | Filed Under [ 行业观察 软件技术 ]

摘要: 本来想找找除了 Collaxa 之外,还有那些产品对 BPEL4WS 提供支持,无意中发现一个新的产品: Vitria BusinessWare,在 Google 上 Search 一下,结果还真有点让人吃惊: 1、Vitria 的产品 BusinessWare 非常优秀       解决方案傲视群雄Vitria赢得两项大奖,其它所获得的奖项都是 2003 度的,真是后起之秀。 2、又是一个华人,而且是位女士在硅谷创办的高科技企业       张若玫:我要用科技改变世界 3、Vitria 开始进军国内市场       东软-Vitria启动战略合作 强强联手  共拓中国E-Business市场 4、支持的标准极其丰富,尤其是在 Web Service 方面       Vitria 的标准支持 看来,要想评估 EAI 的系统和方案,Vitria 是不能少了,和 Biztalk 有一拼哩,十分喜欢它这个架构图。 :) 下载:Vitria:BusinessWare - 敏捷商务过程集成的领先平台 查看:Vitria(远创科技)主页...[阅读全文]

posted @ | Feedback (11) | Filed Under [ XML/Web Service 行业观察 软件技术 ]

摘要: 一般意义上的安全确实包含很多内容,大到信息安全体系,小到缓冲区溢出造成的漏洞,还包含有相应管理制度等。 作为软件开发厂商,如何在自己的职权范围内保证关键应用的安全?以下观点也许能给你有所启示。 1)应用安全需求评估 这本来应该是最终用户完成的工作,可根据现状,这几乎是不在可能的,不如让我们把它做成选择题,由用户去画勾。 2)典型安全应用模型与安全策略的研究 在一些广泛使用的大系统,如操作系统、应用服务器、数据库服务器中,它们都有很先进和成熟的安全模型和安全策略控制,例如访问控制列表(ACL)、数据库操作权限分配、AD 中的代理管理等,都是值得深入研究和借鉴的。 3)安全代码实践研究 缓冲区溢出产生漏洞和构建 SQL 语句攻击是当前许多系统中出现的问题,其实只要在编码的时候稍加注意,这些失误很容易就可以避免,所以有必要建立一套代码审查办法,同时使用黑箱的方式对代码进行进行粒度很细的模拟攻击,以尽早发现安全问题。 4) 整理和建立各个平台安全工具集 DES、RSA、MD5、SHA这些优秀的、应用广泛的加密或散列函数对于安全编码有很大帮助,有必要把它们收集、整理在一起,为开发人员提供一个开发工具包。 .NET 和 Java 在这方面已经做的很好了,但在 Cobol、C/C++ 这些语言平台上,还需要做点工作。 在 IPSec 不能使用或不能到达未端的情况下,如果能做一套基于 PKI 的数据通信工具包,那一定是十分完美了。 5)安全测试与审计实施研究 在软件开发厂商里,有必要建立独产的安全测试部门,对公司的产品进行各种安全测试(黑箱和白箱),同时,在指定时间隔内,在用户允许的情况下,对产品的实际运行状况安全审计,以加强系统的安全级别。 6)建立应用安全评价体系 怎么样才能说我的系统安全性高?怎么样说出去让人相信? 没有评价体系和评价标准是不行的,Windows 的 C2 级安全性就是来自于 TCSEC,现在的 TCSEC 变成 CC (通用安全评价体系)了,这个东西太大,在参考它的基础上,有必要结合自己的实际情况,建立适合自身特点的安全评价体系,这样可以更有针对性,如对于金融行业应用来说。 ...[阅读全文]

posted @ | Feedback (2) | Filed Under [ 软件技术 ]

摘要: 在 Technet 周一的安全 Webcast 上,Microsoft 表示每天约有 2500 至 3000 次(几乎每月有约10万次)针对公司的电子攻击。尽管有如此大规模的攻击,但最后一次成功的入侵还在在 3 年前(2000年 10 月)。软件巨人(国外的媒体都这么称呼 Microsoft)声称最大的安全风险并不在于外部的电子攻击(Web 或网络设施),而是 Microsoft 巨大数量的移动用户和合作伙伴,约有 6 万,他们经常访问公司的 175 个远程访问点(Access Points)。 Mike Nash ,微软公司商业安全组的副总裁在 Webcast 上声称:“我们深入地研究公司内部,以便我们可以在每一个层上都增强安全性,我们许多用于 Microsoft 的安全技术也直接用于客户”。 Microsoft 在 Webcast 上也展示了一些有趣的东西。例如,他们是使用 Computer Associate 的 eTrust 安全管理套件来加强网络的安全性,并且使用双要素验证(用户名/密码 和智能卡)来保护知识产权。 从微软公司内部的安全实践来说,智能卡(Smart Card)+公共密钥体系(PKI)确实是一套安全、廉价且行之有效的用户身份验证手段,对于一些关键任务或安全级别要求较高的系统,可以深入研究和采用此种方式。 来源:Microsoft Technet  Security Webcast ...[阅读全文]

posted @ | Feedback (0) | Filed Under [ 行业观察 软件技术 ]

摘要: 虽然 Microsoft 至今并没有一个正式的关于如何支持 Web Blog 的公司策略 ,但是已经开始尝试帮助建立 Blog 社区。最近由 Microsoft 赞助的 Blog 站点名为“The Spoke.”,它是 Microsoft 高校(学院)开发者组的一个项目,主要面向大学学生。 到目前为止,The Spoke 似乎仍处于早期测试阶段,只有为数不多的注册成员,在过去的几天里,Microsoft 已经给此站点增加了 XML 聚合(RSS,版本为 2.0)的功能。 此站点的用户验证是和 Passport 集成在一起的,不过在注册时,要提供其它一些与 Blog 有关的个人信息和 Blog 站点信息,整个站点仍显得较为简陋,而且站点上的字体很小,很不适合阅读。 查看:The Spoke来源:eWeek...[阅读全文]

posted @ | Feedback (3) | Filed Under [ XML/Web Service 行业观察 ]

摘要: 前几天,有人把美国一家宽带提供商的提供的 OEM 的 MSN Explorer 8.0 给 RIP 出来,这样在登录过程中,不用再提供信用卡号,所以能象以前的 6.0 一样能正常在 Windows XP/2003 中使用,并且可以升级到 9.0 ,借此机会,好好地体验了一把期望已久的 MSN Explorer 及其相关服务。 MSN Explorer 8.0 以后都是按使用期限收费,当然功能也比原来的免费版本大有增强,增加了许多服务,10M 的 Hotmail 邮箱、更好的垃圾邮件过滤,文件存储空间,更好的日历、联系人管理、e-Learning 等。 不过整体来说,许多服务(如房产、汽车、财金等)只是面向北美市场,并不适合中国用户使用,当然了,它目前的收费对于中国用户来说也偏高。 另外一条消息,Microsoft 正在进行 Outlook Connector for MSN Beta 的测试,有了这个东西,用户就可以在 Outlook 中集中管理 MSN 的邮箱、联系人、日历等,以便能在单点管理个人用户的所有信息( MSN 、企业内部消息系统等),要想申请参加此项测试,只需在 Betaplace 输入 Guest ID:MSNOLC(注意大小写敏感)。 截图:MSN Explorer 8.0查看:MSN | Betaplace...[阅读全文]

posted @ | Feedback (6) | Filed Under [ 行业观察 软件技术 ]

摘要: Microsoft 即将放弃有 6 年多历史的的在线会议应用程序 Netmeeting ,转而推广 Office Live Meeting ,作为联机会议的替代品。 Netmeeting 最初是 1996 年发布的,比其它一些在线实时通讯软件和即时消息软件还早。Netmeeting 一般做为 Windows 的一个组件来安装,它的一些功能,如白板和应用程序共享已经被 MNS Messenger 和 Windows Messenger 利用了。 据 Microsoft 的人员说,Netmeeting 已经完成了它的使命,正在逐渐淡出,Microsoft 已经停止了对此产品的继续开发,而把它的一些功能逐渐加入到 MSN Messenger 和 Windows Messenger 中。 在 MSN Messenger 和 Windows Messenger 中,只有在线好友才能相互沟通,我经常是在企业局域网中,和同事利用 IP 地址来进行?Netmeeting ,当然不是聊天/会议,而主要是技术支持和演示,不知道 Office Live Meeting 对这种方式支持如何,另外,是否还有类似于 ILS Server 之类的东西? 无论如何,Netmeeting 是一款值得怀念的产品,没有它,网络摄像头的绝没有现在这样普及。  ...[阅读全文]

posted @ | Feedback (3) | Filed Under [ 软件技术 ]