システム開発を発注するとき、画面数、機能数、納期、費用だけで開発会社を選ぶと、後からセキュリティ対応で大きな手戻りが起きる。
特に、顧客情報、決済情報、会員情報、社内業務データ、AI/RAGで使う文書を扱うシステムでは、セキュリティを後付けにできない。最初の要件定義と設計段階から、認証、認可、ログ、データ保護、脆弱性対応を組み込む必要がある。
この考え方が セキュリティ・バイ・デザイン である。
セキュリティを後付けにすると何が起きるか
「まず動くものを作り、最後にセキュリティ診断を入れる」という進め方は、一見スピードが出る。しかし、診断で設計レベルの問題が見つかると、修正は高くつく。
| 後から見つかる問題 | 手戻りの例 |
|---|---|
| 権限設計が粗い | 管理画面、API、DB設計の見直し |
| ログが不足している | 監査ログ用テーブル、画面、保存設計の追加 |
| 個人情報の扱いが曖昧 | 暗号化、マスキング、権限分離の追加 |
| 外部API連携の責任分界がない | 障害時対応、再送、監視の再設計 |
| 脆弱性対応の保守条件がない | リリース後の追加費用交渉 |
セキュリティ・バイ・デザインは、開発を遅くするものではない。後戻りを減らすための発注設計である。
RESTAURANT DX
店長の経験と勘を、仕組みで再現できる店舗にしませんか?
発注/シフト/予約/FLコストを標準化する多店舗飲食特化のDX。食材ロス削減・インバウンド対応まで概算費用をその場で示します。
開発会社選びで見るべき7項目
1. 要件定義でセキュリティ項目を聞いてくるか
良い開発会社は、初回ヒアリングで業務要件だけでなく、扱うデータ、利用者、権限、外部公開範囲、ログ要件を確認する。
逆に、画面数と機能一覧だけで見積もりを出す会社は、後から非機能要件が膨らむ可能性が高い。
2. 認証と認可を分けて説明できるか
認証は「誰か」を確認すること。認可は「何をしてよいか」を制御すること。業務システムで重要なのは認可である。
担当者、管理者、拠点、部署、取引先、顧客ごとの閲覧・更新範囲をどう設計するか。ここを具体的に説明できる開発会社を選ぶべきだ。
3. 監査ログを見積もりに含めているか
操作ログ、認証ログ、管理者操作ログ、データ変更履歴は、後から必要になることが多い。個人情報や重要業務データを扱うなら、ログは最初から見積もりに含める。
4. 脆弱性診断の範囲が明確か
「診断します」だけでは足りない。Webアプリ、API、管理画面、クラウド設定、認証認可、依存ライブラリのどこまで見るのかを確認する必要がある。
5. 保守・アップデートの責任が明確か
OSSやフレームワークの脆弱性対応は、リリース後も続く。保守契約に、セキュリティアップデート、緊急パッチ、障害時の初動、バックアップ確認が含まれるかを見る。
6. AI開発やRAGの場合、データ管理まで見ているか
AI/RAGでは、通常のWebシステムに加えて、学習・参照データ、プロンプト、ベクトルDB、外部LLM APIの管理が必要になる。セキュリティ・バイ・デザインの範囲は、アプリ本体だけではない。
7. 見積書に非機能要件が分かれているか
セキュリティ、性能、可用性、バックアップ、ログ、監視、運用設計が見積書で見えるか。ここが一式に埋もれていると、比較が難しい。
発注前に開発会社へ聞く質問
- どの段階でセキュリティ要件を整理しますか
- 認証と認可はどのように設計しますか
- 管理者操作ログとデータ変更履歴は残しますか
- 脆弱性診断はどの範囲を対象にしますか
- 利用OSSの脆弱性対応は保守に含まれますか
- 個人情報や機密情報のマスキング方針はありますか
- リリース後の緊急対応時間は決まっていますか
この質問に具体的に答えられない場合、価格が安くても発注リスクは高い。
関連記事
開発会社選びの前に、セキュリティ要件を整理しませんか
GXOでは、システム開発の発注前に、要件定義、認証認可、ログ、脆弱性診断、保守条件を整理し、見積比較できるRFP作成まで支援します。
※ 既存ベンダーの提案比較や、見積書の妥当性確認だけでも対応可能です。
