无中心密钥分发 (1)A → \to → B: R e q u e s t ∣ ∣ N 1 {\rm Request}||N_1 Request∣∣N1; R e q u e s t {\rm Request} Request 密钥更新请求, N 1 {N_1} N1 现时值(Nouce)时间戳/序列号。 (2)B → \to → A: E K M K [ K s ∣ ∣ R e q u e s t ∣ ∣ N 1 ∣ ∣ I D B ∣ ∣ f ( N 1 ) ∣ ∣ N 2 ] E_{K_{MK}}[K_s||{\rm Request||N_1||ID_B||f(N_1)||N_2}] EKMK[Ks∣∣Request∣∣N1∣∣IDB∣∣f(N1)∣∣N2]; K s K_s Ks 随机密钥发生器生成的新密钥, K M K K_{MK} KMK 共享的主密钥, I D B {\rm ID}_B IDB 数字签名避免冒充, f f f 共享的函数运算避免重放。 (3)A → \to → B: E K s [ f ( N 2 ) ] E_{K_s}[f(N_2)] EKs[f(N2)];避免重放,确认新密钥。
有中心密钥分发 KDC:密钥分发中心。 (1)A → \to → KDC: R e q u e s t ∣ ∣ N 1 {\rm Request}||N_1 Request∣∣N1。 (2)KDC → \to → A: E K A [ K s ∣ ∣ ] R e q u e s t ∣ ∣ N 1 ∣ ∣ E K B ( K s , I D A ) ] E_{K_A}[K_s||]{\rm Request}||N_1||E_{K_B}(K_s,ID_A)] EKA[Ks∣∣]Request∣∣N1∣∣EKB(Ks,IDA)]; K A K_A KA KDC 和 A 共享的密钥, K B K_B KB KDC 和 B 共享的密钥。 (3)A → \to → B: E K B ( K s , I D A ) E_{K_B}(K_s,ID_A) EKB(Ks,IDA)。 (4)B → \to → A: E K s ( N 2 ) E_{K_s}(N_2) EKs(N2)。 (5)A → \to → B: E K s [ f ( N 2 ) ] E_{K_s}[f(N_2)] EKs[f(N2)];避免冒用,确认新密钥。
公钥分发 CA:公钥管理机构。 (1)A → \to → CA: R e q u e s t ∣ ∣ T i m e 1 {\rm Request}||{\rm Time}_1 Request∣∣Time1。 (2)CA → \to → A: E S K U [ P K B ∣ ∣ R e q u e s t ∣ ∣ T i m e 1 ] E_{SK_U}[PK_B||{\rm Request}||{\rm Time}_1] ESKU[PKB∣∣Request∣∣Time1]; S K U SK_U SKU CA私钥, P K B PK_B PKB B 公钥。 (3)B → \to → CA: R e q u e s t ∣ ∣ T i m e 2 {\rm Request}||{\rm Time}_2 Request∣∣Time2。 (4)CA → \to → B: E S K U [ P K A ∣ ∣ R e q u e s t ∣ ∣ T i m e 2 ] E_{SK_U}[PK_A||{\rm Request}||{\rm Time}_2] ESKU[PKA∣∣Request∣∣Time2]; P K A PK_A PKA A 公钥。 三次握手 (5)A → \to → B: E P K B ( N 1 ∣ ∣ I D A ) E_{PK_B}(N_1||ID_A) EPKB(N1∣∣IDA)。 (6)B → \to → A: E P K A ( N 1 ∣ ∣ N 2 ) E_{PK_A}(N_1||N_2) EPKA(N1∣∣N2)。 (7)A → \to → B: E P K B ( N 2 ) E_{PK_B}(N_2) EPKB(N2)。
第一步:分离 V 和 SA V:应用服务器。 (1)C → \to → AS: I D C ∣ ∣ P C ∣ ∣ I D V ID_C||P_C||ID_V IDC∣∣PC∣∣IDV; P C P_C PC 用户口令。 (2)AS → \to → C: T i c k e t V = E K V ( I D C ∣ ∣ A D C ∣ ∣ I D V ) {\rm Ticket}_V=E_{K_V}(ID_C||AD_C||ID_V) TicketV=EKV(IDC∣∣ADC∣∣IDV); T i c k e t {\rm Ticket} Ticket 票据, K V K_V KV AS 和 V 共享的密钥, A D C AD_C ADC C 网络地址。 (3)C → \to → V: I D C ∣ ∣ T i c k e t V ID_C||{\rm Ticket}_V IDC∣∣TicketV。 口令明文传输;需多次输入口令。
第二步:分离 SA 和 TGS TGS:票据授予服务器 (1)C → \to → AS: I D C ∣ ∣ I D T G S ID_C||ID_{TGS} IDC∣∣IDTGS 。 (2)AS → \to → C: E K C ( T i c k e t T G S ) E_{K_C}({\rm Ticket}_{TGS}) EKC(TicketTGS), T i c k e t T G S = E K T G S ( I D C ∣ ∣ A D C ∣ ∣ I D T G S ∣ ∣ T S 1 ∣ ∣ L i f e t i m e 1 ) {\rm Ticket}_{TGS}=E_{K_{TGS}}(ID_C||AD_C||ID_{TGS}||TS_1||{\rm Lifetime}_1) TicketTGS=EKTGS(IDC∣∣ADC∣∣IDTGS∣∣TS1∣∣Lifetime1); K C K_C KC C 和 AS 共享密钥, K T G S K_{TGS} KTGS TGS 和 AS 共享密钥, T S 1 TS_1 TS1 时间戳, L i f e t i m e 1 {\rm Lifetime}_1 Lifetime1 生命周期。 (3)C → \to → TGS: I D C ∣ ∣ I D V ∣ ∣ T i c k e t T G S ID_C||ID_V||{\rm Ticket}_{TGS} IDC∣∣IDV∣∣TicketTGS. (4)TGS → \to → C: T i c k e t V = E K V ( I D C ∣ ∣ A D C ∣ ∣ I D V ∣ ∣ T S 2 ∣ ∣ L i f e t i m e 2 ) {\rm Ticket}_V=E_{K_V}(ID_C||AD_C||ID_V||TS_2||{\rm Lifetime}_2) TicketV=EKV(IDC∣∣ADC∣∣IDV∣∣TS2∣∣Lifetime2); K V K_V KV V 和 TGS 共享密钥。 (5)C → \to → V: I D C ∣ ∣ T i c k e t V ID_C||{\rm Ticket}_V IDC∣∣TicketV。 有效期过短易用性差,过长安全性差;未验证 V 的真实性。
第三步:Kerbros v4 (1.1)C → \to → AS: I D C ∣ ∣ I D T G S ∣ ∣ T S 1 ID_C||ID_{TGS}||TS_1 IDC∣∣IDTGS∣∣TS1 ;防止重放。 (1.2)AS → \to → C: E K C , A S ( K C , T G S ∣ ∣ I D T G S ∣ ∣ T S 2 ∣ ∣ L i f e t i m e 2 ∣ ∣ T i c k e t T G S ) E_{K_{C,AS}}(K_{C,TGS}||ID_{TGS}||TS_2||{\rm Lifetime}_2||{\rm Ticket}_{TGS}) EKC,AS(KC,TGS∣∣IDTGS∣∣TS2∣∣Lifetime2∣∣TicketTGS), T i c k e t T G S = E K T G S , A S ( K C , T G S ∣ ∣ I D C ∣ ∣ A D C ∣ ∣ I D T G S ∣ ∣ T S 2 ∣ ∣ L i f e t i m e 2 ) {\rm Ticket}_{TGS}=E_{K_{TGS,AS}}(K_{C,TGS}||ID_C||AD_C||ID_{TGS}||TS_2||{\rm Lifetime}_2) TicketTGS=EKTGS,AS(KC,TGS∣∣IDC∣∣ADC∣∣IDTGS∣∣TS2∣∣Lifetime2);C 和 TGS 间获得安全共享密钥。 (2.1)C → \to → TGS: I D V ∣ ∣ T i c k e t T G S ∣ ∣ A u t h e n t i c a t o r C , T G S ID_V||{\rm Ticket}_{TGS}||{\rm Authenticator}_{C,TGS} IDV∣∣TicketTGS∣∣AuthenticatorC,TGS, A u t h e n t i c a t o r C , T G S = E K C , T G S ( I D C ∣ ∣ A D C ∣ ∣ T S 3 ) {\rm Authenticator}_{C,TGS}=E_{K_{C,TGS}}(ID_C||AD_C||TS_3) AuthenticatorC,TGS=EKC,TGS(IDC∣∣ADC∣∣TS3);验证 C 真实性,防止窃听和重放。 (2.2)TGS → \to → C: E K C , T G S ( K C , V ∣ ∣ I D v ∣ ∣ T S 4 ∣ ∣ T i c k e t V ) E_{K_{C,TGS}}(K_{C,V}||ID_v||TS_4||{\rm Ticket}_V) EKC,TGS(KC,V∣∣IDv∣∣TS4∣∣TicketV), T i c k e t V = E K T G S , V ( K C , V ∣ ∣ I D C ∣ ∣ A D C ∣ ∣ I D V ∣ ∣ T S 4 ∣ ∣ L i f e t i m e 4 ) {\rm Ticket}_V=E_{K_{TGS,V}}(K_{C,V}||ID_C||AD_C||ID_V||TS_4||{\rm Lifetime}_4) TicketV=EKTGS,V(KC,V∣∣IDC∣∣ADC∣∣IDV∣∣TS4∣∣Lifetime4);C 和 V 间获得安全共享密钥,防止窃听和重放。 (3.1)C → \to → V: T i c k e t V ∣ ∣ A u t h e n t i c a t o r C , V {\rm Ticket}_V||{\rm Authenticator}_{C,V} TicketV∣∣AuthenticatorC,V, A u t h e n t i c a t o r C , V = E K C , V ( I D C ∣ ∣ A D C ∣ ∣ T S 5 ) {\rm Authenticator}_{C,V}=E_{K_{C,V}}(ID_C||AD_C||TS_5) AuthenticatorC,V=EKC,V(IDC∣∣ADC∣∣TS5)。 (3.2)V → \to → C: E K C , V ( T S 5 + 1 ) E_{K_{C,V}}(TS_5+1) EKC,V(TS5+1);验证 V 真实性。
单点登录:多个应用系统中,用户只需登陆一次就可以访问所有互相信任的应用系统。
访问控制
方法:矩阵;链表;列表(ACL);授权关系表;安全标签(细粒度)。
原则:最小授权;最小泄露;多级。
DAC(自主):客体属主自行决定权限分配和管理;风险较高。
MAC(强制/非自住):系统管理员设置或系统自动设置,用户级无法修改;灵活性差。
下读:主体安全级别高于客体时允许读。
上读:主体安全级别低于客体时允许读。
下写:主体安全级别高于客体时允许写。
上写:主体安全级别低于客体时允许写。
BLP(下读上写):政府或军事;写给上级,不能写给下属。
Biba(上读下写):企业;领导写通知,员工读通知。
RBAC(基于角色):通过角色联系主客体权限;提升效率,便于管理。
应用层
PGP
认证:SHA-1/DSS + RSA + LZ77 + Base64(CRC);私钥签名,公钥验证。 发送方: Z = C o d e [ Z i p ( M A C ∣ ∣ M ) ] Z={\rm Code}[{\rm Zip}({\rm MAC}||M)] Z=Code[Zip(MAC∣∣M)], M A C = E S K A [ H a s h ( M ) ] {\rm MAC}=E_{SK_A}[{\rm Hash}(M)] MAC=ESKA[Hash(M)]。 接收方: M A C ′ ∣ ∣ M ′ = Z i p − 1 [ C o d e − 1 ( Z ′ ) ] {\rm MAC}'||M'={\rm Zip}^{-1}[{\rm Code}^{-1}(Z')] MAC′∣∣M′=Zip−1[Code−1(Z′)]; H a s h ( M ′ ) ? = D P K A ( M A C ′ ) {\rm Hash}(M'){?\atop =}D_{PK_A}({\rm MAC'}) Hash(M′)=?DPKA(MAC′)。
加密:LZ77 + ANSI X9.17 + CAST-128/IDEA/TDEA + RSA + Base64(CRC);公钥加密,私钥解密。 发送方: Z = C o d e ( K ∣ ∣ C ) Z={\rm Code}(K||C) Z=Code(K∣∣C), K = E P K B ( K S ) K=E_{PK_B}(K_S) K=EPKB(KS), C = E K S [ Z i p ( M ) ] C=E_{K_S}[{\rm Zip}(M)] C=EKS[Zip(M)]; K S K_S KS 随机生成密钥。 接收方: K ∣ ∣ C = C o d e − 1 ( Z ) K||C={\rm Code}^{-1}(Z) K∣∣C=Code−1(Z), K S = D S K B ( K ) K_S=D_{SK_B}(K) KS=DSKB(K), M = Z i p − 1 [ D K S ( C ) ] M={\rm Zip}^{-1}[D_{K_S}(C)] M=Zip−1[DKS(C)]。
认证-加密:SHA-1/DSS + RSA + LZ77 + ANSI X9.17 + CAST-128/IDEA/TDEA + RSA + Base64(CRC)。 发送方: Z = C o d e ( K ∣ ∣ C ) Z={\rm Code}(K||C) Z=Code(K∣∣C), K = E P K B ( K S ) K=E_{PK_B}(K_S) K=EPKB(KS), C = E K S [ Z i p ( M A C ∣ ∣ M ) ] C=E_{K_S}[{\rm Zip}({\rm MAC}||M)] C=EKS[Zip(MAC∣∣M)], M A C = E S K A [ H a s h ( M ) ] {\rm MAC}=E_{SK_A}[{\rm Hash}(M)] MAC=ESKA[Hash(M)]。 接收方: K ∣ ∣ C = C o d e − 1 ( Z ) K||C={\rm Code}^{-1}(Z) K∣∣C=Code−1(Z), K S = D S K B ( K ) K_S=D_{SK_B}(K) KS=DSKB(K), M A C ′ ∣ ∣ M ′ = Z i p − 1 [ D K S ( C ) ] {\rm MAC}'||M'={\rm Zip}^{-1}[D_{K_S}(C)] MAC′∣∣M′=Zip−1[DKS(C)], H a s h ( M ′ ) ? = D P K A ( M A C ′ ) {\rm Hash}(M'){?\atop =}D_{PK_A}({\rm MAC'}) Hash(M′)=?DPKA(MAC′)。 私钥签名 → \to → 压缩 → \to → 公钥加密密钥 → \to → 编码 → \to → 不安全信道 → \to → 解码 → \to → 私钥解密获得密钥 → \to → 解压 → \to → 公钥验证。
实现: D S = E S K C [ H a s h ( H a s h ( P I ) ∣ ∣ H a s h ( O I ) ) ] DS=E_{SK_C}[{\rm Hash}({\rm Hash}(PI)||{\rm Hash}(OI))] DS=ESKC[Hash(Hash(PI)∣∣Hash(OI))]; D S DS DS 双重签名, S K C SK_C SKC 消费者私钥, P I PI PI 支付信息, O I OI OI 订单信息。 商家:持有 D S DS DS, O I OI OI, P I M D = H a s h ( P I ) {\rm PIMD}={\rm Hash}(PI) PIMD=Hash(PI);验证 D P K C ( D S ) ? = H a s h [ P I M D ∣ ∣ H a s h ( O I ) ] D_{PK_C}(DS){? \atop =}{\rm Hash}[{\rm PIMD}||{\rm Hash}(OI)] DPKC(DS)=?Hash[PIMD∣∣Hash(OI)]; P K C PK_C PKC 消费者公钥。 银行:持有 D S DS DS, P I PI PI, O I M D = H a s h ( O I ) {\rm OIMD}={\rm Hash}(OI) OIMD=Hash(OI);验证 D P K C ( D S ) ? = H a s h [ H a s h ( P I ) ∣ ∣ O I M D ] D_{PK_C}(DS){? \atop =}{\rm Hash}[{\rm Hash}(PI)||{\rm OIMD}] DPKC(DS)=?Hash[Hash(PI)∣∣OIMD]。
第三步:Set 交易流程 (1.1)消费者提交购买请求: P ∣ ∣ O ∣ ∣ P||O|| P∣∣O∣∣消费者证书( P K C PK_C PKC);支付消息 P = K ∣ ∣ C P=K||C P=K∣∣C, K = E P K B ( K S ) K=E_{PK_B}(K_S) K=EPKB(KS), C = E K S ( P I ∣ ∣ D S ∣ ∣ O I M D ) C=E_{K_S}(PI||DS||{\rm OIMD}) C=EKS(PI∣∣DS∣∣OIMD);购买消息 O = O I ∣ ∣ D S ∣ ∣ P I M D O=OI||DS||{\rm PIMD} O=OI∣∣DS∣∣PIMD; K S K_S KS 消费者生成的随机密钥, P K B PK_B PKB 支付网关公钥。 (1.2)商家验证购买信息: 验证证书,验证 D P K C ( D S ) ? = H a s h [ P I M D ∣ ∣ H a s h ( O I ) ] D_{PK_C}(DS){? \atop =}{\rm Hash}[{\rm PIMD}||{\rm Hash}(OI)] DPKC(DS)=?Hash[PIMD∣∣Hash(OI)];向消费者发送购买响应。 (2.1)商家发送支付授权请求: P ∣ ∣ C I D ∣ ∣ K ∣ ∣ P||CID||K|| P∣∣CID∣∣K∣∣ 消费者证书 ∣ ∣ || ∣∣ 商家密钥交换证书 ∣ ∣ || ∣∣ 商家签名密钥证书; C I D CID CID 商家私钥签名随机密钥加密的交易 ID, K K K 支付网关公钥加密的随机密钥, S K B SK_B SKB 商家签名私钥, P K M PK_M PKM 银行公钥。 (2.2)支付网关验证并生成支付授权:验证证书,验证 D P K C ( D S ) ? = H a s h [ H a s h ( P I ) ∣ ∣ O I M D ] D_{PK_C}(DS){? \atop =}{\rm Hash}[{\rm Hash}(PI)||{\rm OIMD}] DPKC(DS)=?Hash[Hash(PI)∣∣OIMD],验证商家交易 ID 与消费者交易 ID 相同;向发卡者发送授权请求。 (2.3)支付网关返回授权信息:发卡者授权信息,支付网关证书,捕获令牌(商家账户需要时可选);支付网关私钥签名,随机密钥加密,商家公钥加密随机密钥。 (3.1)商家发送捕获请求:最终支付金额,交易 ID;随机密钥加密,支付网关公钥加密随机密钥。 (3.2)支付网关响应捕获:解密验证捕获请求,向发卡者发送结算请求,发卡者转账到商家账户;向商家返回签名证书,随机密钥加密,商家公钥加密随机密钥。 (3.3)商家解密并验证捕获响应,保存收据,交易结束。
网络层
IPsec
协议簇体系:SA,IKE,AH 协议,ESP 协议,SAD,SPD,DOI(解释域)。
SA:单向安全关联;通信双方对工作模式、加密算法、密钥、生命周期等的约定;通信双方需要一对 SA,分为输入流和输出流。 安全参数索引(SPI):发送方产生 32 位随机数唯一标识 SA。 目的 IP 地址:SA 的终点地址;端系统/路由器/网关/防火墙。 安全协议标识符:表明关联的协议是 AH 还是 ESP。 传输模式:仅保护有效荷载。 隧道模式:保护整个 IP 数据包,包括 IP 报头及有效荷载。
组合 SA:单个 SA 不能同时使用 AH 和 ESP。 传输邻接:传输模式下,对 IP 数据包应用多个安全协议;仅允许在一个层次组合。 重复隧道:隧道模式下,可以多层嵌套 SA,每层 SA 的起始 IP 可互不相同。
这是ICLR2023的一篇world model论文,用transformer来做世界模型的sequence prediction。文章贡献是transformer-based world model(不同于以往的如transdreamer的world model,本文的transformer-based world model在inference 的时候可以丢掉…
论文名称发表时间发表期刊期刊等级研究单位 Large Language Models Based Fuzzing Techniques: A Survey 2024年arXiv- 悉尼大学
0.摘要
研究背景在软件发挥举足轻重作用的现代社会,软件安全和漏洞分析对软件开发至关重要,模糊测试作为一种高效的软件…
论文《Dual-Contrastive for Federated Social Recommendation》阅读 论文概况MotivationMethodologyClient Local ComputingCenter Server Aggregation 总结 今天简单总结一下一篇关于联邦推荐方面的论文《Dual-Contrastive for Federated Social Recommendation》,…