OAuth が銀行のオンラインで提供されていたらと非常に思う事例

さすがに現状では怖い。

各種口座へのログイン情報は、他のZaimへの入力情報と同じくすべて暗号化して保存しています。また、他の口座へお金を振り込んだり現金を引き出す際に必要な認証情報(暗証番号など)を入力いただくことはございません。入出金記録を閲覧するためにこうした情報を入力・保存する必要がある金融機関等との連携には対応しておらず、ログインID・パスワードを預けたくない利用者向けに各金融機関などが提供するCSVデータの読込機能も近日中に公開する予定です。
(色つき強調はnext49)

保存方式 代理ログイン 攻撃者にとって
生データ 可能 入手に費やす手間が少ない
可逆暗号(生データに戻せる暗号方式) 可能 ログインデータだけでなく、それを復号する秘密鍵も必要
非可逆暗号(生データに戻せない暗号方式) 不可能 取得しても、利用できるようにするのは非常に面倒(ほぼ無理)

他の金融機関のサービスに自動でログインをするということは、暗号化されたパスワードは復号して使うということ。なので、Zaimのサービス提供者にパスワードを知られるという点から考えると暗号化されているかどうかはほぼ関係ない話。

Zaim創業者で代表取締役社長の閑歳孝子さんが以下のように書いているけど、そりゃ悩むよね。作れるには作れるけど、利用者の信頼とあきらめ、サービス提供側の今までとはけた違いの人的統制とセキュリティレベルの向上を図らないといけないのだから。

本日公開の iOS 版(ver.4.0.0)および Web 版で、金融機関などから入出金情報を自動取得して Zaim に表示する機能を追加しました!
都市銀行地方銀行・農協・信金・クレジットカードなどあわせて 1,146 種類に対応しています。
iOS は「設定」の「カテゴリ設定」の「口座」から、Web 版は設定の「金融機関との連携」から追加できますので、ご興味がある方はぜひお試しください。

要望は多かったものの、この機能をつけるべきかどうかは悩みました(正直、ハゲるかと思った…)。
セキュリティをどう担保し、運用し続けていくのか。仕組みを知らない方には理解されづらい機能なので、そこをどう、誤解がないように説明していくのか。
課題は数多くありましたが、最終的には「どんな人でも便利に・楽しく自分の家計を管理できるようにするには "サービスとしての懐の深さ" が必要だ」という想いをもって、付け加えることにしました。
Faceboo: 閑歳 孝子より)

でも、誤解がないように説明するという観点からいえば、プレスリリースはいまいちだと思う。「暗号化した」という言葉は利用者の理解を誤った方向に導いていると思う。この機能の最大の弱点は「金融機関サービスへのログイン情報をZaimに渡すこと&ログイン情報をZaimが利用し代理でログインするのを許すこと」なのだから、ここの部分のセキュリティをどうやって担保するのかを書かないと。わりにあうかどうかわからないけどISO 27000シリーズに準拠した個人情報の取り扱いをしていると説明したりするとかが適切だと思う。

でも、こういう家計簿サービスがほしいというのはわかる。私も使いたい。なので、金融機関側がOAuth(TwitterFacebook連携サービス使うときに、TwiiterやFacebookから「〜への〜というデータへのアクセス許可を認めますか?」という問い合わせがくるやつ)で利用履歴とかを提供してくれれば、Zaimの方もハゲる思いをすることなかったのに。ぜひ、がんばって営業かけて「Zaimのユーザにとって、銀行・クレジットカード選びの基準はOAuthに対応して、Zaimと連携できるかどうかですよ!!!」と説得していただきたいところ。よさそうなサービスだから、がんばれ!