SORACOM, INC

Software Design 2016年5月号(技術評論社発行)特集記事「SORACOMでわかるIoT」
SORACOM Special Contents

Software Design 2016年5月号(技術評論社発行)特集記事「SORACOMでわかるIoT」

クーポンサイトの仕組みと、SIMによる認証サービス "SORACOM Endorse" について

今回ご利用いただくクーポン配布サービスは、実は SORACOM が提供するサービスの一つである SORACOM Endorse(エンドース)の特徴を活かしたサービス構築の例にもなっています。
そこで SORACOM Endorse についても簡単にご紹介します。

SIM認証サービス SORACOM Endrose とは

SIM を用いたモバイルデータ通信においては、SIM を搭載したデバイスとドコモの設備との間の無線区間において、 強力な相互認証を行っています。

つまり、デバイス側から見るとドコモの設備がたしかにドコモの設備であること (すなわち悪意を持った第三者が偽装した設備ではないこと)を確認し、 一方でドコモ側の設備から見るとデバイスに搭載されている SIM が本当にドコモが発行した SIM であること (悪意を持った者が偽装した SIM でないこと)を確認します。 この認証結果の情報(すなわち SIM が不正ではないという情報)は、従来は第三者が利用することができませんでした。

SORACOM Endorse は、そのような SIM の情報を、第三者の方であっても正しい情報であると確認していただけるサービスです。

Endorse という単語は「保証する」「裏書する」というような意味ですが、SIM のもっている ID などの情報が 正しいということを SORACOM が保証するサービスといえます。

SORACOM Endorse の使い方のイメージ図

SORACOM Endorse の使い方を上の図で説明します。

  1. SIM が入っているデバイスから、自らの SIM の ID などの情報について正しいことを保証してくれるようにと SORACOM に対してリクエストします(図中①)。これは実際には REST の API を呼び出す形です。
  2. SORACOM は上で説明したような相互認証の仕組みによって SIM の ID などの情報を正しく知っていますので、 その情報に対し SORACOM が持っている秘密鍵で電子署名を行って認証トークンを発行します(②)。
    認証トークンには SIM の ID などの情報も含まれています。
    認証トークンは、1. で呼び出した REST API のレスポンスとして返却されます。
  3. 電子署名された認証トークンを受け取ったデバイスは、第三者のサービスに対してその認証トークンを渡します。 すなわち、「私の ID は確かにこの値です」と伝えます(③)。
  4. 認証トークンを受け取った第三者のサービスは、その認証トークンが正しいものかどうかを確認します。 すなわち、SORACOM の公開鍵を使って電子署名の検証を行います(④)。
  5. 認証トークンおよびそこに含まれる情報が正しいことが確認できると、第三者のサービスはその SIM を使って 通信しているデバイスに対してサービスの提供をすることができます。(⑤)

クーポン配布サービスの仕組み

この SORACOM Endorse を使って、私たちがどのようにしてクーポン配布サービスを構築しているかというと、概略は以下のとおりです。

  1. 弊社(ソラコム)は、本誌の付録とする SIM の ID のリストをクーポン配布サービスのデータベース等に格納しておく。
  2. 本誌読者は、本誌付録の SIM を利用し、SORACOM Endorse サービスを用いて認証トークンを受け取る。
  3. 本誌読者は、クーポン配布サービスにアクセスし、2. で入手した認証トークンを渡す。
  4. クーポン配布サービスは、3. で渡された認証トークンを公開鍵により検証する。
    正しいトークンであることが確認できたら、認証トークンに含まれる SIM の ID を、1. で用意しておいたリストと照合する。
    本誌付録の SIM であると判断したら、クーポンコードを発行する。

このような仕組みにより、本誌付録の SIM を持っている人だけにクーポンを発行し、それ以外の SIM を持っている人や SIM を持っていない人にはクーポンを発行しない、ということができます。

このクーポン配布サービスと同じように、読者のみなさまも SIM の ID を確認したい(特定の SIM のみにアクセスを許可したい)といった用途に SORACOM Endorse をご活用いただくことができます。

たとえば、以下のような応用例が考えられます。

他にもたくさんの応用例が考えられると思います。
みなさまもぜひ面白い・役に立つ応用例を考えてみてください。

【 Endorse を用いたサービス構築をお考えの開発者の方へのご注意 】

Endorse の認証トークンの用途によっては、上記の他にも追加のセキュリティ確保が必要になる場合があります。

安全な Endorse の使い方に関して、近日中に詳細ドキュメントを開発者サイトに掲載する予定です。

次の記事では、データ転送支援サービスの SORACOM Beam を使ったプロトコル変換について解説します。引き続きお試しください。

pagetop