銀行APIは個人開発でも役に立つ?認証方法は?セキュリティ対策は?

この記事は約9分で読めます。

CNET Japan の銀行の「API開放」は何を意味するのかという興味深い記事を見た。

銀行システムといえば、閉ざされた空間でのみ動作する最強にセキュアなイメージがある。

大量の現金を扱い、少しの不具合が大きな損害を招くことが容易に想像できるのだから、それも致し方ない。

そんな銀行システムが最近流行のフィンテック(FinTech)の波に乗って、外部との連携を積極的に望んでいるようだ。

このビッグウェーブに乗って個人開発者も甘い蜜が吸えるのか!?

波乗り

そんな着眼点で考察してみる。

銀行APIとは?

APIは Application Programming Interface の略で、2つのプログラムが連携するために利用する手順や取り決めのようなものです。

WEB関連に携わっていないプログラマーが API と聞けば

あ~、関数のことね。知ってる。知ってる。

と頷くはず。

私も2年前まではそうでした。

しかし関数やWin32APIとか、そういうのではないのです。

ここでいう銀行APIは、HTTPリクエストを用いて通信する WebAPI と呼ばれるものです。

銀行APIの分類

銀行APIは大きく分類すると以下の2種類が存在します。

  • 参照系API
  • 更新系API

参照系APIは、残高や入出金明細データなどを取得し表示閲覧するために利用します。

更新系APIは、振り込み、外貨の取引、融資などを行うために利用します。

銀行APIの解放時期

各銀行によってAPIが利用可能になる時期はまちまちのようです。

参考までにネットから調べた情報を記しておきます。

調べるのに疲れたので2つしか調べてませんが、コメント等で他の銀行も知りたいという要望があれば頑張って追加するかもしれません。

三菱東京UFJの場合

平成29年4月24日(月)より、「APIサービス」が追加されました。

APIを利用するには外部サービス会社との契約が必要です。

2017-06-17 時点で、外部サービス会社として登録されているのは以下の2社です。

  • 株式会社オービックビジネスコンサルタント
  • freee株式会社

利用できるAPIに差がありますので、詳細が知りたい場合は「APIサービス 外部サービス会社一覧」をご覧ください。

住信SBIネット銀行の場合

私自身も住信SBIネット銀行を利用しているため、一番興味のある情報です。

ざっと調べたところ、以下2社に開放しているのみで一般の人は利用できないのかな?という感じでした。

  • 株式会社マネーフォワード
  • freee株式会社

マネーフォワードとの連携は平成28年3月25日から開始されており、APIエコノミーの観点から日本IBMが提供する「IBM API Connect」および「IBM DataPower Gateway」というプラットフォームを利用して実現しているようです。

銀行APIの認証方法

認証

銀行によって異なる可能性もありますが、ざっとネットを調べた感じ銀行APIの認証方法には「OAuth 2.0」を採用しているようです。

OAuth 2.0 って聞いたことあるけど、よく分からん。

というWEB技術者のあなたには、「OAuth 2.0 の仕組みと認証方法」に分かりやすいシーケンス図とリクエストのパラメータ一覧があるのでおススメです。

ただ、シーケンス図だけだと画面のイメージが沸きにくいと思います。

OAuth認証をする際の画面遷移や操作フローを把握したいなら、Qiita(キータ)の「OAuth 2.0 全フローの図解と動画」がとても分かりやすいです。

上記リンクを参照するのがメンドクサイという方のためにざっくりOAuth認証を説明すると、ユーザーに必要な権限のみ(アカウント名の取得など)要求を行い、ユーザーがOKとボタンを押せば、別のサービス(GoogleとかFacebook)が認証処理を行い表示する。みたいなイメージです。

このOAuth認証を使うことで開発側が得られるメリットは、個人情報を保持する必要なくユーザーを一意に識別可能、および個人情報(アカウント名やメールアドレス等)を保持することなく利用可能となる点でしょう。

昨今、個人情報の漏洩による報告は多々あり、漏洩した場合には一発で信用を失ってしまいます。最悪、損害賠償問題にまで発展するリスクがあります。そうならないためにも、個人情報は保持せず、必要に応じて取得する形態のOAuth認証は素晴らしい仕組みだと思います。

ユーザーがOAuth認証対応のアプリやサービスを利用する際のメリットは、わずらわしい会員登録を行うことなく、ダイアログで表示された内容(アカウント名やメールアドレス等を利用する許可を与えますか?)にOKボタンをクリックするだけで利用できるようになるので大変便利でしょう。

新規に会員登録を行わなければ、個人情報が漏洩するリスクも最小限に抑えることができます。色々なサービスに会員登録すると迷惑メールが沢山くるようになるので、なるべくならOAuth認証をサポートするサービスやアプリを利用して無駄な会員登録は回避すべきですね。

FinTech共通API

日本IBMが「FinTech共通API」という「BIAN(Banking Industry Architecture Network)」の方式に基づいプラットフォームを提供しているようです。

こちらは2016年6月28日に以下 5社と最初の接続検証を実施したそうです。

  • 株式会社オービックビジネスコンサルタント
  • 株式会社Zaim
  • freee株式会社
  • マネーツリー株式会社
  • 株式会社マネーフォワード

現状はどんな感じなんだろう?

とネットをざっと調べてみましたが進捗状況はよく分かりませんでした。

銀行APIのセキュリティ対策

一般社団法人全国銀行協会が 2017年1月20日に「オープンAPIにおけるセキュリティ対策及び利用者保護に関する基本的な考え方【 中間的な整理(案) 】」というPDFを公開しています。

上記資料の中でリスクについて以下の通り記載されています。

金融機関のシステムに新たな通信路を設けて他の企業等を経由した新たなサービスを利用者(預金者)に提供することになるため、当該通信路を悪用したデータの漏洩・改竄や不正取引等が生じるリスクがある。

想定される主なリスクは資料に列挙されてますので、興味があれば上記資料を参照ください。

私が個人的に注目したのは以下の部分です。

(1) API接続先の適格性
(事前審査)
・ 銀行は、他の事業者等とのAPI接続に先立ち、セキュリティ等の観点から、API接続先の適格性を審査することが必要である。

審査がいるんかい!!

残高参照くらいなら手軽に利用できるかと考えていたので、正直がっかりです。

ぶっちゃけ個人開発者がお手軽に通過できる審査ではないと思ってます。

個人開発者の考察

銀行APIの解放について、個人開発者として考察します。

銀行APIの利用はハードルが高い

現状、銀行APIを利用するには審査が必要そうです。

個人開発者が簡単に通過できる審査ではないと考えています。

しかし!

こういう考え方もできるのではないでしょうか?

審査を通過することができれば、開発者としての権威が得られる。

少なくとも、審査に通過した開発者の方を私は尊敬します。

今は銀行APIを使った面白いアイデアは持ち合わせていないため、審査をしてまで利用する気は全くないですが、画期的なアイデアが沸いたらチャレンジするのも面白いかと考えています。

銀行APIの活用方法

ざっと銀行APIを使って何が実現できるかを考えてみました。

金髪の子供がPCを楽しんでいる

家計簿アプリ

家計簿アプリなら銀行APIを利用して色々とやれることは多いと思います。

家計簿アプリで有名な「マネーフォワード」は主婦Chimaも愛用しているとても便利なアプリです。こちらはクレジットカードの明細とも連動しているそうで、入力する手間があまりなく大変良いと言ってました。

競合に強力なアプリがいると作るのを諦めがちですが、マネーフォワードは多機能性を売りにしているアプリです。機能を極力絞り込みシンプルにするなど、差別化を計ることによって充分利用されるアプリをリリースすることは可能だと思います。

家計簿を利用する目的は人それぞれなので、ターゲットを絞ったアプリを作ると稼げるかもしれませんね。

商品購入時の振り込み処理

ECサイトはクレジットカード払いが主流です。

「クレジットは使わん。」

という一定のユーザーに対して、銀行APIと連携した商品購入時の振り込み処理の導入は需要があると思います。

クレジットカード嫌いの層を取り込む商品を扱い集客すれば、意外といい線行けるかもしれません。

Fintech(フィンテック)とは?

銀行APIといえば Fintech(フィンテック)でしょ。

みたいな風潮があるので、Fintech に馴染みのない方のために分かりやすく解説してくれるサイトを紹介しておきます。

ここらで世界一わかりやすく「FinTechとは何か」を説明しよう。 | hajipion.com
最近どこもかしこも「フィンテックフィンテック」でうるせえ。 特にクリエーターからしたら、意識だけ高いビジネスマンのうさんくさい奴らが 「やっぱりこれからの時代はフィンテックだな!」 「フィンテック盛り上がってますね!」 …

とても分かりやすいです。

上記サイトで

3. FinTechは本当に「これから来る」のか?

明らかに「来る」。

と書いてあります。

私もそう思います。

特にビットコインで有名なブロックチェーンに基づく暗号通貨に期待してます。

こちらは今回の趣旨と異なるため多くは語りませんが、そのうち銀行が発行するお金が無くなる時代が来るのかも?とワクワク感が半端ないです。

銀行APIのアプリ・サービスのデモ

銀行APIの可能性と様々な活用アイデアを探ることを目的に、三菱東京UFJ銀行が銀行APIを利用したハッカソンを2016年3月に開催しました。

ハッカソン(hackathon)とは、「ハック(hack)」と「マラソン(marathon)」を組み合わせたIT業界発祥の造語で、ソフトウェア開発者が共同して、マラソンのように一定期間集中的にプログラムの開発やサービスの考案を行い、その成果を競うイベントです。

三菱東京UFJ銀行(MUFG)のハッカソン

@ITの「銀行APIの公開で便利で面白い金融サービスは生まれるか――12の多彩なアイデアが完成度を競ったFintech Challenge 2016 」が一番詳しく載っていたので紹介します。

個人的に注目したのは以下の2つです。

  • 決まった日に預金口座の「下3桁」の金額を、自動的に募金する「Chocobo」
  • 銀行擬人化ソーシャルゲーム「銀コレ! ~銀行コレクション~」

「Chocobo」は、募金を自動化という普通の人では考えつかない発想に脱帽です。個人的には「下3桁」は多すぎなので「下2桁」に抑えて欲しいと思いました。

「銀コレ! ~銀行コレクション~」は、課金したのに貯金が増えるという逆転の発想が素晴らしいです。これなら安心して子供にもゲームさせられますね。

まとめ

要点をまとめます。

  • 銀行システムは外部との連携を積極的に望んでいる。
  • 銀行APIは、HTTPリクエストを用いて通信する WebAPI です。
  • 銀行APIは、参照系と更新系の2種類に分類される。
  • 銀行APIの解放時期は各銀行によってまちまち。
  • 銀行APIの認証方法は「OAuth 2.0」を採用している。
  • 銀行APIの利用には審査が必要そう。
  • FinTech(フィンテック)の時代がこれから来る。

銀行APIを色々調べた結果、個人開発者が利用する時代はまだまだ先のように感じました。

とりあえず銀行APIは置いといて画像認識APIが面白そうなので、そちらを色々検証してみようかと考えています。

以上、『銀行APIは個人開発でも役に立つ?認証方法は?セキュリティ対策は?』の情報でした。

The following two tabs change content below.
会社員Shira
IT系の会社員。1978年生まれ。個人開発でAndroidのアプリをリリース、総ダウンロード数は100万くらい。36歳で初めての転職、未経験のweb業界にもちょっと慣れてきました。

コメント

タイトルとURLをコピーしました