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
880
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
510
スキル育成に生かすLlamaIndexの活用 /using-llamaIndex-to-enhance-ones-skills
takipone
1
3.2k
DNSにちょっとだけ詳しくなりたい人に贈る少し突っ込んだDNSの話 / devioday1_dns
takipone
2
10k
Amazon VPC Latticeに期待する / look-for-vpc-lattice
takipone
0
1.1k
DevelopersIOのアウトプット文化をハックして人材育成に繋げる話 /deviosapporo2022fall_takipone
takipone
0
910
AWSネットワークリソースをサービスでマルチテナントに 提供するときのスケーラビリティ / nwjaws202112-takipone
takipone
1
700
ネットワークがクラウドに載って変わることと変わらないこと /nwjaws201909-takipone
takipone
0
2k
AWSネイティブなEC/CRMシステム運用に欠かせないログ基盤構築 / cmdevio2018-aws-log-infra
takipone
7
3k
日本🇯🇵でAWS Direct Connect を利用する話/akiba-aws-dx
takipone
1
2.4k
Other Decks in Technology
See All in Technology
2/18 Making Security Scale: メルカリが考えるセキュリティ戦略 - Coincheck x LayerX x Mercari
jsonf
0
120
組織におけるCCoEの役割とAWS活用事例
nrinetcom
PRO
4
120
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
CDKでカスタムランタイムを作成して、Lambdaをnode.js23+TypeScriptで動かしてみた
smt7174
2
100
NFV基盤のOpenStack更新 ~9世代バージョンアップへの挑戦~
vtj
0
340
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
540
Snowflakeの開発・運用コストをApache Icebergで効率化しよう!~機能と活用例のご紹介~
sagara
1
400
コンテナサプライチェーンセキュリティ
kyohmizu
1
140
Share my, our lessons from the road to re:Invent
naospon
0
140
わたしがEMとして入社した「最初の100日」の過ごし方 / EMConfJp2025
daiksy
14
4.6k
Raycast AI APIを使ってちょっと便利な拡張機能を作ってみた / created-a-handy-extension-using-the-raycast-ai-api
kawamataryo
0
210
エンジニアリング価値を黒字化する バリューベース戦略を用いた 技術戦略策定の道のり
kzkmaeda
6
2.4k
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
244
12k
How STYLIGHT went responsive
nonsquared
98
5.4k
Building an army of robots
kneath
303
45k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Scaling GitHub
holman
459
140k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
How GitHub (no longer) Works
holman
314
140k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
Building Applications with DynamoDB
mza
93
6.2k
KATA
mclloyd
29
14k
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