#author("2021-04-20T02:25:47+00:00","default:admin","admin") -[[OWASP (Open Web Application Security Project) Japan:https://owasp.org/www-chapter-japan/]] -[[Open API Initiative:https://www.openapis.org/]] --[[OAS (Open API Specification) Version 3.1.0:https://spec.openapis.org/oas/v3.1.0]] -[[APIテクニカルガイドブック:https://cio.go.jp/sites/default/files/uploads/documents/1020_api_tecnical_guidebook.pdf]] -[[クレジットカードデータ利用に係るAPIガイドライン:https://www.meti.go.jp/press/2018/04/20180411001/20180411001-4.pdf]] -[[APIのセキュリティ対策をガートナーが解説、具体的に押さえるべき3つのポイントとは:https://www.sbbit.jp/article/cont1/35205]] -[[「銀行API公開」のセキュリティで金融機関、TPPs、ユーザーが注意すべきポイント:https://www.sbbit.jp/article/cont1/33434]] -[[Web APIの公開はセキュリティが不安…安全にAPIを公開する方法とは?:https://www.trustbind.jp/security-information/api-security/webapi.html]] -[[APIのセキュリティ対策 ~Web APIを安全に公開するために~:https://www.trustshelter.jp/column/2020-07-15/]] -[[APIを安全に利用する4つのセキュリティ対策、具体的な実装方法は?:https://techtarget.itmedia.co.jp/tt/news/1904/24/news06.html]] *設計ポイント [#de7072aa] -攻撃対象領域を最小限に抑える -本当に必要なものだけと公開・要求すべき -コンシューマには、本当に必要なものを使うことだけを許可すべき -セキュリティを確保するには、アクセス制御にどのデータが必要かを念頭に置いた上で、ユーザの視点に立ってAPIを設計しなければならない -APIの設計者は、APIの設計を完全にセキュアな状態に保つために、APIのベースとなっているプロトコルやアーキテクチャに起因するデータ漏洩の可能性に注意を払わなければならない **アプリケーションのアクセス制御 [#y3f83602] **エンドユーザのアクセス制御 [#w5b739a4] **センシティブな内容 [#t9dc1dd0] ***センシティブなデータへの対処 [#xfaab901] -シーケンシャルなIDを返すことは止めた方が良い --シーケンシャルなデータは他人のデータにアクセスを試みるために利用される可能性がある ***センシティブなゴールへの対処 [#q4fa4a86] ***セキュアなエラーフィードバック [#k8c256be] -403 Forbidden --データへのアクセス不許可 → データが存在することを暗に認めていることになる --「404 Not Found」レスポンスに変えることも検討する -500 Internal Server Error --APIのベースとなっている技術スタックに関する詳細情報が提供されないようにすること --APIの内部で実際に稼働しているものの手がかりになるような情報を提供しないように注意する必要がある ***ログ記録 [#ge9649b1] -URLがログに記録される場合は、センシティブな情報が一切含まれないようにする *API呼び出しのステップ [#wfe75718] **コンシューマの登録 [#td04a51a] **APIを利用するためのクレデンシャルの取得 [#nbe585d8] **API呼び出しの作成 [#i1390ad8] *個人認証 [#l8869d1a] **[[OpenID:https://www.openid.or.jp/]] [#p752ec5d] -[[OpenID Connect:https://www.openid.or.jp/document/]]