Successfully reported this slideshow.

【Connected.T4】SORACOMで実現する強固なセキュリティ

7

Share

Loading in …3
×
1 of 57
1 of 57

【Connected.T4】SORACOMで実現する強固なセキュリティ

7

Share

クラスメソッド株式会社 AWSコンサルティング部シニアソリューションアーキテクト 大瀧 隆太 氏
株式会社ソラコム プリンシパルソフトウェアエンジニア 片山 暁雄
ご紹介サービス:SORACOM Endorse
新機能:SORACOM Access Management(SAM)

クラスメソッド株式会社 AWSコンサルティング部シニアソリューションアーキテクト 大瀧 隆太 氏
株式会社ソラコム プリンシパルソフトウェアエンジニア 片山 暁雄
ご紹介サービス:SORACOM Endorse
新機能:SORACOM Access Management(SAM)

More Related Content

More from SORACOM,INC

Related Books

Free with a 14 day trial from Scribd

See all

【Connected.T4】SORACOMで実現する強固なセキュリティ

  1. 1. SORACOMで実現する 強固なセキュリティ 株式会社ソラコム プリンシパルソフトウェアエンジニア 片山 暁雄 SORACOM Conference Connected. 2016 テクニカルトラック SORACOM Conference Connected. 2016 テクニカルトラック
  2. 2. • 名前:片山 暁雄 • 所属:株式会社ソラコム – プリンシパルソフトウェアエンジニア • ID : c9katayama
  3. 3. Thanks for our sponsors | Platinum Sponsors | Gold Sponsors | Silver Sponsors | Beverage Sponsors ル
  4. 4. 本日のイベントのハッシュタグ #soracom @SORACOM_PR https://www.facebook.com/soracom.jp/
  5. 5. SORACOMの実現するセキュリティ SORACOM Endorse SORACOM Access Management Agenda
  6. 6. SORACOMの実現するセキュリティ SORACOM Endorse SORACOM Access Management Agenda
  7. 7. 専用線 モノがAWSクラウドに直結 IoT向けのプログラマブルなデータ通信を提供 3G/LTE
  8. 8. 専用線 SORACOMの実現するセキュリティ 3G/LTE デバイス 基地局 SORACOM (AWS) インターネット 自社 サーバ
  9. 9. 専用線 SORACOMの実現するセキュリティ 3G/LTE SIMの認証 通信の暗号化 インターネット経路の 暗号化 デバイス の特定
  10. 10. 専用線 3G/LTE SIMの認証 通信の暗号化 インターネット経路の 暗号化 デバイス の特定 SORACOMの実現するセキュリティ
  11. 11. •Subscriber Identity Module •利用者の認証モジュール •高い耐タンパ性 •ユニークID、認証鍵、暗号鍵 SIMカード
  12. 12. 専用線 3G/LTE SIMの認証 通信の暗号化 インターネット経路の 暗号化 デバイス の特定 SORACOMの実現するセキュリティ
  13. 13. デバイスごとの設定が最小限に デバイスごとに ID/パスワード 証明書 接続先 etc.. の設定 一般的な構成
  14. 14. SORACOM Beam/Funnel 専用線 Funnel 暗号化 Beam デバイスごとに ID/パスワード 証明書 接続先 etc.. の設定
  15. 15. 専用線 3G/LTE SIMの認証 通信の暗号化 インターネット経路の 暗号化 デバイス の特定 SORACOMの実現するセキュリティ
  16. 16. •IMSI(イムジ) • International Mobile Subscriber Identity • SIMカードから取れる、15桁のユニークID •MSISDN • SIMカードから取れる、いわゆる「電話番号」 •IMEI(イメイ) • International Mobile Equipment Identity • 通信デバイスごとに付与される SIMカード/デバイスから取れるID情報
  17. 17. 専用線 3G/LTE デバイス 基地局 SORACOM (AWS) インターネット 自社 サーバ ここではID情報が取れる
  18. 18. •データを受け取るサーバ側では、どのSIMからの通 信かは特定出来ない •SORACOM Airでの通信かどうかも特定できない SORACOM Airを使った通信 ?
  19. 19. •自分の持っているSORACOMのSIM通信であること は保証されるが、どのSIMからの通信かは分からな い SORACOM Canal/Directを使った通信 △ △ Canal Direct
  20. 20. •データを受け取るサーバ側にBeamでパス可能 •ただし使えるのはSORACOMの通信のみ • Wifiなどでは利用できない SORACOM Beam/Funnelを使った通信 ◎ ?
  21. 21. デバイスの特定を行うには •IMSI/IMEIを使ったデバイス特定はセキュアで便利 • SIMの高い対タンパ性 • デバイスごとのIDや秘密鍵の付与が不要 •SORACOM AirやCanal/Direct、もしくはWifiなど SORACOM以外の通信でもクライアントを特定し たい
  22. 22. 《 SORACOM Endorse 》
  23. 23. •SIMの認証情報を、他のシステムにエンドースする ためのサービス •エンドース = 保証、裏書き •SORACOM以外の通信でも、SIMの特定が可能 • SIMの情報と認証の連携が可能に SORACOM Endorse
  24. 24. 1.認証トークンをリクエスト SORACOM Endorse 2.認証トークンを発行 3.認証トークンを送信 4.公開鍵で トークンを検証 5.独自の認証トークンなどを発行 利用者の サーバ デバイス
  25. 25. •ユーザーコンソールのグループ設定から実施 •設定をONにして、認証トークンに含める情報を設定 •SIMをグループに所属させる SORACOM Endorseの設定
  26. 26. •Endorseが設定されたSIMの通信を使って、以下の URLにアクセス https://endorse.soracom.io 認証トークンの取り方
  27. 27. •JWT(JsonWebToken)の形式 •以下の情報の受け渡しが可能 •IMSI • IMEI • MSISDN •任意データ (requestParams) 認証トークン { "iss": "https://soracom.io", "aud": "soracom-endorse-audience", "exp": 1451116301, "jti": "hkK7qNyXzEMVAXfTq1MBuA", "iat": 1451116121, "nbf": 1451116061, "sub": "soracom-endorse", "soracom-endorse-claim": { "imsi": "440XXXXXXXXXXXX" ”requestParams": { "username": "foo", "sessionId": "bar" } } }
  28. 28. •認証トークンの署名を公開鍵で検証 • 公開鍵はSORACOMの指定サーバに配置 • 検証は各種言語のJWT対応ライブラリで実行可能 • http://jwt.io/ が良い情報源 認証トークンの検証
  29. 29. • デバイスからのデータ転送のオフロード • SIMで認証を行い、大量データはWifiやLANなどで送信 • 社内サーバへのシングルサインオン • 社内認証サーバと連携し、IMSIと社員情報を紐付け • IMSIとIMEIが指定のものでない場合はアクセスを拒否 • 多要素認証の一部として利用 • IMSIとIMEIの組み合わせで指定のデバイス以外からのログ インを拒否 ユースケース
  30. 30. 大瀧さん登壇(10分) デモ(AWSクレデンシャル取得/認証)
  31. 31. •設定をONにした1SIMあたり 1日5円 •2月中は無料 •2月以降は1SIM分まで無料利用枠 SORACOM Endorse 利用料金
  32. 32. 《 SORACOM Access Management 》
  33. 33. •SORACOM Access Management(SAM)は、 SORACOM自体の操作を管理するための仕組み •SORACOMプラットホームを横断する機能として 提供 SORACOM Access Management
  34. 34. •SAM ユーザー •認証キー •コンソールログイン •権限設定、ロール SAMの機能
  35. 35. • ”オペレーター(Operator)” • SORACOMアカウントを作成するときに作 られる • 最も強い操作権限を持つ • UNIX/Linuxでいう”root” • SAMユーザー • 一定の権限のみ与えられた、SORACOM操 作用のユーザー • 利用者や目的ごとに作成できる SAMユーザー
  36. 36. オペレーター SAMユーザー SAMユーザー 認証キー コンソール ログイン 認証キー コンソール ログイン 認証キー コンソール ログイン 1 *
  37. 37. • 認証キーIDと認証キーシークレットからなる、 キーペア • APIを使用するときの認証に利用 • Operator/SAMユーザーごとに最大2つまで作成 可能 • 認証キーは作成時のみしか取得できない • 紛失した場合は再作成 認証キー(AuthKey)
  38. 38. /v1/authのAPIに投げると、認証が可能
  39. 39. •SAMユーザーのコンソールログイン情報の設定 •Operator : • メールアドレス/パスワード •SAMユーザー •OperatorID、SAMユーザー名、パスワード •設定しなければコンソールログインできない コンソールログイン
  40. 40. •SAMユーザーの操作権限の設定 • デフォルトでは操作権限がないため、何も操作が できない •権限はJSON形式の構文を使用して設定 権限、ロール
  41. 41. Permission構文例 api: このstatementが指定す る対象のAPI(必須) condition: このstatementが適 用される条件(オプション) effect: このstatementsがallow(許 可)を示すのか、deny(拒否)を示す のかを指定(必須)
  42. 42. api • APIはサービス名とオペレーション名の2つで定義 • サービス名およびオペレーション名はAPIドキュメントに記載 • *(アスタリスク)も使用可能 • “api”:”*” すべての操作 • “api”:”Subscriber:list*” Subscriberのlist操作全般 “api”:”PaymentMethod:getPaymentMethod”
  43. 43. •組み込み関数と変数 • HTTPメソッド(httpMethod) •通信元IPアドレス(sourceIp) • 日付、時刻(currentDate,currentDateTime) •演算子 • eq(==), ne(!=), lt(<), le(<=), matches(正規表現) な ど condition
  44. 44. • subscribersコンポーネントのAPI全てを、2016年2月1日 まで、IPアドレスが10.0.0.1~10.0.0.254の範囲内のクラ イアントのみ許可したい。 condition例 { "statements":[ { "effect":"allow", "api":”Subscriber:*", "condition":"currentDate <= date(2016, 02, 01) and ipAddress('10.0.0.1/24')" } ] }
  45. 45. •直接設定(インライン権限) • SAMユーザーに直接権限を設定する • SAMユーザーと1:1になるためわかりやすい •ロール • “ロール”と呼ばれる権限グループを作成して、権限を ロールに設定する • SAMユーザーにはロールをアタッチする 2つの権限設定方法
  46. 46. SAMユーザー SAMユーザー 認証キー コンソール ログイン 認証キー コンソール ログイン インライン 権限設定 権限設定 ロール
  47. 47. • Adminユーザー • すべての操作が可能 • ただしこの設定にしても、Operator自体の操作(パスワードやメール変 更)は不可 SAMのユースケース { "statements":[{ "effect":"allow", "api":[”*”] }] }
  48. 48. •パワーユーザー • SAMユーザー周りの設定以外はすべての操作が可能 SAMのユースケース { "statements":[{ "effect":"allow", "api":[”*”] }, { "effect":”deny", "api":[”User:*”] }] }
  49. 49. • 請求周りだけの操作 • 経理の方むけ • コンソールログインはon,認証キーはoff SAMのユースケース { "statements":[{ "effect":"allow", "api":[”Billing:*, PaymentMethod:*”] }] }
  50. 50. •SIMの情報の読み取り専用 • 監視プログラムなどに利用 • 認証キーだけ発行して、コンソールログインはoff SAMのユースケース { "statements":[{ "effect":"allow", "api":["Subscriber:*"], "condition":"httpMethod('GET')" }] }
  51. 51. •SAMは利用料 無料 •積極的に活用して下さい! SORACOM Access Management 料金
  52. 52. 《 まとめ 》
  53. 53. •SORACOM Airだけではなく、BCDEFの機能 を使用することで、デバイス/通信/サーバのセ キュリティを向上させられる •SORACOM操作自体のセキュリティはSAMを 使用して適切に権限分掌する まとめ
  54. 54. •多くご要望頂いている機能 •多要素認証(MFA) •IMEIロック •IMEI(デバイスの個体番号)とIMSIの 組み合わせでないと通信が出来なく する機能 今後のセキュリティ周りのロードマップ
  55. 55. 《 株式会社ソラコムのビジョン 》 世界中のヒトとモノをつなげ 共鳴する社会へ

×