iT邦幫忙

2026 iThome 鐵人賽

DAY 30
0
Build on Google AI

將考國際證照的應用程式變成開源系列 第 46

ADR-005-security-first-design.md

  • 分享至 

  • xImage
  •  

ADR-005: 安全優先設計 (Security-First Design)

狀態: 已接受 (Accepted)

日期: 2026-08-02

背景 (Context)

認證考試題庫代表著寶貴的智慧財產權 (IP)。必須積極防止作弊、抓取和內容竊取,以維持應用程式的完整性和價值。

決策 (Decision)

實作一個包含 10 層以上的安全設計,主要透過 AuthWrapper 和特定的安全服務來執行。功能包括:

  • 防截圖/防螢幕錄影
  • 偵測 Root/越獄 (Jailbreak)
  • 偵測螢幕分享
  • NTP 時間驗證 (防止試用期時間竄改)
  • 在視圖上覆蓋動態浮水印

考慮過的替代方案 (Alternatives Considered)

  • 最低限度安全:
    • 優點:開發速度快,沒有使用者摩擦。
    • 缺點:IP 竊取和作弊風險極高。
  • 僅伺服器端 (Server-side only):
    • 優點:難以繞過。
    • 缺點:無法防止螢幕錄影或本機用戶端操作。
  • DRM (數位版權管理):
    • 優點:媒體產業標準。
    • 缺點:對於基於文字/圖片的考題來說大材小用,在 Flutter 中難以實作。

後果 (Consequences)

  • 正面影響: 強大的內容保護,對隨意的抓取和作弊有嚇阻作用。
  • 負面影響: 開發複雜度高,潛在的誤判可能會封鎖合法使用者 (例如,自訂 ROM 被標記為已 Root),輕微的效能負擔。

相關文件 (Related Documents)


上一篇
ADR-004-dual-payment-provider.md
下一篇
ADR-006-role-based-access-control.md
系列文
將考國際證照的應用程式變成開源51
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言