# ⚠️本書類は、社外公開されている情報のため顧客名等の記載は行わないこと⚠️ # モバイルアプリ及びAPI公開向けた非機能の検討 非機能要求グレードに照らし合わせて検討を実施した。 なお、🌟は超概算までに方向は決める必要あり。 それ以外は、正式見積(要件定義)までに確定することとする。 ## 1.前提となるアプリ要件 * アクティベーション機能(1アプリを複数のユーザを紐づけられる?) * クレデンシャル表示機能 * OTP表示機能 * アプリ起動時の認証機能(TOCH ID) * PUSH/トランザクション認証 * 機種変更/紛失時のアプリ移行機能 * 🌟上記の〜機能については要件を固めて置く必要あり。 * 上記の機能はネイティブアプリで完結するものであり、WEBVIEWは実装しない * URLの外部リンクについてもデフォルトブラウザに飛ばす * 外国語対応は含まない * (見積範囲外)紐づいている口座表示 * (見積範囲外)FIDO * アプリ公開環境:GooglePlayStore/AppleStoreとする * 🌟開発言語の選定どする?(Android/iOSって別開発?クロスプラットフォーム言語で作る?調達の容易性も含め検討) * 🌟実行環境(動作保証)のスコープどうする?(iPad等のTabletとか、最新の定義とか、旧世代どこまで救うかとか) * 🌟デザイン(UI/UX)は外注は別途、保守はその都度スポット保守 * 🌟アプリのSIerとしての位置付け(SLA・責任分界点) * 🌟Google Developer Account/Apple Developer Program の商用アカウントについてはお客様既存アカウントとし、公開に付帯する対応は見積もりに含まれない。 * 🌟 開発環境のアカウントについては、お客様のGoogle Developer Account/Apple Developer Programの既存アカウントをソフィアで借用し利用するため、公開に付帯する対応は見積もりに含まれない。 * 🌟初回リリースまでの対応が見積範囲とし、OSアップデート等の保守起因によるアプリの更新リリースについて、頻度ついても不明のため見積範囲外。 ## 2.守るべき資産 * モバイルアプリ側は何?(OTP値、UserID?アクセストークン) * サーバ側(個人情報DB,サーバリソース) ## 3.モバイルアプリ https://qiita.com/caesar_cat/items/8e178a5cffb817a22d10 https://qiita.com/alt_yamamoto/items/f67a7ddb6ba13cca7369 http://mixi-inc.github.io/guidelines/qa/smartphone/guideline.html ### 可用性 * 24365 * APIサーバの保守タイミングは除く ### 性能・拡張性 * 性能:動作保証する実機での動作すること * 拡張性:特になし ### 移行性 * データ移行なし * 🌟既存サービスからの切替の流れ * 🌟時期 * 移行対象(機器):開発⇨商用に昇格 ### セキュリティ #### セキュリティリスク分析 #### データの秘匿 * アプリ自体の認証(初回/都度起動) ※機能要件と重複 * 機種変更/紛失時のアプリ移行機能 ※機能要件と重複 * リーバスエンジニア等の耐タンパ性(ソースコード難読化) * 重要情報のアプリ側での保存方法/キャッシュの保存方法 #### ネットワーク対策 * 通信におけるサーバ認証(SSL Pinning) * API IFの秘匿化 #### セキュリティ診断 * セキュリティ監査/ITガバナンスへの対応 #### セキュリティリスク管理 ### 運用保守性 * 保守運用ポリシーの作成が必要 #### 通常運用 * OC報告(メトリックスは?) * Apple/Google Storeでの評価は? #### 保守運用 * お客様照会対応(アプリ側のログ?照会機能は?) * OSアップデート時の動作確認・メンテナンス * アプリリリース(ストア申請作業)の役割分担 * リリース後の稼動確認方法 * アプリ審査対応 #### 運用環境 * 資源管理方法 * 動作確認端末の購入(スマホ実機/開発PC端末) * 動作確認環境の故障やアップデートの維持(スマホ実機/開発PC端末) #### 障害運用 * アプリ障害通知を検知する方式(ログ/Dump/CrashReport)及び、検知後の運用 * 脆弱性報告等のCERTとの連携 ### システム環境・エコロジー * 特になし ## 3.モバイルアプリ向けAPI * クライアント認証 * ロードバランス * 統計情報 * 🌟App Transport Security(ATS)の対応って必須? ⇨2020年今現在、必須ではない模様。(https://developer.apple.com/documentation/security/preventing_insecure_network_connections) `In cases where you need to connect to a server that isn’t fully secure—and that you can’t reconfigure to make more secure—you can add exceptions to loosen some of the ATS requirements.` https://www.jssec.org/dl/android_securecoding_20180901.pdf * https://www.slideshare.net/RecruitLifestyle/apibffbackend-146832033 * https://auth0.com/blog/an-introduction-to-microservices-part-2-API-gateway/
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up