算法、字符串操作
五种窃取机密攻击的方式:
1.网络踩点(Footprinting)
攻击者事先汇集目标的信息,通常采用Whois、Finger、Nslookup、Ping等工具获得目标的一些信息,如域名、IP地址、网络拓扑结构、相关的用户信息等,这些往往是黑客入侵所做的第一步工作;
2.扫描攻击(Scanning)
这里的扫描主要指端口扫描,通常采用Nmap等各种端口扫描工具,可以获得目标计算机的一些有用的信息,比如机器上打开了哪些端口,这就知道开设了哪些网络服务。黑客就可以利用这些服务端漏洞,进行进一步的入侵。这往往是黑客入侵所做的第二步工作。
3.协议栈指纹(Stack Fingerprinting)鉴别(也称操作系统探测)
黑客对目标主机发出探测包,由于不同OS厂商的IP协议栈实现之间存在许多细微差别,因此每种OS都有其独特的响应方法,黑客经常能够确定目标主机所运行的OS。这往往也可以看作是扫描阶段的一部分工作。
4.信息流嗅探(Sniffering)
通过在共享局域网中将某主机网卡设置成混杂模式,或在各种局域网中使用ARP欺骗,该主机就会接受所有经过的数据包。基于这样的原理,黑客可以使用一个嗅探器(硬件 或软件)对网络信息流进行监控,从而收集到账号和口令等信息,这是黑客入侵的第三步工作。
5.会话劫持(Session Hijacking)
所谓会话劫持,就是在一次正常的通信过程中,黑客作为第三方参与到其中,或者是在数据流里注射额外的信息,或者是将双方的通信模式暗中改变,即从直接联系变成交由黑客中转。这种攻击方式可认为是黑客入侵的第四步工作--真正的攻击中的一种。
五种“非法访问”攻击方式的含义
1.口令破解
攻击者可以通过获取口令文件然后运用口令破解工具进行字典攻击或暴力攻击来获得口令,也可通过猜测或窃听等方式获取口令,从而进入系统进行非法访问,选择安全的口令非常重要。这也是黑客入侵中真正攻击方式的一种。
2.IP欺骗
攻击者可通过伪装成被信任源IP地址等方式来骗取目标主机的信任,这主要针对Linux UNIX下建立起的IP地址信任关系的主机实施欺骗。这也是黑客入侵中真正攻击方式的一种。
3.DNS欺骗
当DNS服务器向另一个DNS服务器发送某个解析请求(由域名解析出IP地址)时,因为不进行身份验证,这样黑客就可以冒充被请求方,因请求方返回一个被篡改了的应答(IP地址),将用户引向黑客设定的主机。这也是黑客入侵真正攻击方式之一。
4.重放(Replay)攻击
在消息没有时间戳的情况下,攻击者利用身份认证机制中的漏洞先把别人有用的消息记录下来,过一段时间后再发送出去。
5.特洛伊木马(Trojan Horse)
把一个能帮助黑客完成某一特定动作的程序依附在某一合法用户的正常程序中,而一旦用户触发正常程序,黑客代码同事被激活,这些代码往往能完成黑客早已指定的任务(如监听某个不常用端口,假冒登陆界面获取账号和口令等)。
ISO/OSI中五种标准的安全服务
1.鉴别:用于鉴别实体的身份和对身份的证实,包括对等实体鉴别和数据原发鉴别两种。
2.访问控制:提供对越权使用资源的防御措施。
3.数据机密性:针对信息泄漏而采取的防御措施。分为连接机密性、无连接机密性、选择字段机密性、通信业务流机密性四种。
4.数据完整性:防止非法篡改信息,如修改、复制、插入和删除等。分为带恢复的连接完整性、无恢复的连接完整性、选择字段的连接完整性、无连接完整性、选择字段无连接完整性五种。
5.抗否认:是针对对方否认的防范措施,用来证实发生过的操作。包括有数据原发证明的抗否认和有交付证明的抗否认两种。
密钥的生产需要注意的问题
算法的安全性依赖于密钥,如果用一个弱的密钥产生的方法,那么整个系统都是弱的。DES有56位密钥,正常情况下任何一个56位的数据串都能成为密钥,所以共有256种可能的密钥。在某些实现中,仅允许用ASCII码的密钥,并强制每一个字节的最高位为零。有的实现甚至将大写字母转换成小写字母。这些密钥产生程序都使得DES的攻击难度比正常情况低几千倍。因此,对于任何一种加密方法,其密钥的产生方法都不容忽视。大部分密钥生成算法采用随机过程或者伪随机过程来生成密钥。随机过程一般采用一个随机数发生器,它的输出是一个不确定的值。伪随机过程一般采用噪声源技术,通过噪声源的功能产生二进制的随机序列或与之对应的随机数。
KDC(密钥分配中心)在密钥分配过程中充当的角色?
KDC在密钥分配过程中充当可信任的第三方。KDC保存有每个用户和KDC之间共享的唯一密钥,以便进行分配。在密钥分配过程中,KDC按照需要生成各队端用户之间的回话密钥,并由用户和KDC共享的密钥进行加密,通过安全协议将回话密钥安全的传送给需要进行通信的双方。
数字签名的主要流程:
1.采用散列算法对原始报文进行运算,得到一个固定长度的数字串,称为报文摘要,不同的报文所得到的报文摘要各异,但对相同的报文它的报文摘要却是唯一的。在数学上保证,只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符,这样就保证了报文的不可更改性。
2.发送方用自己的私有密钥对摘要进行加密来形成数字签名。
3.这个数字签名将作为报文的附件和报文一起发送给接收方。
4.接受方首先对接受到的原始报文用同样的算法计算处新的报文摘要,再用发送方的公开密钥对报文附件的数字签名进行解密,比较两个报文摘要,如果值相同,接收方就能确认该数字签名是发送方的,否则就认为收到的报文时伪造的或者中途篡改。
数字证书的原理:
数字证书采用公开密钥体质(例如RSA)。每个用户设定一仅为本人所知的私有密钥,用它进行解密和签名;同时设定一公开密钥和验证签名。采用数字证书能确认两点:
1.保证信息是由签名者自己签名发送的,签名者不能否认。
2.保证信息自签发后到收到为止未曾做过任何修改,签发的信息是真实信息。
存储口令的方式,如何实现口令验证的方式?
1.直接明文存储口令
有很大风险,只要得到了存储口令的数据库,就可以得到全体人员的口令,比如攻击者可以设法得到一个低优先级的账号和口令,进入系统后得到明文存储口令的文件,这样他就可以得到全体人员的口令。
2.Hash散列存储口令
散列函数的目的是为文件、报文或其他分组数据产生“指纹”。对每个用户,系统存贮账号和散列值对在一个口令文件中,当用户登陆时,用户输入口令x,系统计算F(x),然后与口令文件中相应的散列值进行比对,成功即允许登录。
使用口令进行身份认知的优点在于黑客即使得到了口令文件,通过散列值想要计算出原始口令在计算上也是不可能的,增加了相对安全性。缺点是由严重的安全问题(单因素的认证),安全性仅依赖于口令,而且用户往往选择容易记忆、容易猜测的口令(安全系统最薄弱的突破口),口令文件也可被进行离线的字典式攻击。
访问控制有几种常用的实现方法?
1.访问控制矩阵
行表示客体(各种资源),列表示主体(通常为用户),行和列的交叉点表示某个主体对某个客体的访问权限。通常一个文件的own权限表示可以授予(Authorize)或撤销(Revoke)其他用户对该文件的访问控制权限。
2.访问能力表
实际的系统中虽然可能有很多的主体和客体,但两者之间的权限关系可能并不多。为了减轻系统的开销与浪费,我们可以从主体触发,表达矩阵某一行的信息,就是访问能力表(Capabilities)。只有当一个主体对某个客体拥有访问的能力时,它才能访问这个客体。但是要从访问能力表获得对某一特定客体有特定权限的所有主体就比较困难。在一个安全系统中,正是客体本身需要得到可靠的保护,访问控制服务也应该能够控制可访问某一客体的主体集合,于是出现了以客体为出发点的实现方式--ACL。
3.访问控制表
也可以从客体(列)出发,表达矩阵某一列的信息,这就是访问控制表(Access Control List,ACl)。它可以对某一特定资源指定任意一个用户的访问权限,还可以将有相同权限的用户分组,并授予组的访问权。
4.授权关系表
授权关系表的每一行表示了主体和客体的一个授权关系。对表按客体进行排序,可以得到访问能力表的优势,对表的优势。适合采用关系数据库来实现。
访问控制表ACL的优缺点?
优点:表述直观,易于理解,比较容易查处对某一特定资源拥有访问权限的所以用户,有效的实施授权管理。
ACL应用到规模大的企业内部网时,有问题:
1.网络资源很多,ACL需要设定大量的表项,而且修改起来比较困难,实现整个组织范围内一致的控制政策也比较困难。
2.单纯使用ACL,不易实现最小权限原则及复杂的安全政策。
PKI(公钥基础设施,Public Key Infrastructure)
数字证书是一个经证书认证中心CA数字签名的包含公开密钥拥有者信息以及公开密钥的文件。认证中心作为权威的、可信赖的、公正的第三方机构,专门负责为各种认证需求提供数字证书服务。
掌握证书管理的3个阶段组成,没个阶段具体包括哪些内容?
1.证书管理
(1)初始化阶段
1)终端实体注册
终端实体注册是单个用户或进程 身份被建立和验证的过程。注册过程能够通过不同的方法来实现,。终端实体注册是在线执行的,是用注册表的交换来说明的。注册过程一般要求包括将一个或更多的共享秘密赋给终端实体以便后来在初始化过程中CA确认那个个体。
2)密钥对的产生
密钥资料可以在终端实体注册过程之前或直接响应终端实体注册过程时产生。在RA中或在CA中产生密钥资料是可能的。每个终端实体多个密钥可以被用作支付分离的和截然不同的服务。例如一个密钥对可以被用作支持不可否认性服务而另一个密钥对可以被用作支持机密性或密钥管理功能(双密钥对模型)。
3)证书创建和密钥/证书分发
无论密钥在哪里产生的,证书创建的职责都将单独地落在被授权的CA上,如果公钥是被终端实体而不是CA所产生的,那么该公钥必须被安全的传送到CA以便其能够被放入证书。一旦密钥资料和相关的证书已经被产生,它们必须被适当分发。请求证书和从可信实体(即CA)取回证书的必要条件是要求一个安全协议机制。
4)证书的颁发
如果私钥和响应的公钥证书已经被分发,那么有一种或多种传送给另一个实体的方法:带外分发;在一个公众的资料库或数据库中公布,以便查询和在线检索简便;带内协议分发。被用做数字签名目的的证书可以仅需要分发给它们的所有者,被用作机密性目的的证书对于发信方必须是容易获得的。
5)密钥备份和托管
(2)颁布阶段
1)证书检索
证书检索与访问一个终端实体证书的能力有关。检索一个终端实体证书的需求可能被两个不同的使用要求所驱动。加密发给其他实体的数据的需求;验证一个从另一个实体收到的数字签名的需求。
2)证书验证
证书验证与评估一个给定证书的合法性和证书颁发者的可信赖性有关。证书验证是在基于那个证书被准许加密操作之前进行的。
3)密钥恢复
密钥管理生命周期包括从远程备份设施中恢复私有加密密钥能力。密钥恢复能使PKI管理员和终端用户的负担减至最小,这个过程最大程度自动化。
4)密钥更新
当证书被颁发时,其被赋予与一个固定的生存周期。当过期时需要颁发一个新的公私钥和相关证书。
(3)取消阶段
1)证书过期
当一个证书过期后,与该证书有关的终端实体可能发生三件事:没有活动,终端实体不在参加PKI;证书恢复,相同的公钥被加入新有效期的新证书;证书更新,一个新的公私钥对被产生,并且一个新的证书被颁发。
2)证书撤销
在证书自然过期之前对给定证书的即时取消。一个终端用户个人可以亲自初始化证书撤销。RA可以代表终端用户被用作初始化证书撤销,经授权的管理者也可以有能力撤销终端实体的证书。
3)密钥历史
由于机密性加密密钥最后要过期,因此可靠安全地存储用作解密的私有密钥时必须的,这被称作密钥历史,否则无法恢复。
4)密钥档案
可靠的保存已过期的用于验证数字签名的公钥,以便对历史文档的数字签名进行验证。
什么是证书链,根CA证书由谁签发?
由于一个公钥用户拥有的可信证书管理中心数量有限,要与大量不同管理域的用户建立安全通信需要CA建立信任关系。这样就要构造一个证书链。证书链是最常用的用于验证实体它的公钥之间的绑定方法。一个证书链一般是从根CA证书开始,前一个证书主体是后一个证书的签发者,也就是说,该主题对后一个证书进行签名。而根CA是由根自己签发的。
SSL产生会话密钥的方式是随机由客户机产生并加密后通知服务器。
一般而言,防火墙建立在一个网络的内部网络和外部网络的交叉点。
包过滤型防火墙原理上是基于网络层进行分析的技术。
为了降低风险,不建议使用的Internet服务是FTP服务。
什么是防火墙?为什么需要有防火墙?
防火墙是一种装置,它是由软件和硬件设备组合而成,通常处于企业的内部局域网与Internet之间,限制Internet用户对内部网络的访问以及管理内部用户访问Internet的权限。换言之,一个防火墙在一个被认为是安全和可信的内部网络和一个被认为是不那么安全和可信的外部网络之间提供一个封锁工具。如果没有防火墙,则整个内部网络的安全心完全依赖于每个主机,因此,所以的主机都必须达到一致的高度安全水平,这在实际操作时非常困难。 而防火墙被设计为值运行专用的访问控制软件的设备,没有其他的服务,因此也就意味着相对少一些缺陷和安全漏洞,这就使得安全管理变的更为方便,易于控制,也会使内部网络更加安全。防火墙所遵循的原则是在保证网络畅通的情况下,尽可能保证内部网络的安全,是一种静态安全部件。
防火墙的局限性?
1.网络上有些攻击可以绕过防火墙
2.防火墙不能防范来自内部网络的攻击。
3.防火墙不能对被病毒感染的程序和文件的传输提供保护。
4.防火墙不能防范全新的网络威胁。
5.当使用端到端的加密,防火墙的作用会受到很大的限制。
6.防火墙对用户不完全透明,可能带来传输延迟、瓶颈以及单点失效等问题。
7.防火墙不能防止数据驱动式攻击。
包过滤防火墙的过滤原理?
包过滤防火墙也称分组过滤路由器,又叫网络层防火墙,因为它是工作在网络层。路由器便是一个网络层防火墙,因为包过滤是路由器的固有属性。它一般是通过检查但个包的地址、协议、端口等信息来觉定是否允许此数据包通过,有静态和动态两种过滤方式。这种防火墙可以提供内部信息以说明所通过的连接状态和一些数据流的内容,把判断的信息同规则表进行比较,在规则表中定义了各种规则来表名是否同意或拒绝包的通过。包过滤防火墙检查每一条规则直至发现包中的信息与某规则相符时,一定要注意数据包是双向的。
状态检测防火墙
VPN的加密手段为VPN内的各台主机对各自的信息进行相应的加密
VPN是什么?
VPN是Virtual Private Network的缩写,是将物理分布在不同地点的网络通过公用骨干网,尤其是Internet连接而成的逻辑上的虚拟子网。Virtual是针对传统的企业“专用网络”而言的。VPN则是利用公用网络资源和设备建立一个逻辑上的专用通道,尽管没有自己的专用线路,但它却可以提供和专用网络同样的功能。Private表示VPN是被特定企业或用户私有,公共网络上只有经过授权的用户才可以使用,在该通道内传输的数据经过了加密和认证,保证了传输内容的完整性和机密性。
一般是指建筑再因特网上能够自我管理的专用王丽丽,是一条穿过混乱的公共网络的安全稳定的隧道。通过对网络数据的封包和加密传输,在一个公用网络建立一个临时的,安全的链接,从而实现早公共网络上传输私有数据达到私有网络的级别。
黑客攻击过程
1.目标探测和信息摄取
先确定攻击目标并收集目标系统的相关信息。一般先大量手机网上主机的信息,然后根据个系统的安全性强弱确定最后的目标。
(1)踩点(Footprinting)
黑客必须尽可能收集目标系统安全状况的各种信息。Whois数据库查询可以获得很多关于目标系统的注册信息,DNS查询(用Windows/UNIX上提供的nslookup命令客户端)也可令黑客获得关于目标系统域名、IP地址、DNS服务器、邮件服务器等有用信息。此外还可以用traceroute工具获得一些网络拓扑和路有信息。
(2)扫描(Scanning)
在扫描阶段,我们将使用各种工具和技巧(如Ping扫射、端口扫描以及操作系统检测等)确定哪些系统存货、它们在监听哪些端口(以此来判断它们在提供哪些服务),甚至更进一步获知它们运行的是什么操作系统。
(3)查点(Enumeration)
从系统中抽取有效账号或导出资源名的过程称为查点,这些信息很有可能成为目标系统的祸根。比如说,一旦查点查出一个有效用户名或共享资源,攻击者猜出对应的密码或利用与资源共享协议关联的某些脆弱点通常就只是一个时间问题了。查点技巧差不多都是特定雨操作系统的,因此要求使用前面步骤汇集的信息。
2.获得访问权(Gaining Access)
通过密码窃听、共享文件的野蛮攻击、窃取密码文件并破解或缓冲区溢出攻击等来获得系统的访问权限。
3.特权提升
在获得一般账户后,黑客经常会试图获得更高的权限。通常可以采用密码破解(如用L0phtcrack破解NT的SAM文件)、利用已知的漏洞或脆弱点等技术。
4.窃取(Stealing)
对敏感数据进行篡改、添加、删除及复制(如Windows系统注册表、UNIX的rhost文件等)。
5.掩盖踪迹(Covering Tracks)
此时最重要就隐藏自己踪迹,比如清除日志记录、使用rootkits等工具。
6.创建后门
在系统的不同部分不知陷阱和后门,以便入侵者在以后仍能从容获得特权访问。
什么是IDS,基本功能?
入侵检测系统IDS,它从计算机网络系统中的若干关键点收集信息,并分析这些信息,检查网络中是否有违反安全策略的行为和遭到袭击的痕迹。入侵检测被认为是防火墙之后的第二道安全闸口。
(1)监测并分析用户和系统的活动,查找非法用户和合法用户的越权操作;
(2)核查系统配置和漏洞并提示管理员修补漏洞;
(3)评估系统关键资源和数据文件的完整性;
(4)识别已知的攻击行为,统计分析异常行为;
(5)操作系统日志管理,并识别违反安全策略的用户活动等。
计算机病毒是计算机系统中一类隐藏在存储介质上蓄意破坏的程序,具有5个特征:主动传染性,破坏性,寄生性,潜伏性,多态性。恶意代码的基本形式还有后门、逻辑炸弹、特洛伊木马、蠕虫、细菌。蠕虫是通过网络传播的。
基本的病毒防范措施:
计算机病毒防范是指通过建立合理的计算机病毒防范体系和制度,及时发现计算机病毒侵入,并采取有效的手段阻止计算机病毒的传播和破坏,恢复受影响的计算机系统和数据。计算机病毒利用读写文件能进行感染,利用驻留内存,截取中断向量等方式能进行传染和破坏。预计计算机病毒就是要监视、跟踪系统内类似的操作,提供对系统的保护,最大限度地避免各种计算机病毒的传染破坏。
病毒的特征代码是病毒程序编制者用来识别自己编写程序的唯一代码串。因此检测病毒程序可利用病毒的特征代码来检测病毒,以防止病毒程序感染。
网络蠕虫是一种可以通过网络(永久连接网络或拨号网络)进行自身辅助的病毒程序。一旦在系统中激活,蠕虫可以表现的像计算机病毒或细菌。可以向系统注入特洛伊木马程序,或者进行任何次数的破坏或毁灭行动。普通计算机病毒需要在计算机的硬件或文件系统中繁殖,而典型的蠕虫程序会在内存中维持一个活动副本。蠕虫是一个独立运行的程序,自身不改变其他的程序,但可以携带一个改变其他程序功能的病毒。
揭秘算法D是加密算法E的逆运算。
如果加密秘钥和解密密钥相同,这种体制称为对称密码体制。
DES算法密钥是64位,其中密钥有效位是56位。RSA算法的安全是基于分解两大素数的积的困难。
公开密钥加密算法的用途主要包括两方面:密钥分配、数字签名。
MAC函数类似于加密,它与加密的区别是MAC函数不可逆。
对称密钥密码体制的原理和特点
对称密钥体制,对于大多数算法,解密算法是加密算法的逆运算,加密密钥和解密密钥相同,同属一类的加密体系。它的保密强度高但开放性差,要求发送者和接受者在安全通信之前,需要有可靠的密钥信道传递密钥,而此密钥也必须妥善保管。
五种非法访问攻击方式
1.口令破解
攻击者可以通过获取口令文件然后运用口令破解工具进行字典攻击或暴力攻击来获得口令,也可通过猜测或窃听等方式获取口令,从而进入系统进行非法访问,选择安全的口令非常重要。这也是黑客入侵中真正攻击方式的一种。
2.IP欺骗
攻击者可通过伪装成被信任源IP地址等方式来骗取目标主机的信任,这主要针对Linux UNIX下建立起IP地址信任关系的主机实施欺骗。这也是黑客入侵中真正攻击方式的一种。
3.DNS欺骗
当DNS服务器向另一个DNS服务器发送某个解析请求(由域名解析出IP地址)时,因为不进行身份验证,这样黑客就可以冒充被请求方,向请求方返回一个被篡改了的应答(IP地址),将用户引向黑客设定的主机。
4.重放(Replay)攻击
在消息没有时间戳的情况下,攻击者利用身份认证机制中的漏洞先把别人有用的消息记录下来,过一段时间再发送出去。
5.特洛伊木马
把一个能帮助黑客完成某一特定动作的程序依附在某一合法用户的正常程序中,而一旦用户触发正常程序,黑客代码同时被激活,这些代码往往能完成黑客早已指定的任务
常规加密密钥的分配有几种方案?
1.集中式密钥分配方案
由一个中心节点或者由一组节点组成层次结构负责密钥的产生并分配给通信的双方,在这种方式下,用户不需要保存大量的会话密钥,只需要保存同中心节点的加密秘钥,用于安全传送由中心节点产生的即将用于与第三方通信的会话密钥,这种方式缺点时通信量大,同事需要较好的鉴别功能以鉴别中心节点和通信方。目前这方面主流技术是密钥分配中心KDC技术。我们假定每个通信方与密钥分配中心KDC之间都共享一个唯一的主密钥,并且这个唯一的主密钥是通过其他安全的途径传播。
2.分散式密钥分配方案
使用密钥分配中心进行密钥的分配要求密钥分配中心是可信任的并且应该保护它免于被破坏。如果密钥分配中心被第三方破坏,那么所有依靠该密钥分配中心分配中心分配会话密钥进行通信的所有通信方将不能进行正常的安全通信。如果密钥分配中心被第三方控制,那么所有依靠该密钥分配中心分配会话密钥进行进信的所有通信方之间的通信信息将被第三方窃听到。
密钥的产生需要注意的问题
算法的安全性依赖于密钥,如果一个弱的密钥产生方法,那么整个系统都将是弱的。DES由56位密钥,正常情况下任何56位的数据串都能成为密钥,所以共有256种可能的密钥。在某些实现中,仅允许用ASCII码的密钥,并强制每一字节的最高位为零。有的实现甚至将大写字母转换成小写字母。这些密钥产生程序都使得DES的共计难度比正常情况下低几千倍。因此,对于任何一种加密方法,其密钥产生方法都不容忽视。大部分密钥生成算法采用随机过程或者伪随机过程来生成密钥。随机过程一般采用一个随机数发生器,它的输出是一个不确定的值。伪随机过程一般采用噪声源技术,通过噪声源的功能产生二进制的随机序列或与之对应的随机数。
KDC在密钥分配中充当的角色?
KDC在密钥分配过程中充当可信任的第三方。KDC保存有每个用户和KDC之间共享的唯一密钥,以便进行分配。在密钥分配到过程中,KDC按照需要生成各对端用户之间的会话密钥,并由用户和KDC共享的密钥进行加密,通过安全协议将会话密钥安全地传送给需要进行通信的双方
数字签名的作用
数字签名技术必须能够解决以下争端
否认,发送方不承认自己发送过某一报文。
伪造,接收方自己伪造一份报文,并声称它来自发送方
冒充,网络上的某个用户冒充另一个用户接受或发送报文
篡改,接收方对收到的信息进行篡改
数字签名的主要流程
(1)采用散列算法对原始报文进行运算,得到一个固定长度的字符串,称为报文摘要(Message Digest),不同的报文所得到的报文摘要各异,但对相同的报文它的报文摘要值就会与原先的值不相符,这样就保证了报文的不可更改性。
(2)发送方用自己的私有密钥对摘要进行加密来形成数字签名。
(3)这个数字签名将作为报文的附件和报文一起发送给接收方。
(4)接收方首先对接受到的原始报文用同样的算法计算出新的报文摘要,再用发送方的公开密钥对报文附件的数字签名进行解密,比较两个报文摘要,如果值相同,接收方就能确认该数字签名是发送方的,否则就认为收到的报文是伪造的或者中途被篡改的。
数字证书的原理?
数字证书采用公开密钥体制(RSA)。每个用户设定一仅为本人所知的私有密钥,用它进行解密和签名:同时设定以公开密钥,为一组用户所共享,用于加密和验证签名。采用数字证书,能够确认两点:(1)保证信息是由签名者自己签名发送的,签名者不能否认或难以否认(2)保证信息自前发后到收到为止未曾做过任何修改,签发的信息是真实信息。
单机状态下验证用户身份的三种因素?
(1)用户所知道的东西:如口令、密码;
(2)用户所拥有的东西:如智能卡、身份证;
(3)用户所具有的生物特征:指纹、声音、DNA等。
有哪两种主要的存储方式,各是如何实现口令验证的?
1.直接明文存储口令
有很大的风险,只要得到了存储口令的数据库,就可以得到全体人员的口令。比如攻击者可以设法得到低优先级的账号口令,进入系统后得到明文存储口令的文件,这样他就可以得到全体人员的口令。
2.Hash散列存储口令
散列函数的目的是为文件、报文或其他分组数据产生“指纹”。对于每一个用户,系统存储账号和散列值对在一个口令文件中,当用户登录时,用户输入口令x,系统计算F(x),然后与口令文件中相应的散列值进行比较,成功即允许登录。
访问控制有几种常用的实现方式?它们各有什么特点?
1.访问控制矩阵
行表示客体(各种资源),列表示主体(通常为用户),行和列的交叉点表示某个主体对某个客体的访问权限。通常一个文件的own权限表示可以授权(Authorize)或撤销(Revoke)其他用户对该文件的访问控制权限。
2.访问能力表
实际的系统中虽然可能有很多的主体与客体,但两者之间的权限关系可能并不多。为了减轻系统的开销与浪费,我们可以从主体(行)出发,表达矩阵某一行的信息,这就是访问能力表(Capabilities)。
只有当一个主体对某个客体拥有访问能力时,它才能访问这个客体。但是要从访问能力表获得对某一特定客体有特定权限的所有主体就比较困难。在一个安全系统中,正是客体本身需要得到可靠的保护,访问控制服务也应该能够控制可访问某一客体的主体集合,于是出现了以客体为出发点的实现方式--ACL。
3.访问控制表
也可以从客体(列)出发,表达矩阵某一列的信息,这就是访问控制(Access Control List)。它可以对某个特定资源指定任意一个用户的访问权限,还可以将有相同权限的用户分组,并授权组的访问权。
4.授权关系表
授权关系表(Authorization Relations)的每一行表示了主体和客体的一个授权关系。对表按客体进行排序,可以得到访问控制表的优势;对表按主体进行排序,可以得到访问能力表的优势。适合采用关系数据库来实现。
为什么说在PKI中采用公钥技术的关键是如何确认某个人真正的公钥?如何确认?
信息的可认证性是信息安全的一个重要方面。认证的目的有两个:一个是验证信息发送者的真实性,确认他没有被冒充:另一个是验证信息的完整性,确认被验证的信息在传递或存储过程中没有被篡改、重组或延迟。
在认证体制中,通常存在一个可信的第三方,用于仲裁、颁发证书和管理某些机密信息。公钥密码技术可以提供网络中信息安全的全面解决方案,采用公钥技术的关键是如何确认某个人真正的公钥。在PKI中,为了确保用户及他所持有密钥的正确性,公开密钥系统需要一个值得信赖而且独立的第三方充当认证中心(CA),来确认声称拥有公开密钥的人的真正身份。
要确认一个公共密钥,CA首先制作一张“数字证书”,它包含用户身份的部分信息及用户所持有的公开密钥,然后CA利用本身的私钥为数字证书加上数字签名。
任何想发放自己公钥的用户,可以去认证中心申请自己的证书。CA中心在认证该人的真实身份后,颁发包含用户公钥的数字证书,它包含用户的真实身份、并证实用户公钥的有效期和作用范围(用于交换密钥还是数字签名)。其他用户只要能验证证书是真实的,并且信任颁发证书的CA,就可以确认用户的公钥。
掌握证书管理有那三个阶段组成,每个阶段包括哪些具体内容?
1证书管理
(1)初始化阶段
1)终端实体注册
终端实体注册是单个用户或进程的身份被建立和验证的过程。注册过程能够通过不同的方法来实现,图示说明了一个实体初始化包括一个RA和一个CA的可能方案(注意RA部件根本不存在的其他可能方案也是可用的)。终端实体注册是在先执行的,是用注册表格的交换来说明。注册过程一般要求包括将一个或更多的共享秘密赋给终端实体以便后来在初始化过程中CA确认那个个体。
2)密钥对产生
密钥资料可以在终端实体注册过程之前或直接响应终端实体注册过程时产生。在RA中或在CA中产生密钥资料是可能的。每个终端实体多个密钥可以被用做支持分离的和截然不同的服务。例如,一个密钥对可以被用作支持不可否认性服务而另一个密钥对可以被用作支持机密性或密钥管理功能(双密钥对模型)。
3)证书创建和密钥/证书分发
无论密钥在哪里产生,证书创建的职责都将单独的落在被授权的CA上。如果公钥是被终端实体而不是CA所产生的,那么该公钥必须被安全地传送到CA以便其能够被放入证书。一旦密钥资料和相关的证书已经被产生,它们必须被适当分发。请求证书和从可信实体(即CA)取回证书(以及相关的密钥,如果适用的话)的必要条件是要求一个安全协议机制。
4)证书分发
如果私钥和相应的公钥证书已经被分发,那么有一种或多种传送给另一个实体的方法:
带外分发;
在一个公众的资料库或数据库中公布,以便查询和在线检索便捷。
带内协议分发,列入,包括带有安全E-mail报文的适用的验证证书。
被用做数字签名目的的证书可以仅需要分发给它们的所有者,被用作机密性目的的证书对于发信方必须是容易获得的。
5)密钥备份和托管
(2)颁布阶段
1)证书检索
证书检索与访问一个终端实体证书的能力有关。检索一个终端实体证书的需求可能被两个不同的使用要求驱动。
加密发给其他实体的数据的需求。
验证一个从另一个实体收到的数字签名的需求。
2)证书验证
证书验证与评估一个给定证书的合法性和证书颁发者的可信赖关系有关。证书验证是在基于那个证书被准许加密操作之前进行的。
3)密钥恢复
4)密钥更新
(3)取消阶段
1)证书过期
证书在颁布时被赋予一个固定的生存周期,在其被建立的有效期结束后,证书将会过期。当一个证书过期后,与该证书有关的终端实体可能发生三件事:
没有活动:终端实体不在参加PKI;
证书恢复:相同的公钥被加入新有效期的新证书
证书更新:一个新的公私钥对被产生,并且一个新的证书被颁发。
2)证书撤销
在证书自然过期之前对给定证书的即时取消(可以的密钥损害、作业状态的变化或者雇佣终止等)
什么是X.500目录服务?
X.500是一种CCITT针对已经被ISO接受的目录服务系统的建议,它定义了一个机构如何在一个企业的全局范围内共享名字和它们相关的对象。
一个完整的X.500系统称为一个“目录”,X.500是层次性的,其中的管理性域(机构、分支、部门和工作组)可以提供这些域内的用户和资源的信息。它被认为是实现一个目录服务的最好途径。
X.500目录服务是一种用于开发一个单位内部人员目录的标准方法,这个目录可以成为全球目录的一部分,任何人都可以查询这个单位中人员的信息。这个目录有一个树型结构:国家,单位(或组织),部门和个人。一个知名和最大的X.500目录是用于管理域名注册的InterNIC。
X.500目录服务可以向需要访问网络任何地方资源的电子函件系统和应用,或需要知道在网络上的实体名字和低点的管理系统提供信息。这个目录是一个目录信息数据库(DIB)。
X.509方案,它是如何实现数字签名的?
X.509是一种行业标准或者行业解决方案——X.509公共密钥证书,在X.509方案中,默认的加密体制是公钥密码体制。
为进行身份认证,X.509标准及工密钥加密系统提供了数字签名的方案。用户可生成一段信息及其摘要(指纹)。用户用专用密钥对摘要加密以形成签名,接受者用发送者的公共密钥对签名加密,并将之与收到的信息“指纹”进行比较,以确定其真实性。
X.500和LDAP有什么联系和区别?
LDAP协议基于X.500标准,但比较简单,并且根据需要定制,LDAP支持TCP/IP。在企业范围内实现LDAP可以让运行在几乎所有计算机平台上的所有的应用程序从LDAP目录中获取信息(电子邮件、邮件路由信息、人力资源数据、公用密钥、联系人列表)。
实施PKI的过程中产生了哪些问题,如何解决?
首先是实施的问题,PKI定义了严格的操作协议和信任层次关系。任何向CA中申请数字证书的人必须经过线下的身份验证(同城由RA完成),这种身份验证工作很难扩展到整个Internet范围,因此,现今构建的PKI系统都局限在一定范围内这造成了PKI系统扩展问题。
由于不同PKI系统都定义了各自的信任策略,在进行相互认证的时候,为了避免由于信任策略不同而产生的问题,普遍的做法是忽略信任策略。这样,本质上是管理Internet上提出用PMI解决。
什么是证书链?根CA证书由谁签发?
由于一个公钥用户拥有的可信证书管理中心数量有限,要与大量不同管理域的用户建立安全通信需要CA建立信任关系,泽洋就要构造一个证书链。证书链是最常用的用于验证实体它的公钥之间的绑定办法。一个证书链一般是从根CA证书开始,前一个证书主体是后一个证书的签发者。也就是说,该主体对后一个证书进行了签名。而根CA证书是由根自己签发的。
请利用认证技术设计两套系统,一套用于实现商品的真伪查询,另一套用于防止电脑彩票伪造问题。
(1)系统产生一随机数并存储此数,然后对其加密,再将密文贴在商品上。当客户购买到此件商品并拨打电话查询时,系统将客户输入的编码(即密文)解密,并将所得到的明文与存储在系统中的明文比较,若匹配则提示客户商品是真货,并从系统中删了此明文;若不匹配则提示客户商品是假货。
(2)首先,系统给彩票编好码,习惯称之为条形码;然后,将条形码通过MD5运算,得到相应的消息摘要;接着,对消息摘要进行加密,得到相应密文;最后,系统将条形码与密文绑定在一起并储存,若要查询时只要查看条形码与密文是否相关联即可。这样,即可实现电脑彩票防伪,因为伪造是无法伪造密文的。
P2DR2
P2DR2动态安全模型研究的是基于企业网对象、依时间及策略特征的(Policy,Protection,Detection,Response,Restore)动态安全模型结构,由策略、
防护、检测、响应和恢复等要素构成,是一种基于闭环控制、主动防御的动态安全模型。通过区域网络的路由及安全策略分析与制定,在网络内部及边界
建立实时检测、监测和审计机制,采取实时、快速动态响应安全手段,应用多样性系统灾难备份恢复、关键系统冗余设计等方法,构造多层次、全方位和立
体的区域网络安全环境。
一个良好的网络安全模型应在充分了解网络系统安全需求的基础上,通过安全模型表达安全体系架构,通常具备以下性质:精准、无歧义;简单和抽象;
具有一般性;充分体现安全策略。
什么是密码分析,其攻击类型有哪些?DES算法中s盒的作用是什么?
密码分析是指研究在不知道密钥的情况下来恢复明文的科学。攻击类型有只有密文的攻击、已知明文的攻击、选择明文的攻击、适应性选择明文攻击、选择
密文的攻击、选择密钥攻击、橡皮管密码攻击。S盒是DES算法的核心。其功能是把6bit数据变为4bit数据。
古典密码体质中代换密码有哪几种,各有什么特点?
古典密码学中,有四种类型的代替密码:
1.简单代替密码(或单表代替密码),它将明文字母表中的每个字母用密文字母表中的相应字母来代替,明文表字母存在唯一的一一对应关系,然后通过明
密文对照表来进行加解密,容易受到频率统计分析攻击;2.多明码代替密码,将明文中的每个字母按一定规律映射到一系列秘闻字母,这一系列秘闻字母称为同
音字母,它的密文的相关分布会接近于平的,能够较好挫败频率分析,较简单代替密码难破译。3.多字母代替密码,通过依次加密一组字母来使密码分析更加困
难;4.多表代替密码,使用从明文字母到密文字母的多个映射,每个映射像简单代替密码中的一一对应,比简单代替密码更安全一些。
描述说明DES算法的加解密过程?
DES算法是一个分组加密算法,它以64为分组对数据进行加密,其初始密码也是64位,它的加密过程可以描述如下:1.64位密钥经子密钥产生算法产生出16个
子密钥:K1,K2...K16,分别供第一次,第二次,...,第十六次加密迭代使用。2.64位明文经初始置换IP,将数据打乱重排并分成左右两半。左边为L0,右边为
R0:X=L0R0=IP(x)。3.16轮论变换,每轮操作如下:在轮子密钥Ki的控制下,由轮函数f对当前轮输入数据的右半部分Ri-1进行加密:第一步,将Ri-1经过E盒置
换扩展成48位,第二部,将Ri-1与48位的轮子密钥Ki逐比特异或,第三部,对Ri-1进行S盒压缩代换,将其压缩位32位,第四部,对Ri-1进行P盒置换。然后,将
Ri-1与当前轮输入的左半部分Li-1进行逐比特异或,将该运算结果作为当前轮右半部分的输出Ri=Li+f(Ri-1,Ki);将本轮输入的右半部分数据作为本轮输出的左
半部分数据:Li=Ri-1。5.经过逆初始变换IP-1输出密文。对于DES算法来说,其解密过程与加密过程是同一过程,只不过使用子密钥的顺序相反。
简述数字签名的基本原理?
数字签名与加密不同,它的主要目的是保证数据的完整性和真实性,一般包括两部分:签名算法和验证算法,通常由公钥密码算法和杂凑函数(hash算法)
结合实现。假设发送方A要向接收方B发送以消息M,并对该消息进行数字签名,其具体的原理和过程如下:发送方A采用自己的私钥Pra对消息M的消息摘要加密,
实现签名:EPRa(Hash(M)),并将签名与消息M并联形成最终要发送的消息:M||EPRa(Hash(M)),然后发送该消息;3.接收方接受B接受到消息后,采用发送方A
的公钥Pua解密签名,恢复原始消息的摘要:Hash(M)=DPUa(EPRa(Hash(M)));4.接收方B采用杂凑函数,重新计算消息M的消息摘要:H'ash(M),并与从发送方
A接受到的消息摘要进行比较,若相等,则说明消息确实是发送方A发送的,并且消息的内容没有被修改过。数字签名技术对网络安全通信及各种电子交易系统
的成功有重要作用。
某病毒利用RPCDCOM缓冲区溢出漏洞进行传播,病毒运行后,在%System%文件夹下生成自身的拷贝nvchip4.exe,添加注册表项,是的自身能够在系统启动时自动
运行。通过以上描述可以判断这种病毒的类型为网络蠕虫病毒。
简述数字签名的基本原理?
数字签名包含两个过程:签名过程和衍生过程。由于从公开密钥不能推算出私有密钥,因此公开密钥不会损坏私有密钥的安全性;公开密钥无需保密,可
以公开传播,而私有密钥必须保密。因此若某人用其私有迷药机密消息,并且用其公开密钥正确解密,就可肯定该消息是某人签名的。因为其他人的公开密钥
不可能解密该加密过的消息,其他人也不可能拥有给人的私有密钥而制造出该加密过的消息,这就是数字签名的原理。
简述Web安全目标及技术?
Web安全目标是保护Web服务器及其数据的安全、保护Web服务器和用户之间传递信息的安全、保护终端 用户 计算机及其他人连入Internet的设备的安全。
Web安全技术主要包括Web服务器安全技术、Web应用服务安全技术 和Web浏览器安全技术。
列举几种常见的攻击实施技术?
社会工程学攻击、口令攻击、漏洞攻击、欺骗攻击、拒绝服务攻击等。
阅读(9720) | 评论(0) | 转发(0) |