SORACOM Developers

SORACOM Krypton : 機能の説明

Krypton で使用する用語

サービスプロバイダー - デバイスを認証し、デバイスにサービスを提供します。AWS IoT や Google IoT などの IoT に特化したクラウドサービス、各種 Web サービスのように認証を行うことで適切な権限に基づくアプリケーションサービスへのアクセスを認可する動作を行うサービスプロバイダー全般を指します。Kryptonでは、利用したいサービスによって、当サービスプロバイダーを利用するためのプロビジョニング用 API を提供しています。

プロビジョニングAPI - サービスプロバイダーを利用するために、Kryptonが提供しているプロビジョニングのためのAPIです。Amazon Cognito, AWS IoT, SORACOM Inventory に対応しており、それぞれのサービスプロバイダー向けのプロジョニングサービスを提供しています。

Amazon Cognito 向けプロビジョニングAPI

AWS IoT 向けプロビジョニングAPI

SORACOM Inventory 向けプロビジョニングAPI

APIの詳細は、Krypton Provisioning API Referenceをご確認ください。

Krypton の仕組みと構成

AWS IoT の証明書を発行しデバイス登録

SORACOM Kryptonでは AWS IoT を自動的にプロビジョニングして、証明書を発行しデバイス登録ができます。あらかじめ証明書をデバイスにセットする必要はなく、デバイスの起動の初期設定として、プロビジョニングできます。

以下のような手順となります。

上記の処理が完了すると、Air SIM および Krypton クライアントを搭載したデバイスは自動的に AWS IoT で自身をプロビジョニングし、MQTTSに接続できます。

Amazon Cognito からAWSサービスを利用するための期限付き認証情報を取得

Krypton では Amazon Cognito からAWSサービスを利用するための期限付き認証情報を取得できます。たとえば、Amazon S3 などのAWSサービスを一時的に利用できます。

Kryptonでは Amazon Cognito 開発者ガイド内にある「開発者が認証した ID の認証フロー」の「拡張認証フロー」をサポートしています。

Krypton は SIM を使用したデバイスを認証し、Amazon Cognitoの GetOpenIdTokenForDeveloperIdentity API を呼び出し、OpenIDトークンを受け取ります。さらに GetCredentialsForIdentity を呼び出して一時的なAWSクレデンシャルを受け取ることができます。

当連携を利用することで、お客様はデバイスにあらかじめAWS認証情報を埋め込むことなくAWSの任意のサービス対してAWS SDKを用いたアクセスが可能となります。さらに通信はセルラー回線である必要はなく、コストの低い WiFi や有線を主回線として用いながら、セルラーをバックアップに使うといった使い方も可能となります。

Kryptonクライアント

Krypton クライアントは、プロビジョニングのための認証方法のうち「SORACOM Endorse による SIM 認証」を使用する場合に使用します。 SORACOM Endorse による SIM 認証の場合、外部から読めない形で保存された SIM の秘密情報を使用して計算を行い認証を行います。当方式の場合、WiFi や Ethernet 等、Air SIM を使用したセルラー回線での通信は不要です。 Krypton クライアントは以下の一連の処理を行います。

動作環境として、Javaが動作することが必要です。

入手および利用方法についてはsoracom-krypton-client-for-java をご確認ください。

Krypton プロビジョニング API

Krypton プロビジョニング APIの詳細は、Krypton Provisioning API Referenceをご確認ください。

pagetop