Category Archives: Technology

SSL/TLS协议简介

SSL/TLS协议简介 密码技术 要了解SSL协议,首先要了解:加密算法、消息摘要算法(又称为哈希算法Hash),数字签名等概念。这些技术每个都可以写出一整本的书,它们结合在一起,提供了保密性、完整性和身份验证的功能。 加密算法 设想:ALICE想发消息给她的银行要汇出一笔款。ALICE希望这些消息是保密的,因为这里面包括她的帐户资料和汇款金额。一种办法是使用加密算法,这种技术将她要传递的消息变成经过加密的密文,直接银行解密才可以被读取。 如果采用这种形式,消息只能被一个密钥所加密。没有这个密钥,消息就是无用的。一个良好的加密算法,可以使入侵者面临无法克服困难来解密原文。 有两种加密算法系列:传统加密算法(对称加密)和公钥加密算法(非对称加密) 传统加密算法 也称为对称加密,需要发送者和接收者共享一个密钥:同时用于加密和解密的信息。 只要密钥是保密的,除了收件人和发件人外没有人可以阅读该消息。如果Alice和银行知道这个密钥,那么他们可以给对方发送的经过此密钥加密的消息。这种算法的主要任务在于发送者和接收者如何共享一个密钥,同时确保没有第三方知道这个密钥,如果多人之间传递消息,如何保证这么多密钥的安全,就是一个棘手的问题。 公钥加密算法 也被称为非对称加密技术,通过使用2个密钥(其中一个可以解密另外一个加密的消息),解决了加密密钥交换的问题。 如果用其中的一个密钥用于加密信息,必须使用另外一个密钥来解密。这样就有可能获得简单地发布一个密钥(公钥),并使用未发布的密钥(私钥)来接受经过公钥加密的消息。 任何人都可以使用公共密钥加密消息,但只有私钥拥有者将能够读取它。这样,ALICE可以在发送需要保密的汇款消息给银行的时候,可以使用银行的密钥对中的公钥来对这个消息进行加密,而只有银行可以使用他们自己保管的私钥来进行解密。 消息摘要算法 虽然ALICE可以加密她的消息,但仍然有一个问题,就是有人可能会修改她发给银行的消息,并将ALICE的钱转移到自己的帐户上。为了保证ALICE消息在传递过程中没有被人篡改,可以让她创建一个消息的摘要和加密的消息一起寄到银行,银行收到消息后,将消息和消息的摘要做一个比较,如果消息内容和摘要匹配,则就可以证明消息传递过程中,没有别人篡改。 像这样的摘要被称为消息摘要, 单向函数或哈希函数 。消息摘要用于创建一个简短的固定长度,或可变长度的消息。消息摘要算法被设计成为每个消息产生一条独立的信息摘要。消息摘要算法的目的,就是让人无法为两条不同的消息找到相同的消息摘要,从而消除了使用一条摘要相同的消息替换另外一条消息的可能性。 另一个爱丽丝面临的挑战是找到一种方法,即使安全地将消息摘要发送到银行;如果消息摘要发送过程不安全,银行将无法判断消息是否就是来自ALICE。只有在消息摘要能安全地发送,才能够使消息的完整性被确定。 一个安全发送消息摘要的方式是使用数字签名。 数字签名 当Alice将消息发送给银行,银行需要确保消息真正地是从她这里发出的,以确保入侵者不能使用她的帐户进行交易。 签名就是由ALICE为实现这一目的而创建的一个专门消息。 数字签名主要使用私钥来加密消息摘要和其他信息,譬如一个序列号,虽然任何人都可以使用公钥解密数字签名,只有发送方知道私钥。这意味着,只有发件人可以签署了该消息。包含了信息摘要的签名表示这个签名只对这个消息有效,而且它确保了消息的完整性,即这个消息的发送过程中没人可以改变摘要并另外对它做签名。 为了防止入侵者拦截,并在以后再次使用这个签名,签名包含一个唯一的序列号。 这样可以保证ALICE无法否认她曾经发送过这条消息,因为只有她可以签名这条消息(不可抵赖性)。 证书 虽然ALICE给银行发出一条经过她个人私钥签名的消息,并且可以确保她发送的消息是真实可靠的,但她依然要确保她的确是和银行在通信。这意味着她必须确保她使用的公钥是银行密钥对中的公钥,而不是入侵者的。同样道理,银行业也需要核实用于签名该消息的私钥是属于ALICE的。如何使银行和ALICE能否核实对方的身份呢? 如果每个人的证书都由一个大家都信任的机构签名,那么每个人都可以验证其他有该证书的人的身份。这种被大家都信任的机构,称为认证中心(CA),他们负责认证证书。 证书的内容 证书内容包括:公钥和真实身份识别信息,包括个人,服务器或其他实体。如表1所示,主题信息包括身份识别信息(DN)和公钥。它还包括认证和签发的CA签发这个证书的有效期,还可能有一些其他的信息(或者成为扩展信息),一般由CA自行定义使用的管理信息,譬如序列号等。 表一:证书信息 主题(证书所有人) 识别名,公钥 签发者 识别名,签名 有效期 不早于,不晚于 管理信息 … Continue reading

, ,
17th January 2011 0 comments Permalink

软件的分类

什么叫应用软件?什么叫系统软件?什么叫客户端软件? 最近被IT行业的“软件”一词搞得有点混,亏得我还是一个计算机专业的学生,还满脑子地想去做开发。。。现在我才明白,我想做的那个玩意儿,应该叫 “应用软件”。先特此收集,答案来自网上 软件(英语:Software)是 一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为函数编程语言、系统软件、应用软件和介于这两者之间的中间件。其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定 应用领域。而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。 软件并不只是包括可以在计算机上运行的计算机程序,与这些计算机程序相关的文档,一般也被认为是软件的一部 分。简单的说软件就是程序加文档的集合体。软件被应用于世界的各个领域,对人们的生活和工作都产生了深远的影响。 软件是计算机的灵魂,没有软件的计算机就如同没有磁带的录音机和没有录像带的录像机一样,与废铁没什么差别。使用不同的计算机软件,计算机可以完成许许多多不同的工作。它使计算机具有非凡的灵活性和通用性。也正是这一原因,决定了计算机的任何动作都离不开由人安排的指令。人们针对某一需要而为计算机编制的指令序列称为程序。程序连同有关的说明资料称为软件。配上软件的计算机才成为完整的计算机系统。 一般把软件分为两大类:应用软件和系统软件。

, ,
30th April 2010 0 comments Permalink

Eclipse启动参数大全

http://www.cn-java.com/www1/bbs/viewthread.php?tid=14813 Eclipse 运行命令行参数大全 包括英文版本和中文版本两种的说明, 特别需要值得一提的是那个 -nl 参数, 可以指定程序启动时所使用的语言. 例如: eclipse -nl en_US 将启动英文语言, 这个特性在安装了国际化语言包以后特别有用, 可以方便的切换各个语言的版本. 注意 IBM WSAD v5.1 也支持这个功能. 运行 Eclipse 将 Eclipse 驱动程序安装(解压缩)到某个目录(例如,c:\eclipse)中之后,通过运行顶级安装目录中的 Eclipse 可执行文件来启动”工作台”。在 Windows 系统上,该可执行文件称为 eclipse.exe,而在 Linux 系统上称为 eclipse。注意:下列讨论描述 Windows 系统上的设置。Linux 上的设置是相似的。 如果您没有另行指定,则平台将缺省工作区目录创建为可执行文件的兄弟目录(例如 c:\eclipse\workspace)。此工作区目录用作项目的缺省内容区,还用于保存任何必需的元数据。要进行共享安装或多工作区安装,应明确指出工作区的位置而不是使用缺省值。有两种控制工作区位置的方法:使用当前工作目录或使用 -data 命令行自变量。 … Continue reading

,
20th March 2010 0 comments Permalink

IE9最终准备加入HTML5行列

For the past few years it seems like Microsoft’s Internet Explorer has let web standards and competing browsers pass it by.  Internet users with even a hint of technical-savvy were more likely to have tried, and preferred, an alternative to … Continue reading

,
17th March 2010 0 comments Permalink

Mozilla borrows from WebKit to build fast new JS engine

Mozilla’s high-performance TraceMonkey JavaScript engine, which was first introduced in 2008, has lost a lot of its luster as competing browser vendors have stepped up their game to deliver superior performance. Firefox now lags behind Safari, Chrome, and Opera in … Continue reading

,
10th March 2010 0 comments Permalink
Statistical data collected by Statpress SEOlution (blogcraft).