ルートセールスマネージャー
システムの構成
本システムは以下の通りGoogleの提供するクラウド上に構築されており、外部からの攻撃に対して堅牢です
- ビジネスロジックはGoogle Cloud 上のサーバーで稼働
- IDの登録とログインの認証は、Google が提供している Firebase Authenticationを使用
- 顧客一覧や訪問予定などのデータは、Google が提供している Firestoe Database に保管
- サブスクリプションの購入はGoogleのPlayストアで管理
- ユーザーはAndroid 端末、もしくはPC、iPhoneなどから、上記のGoogleが運用するクラウドにアクセスしてシステムを利用します

ログインID
ログインIDは Firebase Authentication で管理。業界標準の技術が使用されており、信頼性が高い仕組みです
- 本システムでは Google の Firebase Authentication を採用することで、マルチデバイスからのアクセスに対応しています
- IDの新規登録やパスワードの再発行の際には、Firebase Authentication の確認メール機能により正当な利用者であることをチェックする仕組みです
- ログインに成功した場合は Firebase Authentication が発行する idToken 情報を端末にクッキーとして保管(パスワードは保管しない)
このクッキーが有効な期間(7日間)は自動ログインする仕組みにしいています - PC、スマホ、タブロイド端末など、複数のデバイスを使っている場合は、一つのデバイスにログインすると他のデバイスは強制的にログアウトされます
データベース
データベースは情報漏洩リスクが非常に低い構成で運用されています
- データベース全体はGoogleにより運用されており、データベースの根幹部分のセキュリティはGoogleにより守られています
- Firestre Database 内のRoute Sales Manager専用の領域(Firebaseのプロジェクト)は、モバイルおよびウェブクライアントからのすべての読み書きを拒否する設定になっています
認証されたアプリケーションサーバーだけが Route Sales Manager専用の領域にアクセス可能です
サーバーを認証するには Firebase のプロジェクト管理者だけが作成できる秘密鍵をインストール必要があるため、外部からのアクセスは不可能です - Route Sales Manager専用の領域(Firebaseプロジェクト)の中には、各ワークスペース毎に専用の区画(コレクション)を作成しています
各々のワークスペース用のデータが別々の領域に分かれて保管されているため、他のワークスペースのデータとの混同は発生しません - ワークスペースの情報はIDの属性としてFirebase Authentication に記録されています
本システムのビジネスロジックはログイン中のIDの属性からワークスペースのキーを取得してデータベースにアクセスします
他社のワークスペースのキーは知ることができないので、Route Sales Managerのユーザーは他のワークスペースの情報を取得することはできません
なお、システムが内部で保有しているワークスペースのキーは Firestore Database が生成する20桁のランダムな文字列(英大小数混在)です - 本システムのDBアクセスに関するビジネスロジックはcgiとしてコールされます。cgiのロジックはユーザー端末からは見ることができないので解析されたり改竄されるリスクは低く保たれています

情報漏洩リスク
本システムでの情報漏洩リスクは以下の様なケースに限定されます
- Google の本体がハッカー等の攻撃を受けて侵入を許してしまった場合
- ユーザーが使用する端末がウイルスに感染する等の理由によりIDパスワードが流出した場合
- ハッカー等の攻撃を受けて OLTO and SUTI-cube Project Team が管理している Google Account が乗っ取られた場合
なお、OLTO and SUTI-cube Project Team では Google Account に2段階認証を設定してセキュリティのレベルを高めています - Route Sales Manager のアプリケーションサーバーが攻撃を受けて侵入された場合
なお、Route Sales Manager のサーバーはパスワード認証を無効にして秘密鍵によるアクセスのみに限定しているのでパスワード総当たり攻撃は全て防御されます
バックアップ
本システムではクラウド内のインフラの運用を完全にGoogleに依存しているため、ハードウエア障害などに対応するためのバックアップは取得していません