首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

PKI、SET、SSL 三大網路安全體系深度對比解析

     編輯:Java 相關知識

PKI:公鑰基礎建設

核心定位

PKI (Public Key Infrastructure) 是提供公開金鑰加密與數位簽章服務的「基礎設施」,而非單一協定。其核心目標:透過自動化管理金鑰與憑證,建立安全可信的網路環境,實現機密性、完整性、不可否認性、實體鑑別。

必要組件

組件功能
CA (Certificate Authority)根信任錨點,簽發/吊銷憑證,管理憑證生命週期
RA (Registration Authority)身份驗證、審核申請,介面 CA 與用戶
憑證庫儲存有效憑證 (X.509 v3),支援查詢與驗證鏈
CRL/OCSP憑證吊銷列表 / 線上狀態協定,即時檢查憑證有效性
金鑰備份/恢復私鑰託管、閾值分享、災難恢復機制
跨域認證交叉簽發、橋接 CA、信任清單管理

核心標準體系

  • X.509 v3:憑證格式標準 (Subject, Issuer, Validity, PublicKey, Extensions: KeyUsage, ExtKeyUsage, SAN, CRLDistributionPoints, AuthorityInfoAccess)
  • PKCS 系列:#1 RSA、#7 Cryptographic Message Syntax、#8 PrivateKey、#10 CSR、#12 PFX/P12
  • CMP/SCEP/EST:憑證管理協定 (註冊、更新、吊銷、金鑰更新)
  • RFC 5280:PKIX 路徑驗證演算法

SET:安全電子交易協定

誕生背景

1996 年 Visa + Mastercard 聯合 IBM、Microsoft、Netscape 等制定,專為「信用卡網路支付」設計,解決持卡人、商家、收單銀行、發卡銀行四方信任問題。

核心安全屬性

  • 機密性:DES/3DES 加密支付資訊 (PAN 卡號不傳給商家)
  • 完整性:RSA 簽章 + SHA-1 雜湊防篡改
  • 鑑別性:雙向 X.509 憑證驗證 (持卡人↔發卡行、商家↔收單行)
  • 不可否認性:雙重簽章 (購買指令 + 支付指令) 提供法律效力

關鍵創新:雙重簽章

購買指令 (OI)  : 訂單明細、商家資訊 → 持卡人簽章 → 商家可見
支付指令 (PI)  : 信用卡帳號、金額、收單行 → 持卡人簽章 → 僅發卡行可見
雙重簽章      : Hash(OI) || Hash(PI) → 持卡人簽章 → 綁定雙方不可分離

為何未普及?

  • 客戶端需安裝專用錢包軟體、管理憑證,使用門檻極高
  • 商家需部署 SET 伺服器、申請商家憑證,成本高昂
  • SSL + 3D Secure (OTP/風控) 以較低成本解決 80% 場景
  • EMV 晶片卡 + Tokenization (Apple Pay/Google Pay) 從實體端解決核心風險

SSL/TLS:傳輸層安全

演進時間軸

SSL 1.0 (內部) → SSL 2.0 (1995, 重大缺陷) → SSL 3.0 (1996, Netscape)
→ TLS 1.0 (RFC 2246, 1999) → TLS 1.1 (RFC 4346, 2006)
→ TLS 1.2 (RFC 5246, 2008, 主流) → TLS 1.3 (RFC 8446, 2018, 現代標準)

TLS 1.2 完整握手流程

  1. ClientHello:支援的 Cipher Suites、壓縮方式、隨機數、SNI、ALPN
  2. ServerHello:選定 Cipher Suite、隨機數、憑證鏈、ServerKeyExchange (ECDHE)
  3. 驗證憑證鏈:信任錨點 → 簽名驗證 → 有效期 → 撤銷狀態 → 主機名匹配
  4. ClientKeyExchange:PreMasterSecret (RSA 加密或 ECDHE 共享)
  5. ChangeCipherSpec + Finished:雙方驗證握手完整性
  6. Application Data:對稱加密 (AES-GCM/ChaCha20-Poly1305) + HMAC/Authenticated Encryption

TLS 1.3 關鍵改進

  • 0-RTT/1-RTT 握手,移除 RSA 金鑰交換,強制前向保密 (ECDHE)
  • 加密 ServerHello 後所有握手訊息 (含憑證),防中繼監聽
  • 移除弱演算法 (RC4, DES, 3DES, MD5, SHA-1, 压缩、重協商)
  • PSK (Pre-Shared Key) 支援 Session Resumption、0-RTT 數據

三者關係與定位對比

維度PKISETSSL/TLS
層級基礎設施層應用層協定傳輸層/會話層
範圍通用、跨應用特定:信用卡支付通用:任意 TCP 連線
核心物件CA、憑證、CRL/OCSP雙重簽章、錢包、支付閘道Cipher Suite、Session、憑證驗證
信任模型層級式 CA 信任鏈四方信任 (持卡/商家/收單/發卡)信任錨點 (Root CA) + 路徑驗證
不可否認性支援 (數位簽章)核心目標 (雙重簽章)標準 TLS 不支援 (需應用層簽章)
現狀核心基建、持續演進歷史產物、已被取代TLS 1.3 成主流、持續更新

實務部署建議

  • 企業內部:建立私有 PKI (Microsoft AD CS, HashiCorp Vault, Smallstep) 簽發 mTLS 憑證、代碼簽章、VPN/802.1X 認證
  • 對外服務:申請公信 CA 憑證 (Let's Encrypt 自動化、DigiCert/Sectigo 付費)、啟用 TLS 1.3、HSTS、Certificate Transparency 監控
  • 支付業務:PCI DSS 合規、Tokenization、3DS 2.0、EMVCo 標準、硬體安全模組 (HSM) 管理金鑰
  • 微服務:Service Mesh (Istio) 自動 mTLS、SPIFFE/SPIRE 身份、Sidecar 代理透明加密
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved