你好!这个比较困难了啊! 我觉得这个你需要自己总结一下, 云计算安全还是比较尖端的技术的!相关的文章还是有的!祝你成功!
当前计算机网络系统面临的信息安全保密形势越来越严峻。下面是我为大家整理的计算机网络安全问题论文,供大家参考。
计算机安全常见问题及防御 措施
摘要:计算机的应用对于生产和生活的建设具有重要的作用,在信息化时代,如果没有计算机就会造成经济和技术的脱节。但是,计算机在给人们带来便利的同时,已给人们制造了一些麻烦,信息泄露等计算机安全问题值得我们的注意,无论是对于个人还是对于国家来说,信息资源安全才有利于未来的建设。 文章 对计算机的硬件和软件的安全问题和防御措施进行了具体的分析,并强调了解决计算机安全问题的迫切需要。
关键词:计算机;安全问题;预防对策;软件和硬件
计算机是人类最伟大的发明之一,近年来,随着技术的不断革新,计算机在各个行业中都有广泛的应用,无论是在企业的管理中还是在数字化技术的应用中,计算机软件都提供了较大的帮助,在人们的生活中,计算机的应用也是无处不在。但是,计算机由于其开放性的特点,在网络安全方面存在隐患,如果得不到及时的处理,就会给人们的生活和国家的安全建设带来困扰,因此,必须加强计算机的安全性建设问题。
1计算机的硬件安全问题及预防对策
芯片的安全问题
计算机是由芯片、主机、显卡等硬件组成的。目前,市场上的计算机品牌较多,国外的计算机技术和高科技水平比较先进,在我国的一些高端人才和企业中,使用进口计算机的群体较多。在计算机硬件中,如在芯片的使用中就存在较多的安全隐患。在芯片等硬件设施中,国外一些技术人员植入了较多的病毒和指令,能够入侵使用者的电脑程序,造成个人资料、企业信息、甚至是国家的建设信息泄漏,甚至由于其携带的病毒,导致计算机信息系统的瘫痪,严重影响个人安全和国家安全。另外,在一些网卡和显卡中同样会携带木马。一些电脑 爱好 者,喜欢自己购买计算机硬件进行组装,如果没有到有保障的场所购买,很容易造成计算机硬件的信息安全问题,一些干扰程序通过激活后,会给计算机带来严重的后果,影响企业和个人的安全使用。
计算机电磁波信息泄露问题
计算机在运行中存在一定的辐射,这种电磁波的辐射实质上是一种信息的储存。随着经济技术的不断发展,一些高尖技术人才对于计算机的开发与利用研究得十分透彻,在市场环境中,相应的预防措施还不能赶超计算机信息剽窃人员的相关技术。通过相关设备的使用,剽窃者通过电磁波的频率就能够对计算机的信息进行复原。另外,与计算机连接的设备愈多,其电磁波的辐射能力愈强,愈容易被人接受和剽取。除了无形的电磁波能造成计算机信息的泄漏外,还会通过计算机连接的电源线和网线造成安全问题。这主要是因为计算机在信息的传递中,都是通过电磁波来实现的,电线和网线中都有电磁信号的传播。
具体的解决措施
在解决计算机硬件的安全性问题中,相关工作者要对芯片等硬件部件和电磁波辐射两个方面进行预防。在硬件的防御对策中,相关人员可以进行备份贮存。例如可以使用双硬盘与计算机进行连接,当一个贮存硬盘发生程序故障时,可以及时断开,另一个硬盘还可以持续工作,在不延误工作执行的过程中,完成信息资料的保护。在电磁波的辐射问题上,相关技术人员可以进行屏蔽设备的连接,减少电磁波的扩散,并可以进行电磁波干扰技术的实施,干扰剽窃者的接收情况,致使信息资料无法复原。
2计算机软件上的网络安全问题及防御对策
计算机软件的安全问题
计算机软件上的信息泄露问题比较严重,也是造成计算机安全问题的主要体现。由于计算机在使用中接触到的软件、视频、网站和文档的机会较多,一些恶性病毒和木马等就会随着计算机的应用进行入侵,造成信息资料的破坏。例如,计算机没有进行完善的安全防火墙和病毒查杀软件的使用时,一些顽固性的病毒和木马就会对计算机程序进行恶意的篡改,造成信息资料的流失,重要文档资料的篡改和破坏等。在计算机的安全问题中,还有一部分是由于人为的原因引起的。在一些钓鱼网站中,不法人员通过网站注册、链接点击等,对使用者的计算机进行个人信息的采集,得到相关资料后,还会伪造使用者的相关信息,实施网络等行为。另外,在一些机密企业中,还存在计算机窃听和黑客入侵等问题,这主要通过相关设备和高端的技术操作完成,相关单位要做好信息安全的维护。
具体的防御措施
加密处理是实现计算机信息安全的基本措施,主要有两方面的内容。其一,对称加密处理,即私钥加密,是信息的收发双方都使用同一个密钥去加密文件和解密文件。其主要的优势就是加密和解密的速度快捷,但是这适合小批量的数据处理。其二,就是非对称加密,又被称作公钥加密,基于此种加密措施处理的加密和解密,一方用公钥来发布,另外一方用私钥来保存。信息交换的过程是:甲方生成一对密钥并将其中的一把作为公钥向其他交易方公开,得到该公钥的乙方使用该密钥对信息进行加密后再发送给甲方,甲方再用自己保存的私钥对加密信息进行解密。在一些机密的企业和个人电脑中,进行加密处理,预防计算机软件的信息泄露还是远远不够的,为了达到进一步的安全性保障,可以通过认证技术进行防御。所谓认证技术就是对信息发送者与接收者进行双重的保护措施。保证信息在传输过程中不会出现缺失的情况。这种认证技术的类型有数字签名和数字证书。其中数字签名也就是电子签名,即在文本中自动生成一个散列值,再以私钥的方式对散列值进行加密处理,最后将这个数字签名发送给接收方;报文的接收方首先从接收到的原始报文中计算出散列值,接着再用发送方的公开密钥来对报文附加的数字签名进行解密;如果这两个散列值相同,那么接收方就能确认该数字签名是发送方的。
3结语
计算机的应用是以技术为前提的,相应的,在安全问题的预防对策中,也应从技术方面进行探讨。相关技术人员要对引起信息安全问题的原因进行具体的分析,对电磁波辐射和软件网络引起的信息安全进行重点研究,加强电磁屏蔽技术和密钥加密技术的运用,在生活和生产中宣传计算机安全建设的重要性,普及相关的技术,依靠人民群众的力量,促进计算机网络安全的实施。
参考文献
[1]丁晨皓.计算机安全面临常见问题及防御对策探讨[J].中国新通信,2015,(6):33.
计算机安全中数据加密技术分析
摘要:随着社会经济和科学技术的不断发展,计算机技术不论是在国防、医疗、 教育 、银行、工业等各行业领域都有了广泛的应用,但是,有利必有弊,计算机技术也存在许多弊端。其中,网络的便利的确给人们的办公和日常生活带来极大的便利,可是在网络数据的安全性还是受到人们的质疑,类似的案件也层出不穷,像银行卡和个人信息在银行数据库被攻克时泄露导致个人财产收到极大的损失,所以,加强计算机安全中数据加密技术的应用势在必行。本文就计算机安全中数据加密技术的现状,概念分类及其应用做出简要的分析。
关键词:计算机安全;数据加密技术;应用
一、计算机安全中数据加密技术的发展现状
在现今的计算机 操作系统 领域中,基本上是微软公司一家独大,这十分不利于计算机数据安全,特别是在国防方面,所以我国也在积极研发属于自己的麒麟系统,虽然与国外的计算机操作系统还存在着巨大的差异,但是,这是必须要做的工作,一旦比较重要的国防信息被那些图谋不轨的战争分子掌握,会对国家的财产安全造成巨大的损失。微软公司的wind,S操作系统之所以被广大人民接受,是因为其操作简单,功能齐全,但是,这也导致了众多的黑客不断地对这单一的系统进行攻克,在这一过程中,黑客不断地发现系统漏洞并利用这一漏洞进行攻击,随后,微软公司再对这些漏洞进行封杀和打补丁,这就是为什么微软的操作系统需要不断更新的缘由。操作系统的漏斗是永远无法修补干净的是众所周知的,所以,计算机安全中数据加密技术更需要加快发展。因为利益方面的问题,许多黑客甘愿冒着巨大的风险偷取数据,甚至,这种行为出现了团队化和行业化,对计算机的发展造成了巨大的困扰。从里一个方面来看,现在进人了一个互联网的云时代,许多信息都是通过网络传播和泄露,在这些技术的传播过程中也存在巨大的安全隐患,一些比较重要的信息如果被有心之人截取并解除出来,像个人的银行卡账号密码,身份证号码,家庭住址等比较隐秘的信息,会对个人财产和生命安全带来极大的隐患。所以,计算机安全中数据加密技术就得到了众多人的重视,特别是在数据传输协议上的应用,属于现阶段应该加强的方面。
二、计算机安全中数据加密技术分析
大多数的计算机安全中数据加密技术都是利用密码学的相关技术将一段文字或数据编译成相对应密码文,变成不容易别别人了解其真正含义的文字或数据,除非获得与之相对应的解除 方法 ,否则,即使获得这段信息也不会得到其真正的信息,成为一段无用之文,从而达到将信息加密的效果,保证计算机信息安全的关键和核心。通常,传统的加密方法包括置换表算法、改进的置换表算法、循环位移操作算法、循环校验算法。其中,置换表算法是这些方法中最简单的算法,是将一段数据中的每个字按照相对应的置换表进行等量位移形成加密文件,这一般用于不是而别机密的文件,在对这些加密后的文件进行解读时只需要按照加密所用的置换表进行位移转化还原回来即可。而改进的置换表算法则是为了加强文件的加密程度,利用了两个或者更多的置换表,将文件的每个字符进行随机的转化,当然,这也是有一定规律可言,在进行还原时还是利用相应的置换表还原,理论上讲,所利用的置换表越多,文件的加密效果就越好,但是,相对应的成本和技术要求就越高,可以按照文件的重要性进行适度的选择。循环位移操作加密是一种只能在计算机内操作的加密手段,通常是将文件的字符通过位移计算改变其在文件的方向并通过一个函数循环,快速的完成加密工作,虽然这种加密方法比较复杂,但是其加密效果比较好,在众多领域都有所应用。循环校验算法,简称为CRC,是一种基于计算机或者数据库等传输协议等信息高位数函数校验算法,大多在文件的传输过程中的加密。
三、计算机安全中数据加密技术的应用
计算机安全中数据加密技术的应用非常广泛,应用比较多的有基于数据库的网络加密,基于软件的文件机密,基于电子商务的商务加密,基于虚拟网络的专用网络加密。在其中,每一项计算机安全中数据加密技术的应用都有了十分成熟的方案和技术。由于计算机网络数据库中存放着大量的数据和文件,是大多数黑客的攻克方向,所以,基于网络数据库的加密技术就显得尤为重要。目前的网络数据库管理系统都是在微软的wind,Sllt系统, 系统安全 方面存在着一定的隐患,所以,网络数据库对访问用户的身份验证和权限要求及其严格,特别针对比较敏感的信息和权限设定了特殊的口令和密码识别,这一类的加密方法多适用于银行等数据存量庞大,信息比较重要的领域。基于软件加密的加密技术在我们的日常活动比较常见。日常所用的杀毒软件一般都会带有这种功能,多用于个人比较隐私的文件进行加密,网络上红极一时的艳照门的事发人冠希哥如果懂得利用软件对那些照片进行加密的话就不会流传到网络上了。此外,在进行软件加密时要检查加密软甲的安全性,现在许多电脑病毒专门针对加密软件人侵,一旦被人侵,不但没有起到加密作用,更将个人的隐私暴漏给别人,要是被不法之徒利用,将会对个人的日常生活造成极大的困扰。基于电子商务的加密技术在现今的商业战场上得到了极大地应用。如今的商业竞争极其惨烈,一旦商业机密泄露,会对公司和企业造成极其巨大的损失。现今的电子商务加大的促进了商业的发展格局,许多重要的的商业合同在网上便签订,大大提高了企业的办公效率,但是,随之而来的网络安全问题也随之体现,所以,在网络上签订合同和协议时都是利用专门的传输协议和安全证书,保证合同双方的信息不被其他公司获知,基于电子商务的加密技术成为了商业机密的有力保证。
四、结束语
综上所述,计算机安全中数据加密技术的提高是为了防止计算机中的数据信息被攻克,但这只是一种缓兵之计,没有任何一种计算机信息加密技术能够永远不被攻克,因为,在计算机技术加密技术发展的同时,与其相应的解除技术也在不断发展。计算机数据的安全性也与我们的日常行为有关,不安装不健康的软件,定时杀毒也对保护我们的计算机数据安全有很大的作用。
参考文献:
[1]朱闻亚数据加密技术在计算机网络安全中的应用价值研究田制造业自动化,2012,06:35一36
[2]刘宇平数据加密技术在计算机安全中的应用分析田信息通信,2012,02:160一161
计算机安全与防火墙技术研究
【关键词】随着 网络技术 的应用,网络安全问题成为当今发展的主要问题。保障计算机运行的安全性,不仅要增加新技术,防止一些有害因素侵入计算机,还要随着计算机技术的不断变革与优化,防止计算机内部消息出现泄露现象。本文根据防火墙的主要功能进行分析,研究防火墙技术在计算机安全中的运行方式。
【关键词】计算机;安全;防火墙技术
网络技术促进了人们的生产与生活,给人们带来较大方便。但网络技术在运用也存在一些危害因素,特别是信息泄露等现象制约了人们的积极发展。防火墙技术在网络中的有效运用不仅能促进网络信息的安全性,能够对网络内外部信息合理区分,还能执行严格的监控行为,保证信息使用的安全效果。
1防火墙的主要功能
能够保护网络免受攻击
防火墙的有效利用能够保护网络免受相关现象的攻击。在网络攻击中,路由是主要的攻击形式。如:ICMP重定向路径以及IP选项路径的源路攻击,利用防火墙技术能减少该攻击现象,并能够将信息及时通知给管理员。因此,防火墙能够对信息进行把关、扫描,不仅能防止身份信息的不明现象,还能防止攻击信息的有效利用。
能够说对网络进行访问与存取
防火墙的主要功能能够对网络信息进行有效访问以及信息存取。防火墙在利用过程中,能够对信息的进入进行详细的记录,还能够将网络的使用情况进行统计。如果出现一些可疑信息以及不法通信行为,防火墙就会对其现象进行判断,并对其进行报警。根据对这些信息的有效分析,能够加强对防火墙性能的认识与理解。
能够防止内部消息泄露现象
防火墙的主要功能能够防止内部信息发生泄漏现象。将内部网络信息进行有效划分,能够对所在的信息进行保护,并在一定程度上促进网络信息的安全效果,以防止信息发生外漏现象。因为内网中含有大量的私密信息,这种信息在利用过程中,能够引起相关者的兴趣以及积极性。因此,应发挥防火墙的正确利用以及科学实施,不仅将遇到的问题有效防范,还能对机主信息进行有效保护,以促进实施的安全效果。
能够集中进行安全优化管理
防火墙的主要功能能够实现集中化的安全优化管理。传统的网络执行的措施主要是主机,防火墙在其中的有效利用能够保障普通计算机的安全性,并降低成本。因此,在TCP/IP协议中,利用防火墙进行保护与利用,不仅能实现各个端口的共享性发展,还能解决安全问题。如果在这种形式下,没有利用防火墙进行有效保护,就会出现较大的信息泄露现象。
2防火墙技术在计算机安全中的有效运用
安全服务配置
安全服务隔离区是根据系统管理机群、服务器机群独立表现出来的,并产生了一种独立的、安全的服务隔离区。该部分不仅是内网的重要组成,还是一种比较相对独立的局域网。这种划分形式主要能够提高服务器上的数据保护以及安全运行。相关专家根据网络地址转换技术,能够对内网的主机地址进行映射,保证IP地址使用的有效性。这种发展形式不仅能够对内网的IP地址以及结构进行隐藏,保证内网结构的安全性,还能减少公网IP地址的占有,降低投资成本。如果利用边界路由器,还能加大这些设备的有效利用,特别是防火墙配置的有效利用。虽然原有的路由器具有防火墙功能,但现有的防火墙实现了与内部网络的有效连接。如:安全服务隔离区中的公用服务器并不是利用防火墙来实现的,它能直接与边界路由器进行连接。防火墙与边界路由器的有效结合,形成了双重 保险 形式,形成了安全保护形式,如果在防火墙以及边界路由器之间设置安全服务隔离区,能够加强公用服务器设施的有效利用。
配置访问策略
配置访问策略是防火墙中最重要的安全形式,访问策略在设置期间,并不是随意产生的,而是一种复杂而又精确的表现形式。在这种形式发展下,应加强计算机技术对内、对外的实际应用,还要加强对相关知识的认识和理解,并保证其中的有序发展,从而将访问策略进行科学设置。在这种情况下,主要是由于防火墙的查找形式就是按照一定顺序进行的,要在使用之前对其使用的规则进行设置,能够提高防火墙的运行效率。
日志监控
日志监控是计算机安全保障的主要手段,管理人员在传统的日志管理中,并没有对信息进行选择,其中日志所体现的内容也不够整齐,日志内容不仅复杂,而且数量也比较多,在这种情况下,降低了日志的利用效率。但在实际发展中,日志监控具有较大优势,其中存在一定的应用价值,是当今时代发展的关键信息。一般情况下,日志监控中的系统告警信息具有较大的记录价值,将这些信息进行优化选择,然后进行保存、备份,以保证计算机信息的安全性、防止信息的丢失现象。
3 总结
防火墙技术是网络安全保障的一种技术形式,由于网络中存在的有些不安全因素,在根本上并不能完全保障计算机网络安全。因此,在对防火墙技术进行实际利用过程中,要保证科学性、整体性以及全面性分析,从而保证计算机网络运行的安全效果。
参考文献
[1]侯亮.对计算机网络应用中防火墙技术的研究[J].网友世界.云教育,2014(15):7-7.
[2]冯思毅.试论计算机防火墙技术及其应用[J].河北工程大学学报(社会科学版),2015(1):113-114.
[3]马利,梁红杰.计算机网络安全中的防火墙技术应用研究[J].电脑知识与技术,2014(16):3743-3745.
[4]王丽玲.浅谈计算机安全与防火墙技术[J].电脑开发与应用,2012,25(11):67-69.
有关计算机网络安全问题论文推荐:
1. 论计算机网络安全管理中的问题论文
2. 计算机网络安全隐患及防范的论文
3. 计算机网络安全防范的论文
4. 有关计算机网络安全的论文
5. 计算机网络安全与防范论文
6. 计算机网络安全毕业论文范文
离上篇文章认证加密(下)发表已经过去好久了,笔者一直在思考要不要继续写安全基础类的文章,直到本周日晚上陪孩子看朗读者节目的时候,特别是节目组邀请到了53岁的清华大学高等研究院杨振宁讲座教授王小云,介绍了她在密码学中的贡献。孩子和家人在观看节目的时候,对MD5是什么,为什么这么重要,特别是王教授谈到基于MD5设计的国家加密标准已经广泛应用到银行卡,社保卡等领域,让加密这个古老但年轻的领域走入更多人的视野。 咱们前边介绍的内容主要围绕对称加密,从这篇文章开始,我们的焦点shift到非对称加密算法上,非对称加密也称作是公钥加密算法,整个算法有个非常关键的环节:秘钥交换。秘钥交换“人”如其名,解决的本质问题是如何安全的交换秘钥。咱们还是请出老朋友爱丽斯女王和鲍勃领主来说明一下。假设爱丽丝女王和鲍勃领主要安全的通信,那么爱丽斯女王和鲍勃领主就把各自的秘钥发给对方。结果是通信的双方都持有这个共享的秘钥,这个共享的秘钥就可以被用来后续信息安全的交互。 为了让后续的讨论更加接地气,咱们假设爱丽斯女王和鲍勃领主从来都没有见过面,那么我们该如何让女王和领主安全的通信呢?这个问题也是秘钥交换算法适用的最原始应用场景。为了确保女王和领主之间通信的隐私性,双方需要一个共享的秘钥,但是安全的沟通共享秘钥并没有想象中那么简单。如果恶意攻击者窃听了女王和领主的电话通信,或者邮件通信(假设传输的明文信息),那么恶意攻击者会窃取到女王和领主共享的秘钥,后续双方所有的通信内容,都可以通过这个秘钥来破解,女王和领主的所有私密通信不安全了,通信内容已经成为整个王国茶余饭后的谈资。 如何解决这个问题呢?这是秘钥交换算法要解决的核心问题,简单来说,通过秘钥交换算法,爱丽丝女王和鲍勃领主就可以安全的实现共享秘钥交换,即便是有恶意攻击者在监听所有的通信线路,也无法获取双方通向的秘钥,女王和领主终于可以无忧无虑的八卦了。 秘钥交换从通信双方生成各自的秘钥开始,通常情况下非对称加密算法会生成两个秘钥:公钥和私钥(public key和private key)。接着通信的双方分别把自己的公钥发送给对方,公钥的”公“在这里是公开的意思,这就意味着恶意攻击者也可以获得通信双方生成的公钥信息。接着女王和领主分别用收到的公钥和自己持有的私钥结合,结果就是共享的通信秘钥。大家可以站在恶意攻击者的角度看这个公钥,由于恶意攻击者没有任何一方的私钥,因此恶意攻击者是无法获取女王和领主通信用的”共享“秘钥。关于共享秘钥在女王和领主侧产生的过程,如下图所示: 了解了秘钥交换算法的大致工作机制后,接着我们来看看秘钥交换算法是如何解决爱丽斯女王和鲍勃领主安全通信问题。如上图所展示的过程,女王和领主通过秘钥交换算法确定了可以用作安全通信的秘钥,这个秘钥可以被用作认证加密的秘钥,因此即便是MITM(中间人攻击者)截获了女王和领主通信的数据,但是由于没有秘钥,因此通信的内容不会被破解,这样女王和领主就可以安全的通信了,如下图所示: 不过这里描述的内容稍微不严谨,我们顶多只能把这种场景称作passive MITM,大白话是说恶意攻击者是被动的在进行监听,和active MITM的主要却别是,active中间人会截获秘钥交换算法交换的数据,然后同时模拟通信双方对端的角色。具体来说,中间人会actively来同时和女王以及领主进行秘钥交换,通信双方”以为“和对方对共享秘钥达成了共识,但是本质上女王和领主只是和中间人达成了共享秘钥的共识。大家可以思考一下造成这种错误认知的原因是啥? 其实背后的原因不难理解,因为通信的双方并没有其他手段判断收到的公钥和通信的对端的持有关系,我们也称作这种秘钥交换为”unauthentiated“秘钥交换,如下图所示: 那么如何解决active MITM攻击呢?相信大家能够猜到authenticated key exchange,咱们先通过一个具体的业务场景来看看,为啥我们需要这种authenticated的模式。假设我们开发了一套提供时间信息的服务,服务被部署在阿里云上,我了预防时间数据被恶意攻击者修改,因此我们使用MAC(message authentication code),如果大家对MAC没有什么概念,请参考笔者前边的文章。 MAC需要秘钥来对数据进行机密性和完整性保护,因此我们在应用部署的时候,生成了一个秘钥,然后这个秘钥被以某种方式非法给所有的客户端用户,应用运行的非常稳定,并且由于有秘钥的存在,守法遵纪的所有客户端都可以读取到准确的时间。但是有个客户学习了本篇文章后,发现这个秘钥可以用来篡改数据,因此我们的网站受到大量客户的投诉,说读到的时间不准确,造成系统的业务运行和数据处理出现问题。 你让架构师赶紧处理,架构师给出了每个用户都生成独享秘钥的方案,虽然能够止血,但是很快你会发现这种方案不可行,不可运维,随着用户数量激增,我们如何配置和管理这些秘钥就变成了一个大问题,还别说定期更换。秘钥交换算法在这里可以派上用场,我们要做的是在服务端生成秘钥,然后为每个新用户提供公钥信息。由于用户端知道服务端的公钥信息,因此MITM攻击就无法在中间双向模拟,我们也称这种模式为:authenticated key exchange。 我们继续分析这个场景,中间人虽然说也可以和服务进行秘钥交换,但是这个时候中间人和普通的客户端就没有差异了,因此也就无法执行active MITM攻击了。 随着科技的发展,互联网几乎在我们生活中无孔不入,如何安全的在通信双方之间确立秘钥就变得极其重要。但是咱们前边介绍的这种模式扩展性不强,因为客户端需要提前预置服务端的公钥,这在互联网场景下尤其明显。举个例子,作为用户,我们希望安全的和多个银行网站,社保网站进行数据通信,如果需要手机,平板,台式机都预置每个网站的公钥信息才能安全的进行访问,那么你可以考虑便利性会有多差,以及我们如何安全的访问新开发的网站? 因此读者需要理解一个非常重要的点,秘钥交换非常重要,但是有上边介绍的扩展性问题,而这个问题的解决是靠数字签名技术,数字签名和秘钥交换结合起来是我们后边要介绍的SSL技术的基础,要讲清楚需要的篇幅会很长,因此咱们后续用专门的章节来介绍SSL原理。不过为了后续介绍的顺畅性,咱们接下来聊几个具体的秘钥交换算法,以及背后的数学原理。 咱们先从笔者系列文章第一篇中提到的Diffie-Hellman秘钥交换算法说起,Whitfield Diffie和Martin E. Hellman在1976年发表了一篇开创新的论文来介绍DH(Diffie-Hellman)秘钥交换算法,论文中把这个算法称作”New Direction in Cryptography“。这篇论文被冠以开创性的主要原因是论文两个第一:第一个秘钥交换算法以及第一次公开发表的公钥加密算法(或者说非对称加密算法)。 DH算法的数据原理是群论(group theory),这也是我们今天所接触到的所有安全机制的基石。因为笔者并不是数学专业毕业,数学基础也不是太牢固,因此一直犹豫要如何继续在安全的角度继续深入下去。为了让这个算法更加容易被读者理解,因此后边的内容会稍微涉及到一些数据基础知识,相信有过高中数学知识的同学,应该都能看懂。 要介绍群论,首要问题是定义清楚什么是群(group)。笔者查阅了相关资料,群在数学领域中有如下两个特征: 1,由一组元素组成 2,元素之间定义了特殊的二元运算符(比如➕或者✖️) 基于上边的定义,如果这组元素以及之上定义的二元操作符满足某些属性,那么我们就称这些元素组成个group。对于DH算法来说,背后使用的group叫做multiplicative group:定义了乘法二元运算符的元素集合。读者可能会问,那么这个multiplicative group具体满足那些属性呢?由于这部分的内容较多,咱们来一一罗列介绍: - Closure(闭包)。集合中的两个元素通过定义的运算符计算后,结果也在集合中。举个例子,比如我们有集合M,M中有元素a,b和c(c=a*b),那么这三个元素就符合closure属性,集合上定义的运算符是乘法。 - Associativity(可结合性)。这个和中学数学中的结合性概念一致,你能理解数学公式a × (b × c) = (a × b) × c就行。 - Identity element(单位元素)。集合中包含单位元素,任何元素和单位元素经过运算符计算后,元素的值不发生变化。比如我们有集合M,包含的元素(1,a,b,c....),那么1就是单位元素,因为1*a = a,a和单位元素1通过运算符计算后,结果不变。 - Inverse element(逆元素)。集合中的任何元素都存在逆元素,比如我们有集合元素a,那么这个元素的逆元素是1/a,元素a和逆元素通过运算符计算后,结果为1。 笔者必须承认由于我粗浅的数学知识,可能导致对上边的这四个属性的解释让大家更加迷惑了,因此准备了下边这张图,希望能对群具备的4个属性有更加详细的补充说明。 有了前边关于群,群的属性等信息的介绍,咱们接着来具体看看DH算法使用的group具体长啥样。DH算法使用的群由正整数组成,并且大部分情况下组成群的元素为素数,比如这个群(1,2,3, ....,p-1),这里的p一般取一个很大的素数,为了保证算法的安全性。 注:数学上对素数的定义就是只能被自己和1整除的数,比如2,3,5,7,11等等。素数在非对称加密算法中有非常广泛的应用。计算机专业的同学在大学期间应该写过寻找和打印素数的程序,算法的核心就是按顺序穷举所有的数字,来判断是否是素数,如果是就打印出来。不过从算法的角度来看,这样穷举的模式效率不高,因此业界也出现了很多高效的算法,很快就能找到比较大的素数。 DH算法使用的群除了元素是素数之外,另外一个属性是模运算符,具体来说叫modular multiplication运算。咱们先从模运算开始,模运算和小学生的一些拔高数学题很类似,关注的是商和余数。比如我们设modulus为5,那么当数字大于5的时候,就会wrap around从1重新开始,比如数字6对5求模计算后,结果是1,7的结果是2,以此类推。对于求模计算最经典的例子莫过于钟表了,一天24个小时,因此当我们采用12小时计数的时候,13点又被成为下午1点,因为13 = 1*12 + 1(其中12为modulo)。 接着我们来看modular multiplication的定义,我们以6作例子,6 = 3 ✖️ 2, 如果modulo是5的话,我们知道6全等于(congruent to)1 modulo 5,因此我们的公式就可以写成: 3 × 2 = 1 mod 5 从上边的等式我们得出了一个非常重要的结论,当我们把mod 5去掉后,就得出3 × 2 = 1,那么3和2就互为逆元素。 最后我们来总结一下DH算法base的群的两个特征: - Commutative(交换律),群中两个元素计算具备交换律,也就是ab=ba,通常我们把具备交换律的群成为Galois group - Finite field(有限域),关于有限域的特征我们下边详细介绍 DH算法定义的group也被称作为FFDH(Finite Field Diffie-Hellman),而subgroup指的是group的一个子集,我们对子集中的元素通过定义的运算符操作后,会到到另外一个subgroup。 关于群论中有个非常重要的概念是cyclic subgroup,大白话的意思是通过一个generator(或者base)不断的和自己进行乘法运算,如下变的例子,generator 4可以了subgroup 1和4: 4 mod 5 = 4 4 × 4 mod 5 = 1 4 × 4 × 4 mod 5 = 4 (重新开始,这也是cylic subgroup的体现) 4 × 4 × 4 × 4 mod 5 = 1 等等 当我们的modulus是素数,那么群中的每个元素都是一个generator,可以产生clylic subgroup,如下图所示: 最后我们完整的总结一下群和DH定义的Galois群: - group就是一组定义了二元操作的元素集合,并具备closure, associativity, identity element, inverse element属性 - DH定义的群叫Galois group,组成群的元素是素数,并在群上定义了modular multiplication运算 - 在DH定义的群中,每个元素都是一个generator,重复和自己相乘后,产出subgroup Groups是很多加密算法的基础,笔者这是只是稍微的介绍了一点皮毛知识,如果读者对这部分感兴趣,可以查阅相关的材料。有了群的初步认识了,咱们下篇文章来介绍DH算法背后的工作原理,敬请期待!
176 浏览 4 回答
149 浏览 5 回答
185 浏览 3 回答
113 浏览 5 回答
317 浏览 3 回答
296 浏览 5 回答
353 浏览 4 回答
218 浏览 3 回答
343 浏览 2 回答
234 浏览 5 回答
355 浏览 3 回答
335 浏览 2 回答
104 浏览 3 回答
298 浏览 4 回答
222 浏览 3 回答