Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SORACOM EndorseによるSIMカードとAWSの認証連携
Search
takipone
January 27, 2016
Technology
0
860
SORACOM Endorseによる SIMカードとAWSの認証連携
SORACOM Conference 2016 “Connected” T4セッション ゲストスピーカー
takipone
January 27, 2016
Tweet
Share
More Decks by takipone
See All by takipone
ロールプレイトレーニングでクラウドエンジニアを短期育成した知見を一挙公開 / roll playing training benefits and cases
takipone
0
440
スキル育成に生かすLlamaIndexの活用 /using-llamaIndex-to-enhance-ones-skills
takipone
1
3.1k
DNSにちょっとだけ詳しくなりたい人に贈る少し突っ込んだDNSの話 / devioday1_dns
takipone
2
10k
Amazon VPC Latticeに期待する / look-for-vpc-lattice
takipone
0
1.1k
DevelopersIOのアウトプット文化をハックして人材育成に繋げる話 /deviosapporo2022fall_takipone
takipone
0
870
AWSネットワークリソースをサービスでマルチテナントに 提供するときのスケーラビリティ / nwjaws202112-takipone
takipone
1
670
ネットワークがクラウドに載って変わることと変わらないこと /nwjaws201909-takipone
takipone
0
2k
AWSネイティブなEC/CRMシステム運用に欠かせないログ基盤構築 / cmdevio2018-aws-log-infra
takipone
7
3k
日本🇯🇵でAWS Direct Connect を利用する話/akiba-aws-dx
takipone
1
2.3k
Other Decks in Technology
See All in Technology
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
OTelCol_TailSampling_and_SpanMetrics
gumamon
1
170
AGIについてChatGPTに聞いてみた
blueb
0
130
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
130
Lambdaと地方とコミュニティ
miu_crescent
2
370
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
0
110
Lexical Analysis
shigashiyama
1
150
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
180
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
230
プロダクト活用度で見えた真実 ホリゾンタルSaaSでの顧客解像度の高め方
tadaken3
0
110
Featured
See All Featured
Six Lessons from altMBA
skipperchong
27
3.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
Happy Clients
brianwarren
98
6.7k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Building Applications with DynamoDB
mza
90
6.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Teambox: Starting and Learning
jrom
133
8.8k
The Language of Interfaces
destraynor
154
24k
Practical Orchestrator
shlominoach
186
10k
Embracing the Ebb and Flow
colly
84
4.5k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Transcript
SORACOM Endorseによる SIMカードとAWSの認証連携 SORACOM Conference 2016 “Connected” classmethod.jp 1 2016/1/27
⼤瀧隆太
About me • ⼤瀧隆太 Ryuta Otaki ID : @takipone •
おしごと プリセールス/エンジニア @クラスメソッド • 好きなSORACOMサービス SORACOM Beam classmethod.jp 2
About us • クラスメソッドは本⽇、SPSインテグレー ションパートナーに認定されました。 • 事業会社に向けてSORACOM&クラウドを 活⽤したITシステムの構築をご⽀援します。 • AWSを⽤いたデータ分析・可視化が得意です。
classmethod.jp 3 NEW!!
About us • クラスメソッドは技術ブログの会社です。 • Developers.IO http://dev.classmethod.jp/ • SORACOMネタで30本あります。 classmethod.jp
4
例えばこれ • JWTの解説記事、 あります。 • 「jwt 電⼦署名」 で検索 • これから紹介する
構成もブログで 公開済みです。 classmethod.jp 5
今回構築したところ SORACOMが提供 SIMカードとAWSの認証連携 classmethod.jp 6 Endorse 公開鍵 in S3 AWS
API Endorse SORACOM API Amazon API Gateway AWS Lambda AWS IAM SORACOM Air SIM トークンを リクエスト、取得 トークンを渡して AWS APIキーを取得 AWS APIキーで APIをコール 1 2 3
1. トークンの取得 classmethod.jp 7 OK
1. トークンの取得 classmethod.jp 8 Air SIM経由以外の経路、 Endorseが無効のAir SIMからの アクセスはエラーになる NG
今回構築したところ SORACOMが提供 2. トークン検証とAWS⼀時キー発⾏ classmethod.jp 9 Endorse 公開鍵 in S3
SORACOM API API Gateway (ディスパッチャ) AWS Lambda (ロジック) AWS IAM (APIキー発⾏者) リクエスト : JWT署名済トークン レスポンス : AWS APIキー Endorse a. JWT公開鍵を 取得して トークンを検証 b. トークンに 含まれるIMSI をリスト照会 c. APIキー発⾏
2. トークン検証とAWS⼀時キー発⾏ classmethod.jp 10 3: var jwt = require('jsonwebtoken'); :
17: // トークンをデコード 18: var decoded = jwt.decode(event.token, {complete: true}); 19: // デコードしたペイロードからIMSIを取得 20: var imsi = decoded.payload['soracom-endorse-claim'].imsi; 21: // デコードしたヘッダに含まれるキー名からキーストアのURLを⽣成し、取得 22: request(sora_keystore + decoded.header.kid, function (err, response, body){ 23: var pubkey = body; 24: try { 25: // トークンの検証が成功すればtryブロックを継続 26: jwt.verify(event.token, pubkey);
デモ1 classmethod.jp 11
ONE MORE!(デモ2) classmethod.jp 12
Endorseトークン取得をデバイスで • USBトークン/3Gモデム兼⽤のデバイスがあるといいなぁ • PCのネットワークは接続させずトークン取得専⽤にすれ ば、SORACOMの従量課⾦で維持費は少額で済む • SIMの有効/無効はリモートからAPIで操作できるので、デ バイスの有効/無効は思いのまま。 •
IMEI(デバイス固有ID)でSIM盗難対策もOK classmethod.jp 13 USBトークン 3Gモデム
作ってみました • USBのプログラミングを知らないのでBLE(Bluetooth Low Energy)で作ってみました。 classmethod.jp 14 SORACOM Endorse BLEペリフェラル
(OpenBlocks IoT BX1) BLEセントラル (Macbook) トークン 取得 ReadCharacteristic トークン⽂字列
• Enjoy happy Endorse life!! classmethod.jp 15