開始準備進入軟體開發生命週期(SDLC)第一個階段,規劃與需求分析
規劃與需求分析階段最重要的不外乎是效益評估與可行性分析,根據價值決定要做那些功能性需求,而資安需要能看出是否有法令法規等需要關注的,才不會被排到較後面才開發但少了這功能又不能上線的窘境。

| 項目 | Functional | 判斷原因 |
|---|---|---|
| US-1:金流 Hosted Fields 串接 | 是 | 有具體業務流程:前端收集卡號 > 向第三方換取 Token > 後端儲存完成結帳。 |
| US-4:資料存取與稽核 | 是 (部分) | 有事件觸發行為:發生機敏存取時,系統自動擷取操作者與時間並寫入 Log。 |
| US-2:機敏資料加密儲存 | 否 | 純安全約束 (NFR):規範資料入庫須走 AES-256-GCM 與 KMS,無新增操作流程。 |
| US-3:Log 敏感資料遮罩 | 否 | 純架構約束 (NFR):後台日誌輸出前的全域過濾規則,不涉及使用者功能。 |
(e.g., business requirements, use cases, stories)
Functional(FR):開發人員要負責設計「流程(What happens, step by step)」。
(e.g., security, operational, continuity, deployment)
Non-Functional(NFR):開發人員要負責遵守「規格與約束(How well it must perform, what constraints must be kept)」。
| 法規規範 | 適用範圍 | 關鍵要求 |
|---|---|---|
| FISMA (2002) | 美國聯邦政府機構 | 機構層級的全面性資訊安全計畫 |
| GDPR (2018) | 歐盟資料保護 | 資料主體權利、知情同意、外洩通報 (72小時) |
| CCPA (2018) | 加州消費者隱私法 | 消費者擁有知情權、刪除權與拒絕販售權 (opt-out) |
| COPPA (1998) | 兒童線上隱私權 | 收集 13 歲以下兒童資料前,必須取得家長同意 |
| FedRAMP | 美國聯邦政府雲端服務 | 標準化的雲端安全評估與授權機制 |
| 領域 | 說明 |
|---|---|
| 外洩通報 (Breach notification) | 在資料遭到洩露後強制要求通報的相關法律 |
| 隱私權法規 (Privacy laws) | 管轄個人資料保護層面的法規 |
| 合約義務 (Contractual obligations) | 在供應商/客戶協議中所承諾的安全責任 |
| 法律責任 (Liability) | 必須為安全機制失效所承擔的法律究責 |
(e.g., defense, healthcare, commercial, financial, Payment Card Industry (PCI))
| 產業 | 標準/法規 | 重點 |
|---|---|---|
| 國防 (Defense) | NIST SP 800-171, CMMC | 受控非機密資訊 (CUI, Controlled Unclassified Information) |
| 醫療照護 (Healthcare) | HIPAA / HITECH | 受保護健康資訊 (PHI, Protected Health Information) |
| 金融 (Financial) | SOX, GLBA | 確保財務報表健全與完整性,保護消費者金融資料隱私 |
| 支付卡 (Payment Card) | PCI DSS | 支付卡產業資料安全標準;具備合約強制力且違規將面臨高額財務罰款 |
(e.g., development tools, standards, frameworks, protocols)
| 類別 | 範例 |
|---|---|
| 開發工具 | 經核准的 IDE、函式庫與框架 |
| 標準 | 內部編碼標準、安全配置基準線 |
| 框架 | 組織採用的安全框架(如 ISO 27001, NIST CSF) |
| 通訊協定 | 經核准的通訊與加密協定 |
| 概念 | 視角立場 | 說明 |
|---|---|---|
| 使用案例 (Use Case) | 合法使用者 | 描述系統對合法使用者應有的預期行為運作 |
| 誤用案例 (Misuse Case) | 疏忽/無意的操作者 | 描述由合法使用者所做出的非故意負面行為(例如失誤、打錯字、操作錯誤等) |
| 濫用案例 (Abuse Case) | 惡意攻擊者 | 描述由威脅發動者所進行的蓄意攻擊行為 |
Microsoft Non-Functional Requirements Capture
https://microsoft.github.io/code-with-engineering-playbook/design/design-patterns/non-functional-requirements-capture-guide/