常用加密技术的简单认识

加密技术是电子商务采取的主要安全保密措施,是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。

加密技术分为以下几种

1.对称加密
定义
对称密码技术用单个密钥加密和解密数据
使用流程
明文–>密钥加密->密文
密文–>密钥解密->明文
不足
发件人和收件人都必须使用相同的密钥。 虽然可以使用相同的钥匙,但是存在如何在共享钥匙的同时防止被窃听者窃听的问题(非对称加密可解决此问题)
算法
有DES算法,3DES算法,AES高级加密标准(替代原先的DES)
2.非对称加密
定义
非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件
使用流程
明文->共钥加密->密文
密文->私钥解密->明文
算法
RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)
MD5信息摘要算法(

英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
该算法被证实存在弱点,可以被加以破解

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1、PGP概述 PGP(Pretty Good Privacy)的创始人是美国的Phil Zimmermann(菲利普•齐默曼),他在1991年把 RSA 公钥体系的方便和传统加密体系的高速度结合起来,并且在数字签名和密钥认证管理机制上有巧妙的设计。因此 PGP 成为几乎最流行的公匙加密软件包。PGP有不同的实现,如GnuPG和Gpg4win,其中GnuPG(Gnu Private Guard,简写为GPG)的核心算法是PGP,GnuPG本身是为Linux等开源操作系统设计的;而Gpg4win是windows下GnuGPG及图形前端的合集安装包,其核心为GnuPG,包括:(1)Kleopatra和GPA:GPG的密钥管理器,用于生成、导入和导出GPG密钥(包括公钥和私钥);(2)GpgOL:Outlook 的GPG支持插件;(3)GpgEX:资源管理器的GPG支持插件;(4)Claws Mail:内置GPG支持的邮件客户端。 PGP是一个基于RSA公钥加密体系的加密软件,是开源且免费的,后经互联网志愿者发展完善并广泛应用,具有如下特点:(1)选择最可用的加密算法作为系统的构造模块,所用算法已被广泛检验过,相当安全;并将这些算法集成到一个通用的应用程序中,该程序独立于操作系统和处理器,并且基于一个使用方便的小命令集;(2)是一个开源项目,程序、文档在Internet上公开;(3)可以免费得到运行于多种平台上的PGP版本,具有广泛的可用性;(4)不由任一政府或标准化组织所控制,使得PGP得到了广泛信任;(5)与商业公司(Network Associates)合作,提供一个全面兼容的、低价位的商业版本PGP。2010年6月被赛门铁克公司收购。由于这些特点,使得PGP得到了广泛的应用。 PGP常用的版本是PGP Desktop Professional,它可以用来加密文件,可以用来对邮件保密以防止非授权者阅读,还能对邮件加上数字签名从而使收信人可以确认邮件的发送者,并能确信邮件没有被篡改。同时,通过使用公钥密码算法,可以提供一种事先并不需要任何保密的渠道用来传递密匙的安全通讯方式。PGP功能强大,而且具有很快的速度,PGP提供的主要功能如表1.7.1所示。 表1.7.1 PGP的功能概述 功能 使用的算法 描述 消息加密 IDEA、CAST、3DES、TwoFish、ElGamal、RSA 发信人产生一次性会话密钥加密,用IDEA或CAST-128或3DES算法对消息进行加密;采用ElGamal或RSA算法用接收方的公钥加密会话密钥 数字签名 DSS/SHA-1、RSA/MD5 采用SHA-1或MD5消息摘要算法计算消息的摘要值(散列码),用发送者的私钥按DSS或RSA算法加密消息摘要 压缩 PKZIP 消息在传送和存储时可使用PKZIP压缩 E-mail兼容性 Radix-64 对E-mail应用提供透明性,采用基数64编码将加密后的消息(二进制流)转换为ASCII字符串 数据分段 - 为了适应最大消息长度限制,PGP执行分段和重新组装 2、PGP的密钥管理 PGP是一种混合密码系统,应用了多个密码算法,包括对称密码算法、非对称密码算法、消息摘要算法、数字签名等经典的密码学算法。为用户生成密钥对之后,可以进行邮件的加密、签名、解密和认证。在PGP中使用的加密算法和用途如表1.7.2所示。 表1.7.2 PGP中采用的各种密码算法及用途 密钥名 加密算法 用途 会话密钥 IDEA、AES 对传送消息的加解密,随机生成,一次性使用 公钥 RSA、Diffie-Hellman 对会话密钥加密,收信人和发信人共用 私钥 DSS/SHA、RSA/SHA 对消息的杂凑值加密以形成签名,发信人专用 口令 IDEA 对私钥加密以存储于发送端 从上表可以看出,PGP使用了四种类型的密钥:一次性会话传统密钥、公钥、私钥和基于口令短语的传统密钥/通行字短语。 会话密钥按ANSI X9.17标准,采用IDEA算法,以密文反馈模式(CFB)生成。当PGP用RSA算法为用户生成一个新的公钥/私钥对时,PGP会要求用户提供一个口令短语,对该短语使用MD5/SHA-1消息摘要算法生成一个散列码后,销毁该短语,从而把用户输入的口令短语转化为IDEA/CAST-128密钥,再使用这个密钥加密私钥,然后销毁这个散列码,并将加密后的私钥存储到私钥环中。当用户要访问私钥环中的私钥时,必须提供口令短语。PGP将取出加密后的私钥,生成散列码,解密私钥。 一个用户可能拥有多个公钥/私钥对,正确识别加密会话密钥和签名所用的特定公钥/私钥对的一个最简单的解决方案是将公钥和消息一起传送。但这种方式浪费了不必要的空间。PGP采用的解决方案是给每个公钥分配一个密钥标识(KeyID),并以极大的概率与用户标识(UserID)一一对应,即UserID和KeyID标识一个密钥。密钥标识至少为64位,因而密钥标识重复的可能性非常小。 PGP提供一种系统化的密钥管理方案来存储和组织这些密钥以保证有效使用这些密钥,它为每个节点(用户机器)提供一对数据结构,一个用于存放本节点自身的公钥/私钥对(即私钥环),另一个用于存放本节点知道的其他用户的公钥(即公钥环)。私钥环信息:时间戳、KeyID、公钥、私钥、UserID,其中UserID通常是用户的邮件地址。也可以是一个名字,可以重名;公钥环信息:时间戳、KeyID、公钥、对所有者信任度、用户ID、密钥合法度、签名、对签名者信任度,其中UserID为公钥的拥有者。多个UserID可以对应一个公钥。公钥环可以用UserID或KeyID索引。 如何保证用户公钥环上的公钥确实是指定实体的合法公钥,这是一个至关重要的问题。PGP提供几种可选的方案以减少用户公钥环中包含错误公钥的可能性:(1)物理上得到对方的公钥。这种方式最可靠,但有一定局限性;(2)通过电话验证公钥;(3)从双方都信任的第三方(个体或CA)处获得对方的公钥。 此外,PGP支持密钥管理服务器,用户可以将公钥发布在集中的密钥服务器上,供他人访问。 3、PGP的消息处理过程 PGP消息分成原始消息、签名部分和会话密钥部分三个部分。 PGP发送方处理消息的过程为:(1)签名:利用UserID作为索引,从私钥环中得到私钥;PGP提示输入口令短语,恢复私钥;构造签名部分;(2)加密:PGP产生一个会话密钥,并加密消息;PGP用接收者UserID从公钥环中获取其公钥;构造消息的会话密钥部分。 PGP接收方处理消息的过程为:(1)解密消息:PGP用消息的会话密钥部分中的KeyID作为索引,从私钥环中获取私钥;PGP提示输入口令短语,恢复私钥;PGP恢复会话密钥,并解密消息;(2)验证消息:PGP用消息的签名部分中的KeyID作为索引,从公钥环中获取发送者的公钥;PGP恢复被传输过来的消息摘要;PGP对于接收到的消息计算摘要,并与上一步的结果作比较。 4、PGP的信任模型 由于PGP重在广泛地在正式或非正式环境下的应用,所以它没有建立严格的公钥管理模式。尽管PGP没有包含任何建立认证权威机构或建立信任体系的规范,但它提供了一个利用信任关系的方法,将信任关系与公钥联系起来。PGP定义了与基于X.509真实的公钥基础设施(PKI)不同的证书模型,即所谓“信任网(Web of Trust)”模型。传统PKI模型依赖于CA层次体系验证证书和其中的密钥。而PGP模型则允许多重地、独立地而非特殊可信个体签署的“名字/密钥”关联来证明证书的有效性,其理论是认为“只要有足够的签名,<名字/密钥>关联就是可信的,因为不会所有的签名者都是‘坏’的”。PGP的信任网就像人际关系网一样,通过下述方式让使用公钥的人相信公钥是其所声称的持有者:(1)直接来自所信任人的公钥;(2)由所信赖的人为某个自己并不认识的人签署的公钥。因此,在PGP中得到一个公钥后,检验其签名,如果签名人自己认识并信赖他,就认为此公钥可用或合法。这样,通过所认识并信赖的人,就可以和总多不认识的人实现PGP的安全E-mail通信。 具体而言,在PGP中是通过在公钥环中的下述3个字段来实现Web of Trust信任模型的:(1)密钥合法性字段(key legitimacy field):指示用户公钥合法性的可信等级。信任级别越高,则用户标识UserID与密钥间的绑定关系就越强。这个字段是由PGP计算的;(2)签名信任字段(signature trust field):每一个公钥项都有一个或者多个签名,这是公钥环主人收集到的、能够认证该公钥项的签名。每一个签名与一个signature trust field关联,指示PGP用户信任签名者对此公钥证明的程度。key legitimacy field 是由多个signeture trust field 导出的;(3)所有者信任字段(owner trust field):指示此公钥对其他公钥证书进行签名的信任程度。这个信任程度是由用户给出的。 PGP使用以个人为中心的信任模型,采取一种“社会信任链”的方式进行公钥分发。在这种方式下,用户可以自行决定对周围的联系人是否信任,并可以决定信任度的高低。用户只接收信任的朋友传送来的公钥,并且这些公钥都带有签名。这种方式反映了社会交往的本质,比较适合一般场合下的安全通信。 本实验通过实际操作,了解PGP/GPG4Win软件的常用功能,利用PGP/GPG4Win软件实现密钥管理、对文件和电子邮件的签名与加密等操作。
关于手机的一些基础知 手机工作原理介绍的一编文章(续四) 手机所有软件工作的流程都是在CPU的作用下进行的,具体的划分包括下文所述的5个流程。这些流程都是以软件数据的形式储于手机的EEPROM和FLASHROM中. 一、开机流程 当手机的供电模块检测到电源开关键被按下后,会将手机电池的电压转换为适合手机电路各部分使用的电压值,供应给相应的电源模块,当时钟电路得到供电电压后产生震荡信号,送入逻辑电路,CPU在得到电压和时钟信号后会执行开机程序,首先从ROM中读出引导码,执行逻辑系统的自检。并且使所有的复位信号置高,如果自检通过,则CPU给出看门狗(Watchdog)信号给各模块,然后电源模块在看门狗(Watchdog)信号的作用下,维持开机状态。 二、上网流程 手机开机后,既搜索广播控制信号道(BCCH)的载频。因为系统随时都向在小区中的各用户发送出用户广播控制信息。手机收集搜索到最强的(BCCH)的载频。对应的载频频率后,读取频率校正信道(FCCH),使手机(MS)的频率与同步。所以每一个用户的手机在不同上午位置(既不同的小区)的载频是固定的,它是由GSM网络运营商组网时确定,而不是由用户的GSM手机来决定。手机读取同步信道(SCH)的信息后找出基地站(BTS)的任别码,并同步到超高帖TDMA的帖号上。手机在处理呼叫前读取系统的信息。比如:邻近小区的情况、现在所处小区的使用频率及小区是否可以使用移动系统的国家号码和网络号码等等,这些信息都可以在以BCCH上得到手机在请求接入信道(RACH)上发出接入请求信息,向系统送SIM卡帐号等信息。系统在鉴权合格后,通过允许接入信道(AGCH)使GSM手机接入信道上并分 配到GSM手机一个独立专用控制信道(SDCCH)。手机在SDDCCH上完成登记。在满速随路控制信道(SACCH)上发出控制指令,然后手机返回空闲状态,并监听BCCH和CCCH共控制信道上的信息。此时手机已经做好了寻呼的准备工作。 一、 机流程 用户监测BCCH时,必须与相近的基站取得同步。通过接收FCCH、SCH 、BCCH信息,用户将被锁定到系统及适应的BCCH上。 二、 呼叫流程 1、手机作主叫 我们GSM系统中由手机发出呼叫的情况,首先,用户在监测BCCH时,必须与相近的基站取得同步。通过接收FCCH、SCH、BCCH信息,用户将被锁定到系统及适当的BCCH上的。为了发出呼叫,用户首先要拨号,并按压GSM手机的发射键。手机用锁定它的基站系统的ARFCN来发射RACH数据突发序列。然后基站以CCCH上的AGCH信息来响应,CCCH为手机指定一个新的信道进行SDSSH连接。正在监测BCCH中T的用户,将从AGCH接收到它的ARFCN和TS安排,并立即转到新的ARFCN和TS上,这一新的ARFCN和TS分配就是SDCH(不是TCH)。一旦转接到SDCCH,用户首先等待传给它的SCCH(等待最大持续26或120ms)这信息告知手机要求的定时提前量和发射功率。基站根据手机以前的RACH传输数据能够决定出适合的定时提前量和功率级,并且通过SACCH发送适当的数据供手机处理。在接收和处理完SACCH中的定时提前量信息后,用户能够发送正常的、话音业务所要的求的是突发序列消息。当PSTN从拨号端连接到MSC,且MSC将话音路径接入服务基站时,SDCCH检查用户的合法及有效性,随后在手机和基站之间发送信息。几秒钟后,基站经由SDSSH告知手机重新转向一个为TCH安排的ARFCN和TS。一旦再次接到TCH,语音信号就在前向链路上传送,呼叫成功建立,SDCCH被腾空。 2、手机作被叫 当从PSTN发出呼叫时,其过程与上述过程类似。基站在BCCH适应内的Tso期间,广播一个PCH消息。锁定于相同ARFCN上的手机检测对它的寻呼,并回复 一个RACH消息,以确认接收到寻呼。当网络和服务器基站连接后,基站采用CCCH上的AGCH将手机分配到一个新的物理信道,以便连接SDCCH和 SACCH。一旦用户在SDCCH上建立了定时提前量并获准确认后,基站就在SDCCH上面重新分配物理信道,同时也确立了TCH的分配。 三、 关机流程 关机时,按下开关键,键盘检测模块向数字逻辑部分发出一个关机请求信号,CPU既撤消开机维持信号,执行关机程序,供电模块撤消供电,射频和逻辑电路立即停止工作,从关机。如果在开机状态下强制关机(取下电池)也有可能会造成内部软件故障。另外手机还包含其它软件工作流程如充电流程、电池监测、键盘扫描、测试流程等。 手机软件的常见故障及维修 软件故障的认识 4•4•1 什么是软件故障 在上面的节章中我们已经大概了解了软件及单片机的系统,现在让我们来了解一下什么是软件的故障。在手机中,会引发控制系统不正常有两种情况:一方面是软件故障 (如存储器、CPU虚焊、损坏,数据输送通道有问题);另一方面是软件数据丢失或者错乱软件问题。所以,我们定义:一切由CPU、存储器的数据,程序出现问题 (如错乱、损坏、丢失、中毒等等)而引起的各种各样的故障现象,统称为软件故障 4•1•2软件故障的表现 由软件引起的故障是千奇百怪的,但归纳起来主要的有四个方面: 1、 软件的错乱、损坏在手机的屏幕显示返厂维修等信息,其主要表现有: A、显示“联系服务商(CONTACT SERVICE)” B、显示“电话无效,联系服务商(PHONE FAILED SERVICE)” C、显示“软件出错(WRONG SOFTWARE)” D、显示“请等待输入八位特别码(Please Wait To Enter Special Code)” E、显示“非法软件下载(illegal software loaded)” 2、用户自行锁机但又无法开锁,所有的原厂密码均别改动,出厂开锁密码无效,这种情况也是软件故障。 3、电路正常的情况下,出现不开机、不入网、定屏死机,无信号,低电告警、无发射故障,也属于软件故障的范畴。 4、它的软件故障。 4•1•3 软件故障的判定 在手机的故障中,有些故障是很显而易见是由软件问题而引发的,如手机被锁等,只需处理软件OK!有时也可以通过开机电流来判断,去手机不开机,我们一般可以观察 其开机电流来大致判断,比如8088开机在30mA左右定一会回零。对于定屏死机,比如说夏新A8大屏不显示,小屏定屏也属软件故障;对于能开机的软件故障, 我们一般是先要观其现在的版本号,例如三星手机,西门子手机、TCL手机等,由于老版本程序存在着教多的隐藏故障,一般采用更新版进行升级。另外还要注意对应版 本的问题,比如TCL就有不同显示屏的对应版本号,波导 S1000出线“bad software”(软件坏了)此故障多是软件版本不对引起的,只要写对软件版本就可以解决问题。另外,S1000的新旧模块和新旧LCD的组合要选择合适的软件版本, 否则会出现 “bad software” 故障。例如:旧LCD+旧模块,适用软件是409AM11B。19A,如果错用了412KM12A。21A或412KM12A。20F均会出现“bad software”。旧模块,适用软件是412KM12A.21A,如果错用了409AM11B.19A或409AM11B.19F。均会出现“bad software”等。三星机也有不同版本的对应升级程序。当然也有修理出来的软件故障,这是由于厂家对程序进行硬件跟踪对码工作,导致更换相应元件后而出现软件故障不能正常使用。比如NOKIA手机从DCT3都一直硬件对码加密措施;现在三星比如V208说机也采用了硬件对码技术,对我们的软件维修带来了阻碍。 第二节 手机软件故障处理技巧 CPU通过读取到的内部指挥手机工作,这就要求软件内容必须正确,不能 丝毫的差错,遇到软件故障应按一下方法进行处理。 4•2•1 缩小故障范围 判断故障需先将故障范围缩小,并要确定故障类型,既属于硬件故障(如存储器本身损坏)这是内部软件故障。若是硬件故障,在却保其无焊接不良的情况下,应对其进行 更换。若是软件故障,必须用软件维修仪来重新写软件。维修实践中发现,手机的软件绝大多数出在码片,并多数是芯片中的数据丢失或出错 4•2•2 处理故障技巧 手机出现软件故障,有免拆机和拆机两种方式进行处理,下面介绍两种方式的特点。免拆机方式就是借助专门的软件维修设备,配合电脑,在不拆机的情况下对手机软件故 障进行处理。比如目前较好的全功能数码手机软件故障维修仪,可处理如锁机、显示“联系服务商”、“话机坏,请送修”、“输入保密码” 、 “软件环” 、 不识 卡、不入网、黑屏、低电报警故障,用免拆机方式处理软件故障很方便,不用拆机,不改变手机的串号IMEI,对手机内部电路也无须影响。 免拆机处理方式不是很万能的,如果手机不能开机或碰到其他一些没有免拆机处理程序的品牌手机;遇到软件故障只有将手机的码片或字库用热风枪吹下,用万能编程器(如LABTOOL-48),配电脑进行重写(电脑中事先应存有各种手机的数据资料),即用电脑内已有的正常数据覆盖故障手机中的数据,如果找不到故障手机同型号数据,则只有自己进行扩充,需先找一台同型号手机,将其码片拆下,用编程器读出其中数据,存进电脑即可。拆机软件维修仪不适用于码片和版本合二为一的机型(早斯的手机如摩托罗拉L2000、西门子2588、摩托罗拉T2688等。现在的新型手机如摩托罗拉系列包括V988、V60等)无论用免拆机软件维修仪还是用拆机软件维修仪,写资料前都要查看手机的版本,即使是同一类型的手机,由于其生产日期和产地的不同,其版本号可能不同,所以,在维修手机过程中,对软件的处理一定要核对其版本,否则会造成不开机或某些功能失效等故障。另外,很多手机的字库采用了BGA封装,如果没有十分把握,特别是初学者就千万不要去动他,因为BGA封装的集成电路对焊接技术要求很高,在重装时要使用专门的焊接工具(BGA置锡工具),否则会越修越复杂。 第三节 用软件维修仪对软件故障进行处理的方法 由于软件故障的处理在手机维修中的重要性,使得从事手机维修仪生产的厂家推出了各种各样的软件故障维修仪。如上所述的维修处理技巧中已提及,从处理的方法来分,主要为以下几大类:一类是将字库或码片拆下来重写,-48以及其它类型的编程器;另一类是免拆机的软件修复。而在免拆机情况下对手机软件的重写,又可分为两种情况:一种情况是用免电脑、免拆机的软件维修仪进行修复;另一种情况用电脑、免拆机的软件维修仪进行修复。虽然目前处理手机软件的仪器工具很多,但总的来说都是利用维修软件及工具将手机内单片机系统出错的程序资料重写或覆盖并进行调校。 4•3•1 用带电脑需拆机软件仪进行维修的方法 这种方法是将正确码片或字库的数据资料读出存放于电脑当中,当手机出现软件故障时,将故障机的码片或字库取下来,放上万用编程器去重新写入软件资料,然后重新焊回码片或字库。些方法在早期的数码手机维修当中用的较多,原因是早期的手机码片或字库多容易取下来读和写,但由于近期生产的手机字库大多为BGA封装,不便取下来。而且厂家也在软件上采取了相应的加密措施,使的有一些手机的码片或字库不能拆下来读写,使得这种方法存在局限性,将逐渐被弃用。 4•3•2 用免电脑免拆机软件仪进行软件维修的方法 在软件故障当中有一些只是软件错乱造成的,如“手机被锁”这一类型的故障就只要处理码片资料就可以解决,由于软件数据量不大,采用简单的单片机就可以处理。但由于字库数据量较大,采用这种方法一般的单片机就无法达到要求,所以在处理字库引起的软件故障中用的很少。这种方法的优点是操作简单,不需要拆机。缺点是由于单片机功能欠缺家上存储器容量有限,只能处理一些简单故障。如图4-3-2所示的就是用于修改DTC4 串号的免电脑免拆机的软件维修仪。 4•3•3 用电脑免拆机软件仪进行软件维修的方法 由于存储器数据容量太大和采用BGA封装,所以采用前面的两种方法都不能很好解决问题。存储容量的增大,最好借助于电脑。为了不拆字库,最好用免拆机的方法通过手机的外部数据接口来对手机软件进行修复。这种方法就是带电脑免拆机的软件维修方法,在近期的手机维修当中用的较多。这种方法的特点是:一方面将手机软件存资料入电脑,由于电脑存储器容量大,因此可以将大量的手机软件资料存入;另一方面利用手机的外部数据接口,配合相应的驱动程序,可以将手机和电脑连接在一起进行通信,将软件资料从电脑传输到手机,进行软件修复。带电脑免拆机的软件故障维修仪很多,但大多数是将手机数据软件存放于电脑,然后通过电脑串口输出,经过RS232接口与手机进行通信。摩托罗拉手机的数据接口与其它手机不一样,采用了专用的接口电路,所以数据从串口输出后要经过一个专用接口才能写入手机,这种设备我们通常城之为“EMMIBOX”。还有集所有软件仪功能于一体的“BOX王”。上述这几种方法各有其特点,但目前用的最多且最有效的方法是第三种方法。
openssl-1.0.0a源代码  SSL是Secure Socket Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。Netscape公司在推出第一个Web浏览器的同时,提出了SSL协议标准,目前已有3.0版本。SSL采用公开密钥技术。其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支持。目前,利用公开密钥技术的SSL协议,已成为Internet上保密通讯的工业标准。安全套接层协议能使用户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对用户进行认证。SSL协议要求建立在可靠的传输层协议(TCP)之上。SSL协议的优势在于它是与应用层协议独立无关的,高层的应用层协议(例如:HTTP,FTP,TELNET等)能透明地建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。通过以上叙述,SSL协议提供的安全信道有以下三个特性: 1.数据的保密性 信息加密就是把明码的输入文件用加密算法转换成加密的文件以实现数据的保密。加密的过程需要用到密钥来加密数据然后再解密。没有了密钥,就无法解开加密的数据。数据加密之后,只有密钥要用一个安全的方法传送。加密过的数据可以公开地传送。 2.数据的一致性 加密也能保证数据的一致性。例如:消息验证码(MAC),能够校验用户提供的加密信息,接收者可以用MAC来校验加密数据,保证数据在传输过程中没有被篡改过。 3.安全验证 加密的另外一个用途是用来作为个人的标识,用户的密钥可以作为他的安全验证的标识。SSL是利用公开密钥的加密技术(RSA)来作为用户端与服务器端在传送机密资料时的加密通讯协定。   什么是OpenSSL    众多的密码算法、公钥基础设施标准以及SSL协议,或许这些有趣的功能会让你产生实现所有这些算法和标准的想法。果真如此,在对你表示敬佩的同时,还是忍不住提醒你:这是一个令人望而生畏的过程。这个工作不再是简单的读懂几本密码学专著和协议文档那么简单,而是要理解所有这些算法、标准和协议文档的每一个细节,并用你可能很熟悉的C语言字符一个一个去实现这些定义和过程。我们不知道你将需要多少时间来完成这项有趣而可怕的工作,但肯定不是一年两年的问题。   首先,应该感谢Eric A. Young和Tim J. Hudson,他们自1995年开始编写后来具有巨大影响的OpenSSL软件包,更令我们高兴的是,这是一个没有太多限制的开放源代码的软件包,这使得我们可以利用这个软件包做很多事情。Eric A. Young 和Tim J. Hudson是加拿大人,后来由于写OpenSSL功成名就之后就到大公司里赚大钱去了。1998年,OpenSSL项目组接管了OpenSSL的开发工作,并推出了OpenSSL的0.9.1版,到目前为止,OpenSSL的算法已经非常完善,对SSL2.0、SSL3.0以及TLS1.0都支持。   OpenSSL采用C语言作为开发语言,这使得OpenSSL具有优秀的跨平台性能,这对于广大技术人员来说是一件非常美妙的事情,可以在不同的平台使用同样熟悉的东西。OpenSSL支持Linux、Windows、BSD、Mac、VMS等平台,这使得OpenSSL具有广泛的适用性。不过,对于目前新成长起来的C++程序员,可能对于C语言的代码不是很习惯,但习惯C语言总比使用C++重新写一个跟OpenSSL相同功能的软件包轻松不少。   OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。   作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。 [编辑本段]对称加密算法   OpenSSL一共提供了8种对称加密算法,其中7种是分组加密算法,仅有的一种流加密算法是RC4。这7种分组加密算法分别是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持电子密码本模式(ECB)、加密分组链接模式(CBC)、加密反馈模式(CFB)和输出反馈模式(OFB)四种常用的分组密码加密模式。其中,AES使用的加密反馈模式(CFB)和输出反馈模式(OFB)分组长度是128位,其它算法使用的则是64位。事实上,DES算法里面不仅仅是常用的DES算法,还支持三个密钥和两个密钥3DES算法。 [编辑本段]非对称加密算法   OpenSSL一共实现了4种非对称加密算法,包括DH算法、RSA算法、DSA算法和椭圆曲线算法(EC)。DH算法一般用户密钥交换。RSA算法既可以用于密钥交换,也可以用于数字签名,当然,如果你能够忍受其缓慢的速度,那么也可以用于数据加密。DSA算法则一般只用于数字签名。 [编辑本段]信息摘要算法   OpenSSL实现了5种信息摘要算法,分别是MD2、MD5、MDC2、SHA(SHA1)和RIPEMD。SHA算法事实上包括了SHA和SHA1两种信息摘要算法,此外,OpenSSL还实现了DSS标准中规定的两种信息摘要算法DSS和DSS1。 [编辑本段]密钥和证书管理   密钥和证书管理是PKI的一个重要组成部分,OpenSSL为之提供了丰富的功能,支持多种标准。   首先,OpenSSL实现了ASN.1的证书和密钥相关标准,提供了对证书、公钥、私钥、证书请求以及CRL等数据对象的DER、PEM和BASE64的编解码功能。OpenSSL提供了产生各种公开密钥对和对称密钥的方法、函数和应用程序,同时提供了对公钥和私钥的DER编解码功能。并实现了私钥的PKCS#12和PKCS#8的编解码功能。OpenSSL在标准中提供了对私钥的加密保护功能,使得密钥可以安全地进行存储和分发。   在此基础上,OpenSSL实现了对证书的X.509标准编解码、PKCS#12格式的编解码以及PKCS#7的编解码功能。并提供了一种文本数据库,支持证书的管理功能,包括证书密钥产生、请求产生、证书签发、吊销和验证等功能。   事实上,OpenSSL提供的CA应用程序就是一个小型的证书管理中心(CA),实现了证书签发的整个流程和证书管理的大部分机制。   5.SSL和TLS协议   OpenSSL实现了SSL协议的SSLv2和SSLv3,支持了其中绝大部分算法协议。OpenSSL也实现了TLSv1.0,TLS是SSLv3的标准化版,虽然区别不大,但毕竟有很多细节不尽相同。   虽然已经有众多的软件实现了OpenSSL的功能,但是OpenSSL里面实现的SSL协议能够让我们对SSL协议有一个更加清楚的认识,因为至少存在两点:一是OpenSSL实现的SSL协议是开放源代码的,我们可以追究SSL协议实现的每一个细节;二是OpenSSL实现的SSL协议是纯粹的SSL协议,没有跟其它协议(如HTTP)协议结合在一起,澄清了SSL协议的本来面目。 [编辑本段]应用程序   OpenSSL的应用程序已经成为了OpenSSL重要的一个组成部分,其重要性恐怕是OpenSSL的开发者开始没有想到的。现在OpenSSL的应用中,很多都是基于OpenSSL的应用程序而不是其API的,如OpenCA,就是完全使用OpenSSL的应用程序实现的。OpenSSL的应用程序是基于OpenSSL的密码算法库和SSL协议库写成的,所以也是一些非常好的OpenSSL的API使用范例,读懂所有这些范例,你对OpenSSL的API使用了解就比较全面了,当然,这也是一项锻炼你的意志力的工作。   OpenSSL的应用程序提供了相对全面的功能,在相当多的人看来,OpenSSL已经为自己做好了一切,不需要再做更多的开发工作了,所以,他们也把这些应用程序成为OpenSSL的指令。OpenSSL的应用程序主要包括密钥生成、证书管理、格式转换、数据加密和签名、SSL测试以及其它辅助配置功能。   7.Engine机制 Engine机制的出现是在OpenSSL的0.9.6版的事情,开始的时候是将普通版本跟支持Engine的版本分开的,到了OpenSSL的0.9.7版,Engine机制集成到了OpenSSL的内核中,成为了OpenSSL不可缺少的一部分。 Engine机制目的是为了使OpenSSL能够透明地使用第三方提供的软件加密库或者硬件加密设备进行加密。OpenSSL的Engine机制成功地达到了这个目的,这使得OpenSSL已经不仅仅使一个加密库,而是提供了一个通用地加密接口,能够与绝大部分加密库或者加密设备协调工作。当然,要使特定加密库或加密设备更OpenSSL协调工作,需要写少量的接口代码,但是这样的工作量并不大,虽然还是需要一点密码学的知识。Engine机制的功能跟Windows提供的CSP功能目标是基本相同的。目前,OpenSSL的0.9.7版本支持的内嵌第三方加密设备有8种,包括:CryptoSwift、nCipher、Atalla、Nuron、UBSEC、Aep、SureWare以及IBM 4758 CCA的硬件加密设备。现在还出现了支持PKCS#11接口的Engine接口,支持微软CryptoAPI的接口也有人进行开发。当然,所有上述Engine接口支持不一定很全面,比如,可能支持其中一两种公开密钥算法。 [编辑本段]辅助功能   BIO机制是OpenSSL提供的一种高层IO接口,该接口封装了几乎所有类型的IO接口,如内存访问、文件访问以及Socket等。这使得代码的重用性大幅度提高,OpenSSL提供API的复杂性也降低了很多。   OpenSSL对于随机数的生成和管理也提供了一整套的解决方法和支持API函数。随机数的好坏是决定一个密钥是否安全的重要前提。   OpenSSL还提供了其它的一些辅助功能,如从口令生成密钥的API,证书签发和管理中的配置文件机制等等。如果你有足够的耐心,将会在深入使用OpenSSL的过程慢慢发现很多这样的小功能,让你不断有新的惊喜。
《网络管理与安全》课程标准 一、课程概述 计算机网络是计算机技术和通信技术密切结合形成的新的技术领域,是当今计算机界 公认的主流技术之一,也是迅速发展并在信息社会得到广泛应用的一门综合性学科.在社 会日益信息化的今天,信息网络的大规模全球互联趋势,以及人们的社会与经济活动对计 算机网络依赖性的与日俱增,不但使计算机网络管理成为计算机网和电信网研究建设中 的重要内容之一,而且使得计算机网络的安全性成为信息化建设的一个核心问题。为适应 计算机网络技术发展和应用的需要,计算机专业学生应对网络管理与安全技术有所了解 和认识,进而学会在实践中掌握和运用。 计算机网络管理与安全是一门集计算机技术与通信技术为一体的综合性交叉学科,是 计算机网络技术的研究前沿。它综合运用这两个学科的概念和方法,形成了自己独立的体 系。学习计算机网络安全课程之前,应很好地掌握计算机系统结构、计算机原理、数据 通信、计算机网络基本原理等相关课程。 二、课程目标 通过本课程的学习,要求学生能够在已有的计算机原理、通信原理和计算机网络技术 等理论基础上,对计算机网络管理与安全有一个系统的、较全面的了解;首先要理解网 络管理的基本原理以及SNMP简单网络管理协议的使用方法;掌握日常的网络管理及维护 ;知道网络管理在不同应用领域的具体实现技术,国际标准、网络管理技术的发展动向等 知识;理解计算机网络特别是计算机互联网络安全的基本概念,理解计算机网络安全的 基础知识,以及网络安全技术研究的内容;知道当前计算机网络安全技术面临的挑战和 现状;了解网络安全策略以及网络安全体系的架构,了解常见的网络攻击手段,掌握入侵 检测的技术和手段。了解设计和维护安全的网络及其应用系统的基本手段和常用方法。 总之,学习完本课程后,学生应该具有较系统的网络管理与安全知识,并在实际应用 时具备一定的网络维护能力;具有一定的防范非法入侵、维护系统安全性的能力。 三、课程内容和教学要求 (( 这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。这四个层次的一 般涵义表述如下: 知道:是指对这门学科和教学现象的认知. 理解:是指对这门学科涉及到的概念、原理、策略与技术的说明和解释,能提示所涉 及到的教学现象演变过程的特征、形成原因以及教学要素之间的相互关系。 掌握:是指运用已理解的教学概念和原理说明、解释、类推同类教学事件和现象,并 能够用所学的内容分析、初步设计和解答与实际应用相关的问题 学会:是指能模仿或在教师指导下独立地完成某些教学知识和技能的操作任务,或能 识别操作中的一般差错。 1. 网络管理概述 "教学内容 "教学要求 " " "知道 "理解 "掌握 "学会 " "1.网络管理的基本概念及功能与标准 " " " " " "2.简单网络管理协议SNMP介绍 " " " " " "3.网络管理诸因素的分析 " " " " " "4.日常网络管理 " " " " " "5.网络管理解决方案 " " " " " "6.网络管理技术的发展动向 " " " " " (二)网络安全性与研究对象 "教学内容 "教学要求 " " "知道 "理解 "掌握 "学会 " "1.网络安全面临的威胁 " " " " " "2.网络安全的内容及分析 " " " " " "3.OSI安全性体系结构 " " " " " "4.计算机网络安全的研究对象 " " " " " "5.数据加密的基本概念 " " " " " "6.OSI环境下的威胁和安全措施 " " " " " (三)计算机病毒及其防范 "教学内容 "教学要求 " " "知道 "理解 "掌握 "学会 " "1.病毒基本概念 " " " " " "2.DOS平台病毒 " " " " " "3.WINDOWS平台病毒 " " " " " "4.网络病毒与防护 " " " " " "5.黑客攻击及其防备 " " " " " (四)防火墙概述 "教学内容 "教学要求 " " "知道 "理解 "掌握 "学会 " "1.防火墙的概念及作用与种类 " " " " " "2.防火墙配置和访问控制策略 " " " " " "3.防火墙的体系结构 " " " " " "4.防火墙的未来 " " " " " (五)堡垒主机 "教学内容 "教学要求 " " "知道 "理解 "掌握 "学会 " "1.堡垒主机的种类 " " " " " "2.堡垒主机提供的服务 " " " " " "3.建立堡垒主机 " " " " " "4.堡垒主机的监控 " " " " " "5.堡垒主机的维护和备份 " " " " " (六)数据包过滤 "教学内容 "教学要求 " " "知道 "理解 "掌握 "学会 " "1.数据包概念 " " " " " "2.数据包过滤的工作机理 " " " " " "3

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值