端對端加密系統

E2EE Network 極點-端對端加密系統

僅容許參與通訊的使用者可以相互讀取資訊的通信加密系統。

為何需要端對端加密

  1. 防止中間人攻擊竊取使用者帳號密碼甚至傳輸的資訊
  2. 法規遵循

什麼是中間人攻擊(Man-in-the-Middle, MITM)

意指通訊的兩端以為與對方建立的是直接而私密的聯繫,卻分別被中間人建立了獨立的聯繫,且中間人在當中交換其所得到的雙方資訊,但通連的資訊全部掌握在中間人手上,而可用來攻擊。

端對端加密(End to End Encryption, E2EE)技術簡介

  • 在HSM事先建立伺服器ECC公私鑰組:Host Key secret(HKs), Host Key public(HKp)。
  • 在發佈給用戶端的SDK不包含任何金鑰,用戶端啟動時再動態產生。
  • 用戶端程式啟動時,動態建立一對用戶端單次連線用ECC公私鑰組:Session Key secret(SKs),Session Key public(SKp),再將連線用公鑰(SKp)傳遞給伺服器端,取回伺服器公鑰(HKp)。
  • 雙方以公私鑰組做金鑰交換演算(ECDH)後,再以金鑰衍生演算法(KDF)產生單次連線金鑰(Transaction Key)。
  • 交易資料均以單次連線金鑰作AES加密再做雜湊驗算保護後進行傳輸。(Encrypt then MAC, ISO/IEC 19772:2009, RFC 7366)
  • 作業符合銀行安控基準要求

應用

  • 密碼傳輸保護
  • 一般機敏資料傳輸保護

使用演算法

  • 公私鑰(ECC): P256 [FIPS 186-4]
  • 金鑰交換(DH)演算法: ECDH [SP 800-56A]
  • 連線金鑰產製:SHA512KDF [SP 800-56A]
  • 加密演算法:AES-256-CBC [SP 800-38A]
  • 驗證演算法:HMAC-SHA-256 [SP 800-56Cr1]
  • 密碼儲存: PBKDF2 [SP 800-132]

支援HSM

  • Thales Luna Network HSM
    • FIPS 140-2 Level 3 認證
    • E2EE作業單設備TPS 1,000(A700) ~ 10,000(A790)
  • Thales ProtectServer Network HSM

提供API

前端REST API

  • E2EInit: 初始化E2EE作業
  • E2EPINVerify: 密碼驗證
  • E2EPINChange: 密碼變更

後端REST API

  • E2ENewUser: 新增用戶
  • E2EDelUser: 刪除用戶

用戶端提供模組

JavaScript Library

  • 支援 IE11, Safari (Desktop/Mobile), Chrome (Desktop/Mobile), Firefox(Desktop), Edge/Edge on Chromium

JAVA Class Library

  • 支援JDK 8+與Android 4.4+

Objective-C Object Library

  • 支援iOS 8+

系統功能展示 行動端

E2EE moblie client

系統功能展示 桌面端

E2EE desktop client