安全方法

安全模型

  1. 无安全性
  2. 隐藏安全:一件事物不为人知,那么它是安全的。如密码。类比代码实现防范,路径,端口等。
  3. 主机安全性
  4. 网络安全性

安全管理

  1. 向有关方面解释安全策略
  2. 该要介绍每个人的责任
  3. 建立可监察性
  4. 提供预期和定期审查

安全原则

举例:
小李向小黄写了封求爱情书,由邮递员小张寄送,但不希望小张知道书中的内容。

四大原则:

  1. 保密性(confidentiality):其它人收到了加密的消息,但不会知道细节。
  2. 完整性(integrity):要保证小黄收到的消息没有被添油加醋(篡改)
  3. 鉴别 (authentication): 小黄要保证收到的书是小李寄来的,而不是老王(伪装小李)寄来的。
  4. 不可抵赖(non-repudiation):小黄收道后要避免小李反悔(反复无常是渣男的表现)。仲裁者要用定情信物(小李的签名)否认小李的抵赖。

针对整个系统的两个原则:
5. 访问控制(access control):确定谁能访问什么。
6. 可用性(availability)

攻击类型

攻击方法:

保密性(confidentiality)~截获(interception): 例如网络抓包
完整性(integrity)~篡改(modification):数据内容是否完整。
鉴别 (authentication)~伪造(fabrication):数据的来源是否正确。
不可抵赖(non-repudiation):防止发消息的人否认,如银行转账者。
可用性(availability)~ 中断(interruption) 如饱和攻击造成拒绝服务(Denial of Service, DOS)

  1. 被动攻击(passive attacks):监听截获但不会对数据进行修改。
    a. 消息内容泄漏
    b. 通信量分析(Taffic analysis)
  2. 主动攻击(active attacks):
    a. 中断
    b. 修改:重放攻击(replay attacks) 改变消息(alteration of messages)
    c. 伪造

特定攻击

数据包窃听(Packet sniffing / snooping) or IP sniffing
数据包伪装(Packet spoofing) or IP spoofing

伪装的几种情况
  1. 截获答复, 发动劫持(hijacking)攻击
  2. 攻击者不用看到答复:拒绝服务攻击。

病毒(virus)
特洛伊木马(Trojan horse)
蠕虫病毒(worm)

编程练习题

主要数字逻辑中

  1. 编写一个程序, 包含字符串值"Hello World", 分别将字符串的每个字符与 1 进行异或运算并显示结果,再将每个值与0异或,看看有什么特殊之处。
    代码如下:

    def show_xor(string:str, x:int):print("将%s 的每个字符与 %s (%s)的异或结果为:" % (string, x, bin(x)))xor = []for _ in string:print("{} {:4} {:10} {:4} {:10} {}".format(_, ord(_), bin(ord(_)),ord(_)^x, bin(ord(_)^x),chr(ord(_)^x)))xor.append(chr(ord(_)^x))print(string)print(''.join(xor))
    if __name__ == '__main__':string = "Hello World"show_xor(string, 1)show_xor(string, 0)
    
    将Hello World 的每个字符与 1 (0b1)的异或结果为:
    H   72 0b1001000    73 0b1001001  I
    e  101 0b1100101   100 0b1100100  d
    l  108 0b1101100   109 0b1101101  m
    l  108 0b1101100   109 0b1101101  m
    o  111 0b1101111   110 0b1101110  n32 0b100000     33 0b100001   !
    W   87 0b1010111    86 0b1010110  V
    o  111 0b1101111   110 0b1101110  n
    r  114 0b1110010   115 0b1110011  s
    l  108 0b1101100   109 0b1101101  m
    d  100 0b1100100   101 0b1100101  e
    Hello World
    Idmmn!Vnsme
    将Hello World 的每个字符与 0 (0b0)的异或结果为:
    H   72 0b1001000    72 0b1001000  H
    e  101 0b1100101   101 0b1100101  e
    l  108 0b1101100   108 0b1101100  l
    l  108 0b1101100   108 0b1101100  l
    o  111 0b1101111   111 0b1101111  o32 0b100000     32 0b100000
    W   87 0b1010111    87 0b1010111  W
    o  111 0b1101111   111 0b1101111  o
    r  114 0b1110010   114 0b1110010  r
    l  108 0b1101100   108 0b1101100  l
    d  100 0b1100100   100 0b1100100  d
    Hello World
    Hello World
    
  2. 编写一个程序, 包含字符串值"Hello World",将每个字符与 127 进行 与 或 异或 运算并显示结果, 为什么结果不同?

    def show_xor(string:str, x:int):print("将%s 的每个字符与 %s (%s)的异或结果为:" % (string, x, bin(x)))xor = []for _ in string:print("{} {:4} {:10} {:4} {:10} {}".format(_, ord(_), bin(ord(_)),ord(_)^x, bin(ord(_)^x),chr(ord(_)^x)))xor.append(chr(ord(_)^x))print(string)print(''.join(xor))
    def show_and(string:str, x:int):print("将%s 的每个字符与 %s (%s)的与结果为:" % (string, x, bin(x)))and_ = []for _ in string:print("{} {:4} {:10} {:4} {:10} {}".format(_, ord(_), bin(ord(_)),ord(_)&x, bin(ord(_)&x),chr(ord(_)&x)))and_.append(chr(ord(_)&x))print(string)print(''.join(and_))def show_or(string:str, x:int):print("将%s 的每个字符与 %s (%s)的每个字符的或结果为:" % (string, x, bin(x)))or_ = []for _ in string:print("{} {:4} {:10} {:4} {:10} {}".format(_, ord(_), bin(ord(_)),ord(_)|x, bin(ord(_)|x),chr(ord(_)|x)))or_.append(chr(ord(_)|x))print(string)print(''.join(or_))
    if __name__ == '__main__':string = "Hello World"# show_xor(string, 1)# show_xor(string, 0)show_and(string, 127)show_or(string, 127)show_xor(string, 0)
    
    将Hello World 的每个字符与 127 (0b1111111)的与结果为:
    H   72 0b1001000    72 0b1001000  H
    e  101 0b1100101   101 0b1100101  e
    l  108 0b1101100   108 0b1101100  l
    l  108 0b1101100   108 0b1101100  l
    o  111 0b1101111   111 0b1101111  o32 0b100000     32 0b100000
    W   87 0b1010111    87 0b1010111  W
    o  111 0b1101111   111 0b1101111  o
    r  114 0b1110010   114 0b1110010  r
    l  108 0b1101100   108 0b1101100  l
    d  100 0b1100100   100 0b1100100  d
    Hello World
    Hello World
    将Hello World 的每个字符与 127 (0b1111111)的每个字符的或结果为:
    H   72 0b1001000   127 0b1111111
    e  101 0b1100101   127 0b1111111
    l  108 0b1101100   127 0b1111111
    l  108 0b1101100   127 0b1111111
    o  111 0b1101111   127 0b1111111  32 0b100000    127 0b1111111
    W   87 0b1010111   127 0b1111111
    o  111 0b1101111   127 0b1111111
    r  114 0b1110010   127 0b1111111
    l  108 0b1101100   127 0b1111111
    d  100 0b1100100   127 0b1111111
    Hello World将Hello World 的每个字符与 0 (0b0)的异或结果为:
    H   72 0b1001000    72 0b1001000  H
    e  101 0b1100101   101 0b1100101  e
    l  108 0b1101100   108 0b1101100  l
    l  108 0b1101100   108 0b1101100  l
    o  111 0b1101111   111 0b1101111  o32 0b100000     32 0b100000
    W   87 0b1010111    87 0b1010111  W
    o  111 0b1101111   111 0b1101111  o
    r  114 0b1110010   114 0b1110010  r
    l  108 0b1101100   108 0b1101100  l
    d  100 0b1100100   100 0b1100100  d
    Hello World
    Hello World
    

结论

主要考察逻辑运算(布尔运算)的基本性质。这种性质在密码学中应用广泛。
通过程序的输出不难看出几点性质:
按位异或的3个特点:

  1. 任何数与 0 异或 都等于 任何数。(若是0 变为0, 若是1 变为1)
  2. 任何数与 1 异或 都等于 该数取反(若是0 变为1, 若是1 变为0)
  3. 任何数与 它自己 异或 都等于 0。(若是0 变为0, 若是1 变为0)

按位与的特点:
0 & 1 = 0
1 & 1 = 1

按位或的特点:
0 | 1 = 1
1 | 1 = 1

密码学与网络安全-基本概念相关推荐

  1. 密码学与网络安全第七版部分课后习题答案

    原始博客地址:密码学与网络安全第七版部分课后习题答案 第0章 序言 1.课后题汇总(仅部分) 第一章 思考题:1.2.4.5 第二章 习题:10.12.16 第三章 习题:9 第四章 思考题:4.5. ...

  2. 应用密码学与网络安全上机题通关秘籍

    (1条消息) 西电应用密码学与网络安全.rar_西电密码学实验-网络安全文档类资源-CSDN文库 点上面的链接跳转!

  3. 计算机网络教程第五版|微课版 - 第七章 网络安全 - 重要概念【补充】

    第七章.网络安全[补充] 本章的重要概念 计算机网络中需要提供的基本安全服务有机密性.报文完整性.不可否认性.实体鉴别.访问控制和可用性等. 密码学是计算机网络安全的基础,是实现机密性.报文完整性.实 ...

  4. 计算机网络中的安全(一)网络安全的概念与加密原理

    参考:<Computer Networking: A Top Down Approach >--Chapter 8 security及随书PPT 文章目录 目录 文章目录 一.什么是网络安 ...

  5. 密码学与网络安全课程习题集及参考答案(一些思考题)

    1.   请分别举例说明什么是保密性原则?完整性原则?认证原则?不可抵赖原则?访问控制原则?可用性原则?为了实现这六个安全原则,主要采用哪些密码技术? 答: (1)  保密性原则是指不经过授权,不能访 ...

  6. 网络安全设备概念的熟悉和学习

    什么是网络安全? 网络安全技术有哪些? Web应用防火墙(WAF) 为什么需要WAF? 什么是WAF? 与传统防火墙的区别 WAF不是全能的 入侵检测系统(IDS) 什么是IDS? 跟防火墙的比较 部 ...

  7. 计算机与网络安全基本概念

    计算机安全 计算机安全是指对于一个自动化的信息系统,采取保护措施确保信息系统资源(包括软硬件.固件.信息.数据和通信)的完成性.可用性.保密性. 保密性(Confidentiality) 数据保密性: ...

  8. 电力网络安全区域概念及划分

    笔者的专栏有很多人询问电力网络安全区的内容,加上笔者多年来也一直看得很混乱,这次多方收集信息,加上自己的理解,写成此文. 内容可能更符合电网网络结构,如有疏漏欢迎到电力知识图谱网站:https://w ...

  9. 密码学与网络安全 - 7 分组加密的工作模式 8 伪随机数的产生和流密码

    7 分组加密的工作模式 7.1 多重加密与三重DES 7.1.1 双重DES 双重DES所对应的映射不被单DES所定义,所以是强于单DES的 中间相遇攻击:可能的密钥加密明文,然后用可能的密钥解密密文 ...

最新文章

  1. 为什么很多程序员面试造火箭,入职拧螺丝?
  2. 利用node、express初始化项目
  3. Java基础篇:final关键字
  4. java 万年历_非常实用的java万年历制作方法
  5. 力扣--扁平化嵌套列表迭代器
  6. java 状态机_基于 RAFT 一致性算法的 Java 实现 SOFAJRaft
  7. python mysqldb 查询不到最新记录_Python MySQLdb更新查询失败
  8. linux之如何快速查看文件的大小
  9. nssl1337-矩形统计【单调栈】
  10. android 技能标签功能_android专业技能总结.doc
  11. Android中使用shape来定义控件的显示属性
  12. Jim Marino与Meeraj Kunnumpurath专访:关于SCA和Fabric3
  13. ie浏览器html状态栏隐藏,我的IE浏览器忽然上面的菜单栏及地址栏都不见了
  14. 克拉克松Clarkson Research情报网注册登录及进行数据查询(以世界造船厂分布为例)
  15. 六足仿生机器人的控制与实现
  16. 苹果发布新召回计划,这款iPhone两年内免费维修
  17. Linux motd详解
  18. 服务程序占用服务器内存过大处理
  19. 【DIP/数字图像处理】第二次习题(DCT、DFT、DWT、DHT频谱分布;证明DFT平移性质;ILF与BLF的区别)
  20. 什么会导致HTTP出现429请求过多错误?

热门文章

  1. 作为全球最大的电商平台,亚马逊有什么过人之处?
  2. SoapUI——创建一个SOAP工程
  3. oracle 12c r2下载地址,Oracle 12C R2安装尝鲜
  4. 登陆QQ手机版,免费拿精品靓号
  5. linux 进程监控
  6. 怎么样启用小米手机5s的Root超级权限
  7. linux 修改cvs密码,cvs修改用户的密码
  8. 美国计算机属于敏感专业吗,美国留学F1签证中最常见被check的14个敏感专业
  9. android apk 反编译
  10. 记一次压测Feign调用时Hystrix could not be queued for execution and no fallback available.