6045_KnowledgeTree
2023-10-24 17:14:07 3 举报
AI智能生成
登录查看完整内容
hku class
作者其他创作
大纲/内容
7_复习完前六章再看看所有的homework sample
Types of Firewalls:- Packet Filtering(分组过滤)- 网络层: 这是一种在网络层进行操作的安全控制方法。它使用一组规则来检查每个传入和传出的IP数据包,并决定是否将其转发或丢弃。- Proxy Gateway(代理网关)- 也被称为应用层网关或代理服务器: 这是一种网络应用程序之间的网关,它代表网络用户执行特定网络应用程序的功能。它充当网络用户的代理,使他们能够与其他网络进行通信。- Circuit Level Inspection(电路级别检查)- SOCKS: 这是一种协议,与应用程序无关,对用户透明,它在会话层执行过滤操作,但不进行内容过滤。其目的是允许网络用户建立安全的连接,而不关心具体的应用程序内容。
some data packets pass through the router and filter out other data packets
e.g. 可以看homework 4的sample
缺点:- IP分片中,数据报的首部信息只出现在第一个片段中,可能导致除了第一个数据包之外,很难对其进行过滤。- 需要在数据包过滤器中引入状态信息以处理这种情况。商业防火墙提供了更高级别的安全功能,包括:- 支持根据连接和服务进行数据包过滤,允许针对不同连接和服务的安全策略。- 支持除“允许”和“拒绝”之外的其他操作,例如用户认证和加密。例如,“如果用户认证成功,则执行FTP连接,允许任何IP地址与123.14.6.23之间的连接”。
Stateless Packet Filtering
Firewall
A physical or logical subnetwork that contains and exposes an organization's external services to the Internet.The purpose of a DMZ is to add an additional layer of security to an organization's local area network (LAN); an external attacker only has access to equipment in the DMZ.
Typical services in DMZ: – Web server– Proxy server– Email server– Reverse proxy server
3-Legged Firewall with DMZ
Demilitarized Zone(DMZ)
This is an integrated security gateway that combines up to 8 components into a single solution. It is designed for low-cost deployment to small and medium businesses and is typically positioned at the edge of the enterprise network. The components included are:- Firewall- Content filtering via a proxy server- Network address translation (NAT)- Virtual private network (VPN)- Anti-virus- Anti-spam- URL filtering- Intrusion detection/prevention system (IDS/IPS)
Unified Threat Management(UTM)
分支主题
TCP 3-Way Handshake
Scene:- Send TCP connection requests faster than a system can process them.– Exhaust states in the TCP/IP stack.
应对SYN洪泛(SYN flooding)攻击的机制和策略:Relay Mechanism(中继机制):- 防火墙会代表内部服务器完成与外部客户端的3次握手。当防火墙收到来自客户端的ACK时,它会与服务器建立握手。Gateway Mechanism(网关机制):- 防火墙拦截客户端和服务器之间的SYN和ACK消息。- 防火墙不等待来自客户端的ACK,而是立即将ACK发送给服务器。- 如果没有收到客户端的ACK,防火墙向服务器发送RST(重置)消息。Passive Gateway(被动网关):-与网关机制类似,但不会立即发送ACK,而是使用较短的超时周期等待客户端的ACK。
SYN Flooding
(Stateful Packet Filter)A mechanism for replacing one IP address in a packet with another IP address.
Methods in handling incoming requests in NAT:- Application level gateways- Static port forwarding- Universal Plug and Play (UPnP) Internet Gateway Device (IGD) protocol- Traversal Using Relays around NAT (TURN)
Network Address Translation(NAT)
Common TCP/IP Network Tools
6_Internet Layer Security
models for explaining the logical structure of a communication network
TCP/IP协议被认为是互联网发展的标准,而OSI模型则是一个"通用、协议无关的标准"。TCP/IP协议是互联网的基础,而网络通常并不依据OSI模型构建,OSI模型仅被用作指导工具。
Security Mechanisms at Different Layers
OSI Model vs Internet Model
OSI Model
优点:在通信的两个端点之间建立了安全的连接
缺点:- 每个链路的两端都必须配备加密设备以读取其控制信息,然后再次进行加密,以便更高层级的协议可以读取信息。-每个设备都需要管理自己的密钥,在异构网络中,由于存在多种不同的加密设备和协议,密钥管理变得非常复杂。- 由于消息在每个中间节点进行解密,因此每个中间节点都有机会进行攻击。
适用场景:- 对于无线通信,可以使用物理层安全措施来保护无线信号的机密性和完整性
at the Physical or Data Link Layers
优点:- 对用户和应用程序透明:它可以保护设备之间的所有通信(通过一条单一的安全管道),无论通信类型(如TCP、UDP、SNMP)或应用程序类型(如电子邮件、客户端-服务器、数据库)。- 安全软件由经验丰富的系统管理员安装和维护。
缺点:1、对底层操作系统的更改要求,需要修改网络协议栈或引入新的安全协议。2、需要所有通信主机使用兼容版本的网络安全软件。
at the Internet Layers
优点:- 在内部主机上运行的应用程序无需具备安全考虑。- 可以在公司网络的边缘部署专用的 SSL VPN 网关,它们充当内部应用程序(如电子邮件和文件服务器)的代理。
缺点:- 安全必须针对每个应用程序单独实施。- 用于保护应用程序的传输安全库必须由系统管理员安装和维护,以确保主机上的所有应用程序都能够使用它。
at the Transport Layers
优点:- 无需更改操作系统,因为只需要安装安全应用程序。- 提供更好的端到端安全性,因为设置和加密计算发生在操作系统之外。- 安全功能可以根据应用程序的确切需求进行开发。
缺点:- 可能需要更复杂的进程之间协商和设置。- 安全应用程序通常由经验不丰富的用户安装,这增加了恶意代码的风险。
e.g. e-banking login
at the Application Layer
传输层的VPN通常用于保护特定应用级别的流量(例如,Web、电子邮件),而IP层的VPN用于保护整个网络之间的通信(站点对站点)或用于远程访问公司网络。
适合场景
IPsec vs SSL
Security at Different Layers
Eavesdropping on or monitoring of transmission to:- obtain message content- perform traffic analysis
Passive Attack
Modification of data stream or creation of false data stream to:- masquerade- replay- modify messages- modify control information- infiltration- perform denial of service
Active Attack
Security Attack
EnciphermentDigital signatureAccess controlData integrityAuthentication exchangeTraffic paddingRouting controlNotarization
Security Mechanisms
AuthenticationAccess controlData confidentialityData integrityNonrepudiation
Security Services
X.800 - The OSI Security Architecture
5_Communication Network Security
only one key
symmetric key
public key
private key
two keys
eg. RSA
Type of encryption
字母偏移固定位置
Caesar Cipher
单字母表,相比凯撒密码更复杂
Monoaphabetic Cipher
将高分布和低分布结合起来,避免黑客利用正态分布破解单密码。密钥表的使用方法例如单数字母和双数字母利用不同的加密方法
Polyalpheabetic Substitution Ciphers
使用一个关键字(key)来搭配轮询的字母生成密钥表,并使用这些密钥表对明文中的字母进行替换
Vigenere Cipher
加密涉及任意长的非重复序列与明文组合的数字
Vernam Cipher
重新排列原文
transposition cipher
one-time pad
密钥的生成通常通过密钥派生函数算法来生成,可以被重复使用
Stream and Block Ciphers
encryption algorithm
permutation
subtitution
Cipher that makes the relationship between the plaintext/key pair and the ciphertext as complex as possible
confusion
Cipher that spreads the information from the plaintext over the entire ciphertext. Changes in the plaintext should affect many parts of the ciphertext.
diffusion
core operations used in encryption algorithm
Rotor Machine
Enigma Machine
past
加密块大小为64位,密钥大小为64位(8位用于校验和,因此实际有效的长度为56位)
基本原理(16轮):1、密钥生成:首先,根据输入的密钥,使用密钥调度算法生成16个子密钥,每个子密钥都是56位长度的。密钥调度算法通过对密钥进行置换、旋转和压缩等操作,生成轮密钥。2、初始置换(Initial Permutation):输入的明文被进行初始置换操作,将明文的位重新排列,得到一个置换后的输入。3、轮函数(Round Function):DES的核心是轮函数,它在加密过程的每一轮中都被重复应用。轮函数包括四个操作:扩展置换(Expansion Permutation)、S盒代换(S-Box Substitution)、P盒置换(P-Box Permutation)和轮密钥加(Key Mixing)。3.1、扩展置换(Expansion Permutation):将轮函数的输入进行扩展,从32位扩展到48位。这个操作通过将输入的一部分位复制和重排来实现。3.2、S盒代换(S-Box Substitution):将扩展后的输入分成8个6位块,每个块经过S盒代换,将6位输入映射为4位输出。DES使用了8个不同的S盒,每个S盒都是一个4x16的置换表。3.3、P盒置换(P-Box Permutation):对S盒代换后的输出进行固定置换,以增加扩散性质。轮密钥加(Key Mixing):将轮密钥与轮函数的输出进行按位异或运算。4、轮重复(Round Iterations):在DES加密中,轮函数会根据密钥调度算法生成的16个子密钥进行重复应用。具体的轮次数取决于DES的规范,通常为16轮。5、末置换(Final Permutation):在最后一轮完成后,经过16次轮函数的处理,得到最终的输出。最后,对输出进行末置换操作,将位重新排列,得到加密后的密文。
DES
加密块大小为64位,密钥大小为168位
3-DES
加密块大小为128位,密钥大小为128、192或256位
基本原理:1、密钥扩展(Key Expansion):首先,根据输入的密钥,生成一系列轮密钥(Round Keys)。这是通过一个密钥扩展算法来实现的,该算法使用了代换和置换操作,以及密钥调度算法来生成每一轮的轮密钥。2、初始轮(Initial Round):在初始轮中,输入的明文被与第一轮的轮密钥进行异或运算。3、轮函数(Round Function):AES的核心是轮函数,它在加密过程的每一轮中都被重复应用。轮函数包括四个操作:字节代换(SubBytes)、行位移(ShiftRows)、列混淆(MixColumns)和轮密钥加(AddRoundKey)。3.1、字节代换(SubBytes):对输入的每个字节进行替换,使用一个固定的S盒(Substitution Box)进行代换。3.2、行位移(ShiftRows):对输入的每一行进行循环左移操作,以增加扩散性。3.3、列混淆(MixColumns):对输入的每一列进行线性变换,通过乘法和加法操作改变列的内容。3.4、轮密钥加(AddRoundKey):将轮密钥与输入进行按位异或运算。4、轮重复(Round Iterations):在AES加密中,除了初始轮外,其余的轮次中都会重复应用轮函数。具体的轮次数取决于AES的密钥长度:AES-128使用10轮,AES-192使用12轮,AES-256使用14轮。5、最后轮(Final Round):在最后一轮中,轮函数的最后一步——列混淆(MixColumns)操作被省略。最后一轮只包括字节代换、行位移和轮密钥加操作。
AES
公钥加密,私钥解密
RSA
asymmetric key
Hash Message Authentication Code (HMAC)
Hash Function
超链接
modern
cryptography
1_cryptography
stating who you are
Identification
restriction on the ability of a subject to use a system or an object in that system
Authorization
2 reasons
Password
Fingerprint
FaceID
Username and hashed password are used for authentication
Windows MSV1_0 Authenication
Basic authentication techniques
based on symmetric key crytography
Needham and Schroeder Protocol
负责验证用户的身份并颁发票据。当用户想要访问某个服务时,它会向AS发送身份验证请求,并提供用户名
AS(Authentication Server)
负责颁发服务票据的服务器。当用户拥有有效的票据后,可以将其发送给TGS,并提供要访问的服务的标识符
TGS(Ticket Granting Server)
KDC(Key Distribution Center)
1、向 KDC(AS) 认证身份取得 Ticket2、向 KDC(TGS) 请求与服务器建立通信
2、取得与服务器方建立通信的会话公钥
1、密码在网络上不以明文形式传输2、使用对称密钥加密来保护通信并防止伪造攻击3、每个票据都有有效期限,以防止暴力搜索攻击4、时间戳用于防止重放攻击
advantages
1、需要一个可信的TGS持续可用2、需要TGS和每个服务器之间建立可信的关系3、需要及时的事务处理
disadvantages
Kerberos Authentication Protocol
Access Control(Lampson 1982)
Access rights are defined in the form of an access control matrix (table)
Access control matrix
Capabilities
contains access control permissions
Access control lists(ACLs)
Group
Role-based access control
specify access rights
身份验证流程:1、用户输入用户名和密码2、登录过程收集并将用户名和密码传递给本地安全性局(Local Security Authority,LSA)模块。3、LSA调用身份验证包,将用户名和密码与存储在安全账户管理器(Security Account Manager,SAM)中的值进行比较。4、当找到匹配时,SAM返回用户的安全标识(Security ID,SID)以及用户所属的任何组的安全标识。5、身份验证包创建一个登录会话,并将此会话和所有的SID传递回LSA。6、LSA创建一个系统访问令牌(System Access Token,SAT),其中包含用户的SID和用户权限(特权)。
Windows Login
- 每个用户、组和机器账户都有一个唯一的安全标识符(SID),用于自主访问控制。(Discretionary Access Control,DAC)。- 在创建账户时构建SID,并在账户的整个生命周期内保持不变。- 构建SID时使用伪随机输入,即删除一个账户并重新创建它将不会产生相同的SID,访问权限也会有所不同。- 当工作站或服务器加入域时,它会接收一个包含域SID的SID。- 将一个机器的根目录和配置文件复制到另一个机器上将使这两台机器具有相同的SID,这违反了Windows安全策略。
Security Identifier,SID
Windows Authorization Model
Access Control Checking
Windows Access Control
系统知道你是谁以及你在系统中正在做什么。系统必须能够识别系统中的所有用户。系统必须使用关于您身份的信息来决定您是否可以访问某些信息。系统必须跟踪您执行的与安全相关的操作。
Accountability
2_Access Control
Public Key System
- 无法伪造,确保身份验证的准确性- 可用作有效的签名,以验证身份和确保消息完整性
For encryption:Encrypt using receiver’s public keyDecrypt using receiver’s private key为了确保只有接收者能够解密,因为接收者的公钥是公开的。
For digital signature:Sign using sender’s private keyVerify using sender’s public key可以确保只有发送者的公钥能够验证该数字签名。
Digital Signature
公钥密码系统依赖于找到适当的陷门单向函数 fk(trap-door one-way function)
Example trap-door one-way function: – Easy: b = a^e mod p– Hard: n = p * q
Requirement of public key cryptosystem
Used both in encryption and digital signature.Based on the trap-door one-way function.
RSA Cryptosystem
Digital Signature using RSA
Public key algorithms are too slow to be used for bulk data encryption
We can use public key algorithm for key exchange between A & B: 1. A generates secret key (sk) randomly2. A uses B’s public key to encrypt sk and sends the encrypted key to B3. B decrypts the encrypted sk using his private key4. Both A and B has the secret key and data can then be encrypted using any block ciphers with sk
If B wants to participate in key generation.
Key Exchange(using Public Key Cryptography)
Public Key Cryptography(PKC)
RSA实验室发布的公钥密码标准组主要特点和目标:1. 算法独立的语法,描述数字签名、数字信封和扩展证书的结构和格式。2. 算法具体的实现标准,规定了这些算法的参数、操作和安全性要求。3. 实现互操作性,通过遵循PKCS定义的统一语法和实现标准,加密算法实现者能够确保其实现能够与其他遵循同一标准的实现进行互操作,从而实现跨平台和跨系统的安全通信。
以下是几个PKCS标准的总结:PKCS#1: RSA Cryptography Standard- RSA加密标准的基础构建模块。- 定义了使用RSA进行数据加密的方法。- 包括RSA密钥生成、密钥语法、加密和解密过程、签名算法等。PKCS#5: Password-based Cryptography Standard- 定义了如何将密码和随机数(盐)混合在一起形成对称密钥的方法。- 适用于基于密码的加密方案,例如使用密码来加密文件或数据。PKCS#7: Cryptographic Message Syntax Standard- 指定了如何将签名算法、签名者的证书、原始消息、签名数据等信息打包在一个标准格式中。- 允许发送方对对象进行编码并使接收方能够以可预测且互操作的方式解码信息,使用独立的实现。- 包括签名数据和信封数据(加密数据)。PKCS#8: Private-key Information Syntax Standard- 提供了对私钥进行编码和解码的标准定义,可以使用原始形式或加密形式。- 用于定义和传输私钥信息。PKCS#10: Certification Request Syntax Standard- 定义了证书请求的语法标准。- 允许实体生成证书签名请求,以便向证书颁发机构(CA)申请数字证书。PKCS#12: Personal Information Exchange Syntax Standard- 定义了个人身份信息的传输语法,包括私钥、证书等。- 用于在安全和可移植的方式下传输和存储个人身份信息。
PKCS#7 SignedData Message
Public Key Cryptography Standards(PKCS)
3_PKC&PKCS
公钥基础设施(Public Key Infrastructure,PKI)是一个包含硬件、软件、人员、政策和流程的集合,用于创建、管理、分发、使用、存储和吊销数字证书。PKI通过证书颁发机构(Certificate Authority,CA)将公钥与相应用户身份绑定:- 绑定是通过注册和颁发过程建立的。- 负责确保这种绑定的PKI角色被称为注册机构(Registration Authority,RA),它确保公钥以一种确保不可否认性的方式与分配给个体的身份绑定在一起。数字签名的法律框架,如香港的《电子交易条例》,为数字签名提供了法律支持。
Public Key Infrastructure(PKI)
公钥证书的使用方式如下:- 用户保管自己的私钥。- 用户保管自己的公钥证书(PKC)。- 证书颁发机构(CA)保存所有用户的公钥证书。每个公钥证书包含一个公钥,并由“认证机构 CA”或一些“中间认证机构”签名,该机构已确认相应私钥的持有者的身份和其他属性。假设:每个人都知道如何验证CA的数字签名(即每个人都知道CA的公钥)。
CA Certificate(a special PKC called Root certificates of the CA): stores CA’s public key.You can found them on your Chrome and IE.
证书可以在没有任何保护的情况下进行分发,因为证书本身包含数字签名,提供了身份验证和数据完整性,并且大多数用户只需知道CA的公钥来建立信任。
PKC format
Public Key Certificate(PKC)
- A certificate has a life time (just as keys).- Expired certificate are only used to verify signature on a old document (e.g. for auditing purpose)
Validity Period
- Verify signer’s PKC using CA’s public key in the root cert- Verify the digital signature with signer’s public key in signer’s PKC- Confirm the signer’s PKC is not yet expired
Verifying digital signature
Known as “Certificate Request” in the PKI: - Alice generates her own key pair.- Alice brings the public key to the CA and together with a signed request showing that she knows the private key.
Key Generation
Certificate generation steps
Key Generation Responsibility
- 存储在防篡改的硬件令牌中,例如智能卡、PCMCIA卡等- 存储在加密的数据文件中
Private Key Protection
对于数字签名私钥,不需要进行备份或归档。最好的做法是确保数字签名私钥在其生命周期结束后被安全地销毁。这样可以减少私钥泄露和不当使用的风险。相反,公钥证书以及用于数字签名验证的公钥应该进行适当的归档,以确保其长期可用性和验证的可信性。
Key Backup
- Internet Lightweight Directory Access Protocol (LDAP)Certificates can be distributed through insecure channels such as email (S/MIME and MOSS) or WWW.
Distribute
Reasons for revocation:– detected or suspected key compromise– change of data (e.g. subject name)– change of relationship between subject and CA
Who can revoke:– The subject– The CA– An authorized third party
- 吊销的证书是指由证书颁发机构(CA)主动撤销的证书- 吊销证书时间戳列表- 用户应该检查“适当更新”的证书吊销列表- 吊销列表不包含已过期的证书- 定期分发CRL- CRL具有数字签名,并且可以通过不安全的通道发送
Certificate Revocation List(CRLs)
verification with CRL
Certificate Revocation(证书吊销)
Key Management
1. 证书链是用于验证实体身份的证书列表。2. 证书链以该实体的证书开始。3. 链中的每个证书都由链中下一个证书所标识的实体进行签名。4. 证书链以根CA证书结束,它是由CA自身签名的证书。5. 在验证证书链时,必须验证链中所有证书的签名,直到达到根CA证书为止。
Certification Path
4_PKI&PKC
6045 E-commerce Security
收藏
0 条评论
回复 删除
下一页