精华内容
下载资源
问答
  • 信息加密技术简介

    千次阅读 2018-03-27 11:44:48
    信息加密技术简介 随着互联网的快速发展,计算机信息的保密问题显得越来越重要。数据保密变换,或密码技术,是对计算机信息进行保护的最实用和最可靠的方法,本文拟对信息加密技术作一简要介绍。一、信息加密概述 ...

    信息加密技术简介

    随着互联网的快速发展,计算机信息的保密问题显得越来越重要。数据保密变换,或密码技术,是对计算机信息进行保护的最实用和最可靠的方法,本文拟对信息加密技术作一简要介绍。

    一、信息加密概述

    密码学是一门古老而深奥的学科,它对一般人来说是莫生的,因为长期以来,它只在很少的范围内,如军事、外交、情报等部门使用。计算机密码学是研究计算机信息加密、解密及其变换的科学,是数学和计算机的交义学科,也是一门新兴的学科。随着计算机网络和计算机通讯技术的发展,计算机密码学得到前所未有的重视并迅速普及和发展起来。在国外,它已成为计算机安全主要的研究方向,也是计算机安全课程教学中的主要内容。

    密码是实现秘密通讯的主要手段,是隐蔽语言、文字、图象的特种符号。凡是用特种符号按照通讯双方约定的方法把电文的原形隐蔽起来,不为第三者所识别的通讯方式称为密码通讯。在计算机通讯中,采用密码技术将信息隐蔽起来,再将隐蔽后的信息传输出去,使信息在传输过程中即使被窃取或载获,窃取者也不能了解信息的内容,从而保证信息传输的安全。

    任何一个加密系统至少包括下面四个组成部分:

    (1)、未加密的报文,也称明文。

    (2)、加密后的报文,也称密文。

    (3)、加密解密设备或算法。

    (4)、加密解密的密钥。

    发送方用加密密钥,通过加密设备或算法,将信息加密后发送出去。接收方在收到密文后,用解密密钥将密文解密,恢复为明文。如果传输中有人窃取,他只能得到无法理解的密文,从而对信息起到保密作用。

    二、密码的分类

    从不同的角度根据不同的标准,可以把密码分成若干类。

    (一)按应用技术或历史发展阶段划分:

    1. 手工密码。以手工完成加密作业,或者以简单器具辅助操作的密码,叫作手工密码。第一次世界大战前主要是这种作业形式。
    2. 机械密码。以机械密码机或电动密码机来完成加解密作业的密码,叫作机械密码。这种密码从第一次世界大战出现到第二次世界大战中得到普遍应用。
    3. 电子机内乱密码。通过电子电路,以严格的程序进行逻辑运算,以少量制乱元素生产大量的加密乱数,因为其制乱是在加解密过程中完成的而不需预先制作,所以称为电子机内乱密码。从五十年代末期出现到七十年代广泛应用。
    4. 计算机密码,是以计算机软件编程进行算法加密为特点,适用于计算机数据保护和网络通讯等广泛用途的密码。

    (二)按保密程度划分:

    1. 理论上保密的密码。不管获取多少密文和有多大的计算能力,对明文始终不能得到唯一解的密码,叫作理论上保密的密码。也叫理论不可破的密码。如客观随机一次一密的密码就属于这种。
    2. 实际上保密的密码。在理论上可破,但在现有客观条件下,无法通过计算来确定唯一解的密码,叫作实际上保密的密码。
    3. 不保密的密码。在获取一定数量的密文后可以得到唯一解的密码,叫作不保密密码。如早期单表代替密码,后来的多表代替密码,以及明文加少量密钥等密码,现在都成为不保密的密码。

    (三)、按密钥方式划分:

    1. 对称式密码。收发双方使用相同密钥的密码,叫作对称式密码。传统的密码都属此类。
    2. 非对称式密码。收发双方使用不同密钥的密码,叫作非对称式密码。如现代密码中的公共密钥密码就属此类。

    (四)按明文形态:

    1. 模拟型密码。用以加密模拟信息。如对动态范围之内,连续变化的语音信号加密的密码,叫作模拟式密码。
    2. 数字型密码。用于加密数字信息。对两个离散电平构成0、1二进制关系的电报信息加密的密码叫作数字型密码。

    (五)按编制原理划分:

    可分为移位、代替和置换三种以及它们的组合形式。古今中外的密码,不论其形态多么繁杂,变化多么巧妙,都是按照这三种基本原理编制出来的。移位、代替和置换这三种原理在密码编制和使用中相互结合,灵活应用。

    三、近代加密技术

    (一)、数据加密标准

    数据加密标准(DES)是美国经长时间征集和筛选后,于1977年由美国国家标准局颁布的一种加密算法。它主要用于民用敏感信息的加密,后来被国际标准化组织接受作为国际标准。DES主要采用替换和移位的方法加密。它用56位密钥对64位二进制数据块进行加密,每次加密可对64位的输入数据进行16轮编码,经一系列替换和移位后,输入的64位原始数据转换成完全不同的64位输出数据。DES算法仅使用最大为64位的标准算术和逻辑运算,运算速度快,密钥生产容易,适合于在当前大多数计算机上用软件方法实现,同时也适合于在专用芯片上实现。

    DES主要的应用范围有:

    1. 计算机网络通信:对计算机网络通信中的数据提供保护是DES的一项重要应用。但这些被保护的数据一般只限于民用敏感信息,即不在政府确定的保密范围之内的信息。
    2. 电子资金传送系统:采用DES的方法加密电子资金传送系统中的信息,可准确、快速地传送数据,并可较好地解决信息安全的问题。
    3. 保护用户文件:用户可自选密钥对重要文件加密,防止未授权用户窃密。
    4. 用户识别:DES还可用于计算机用户识别系统中。

    DES是一种世界公认的较好的加密算法。自它问世20多年来,成为密码界研究的重点,经受住了许多科学家的研究和破译,在民用密码领域得到了广泛的应用。它曾为全球贸易、金融等非官方部门提供了可靠的通信安全保障。但是任何加密算法都不可能是十全十美的。它的缺点是密钥太短(56位),影响了它的保密强度。此外,由于DES算法完全公开,其安全性完全依赖于对密钥的保护,必须有可靠的信道来分发密钥。如采用信使递送密钥等。因此,它不适合在网络环境下单独使用。

    针对它密钥短的问题,科学家又研制了 80位的密钥,以及在DES的基础上采用三重DES和双密钥加密的方法。即用两个56位的密钥K1、K2,发送方用K1加密,K2解密,再使用K1加密。接收方则使用K1解密,K2加密,再使用K1解密,其效果相当于将密钥长度加倍。

    (二)国际数据加密算法

    国际数据加密算法 IDEA是瑞士的著名学者提出的。它在1990年正式公布并在以后得到增强。这种算法是在DES算法的基础上发展出来的,类似于三重DES。发展IDEA也是因为感到DES具有密钥太短等缺点,已经过时。IDEA的密钥为128位,这么长的密钥在今后若干年内应该是安全的。

    类似于 DES,IDEA算法也是一种数据块加密算法,它设计了一系列加密轮次,每轮加密都使用从完整的加密密钥中生成的一个子密钥。与DES的不同处在于,它采用软件实现和采用硬件实现同样快速。

    由于 IDEA是在美国之外提出并发展起来的,避开了美国法律上对加密技术的诸多限制,因此,有关IDEA算法和实现技术的书籍都可以自由出版和交流,可极大地促进IDEA的发展和完善。但由于该算法出现的时间不长,针对它的攻击也还不多,还未经过较长时间的考验。因此,尚不能判断出它的优势和缺陷。

    (三) clipper加密芯片

    密码虽然可为私人提供信息保密服务,但是它首先是维护国家利益的工具。正是基于这个出发点,考虑到 DES算法公开后带来的种种问题,美国国家保密局(NSA)从1985年起开始着手制定新的商用数据加密标准,以取代DES。1990年开始试用,1993年正式使用,主要用于通信交换系统中电话、传真和计算机通信信息的安全保护。

    新的数据加密标准完全改变了过去的政策,密码算法不再公开,对用户提供加密芯片( clipper)和硬件设备。新算法的安全性远高于DES,其密钥量比DES多1000多万倍。据估算,穷举破译至少需要10亿年。为确保安全,clipper芯片由一个公司制造裸片,再由另一公司编程后方可使用。

    由于完全是官方的封闭控制,该算法除可提供高强度的密码报密外,还可对保密通信进行监听,以防止不法分子利用保密通信进行非法活动,但这种监听是在法律允许的范围内进行的。官方控制也成为美国民间反对该方案的一个重要原因。

    Clipper芯片主要用于商业活动的计算机通信网。NSA同时在着手进行政府和军事通信网中数据加密芯片的研究,并作为clipper的换代产品。它除了具有clipper的全部功能外,还将实现美国数字签名标准(DSS)和保密的哈稀函数标准以及用纯噪声源产生随机数据的算法等。

    (四)公开密钥密码体制

    传统的加密方法是加密、解密使用同样的密钥,由发送者和接收者分别保存,在加密和解密时使用,采用这种方法的主要问题是密钥的生成、注入、存储、管理、分发等很复杂,特别是随着用户的增加,密钥的需求量成倍增加。在网络通信中,大量密钥的分配是一个难以解决的问题。

    例如,若系统中有 n 个用户,其中每两个用户之间需要建立密码通信,则系统中每个用户须掌握 (n-1)/2 个密钥,而系统中所需的密钥总数为 n*(n-1)/2 个。对 10 个用户的情况,每个用户必须有 9 个密钥,系统中密钥的总数为 45 个。对 100 个用户来说,每个用户必须有 99 个密钥,系统中密钥的总数为 4950 个。这还仅考虑用户之间的通信只使用一种会话密钥的情况。如此庞大数量的密钥生成、管理、分发确实是一个难处理的问题。

    本世纪 70 年代,美国斯坦福大学的两名学者迪菲和赫尔曼提出了一种新的加密方法 -- 公开密钥加密队 PKE 方法。与传统的加密方法不同,该技术采用两个不同的密钥来对信息加密和解密,它也称为 “ 非对称式加密方法”。每个用户有一个对外公开的加密算法 E 和对外保密的解密算法 D ,

    它们须满足条件:

    1. D 是 E 的逆,即 D[E ( X ) ]=X ;
    2. E 和 D 都容易计算;
    3. 由 E 出发去求解 D 十分困难。

    从上述条件可看出,公开密钥密码体制下,加密密钥不等于解密密钥。加密密钥可对外公开,使任何用户都可将传送给此用户的信息用公开密钥加密发送,而该用户唯一保存的私人密钥是保密的,也只有它能将密文复原、解密。虽然解密密钥理论上可由加密密钥推算出来,但这种算法设计在实际上是不可能的,或者虽然能够推算出,但要花费很长的时间而成为不可行的。所以将加密密钥公开也不会危害密钥的安全。

    数学上的单向陷门函数的特点是一个方向求值很容易,但其逆向计算却很困难。许多形式为 Y=f ( x )的函数,对于给定的自变量 x 值,很容易计算出函数 Y 的值;而由给定的 Y 值,在很多情况下依照函数关系 f(x) 计算 x 值十分困难。例如,两个大素数 p 和 q 相乘得到乘积 n 比较容易计算,但从它们的乘积 n 分解为两个大素数 p 和 q 则十分困难。如果 n 为足够大,当前的算法不可能在有效的时间内实现。

    正是基于这种理论, 1978 年出现了著名的 RSA 算法。这种算法为公用网络上信息的加密和鉴别提供了一种基本的方法。它通常是先生成一对 RSA 密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度, RSA 密钥至少为 500 位长,一般推荐使用 1024 位。这就使加密的计算量很大。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的 DES 或 IDEA 对话密钥加密,然后使用 RSA 密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。

    RSA 算法的加密密钥和加密算法分开,使得密钥分配更为方便。它特别符合计算机网络环境。对于网上的大量用户,可以将加密密钥用电话簿的方式印出。如果某用户想与另一用户进行保密通信,只需从公钥簿上查出对方的加密密钥,用它对所传送的信息加密发出即可。对方收到信息后,用仅为自己所知的解密密钥将信息脱密,了解报文的内容。由此可看出, RSA 算法解决了大量网络用户密钥管理的难题。

    RSA 并不能替代 DES ,它们的优缺点正好互补。 RSA 的密钥很长,加密速度慢,而采用 DES ,正好弥补了 RSA 的缺点。即 DES 用于明文加密, RSA 用于 DES 密钥的加密。由于 DES 加密速度快,适合加密较长的报文;而 RSA 可解决 DES 密钥分配的问题。美国的保密增强邮件( PEM )就是采用了 RSA 和 DES 结合的方法,目前已成为 E-MAIL 保密通信标准。

    四、网络通信安全措施

    对于网络通信,可采用以下两种具体措施进行加密传输。这些措施的加、解密功能都可以采用上述算法实现:

    ( 1 )链路加密

    链路加密是传输数据仅在物理层前的数据链路层进行加密。接收方是传送路径上的各台节点机,信息在每台节点机内都要被解密和再加密,依次进行,直至到达目的地。

    使用链路加密装置能为某链路上的所有报文提供传输服务。即经过一台节点机的所有网络信息传输均需加、解密,每一个经过的节点都必须有密码装置,以便解密、加密报文。如果报文仅在一部分链路上加密而在另一部分链路上不加密,则相当于未加密,仍然是不安全的。与链路加密类似的节点加密方法,是在节点处采用一个与节点机相连的密码装置(被保护的外围设备), 密文在该装置中被解密并被重新加密,明文不通过节点机,避免了链路加密关节点处易受攻击的缺点。

    ( 2 )端 - 端加密

    端 - 端加密是为数据从一端传送到另一端提供的加密方式。数据在发送端被加密,在最终目的地(接收端)解密,中间节点处不以明文的形式出现。

    采用端 - 端加密是在应用层完成,即传输前的高层中完成。除报头外的的报文均以密文的形式贯穿于全部传输过程。只是在发送端和最终端才有加、解密设备,而在中间任何节点报文均不解密,因此,不需要有密码设备。同链路加密相比,可减少密码设备的数量。另一方面,信息是由报头和报文组成的,报文为要传送的信息,报头为路由选择信息。由于网络传输中要涉及到路由选择,在链路加密时,报文和报头两者均须加密。而在端 -- 端加密时,由于通道上的每一个中间节点虽不对报文解密,但为将报文传送到目的地,必须检查路由选择信息,因此,只能加密报文,而不能对报头加密。这样就容易被某些通信分析发觉,而从中获取某些敏感信息。

    ( 3 )加密传输方式的比较

    数据保密变换使数据通信更安全,但不能保证在传输过程中绝对不会泄密。因为在传输过程中,还有泄密的隐患。

    采用链路加密方式,从起点到终点,要经过许多中间节点,在每个节点地均要暴露明文(节点加密方法除外),如果链路上的某一节点安全防护比较薄弱,那么按照木桶原理(木桶水量是由最低一块木板决定),虽然采取了加密措施,但整个链路的安全只相当于最薄弱的节点处的安全状况。

    采用端 - 端加密方式,只是发送方加密报文,接收方解密报文,中间节点不必加、解密,也就不需要密码装置。此外,加密可采用软件实现,使用起来很方便。在端 -- 端加密方式下,每对用户之间都存在一条虚拟的保密信道,每对用户应共享密钥(传统密码保密体制,非公钥体制下),所需的密钥总数等于用户对的数目。对于几个用户,若两两通信,共需密钥 n*(n-1)/2 种,每个用户需 (n-1) 种。这个数目将随网上通信用户的增加而增加。为安全起见,每隔一段时间还要更换密钥,有时甚至只能使用一次密钥,密钥的用量很大。

    链路加密,每条物理链路上,不管用户多少,可使用一种密钥。在极限情况下,每个节点都与另外一个单独的节点相连,密钥的数目也只是 n*(n-1)/2 种。这里 n 是节点数而非用户数,一个节点一般有多个用户。

    从身份认证的角度看,链路加密只能认证节点,而不是用户。使用节点 A 密钥的报文仅保证它来自节点 A 。报文可能来自 A 的任何用户,也可能来自另一个路过节点 A 的用户。因此链路加密不能提供用户鉴别。端 -- 端加密对用户是可见的,可以看到加密后的结果,起点、终点很明确,可以进行用户认证。

    总之,链路加密对用户来说比较容易,使用的密钥较少,而端 - 端加密比较灵活,用户可见。对链路加密中各节点安全状况不放心的用户也可使用端 - 端加密方式。

    当然,对于互联网中应用最广泛的WWW服务器的信息加密,最简单又最安全的加密方式是为服务器部署 SSL数字证书,充分利用现有的服务器和客户端软件广泛支持的PKI技术来轻松实现信息加密。

    展开全文
  • 信息加密技术

    千次阅读 2012-09-24 15:24:42
    信息加密的目的是保护网内的数据、文件、口令和控制信息,保护网上传输的数据。数据加密技术主要分为数据传输加密和数据存储加密。数据传输加密技术主要是对传输中的数据流进行加密,常用的有链路加密、节点加密和...
    信息加密的目的是保护网内的数据、文件、口令和控制信息,保护网上传输的数据。数据加密技术主要分为数据传输加密和数据存储加密。数据传输加密技术主要是对传输中的数据流进行加密,常用的有链路加密、节点加密和端到端加密三种方式。链路加密的目的是保护网络节点之间的链路信息安全;节点加密的目的是对源节点到目的节点之间的传输链路提供保护;端--端加密的目的是对源端用户到目的端用户的数据提供保护。在保障信息安全各种功能特性的诸多技术中,密码技术是信息安全的核心和关键技术,通过数据加密技术,可以在一定程度上提高数据传输的安全性,保证传输数据的完整性。一个数据加密系统包括加密算法、明文、密文以及密钥,密钥控制加密和解密过程,一个加密系统的全部安全性是基于密钥的,而不是基于算法,所以加密系统的密钥管理是一个非常重要的问题。数据加密过程就是通过加密系统把原始的数字信息(明文),按照加密算法变换成与明文完全不同得数字信息(密文)的过程。
      假设E为加密算法,D为解密算法,则数据的加密解密数学表达式为:P=D(KD,E(KE,P))。
      数据加密算法有很多种,密码算法标准化是信息化社会发展得必然趋势,是世界各国保密通信领域的一个重要课题。按照发展进程来分,经历了古典密码、对称密钥密码和公开密钥密码阶段,古典密码算法有替代加密、置换加密;对称加密算法包括DES和AES;非对称加密算法包括RSA 、背包密码、McEliece密码、Rabin、椭圆曲线、EIGamal算法等。目前在数据通信中使用最普遍的算法有DES算法、RSA算法和PGP算法。
      根据收发双方密钥是否相同来分类,可以将这些加密算法分为常规密码算法和公钥密码算法。在常规密码中,收信方和发信方使用相同的密钥,即加密密钥和解密密钥是相同或等价的。常规密码的优点是有很强的保密强度,且经受住时间的检验和攻击,但其密钥必须通过安全的途径传送。在公钥密码中,收信方和发信方使用的密钥互不相同,而且几乎不可能从加密密钥推导出解密密钥。最有影响的公钥密码算法是RSA,它能抵抗到目前为止已知的所有密码攻击。在实际应用中通常将常规密码和公钥密码结合在一起使用,利用DES或者IDEA来加密信息,而采用RSA来传递会话密钥。
      防火墙技术
      防火墙的本义原是指古代人们房屋之间修建的那道墙,这道墙可以防止火灾发生的时候蔓延到别的房屋。防火墙技术是指隔离在本地网络与外界网络之间的一道防御系统的总称。在互联网上防火墙是一种非常有效的网络安全模型,通过它可以隔离风险区域与安全区域的连接,同时不会妨碍人们对风险区域的访问。防火墙可以监控进出网络的通信量,仅让安全、核准了的信息进入,同时又抵制对企业构成威胁的数据。目前的防火墙主要有包过滤防火墙、代理防火墙和双穴主机防火墙3种类型,并在计算机网络得到了广泛的应用。
      一套完整的防火墙系统通常是由屏蔽路由器和代理服务器组成。屏蔽路由器是一个多端口的IP路由器,它通过对每一个到来的IP包依据组规则进行检查来判断是否对之进行转发。屏蔽路由器从包头取得信息,例如协议号、收发报文的IP地址和端口号、连接标志以至另外一些IP选项,对IP包进行过滤。代理服务器是防火墙中的一个服务器进程,它能够代替网络用户完成特定的TCP/TP功能。一个代理服务器本质上是一个应用层的网关,一个为特定网络应用而连接两个网络的网关。用户就一项TCP/TP应用,比如Telnet或者FTP,同代理服务器打交道,代理服务器要求用户提供其要访问的远程主机名。当用户答复并提供了正确的用户身份及认证信息后,代理服务器连通远程主机,为两个通信点充当中继。整个过程可以对用户完全透明。用户提供的用户身份及认证信息可用于用户级的认证。
      随着安全性问题上的失误和缺陷越来越普遍,对网络的入侵不仅来自高超的攻击手段,也有可能来自配置上的低级错误或不合适的口令选择。因此,防火墙的作用是防止不希望的、未授权的通信进出被保护的网络。防火墙可以达到以下目的:一是可以限制他人进入内部网络,过滤掉不安全服务和非法用户;二是防止入侵者接近你的防御设施;三是限定用户访问特殊站点;四是为监视Internet安全提供方便。由于防火墙假设了网络边界和服务,因此更适合于相对独立的网络,例如Intranet等种类相对集中的网络。
      入侵检测技术
      随着网络安全风险系数不断提高,作为对防火墙及其有益的补充,IDS(入侵检测系统)能够帮助网络系统快速发现攻击的发生,它扩展了系统管理员的安全管理能力(包括安全审计、监视、进攻识别和响应),提高了信息安全基础结构的完整性。
      入侵检测系统是一种对网络活动进行实时监测的专用系统,该系统处于防火墙之后,可以和防火墙及路由器配合工作,用来检查一个LAN网段上的所有通信,记录和禁止网络活动,可以通过重新配置来禁止从防火墙外部进入的恶意流量。入侵检测系统能够对网络上的信息进行快速分析或在主机上对用户进行审计分析,通过集中控制台来管理、检测。
      理想的入侵检测系统的功能主要有:
      (1)用户和系统活动的监视与分析;
      (2)系统配置极其脆弱性分析和审计;
      (3)异常行为模式的统计分析;
      (4)重要系统和数据文件的完整性监测和评估;
      (5)操作系统的安全审计和管理;
      (6)入侵模式的识别与响应,包括切断网络连接、记录事件和报警等。
      本质上,入侵检测系统是一种典型的“窥探设备”。它不跨接多个物理网段(通常只有一个监听端口),无须转发任何流量,而只需要在网络上被动地、无声息地收集它所关心的报文即可。目前,IDS分析及检测入侵阶段一般通过以下几种技术手段进行分析:特征库匹配、基于统计的分析和完整性分析。其中前两种方法用于实时的入侵检测,而完整性分析则用于事后分析。
      各种相关网络安全的黑客和病毒都是依赖网络平台进行的,而如果在网络平台上就能切断黑客和病毒的传播途径,那么就能更好地保证安全。这样,就出现了网络设备与IDS设备的联动。IDS与网络交换设备联动,是指交换机或防火墙在运行的过程中,将各种数据流的信息上报给安全设备,IDS系统可根据上报信息和数据流内容进行检测,在发现网络安全事件的时候,进行有针对性的动作,并将这些对安全事件反应的动作发送到交换机或防火墙上,由交换机或防火墙来实现精确端口的关闭和断开,这就是入侵防御系统(IPS)。IPS技术是在IDS监测的功能上又增加了主动响应的功能,力求做到一旦发现有攻击行为,立即响应,主动切断连接。
      系统容灾技术
      一个完整的网络安全体系,只有“防范”和“检测”措施是不够的,还必须具有灾难容忍和系统恢复能力。因为任何一种网络安全设施都不可能做到万无一失,一旦发生漏防漏检事件,其后果将是灾难性的。此外,天灾人祸、不可抗力等所导致的事故也会对信息系统造成毁灭性的破坏。这就要求即使发生系统灾难,也能快速地恢复系统和数据,才能完整地保护网络信息系统的安全。主要有基于数据备份和基于系统容错的系统容灾技术。
      数据备份是数据保护的最后屏障,不允许有任何闪失。但离线介质不能保证安全。数据容灾通过IP 容灾技术来保证数据的安全。数据容灾使用两个存储器,在两者之间建立复制关系,一个放在本地,另一个放在异地。本地存储器供本地备份系统使用,异地容灾备份存储器实时复制本地备份存储器的关键数据。二者通过IP相连,构成完整的数据容灾系统,也能提供数据库容灾功能。
      集群技术是一种系统级的系统容错技术,通过对系统的整体冗余和容错来解决系统任何部件实效而引起的系统死机和不可用问题。集群系统可以采用双机热备份、本地集群网络和异地集群网络等多种形式实现,分别提供不同的系统可用性和容灾性。其中异地集群网络的容灾性是最好的。
      存储、备份和容灾技术的充分结合,构成一体化的数据容灾备份存储系统,是数据技术发展的重要阶段。随着存储网络化时代的发展,传统的功能单一的存储器,将越来越让位于一体化的多功能网络存储器。
    展开全文
  • 26 信息加密技术及密钥安全管理

    千次阅读 2021-05-17 16:41:29
    通常,为了保护网站的敏感数据,应用需要对这些信息进行加密处理,信息加密技 术可分为三类:单项散列加密、对称加密和非对称加密。 1 单向散列加密 单向散列加密是指通过对不同输入长度的信息进行散列计算,得到...

    在这里插入图片描述

    2011年12月被曝的CSDN密码泄露事故中,网站安全措施不力,导致用户数据库被 黑客“拖库”并不稀奇,令人错愕的是数据库中的用户密码居然是明文保存,导致密码 泄露,成为地下黑市交易的商品。

    通常,为了保护网站的敏感数据,应用需要对这些信息进行加密处理,信息加密技 术可分为三类:单项散列加密、对称加密和非对称加密。


    1 单向散列加密

    单向散列加密是指通过对不同输入长度的信息进行散列计算,得到固定长度的输出,
    这个散列计算过程是单向的,即不能对固定长度的输出进行计算从而获得输入信息,如 图8.6所示。
    在这里插入图片描述

    利用单向散列加密的这个特性,可以进行密码加密保存,即用户注册时输入的密码 不直接保存到数据库,而是对密码进行单向散列加密,将密文存入数据库,用户登录时, 进行密码验证,同样计算得到输入密码的密文,并和数据库中的密文比较,如果一致, 则密码验证成功,具体过程如图8.7所示。

    在这里插入图片描述

    这样保存在数据库中的是用户输入的密码的密文,而且不可逆地计算得到密码的明文,因此即使数据库被“拖库”,也不会泄露用户的密码信息。

    虽然不能通过算法将单向散列密文反算得到明文,但是由于人们设置密码具有一定的 模式,因此通过彩虹表(人们常用密码和对应的密文关系表)等手段可以进行猜测式破解。

    为了加强单向散列计算的安全性,还会给散列算法加点盐(salt), salt相当于加密的 密钥,增加破解的难度。
    常用的单向散列算法有MD5、SHA等。单向散列算法还有一个特点就是输入的任何 微小变化都会导致输出的完全不同,这个特性有时也会被用来生成信息摘要、计算具有 高离散程度的随机数等用途。


    2 对称加密

    所谓对称加密是指加密和解密使用的密钥是同一个密钥(或者可以互相推算),如 图8.8所示。

    对称加密通常用在信息需要安全交换或存储的场合,如Cookie加密、通信加密等。
    在这里插入图片描述

    对称加密的优点是算法简单,加解密效率高,系统开销小,适合对大量数据加密。 缺点是加解密使用同一个密钥,远程通信的情况下如何安全的交换密钥是个难题,如果 密钥丢失,那么所有的加密信息也就没有秘密可言了。

    常用的对称加密算法有DES算发、RC算法等。对称加密是一种传统加密手段,也是 最常用的加密手段,适用于绝大多数需要加密的场合。


    3 非对称加密

    不同于对称加密,非对称加密和解密使用的密钥不是同一密钥,其中一个对外界公 开,被称作公钥,另一个只有所有者知道,被称作私钥。用公钥加密的信息必须用私钥 才能解开,反之,用私钥加密的信息只有用公钥才能解开,如图8.9所示。理论上说,不可能通过公钥计算获得私钥。

    在这里插入图片描述

    非对称加密技术通常用在信息安全传输,数字签名等场合。

    信息发送者A通过公开渠道获得信息接收者B的公钥,对提交信息进行加密,然后 通过非安全传输通道将密文信息发送给B, B得到密文信息后,用自己的私钥对信息进行 解密,获得原始的明文信息。即使密文信息在传输过程中遭到窃取,窃取者没有解密密 钥也无法还原明文。

    数字签名的过程则相反,签名者用自己的私钥对信息进行加密,然后发送给对方, 接收方用签名者的公钥对信息进行解密,获得原始明文信息,由于私钥只有签名者拥有, 因此该信息是不可抵赖的,具有签名的性质。

    在实际应用中,常常会混合使用对称加密和非对称加密。先使用非对称加密技术对 对称密钥进行安全传输,然后使用对称加密技术进行信息加解密与交换。而有时,对同 一个数据两次使用非对称加密,可同时实现信息安全传输与数字签名的目的。

    非对称加密的常用算法有RSA算法等。HTTPS传输住哪个浏览器使用的数字证书实质上是经过权威机构认证的非对称加密的公钥。


    4 密钥安全管理

    前述的几种加密技术,能够达到安全保密效果的一个重要前提是密钥的安全。不管 是单向散列加密用到的salt、对称加密的密钥、还是非对称加密的私钥,一旦这些密钥泄 露出去,那么所有基于这些密钥加密的信息就失去了秘密性。

    信息的安全是靠密钥保证的。但在实际中经常看到,有的工程师把密钥直接写在源 代码中,稍好一点的写在配置文件中,线上和开发环境配置不同的密钥。总之密钥本身 是以明文的方式保存,并且很多人可以接触到,至少在公司内部,密钥不是秘密。

    实践中,改善密钥安全性的手段有两种。

    一种方案是把密钥和算法放在一个独立的服务器上,甚至做成一个专用的硬件设施, 对外提供加密和解密服务,应用系统通过调用这个服务,实现数据的加解密。由于密钥 和算法独立部署,由专人维护,使得密钥泄露的概率大大降低。但是这种方案成本较高, 而且有可能会成为应用的瓶颈,每次加密、解密都需要进行一次远程服务调用,系统性 能开销也较大。

    另一种方案是将加解密算法放在应用系统中,密钥则放在独立服务器中,为了提高 密钥的安全性,实际存储时,密钥被切分成数片,加密后分别保存在不同存储介质中, 兼顾密钥安全性的同时又改善了性能,如图8.10所示。
    在这里插入图片描述

    应用程序调用密钥安全管理系统提供的加解密服务接口对信息进行加解密,该接口 实现了常用的加密解密算法并可根据需求任意扩展。加解密服务接口通过密钥服务器的 密钥服务取得加解密密钥,并缓存在本地(定时更新)。而密钥服务器中的密钥则来自多 个密钥存储服务器,一个密钥分片后存储在多个存储服务器中,每个服务器都有专人负 责管理。密钥申请者、密钥管理者、安全审核人员通过密钥管理控制台管理更新密钥, 每个人各司其事,没有人能查看完整的密钥信息。

    展开全文
  • CCF NOI1029 信息加密

    千次阅读 2017-04-22 05:55:39
    问题链接:CCF NOI1029 信息加密。 时间限制: 1000 ms 空间限制: 262144 KB 题目描述  在传递信息的过程中,为了加密,有时需要按一定规则将文本转换成密文发送出去。有一种加密规则是这样的:  1. 对于字母...

    问题链接CCF NOI1029 信息加密




    时间限制: 1000 ms  空间限制: 262144 KB

    题目描述

      在传递信息的过程中,为了加密,有时需要按一定规则将文本转换成密文发送出去。有一种加密规则是这样的:
      1. 对于字母字符,将其转换成其后的第3个字母。例如:A→D,a→d,X→A,x→a;
      2. 对于非字母字符,保持不变。
      现在,请你根据输入的一行字符,输出其对应的密码。

    输入

      输入一个字符串。

    输出

      输出加密后的字符串。

    样例输入

    I(2016)love(08)China(15)!

    样例输出

    L(2016)oryh(08)Fklqd(15)!

    数据范围限制

      字符串长度不超过100。



    问题分析

      这是一个字符输入流处理问题。

    程序说明

      需要注意的一点是,后3个字母的处理。x,y和z的后3个要循环回来。模除运算符可以解决循环回来的问题。

    要点详解
    • 使用库函数可以使得程序代码更加简洁易懂。
    • 输入流处理问题,一边输入一边输出处理即可,省去了缓冲存储。
    • 在C语言中,“=”运算符语义上是赋值,语法上是运算符,可以出现在表达式中。



    100分通过的C语言程序:

    #include <stdio.h>
    #include <ctype.h>
    
    #define ALEN 26
    
    int main(void)
    {
        char c;
        
        while((c = getchar()) != '\n') {
            if(islower(c))
                putchar( 'a' + (c - 'a' + 3) % ALEN);
            else if(isupper(c))
                putchar( 'A' + (c - 'A' + 3) % ALEN);
            else
                putchar(c);
        }
        
        return 0;
    }



    展开全文
  • 常用的信息加密技术

    千次阅读 2016-12-13 13:56:10
    信息加密技术可分为三类:单向散列加密、对称加密和非对称加密。单向散列加密 单向散列加密是指通过对不同输入长度的信息进行散列计算,得到固定长度的输出,这个散列计算过程是单向的,即不能对固定长度的输出进行...
  • 代码中的敏感信息加密方案

    千次阅读 2018-10-30 09:32:25
    那么代码中的敏感信息该如何处理呢?本文将简单介绍一下我们的实践方法。 实现目标 代码中的敏感信息加密,例如邮箱账号密码、连接数据库的账号密码、第三方校验的key ... 信息加密 信息加密常见的...
  • 网络信息安全第二讲 信息加密技术基础 一 信息加密理论基础 1.信息熵基本知识 信息熵(information entropy)是对信息状态“无序”与“不确定”的度量(从本质上讲,熵不是对信息的度量,但信息的增加而使产生的熵...
  • 配置文件中对敏感信息加密1.引入依赖2.在配置文件中配置3.加密测试类4.更新配置文件中的敏感信息 1.引入依赖 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>...
  • 矩阵在信息加密中的应用(密码学)

    万次阅读 2018-11-29 18:15:11
    #矩阵在信息加密中的应用(密码学) 基本原理:使用代码子表和可逆矩阵加密将要转换的信息。 ##一、预备知识 ###1.代码子表 用一系列数字代表特定的字母, 如下图为一个最基本的代码字表。 加密实例:加密单词 ...
  • 最近在写爬虫爬取大众点评,这个网站目前有两种加密方式,今天说其中一种——字体库加密。如图地址中的数字,它使用了自己的字体库。 通过network查看可发现每个方块对应一个类似编码的东西,如图。 之后从网页的css...
  • 【JavaWeb】用户信息加密

    千次阅读 2017-11-29 12:11:01
    用户登录时需要对密码等重要信息进行加密处理。可以在后台或者前后台同时加密进行加密,主要是在后台进行加密,然后将生成的密文存储到数据库,下次登录时再用同样的加密算法生成的密文和数据库的进行比对。 另外...
  • JWT登录信息加密

    千次阅读 2018-04-11 17:58:59
    对于传统的单点登录系统,使用cookie和session的方式存储用户登录信息,但是对于安全性要求较高的企业–金融企业,就需要对用户的信息进行加密存储,防止客户信息泄露。 2、JWT构成 JWT—-JSON Web Token ...
  • 基于频域的信息加密----傅里叶变换

    千次阅读 2016-11-03 11:26:51
    信息加密中,载体通常是图像,要隐藏的信息比如说图片、数字水印、文字。 之前有写过利用LSB进行信息隐藏,这是Spatial Domain based,弊端就是抵抗性太差。所以还是得多考虑Frequency Domain based,比如说,...
  • Discuz 用户信息加密算法

    千次阅读 2007-06-23 19:51:00
    Discuz论坛是国内广泛使用的开源论坛,论坛的安全体系构筑严谨,尤其是对用户信息加密的部分。 用户信息包括用户名、密码、所属组别等,这些信息经过加密并保存在Cookie里面 ,服务器端读取Cookie信息,并解迷。 ...
  • 某互联网金融公司程序员做登录验证,先来一发md5加密,然后就自豪的说我的登录是加密的,外人无法破解,绝对保障用户的信息安全。事后博主发现,my gold,全站http协议,仅仅登录使用了md5加密。 ps: 偷偷笑...  ...
  • 简单理解使用jasypt 即可实现关键敏感信息加密。 下面将如何与springboot集成 需求:application.properties文件中敏感信息直接暴露不安全,需要加密 1.pom.xnl添加jasypt依赖 &lt;dependency&gt; ...
  • 使用crypto.js进行信息加密解密

    千次阅读 2018-11-01 15:11:39
    &lt;script type="text/javascript" src="./crypto-js.js"&gt;&lt;/script&gt; &... var password = 'password' // 待加密字段 ... console.log(`待加密字段:..
  • 之前项目使用的是druid连接池,后来切换到hikari(号称java平台最快的连接池),需要自己加密数据库密码,故使用jasypt对项目敏感信息实现加密。   pom.xml   application.yml   通过jasypt-1.9.2.jar...
  • SpringBoot配置文件敏感信息加密

    千次阅读 2019-06-12 16:27:03
    前言 SpringBoot配置文件中的内容通常情况下是明文显示,安全性就比较低一些。... jasypt 由一个国外大神写了一个springboot下的工具包 ...到此,我们就实现了springboot配置文件里的敏感信息加密。是不是很简单。
  • SpringBoot 配置文件敏感信息加密

    千次阅读 2019-07-19 14:32:03
    说明 使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些。 打开application.properties或... jasypt由一个国外大神写了一个springboot下的工具包,用来加密配置...
  • 网易云音乐登录信息加密算法详解

    万次阅读 2016-10-11 16:28:29
    原文地址:网易云音乐新登录API分析网易云音乐登录加密算法核心过程如下: text = { 'username': username, 'password': password, 'rememberLogin': 'true' } text = json.dumps(text) secKey = ...
  • 漫谈数据保护和个人信息加密

    千次阅读 2018-05-27 09:07:59
    相信诸位同学最近收到了不少大厂的Privacy Update类似的消息吧,没错,前两天,也就是...且不论GDPR的具体执行效率如何,我们先探讨一下数据保护的话题,数据保护问题由来已久,而加密就是常见的手段,但是有加密,...
  • 使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些。... jasypt由一个国外大神写了一个...到此,我们就实现了springboot配置文件里的敏感信息加密。是不是很简单。
  • 信息加密技术及密钥安全管理

    万次阅读 2016-05-24 12:07:59
     单向散列加密是通过对不同输入长度的信息进行散列计算,得到固定长度的输出,单向的(不可逆)。  用户的密码通过此加密将密文存在数据库当中,登录时根据用户输入的密码进行加密后与数据库中的密文进行对比。  ...
  • 思路:配置文件使用加密信息,然后加载数据库密码时重新加载连接配置实现解密连接数据库即可。 import javax.annotation.Resource; import javax.sql.DataSource; import org.springframework.boot.autoconf...
  • 信息加密(简单的字母转换)

    千次阅读 2018-01-29 18:18:21
    在传递信息的过程中,为了加密,有时需要按一定规则将文本转换成密文发送出去。有一种加密规则是这样的: 1. 对于字母字符,将其转换成其后的第3个字母。例如:A→D,a→d,X→A,x→a; 2. 对于非字母字符,保持...
  • 传统JAVA_WEB项目如果是ssh、ssm之类的搭建的项目,其数据库链接信息大部分是交给Spring来作为管理 数据库的URL地址、账号、密码一般会写在配置文件中:dbconfig.properties里或者是在system-config.properties在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 615,336
精华内容 246,134
关键字:

信息如何加密