Suche senden
Hochladen
Webシステムのためのエンドユーザ向け公開鍵認証機能の開発
•
Als PPTX, PDF herunterladen
•
0 gefällt mir
•
1,285 views
Tetsuo Sakaguchi
Folgen
Code4Lib JAPAN Conference 2017発表スライドです。 http://wiki.code4lib.jp/wiki/C4ljp2017
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 17
Jetzt herunterladen
Empfohlen
ビブリオバトルにおける コミュニティ形成のダイナミクス
ビブリオバトルにおける コミュニティ形成のダイナミクス
Tadahiro Taniguchi
Introduction to the entity linking app for Encyclopedie
Introduction to the entity linking app for Encyclopedie
AyanoKokaze
ハッカソン形式の実践的IT教育の実施報告
ハッカソン形式の実践的IT教育の実施報告
Kazunori Sakamoto
複雑ネットワークとP2Pネットワーク
複雑ネットワークとP2Pネットワーク
Kazuki Aranami
減災ソフトウェア開発に関わる一日会議2016 hatayama
減災ソフトウェア開発に関わる一日会議2016 hatayama
Michinori Hatayama
Wikiからはじめるプロジェクト・マネジメント
Wikiからはじめるプロジェクト・マネジメント
Takahiro Sasao
フレッシュマンセミナー (2004)
フレッシュマンセミナー (2004)
Takeo Kunishima
個人情報保護法改正とビッグデータ利活用
個人情報保護法改正とビッグデータ利活用
Harumichi Yuasa
Empfohlen
ビブリオバトルにおける コミュニティ形成のダイナミクス
ビブリオバトルにおける コミュニティ形成のダイナミクス
Tadahiro Taniguchi
Introduction to the entity linking app for Encyclopedie
Introduction to the entity linking app for Encyclopedie
AyanoKokaze
ハッカソン形式の実践的IT教育の実施報告
ハッカソン形式の実践的IT教育の実施報告
Kazunori Sakamoto
複雑ネットワークとP2Pネットワーク
複雑ネットワークとP2Pネットワーク
Kazuki Aranami
減災ソフトウェア開発に関わる一日会議2016 hatayama
減災ソフトウェア開発に関わる一日会議2016 hatayama
Michinori Hatayama
Wikiからはじめるプロジェクト・マネジメント
Wikiからはじめるプロジェクト・マネジメント
Takahiro Sasao
フレッシュマンセミナー (2004)
フレッシュマンセミナー (2004)
Takeo Kunishima
個人情報保護法改正とビッグデータ利活用
個人情報保護法改正とビッグデータ利活用
Harumichi Yuasa
情報システム創成研究分野への誘い
情報システム創成研究分野への誘い
情報システム創成研究分野
Plone for ou
Plone for ou
Haruo Takemura
大阪大学におけるPloneの活用事例
大阪大学におけるPloneの活用事例
Shigeo Honda
Webシステムプログラミング概要20150630
Webシステムプログラミング概要20150630
義広 河野
マイニング探検会#12
マイニング探検会#12
Yoji Kiyota
人生の意思決定を支える社会インフラとしての図書館
人生の意思決定を支える社会インフラとしての図書館
Yoji Kiyota
Webシステムプログラミング20150413
Webシステムプログラミング20150413
義広 河野
「最近のwebアプリケーションの脆弱性やそれを悪用する攻撃の動向」OWASP Kansai
「最近のwebアプリケーションの脆弱性やそれを悪用する攻撃の動向」OWASP Kansai
OWASP Kansai
地域タブレットPc活用プロジェクト
地域タブレットPc活用プロジェクト
Shigeki Yokoi
河野ゼミガイダンス資料2016
河野ゼミガイダンス資料2016
義広 河野
オープンデータで実現する作文測定分析のシステム構成
オープンデータで実現する作文測定分析のシステム構成
yamahige
学生とシビックテック
学生とシビックテック
Ismail Arai
Library in the Web2.0 environment
Library in the Web2.0 environment
shigeosuzuki
japan teacher
japan teacher
peterjiang
先駆的研究テーマ mruby/c
先駆的研究テーマ mruby/c
shimane-itoc
これからの学術デジタル・アーカイブ SAT大蔵経DBを事例として
これからの学術デジタル・アーカイブ SAT大蔵経DBを事例として
Nagasaki Kiyonori
小中高、大学も含めた授業支援システム、大学Ocw、理科・研究・スキルの継承用動画共有などに使用できるnet commonsベースのオープンソースを紹介します。
小中高、大学も含めた授業支援システム、大学Ocw、理科・研究・スキルの継承用動画共有などに使用できるnet commonsベースのオープンソースを紹介します。
株式会社 オープンソース・ワークショップ
情報システム概論 Kanban Pizza Game
情報システム概論 Kanban Pizza Game
Yoshiaki Rikitake
20040930 ku librarians勉強会 #60:オンライン・チュートリアル(『電子図書館の新たな潮流シリーズ』第3回)
20040930 ku librarians勉強会 #60:オンライン・チュートリアル(『電子図書館の新たな潮流シリーズ』第3回)
kulibrarians
Linked Dataの概要と課題
Linked Dataの概要と課題
Masao Takaku
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Weitere ähnliche Inhalte
Ähnlich wie Webシステムのためのエンドユーザ向け公開鍵認証機能の開発
情報システム創成研究分野への誘い
情報システム創成研究分野への誘い
情報システム創成研究分野
Plone for ou
Plone for ou
Haruo Takemura
大阪大学におけるPloneの活用事例
大阪大学におけるPloneの活用事例
Shigeo Honda
Webシステムプログラミング概要20150630
Webシステムプログラミング概要20150630
義広 河野
マイニング探検会#12
マイニング探検会#12
Yoji Kiyota
人生の意思決定を支える社会インフラとしての図書館
人生の意思決定を支える社会インフラとしての図書館
Yoji Kiyota
Webシステムプログラミング20150413
Webシステムプログラミング20150413
義広 河野
「最近のwebアプリケーションの脆弱性やそれを悪用する攻撃の動向」OWASP Kansai
「最近のwebアプリケーションの脆弱性やそれを悪用する攻撃の動向」OWASP Kansai
OWASP Kansai
地域タブレットPc活用プロジェクト
地域タブレットPc活用プロジェクト
Shigeki Yokoi
河野ゼミガイダンス資料2016
河野ゼミガイダンス資料2016
義広 河野
オープンデータで実現する作文測定分析のシステム構成
オープンデータで実現する作文測定分析のシステム構成
yamahige
学生とシビックテック
学生とシビックテック
Ismail Arai
Library in the Web2.0 environment
Library in the Web2.0 environment
shigeosuzuki
japan teacher
japan teacher
peterjiang
先駆的研究テーマ mruby/c
先駆的研究テーマ mruby/c
shimane-itoc
これからの学術デジタル・アーカイブ SAT大蔵経DBを事例として
これからの学術デジタル・アーカイブ SAT大蔵経DBを事例として
Nagasaki Kiyonori
小中高、大学も含めた授業支援システム、大学Ocw、理科・研究・スキルの継承用動画共有などに使用できるnet commonsベースのオープンソースを紹介します。
小中高、大学も含めた授業支援システム、大学Ocw、理科・研究・スキルの継承用動画共有などに使用できるnet commonsベースのオープンソースを紹介します。
株式会社 オープンソース・ワークショップ
情報システム概論 Kanban Pizza Game
情報システム概論 Kanban Pizza Game
Yoshiaki Rikitake
20040930 ku librarians勉強会 #60:オンライン・チュートリアル(『電子図書館の新たな潮流シリーズ』第3回)
20040930 ku librarians勉強会 #60:オンライン・チュートリアル(『電子図書館の新たな潮流シリーズ』第3回)
kulibrarians
Linked Dataの概要と課題
Linked Dataの概要と課題
Masao Takaku
Ähnlich wie Webシステムのためのエンドユーザ向け公開鍵認証機能の開発
(20)
情報システム創成研究分野への誘い
情報システム創成研究分野への誘い
Plone for ou
Plone for ou
大阪大学におけるPloneの活用事例
大阪大学におけるPloneの活用事例
Webシステムプログラミング概要20150630
Webシステムプログラミング概要20150630
マイニング探検会#12
マイニング探検会#12
人生の意思決定を支える社会インフラとしての図書館
人生の意思決定を支える社会インフラとしての図書館
Webシステムプログラミング20150413
Webシステムプログラミング20150413
「最近のwebアプリケーションの脆弱性やそれを悪用する攻撃の動向」OWASP Kansai
「最近のwebアプリケーションの脆弱性やそれを悪用する攻撃の動向」OWASP Kansai
地域タブレットPc活用プロジェクト
地域タブレットPc活用プロジェクト
河野ゼミガイダンス資料2016
河野ゼミガイダンス資料2016
オープンデータで実現する作文測定分析のシステム構成
オープンデータで実現する作文測定分析のシステム構成
学生とシビックテック
学生とシビックテック
Library in the Web2.0 environment
Library in the Web2.0 environment
japan teacher
japan teacher
先駆的研究テーマ mruby/c
先駆的研究テーマ mruby/c
これからの学術デジタル・アーカイブ SAT大蔵経DBを事例として
これからの学術デジタル・アーカイブ SAT大蔵経DBを事例として
小中高、大学も含めた授業支援システム、大学Ocw、理科・研究・スキルの継承用動画共有などに使用できるnet commonsベースのオープンソースを紹介します。
小中高、大学も含めた授業支援システム、大学Ocw、理科・研究・スキルの継承用動画共有などに使用できるnet commonsベースのオープンソースを紹介します。
情報システム概論 Kanban Pizza Game
情報システム概論 Kanban Pizza Game
20040930 ku librarians勉強会 #60:オンライン・チュートリアル(『電子図書館の新たな潮流シリーズ』第3回)
20040930 ku librarians勉強会 #60:オンライン・チュートリアル(『電子図書館の新たな潮流シリーズ』第3回)
Linked Dataの概要と課題
Linked Dataの概要と課題
Kürzlich hochgeladen
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Kürzlich hochgeladen
(12)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Webシステムのためのエンドユーザ向け公開鍵認証機能の開発
1.
Webシステムのためのエンドユーザ 向け公開鍵認証機能の開発 Code4Lib JAPAN Conference
2017@熊本 阪口哲男 筑波大学図書館情報メディア系 saka@slis.tsukuba.ac.jp 2017/9/3 Webシステムのためのエンドユーザ向け公 開鍵認証機能の開発 1
2.
自己紹介 (今日のお題関連で) • 筑波大学図書館情報メディア系准教授 –
系のシステム管理グループ主査 – 系の情報環境委員会副委員長(技術担当) • 歴史的経緯? – 1988年頃より図書館情報大学の電子メールサーバ管理 者(postmaster)を務める(JUNET) – 1990年代に図書館情報大学においてUnix系OSの教育シ ステム導入・運用、LANやインターネットとの相互接続とそ の管理、公式Webサーバ等の立ち上げを行う – 筑波大学との統合(2002年)後、主に部局内システムや LANの管理・運用に関わる • 必然的にセキュリティ問題への対応も 2017/9/3 Webシステムのためのエンドユーザ向け公 開鍵認証機能の開発 2
3.
本日のアウトライン • デモ: サンプルシステム •
パスワードの漏えいと使い回し問題 • パスワードによらないユーザ認証 – Webで「公開鍵認証」の現状? – だれでも使えるような公開鍵認証を • エンドユーザ向けの公開鍵認証 • サンプルシステムの構築と課題等 • 原理的弱点は? • その他: 標準化動向&応用 2017/9/3 Webシステムのためのエンドユーザ向け公 開鍵認証機能の開発 3
4.
デモ: サンプルシステム • RubyによるCGIプログラムの例のための例 –
Unixのfortuneメッセージが読めるだけ:-) • 「config.rb」という設定ファイルで変更可能 – パスワード認証と公開鍵認証を切替、比較可能 • 認証関係機能概要 – サインアップではメールアドレス入力、メールで届い たPINを入力してサインアップ完了 – 公開鍵・秘密鍵ペアのファイルの保存・読込可能 • (demo https://sakura.sakalab.org/~saka/pka4/home.cgi) 2017/9/3 Webシステムのためのエンドユーザ向け公 開鍵認証機能の開発 4
5.
パスワードの漏えいと使い回し問題 • パスワード認証 – ユーザ識別名と(秘密の)パスワードの組が合致すれ ば、正当なユーザであると認める方式 –
ユーザが入力するパスワードが正しいかどうかを検 証できなければならない • (暗号化した)パスワードをサービス側で保存する • 漏えい→解読不可でも力技照合でパスワード判明の場合も • パスワードの使い回し – あるサービスのパスワードが漏えいすると芋蔓式に 他サービスも不正使用されてしまう 2017/9/3 Webシステムのためのエンドユーザ向け公 開鍵認証機能の開発 5
6.
パスワードによらないユーザ認証 • パスワード使い回し対策は? – パスワード管理ツール、多要素認証などなど、、、 –
そもそもユーザとサービス側で共通のパスワードを 「知っている」という方式を止められないか? • 「公開鍵認証」があるじゃないか! – Unix/Linuxユーザにお馴染のSSHでは一般的 – 手元のPCで公開鍵と秘密鍵のペア(鍵ペア)を生成し て、サーバに公開鍵を登録 – そのペアとなる秘密鍵を持っているPCからはパス ワードを使わずログインできる 2017/9/3 Webシステムのためのエンドユーザ向け公 開鍵認証機能の開発 6
7.
Webで「公開鍵認証」の現状? • 実はSSL/TLS規格に「個人証明書」認証あり – でも、だれがどこで使ってますか?:-) •
事前に個人証明書の発行を認証局などで受ける • それをOSあるいはブラウザの証明書管理機能でインストー ルが必要 • 他の実装: TrustAuth http://trustauth.com/ – 簡単に使えそう? – でも、Firefox専用(プラグインが必要) – ブラウザの移行が困難(鍵のexport/importなし) • Web標準動向については後で、、、、 2017/9/3 Webシステムのためのエンドユーザ向け公 開鍵認証機能の開発 7
8.
だれでも使えるような公開鍵認証を • ブラウザに依存せずできないか?→Web標準 – 問題は鍵の保存・管理 –
そういえば、HTML5に「localStorage」がある! • というわけで、卒研で試作してもらった – 2014年度、関春奈さん – 抄録: http://klis.tsukuba.ac.jp/archives/2014/s1111519- 2015020619232710336A.pdf † • † 筑波大学情報学群知識情報・図書館学類で公開 – 一通り機能を実現可能なことを確認済 • (その後、「諸般の事情」により2年ちょっと停滞) 2017/9/3 Webシステムのためのエンドユーザ向け公 開鍵認証機能の開発 8
9.
• 公開鍵暗号技術について (注:
大幅に端折ってます) • x: 平文、y: 暗号文 • 暗号化: y = f(x, k1)、復号化: x = g(y, k2) • k1: 暗号化鍵、k2: 復号化鍵 • 例: k1≠k2、かつk1からk2への推定困難ならk1を公開可能 エンドユーザ向けの公開鍵認証(1/4) 2017/9/3 Webシステムのためのエンドユーザ向け公 開鍵認証機能の開発 9 x y xf() g() Aさん Bさん k1 k2
10.
エンドユーザ向けの公開鍵認証(2/4) • ポイント1: 鍵k1が漏れてもk2は守られる –
(パスワード)漏えいを気にしなくて良い? • ポイント2: 鍵k1とk2の組合せは決まっている – 相手がどの鍵の所有者かを識別できる • 試作システムでとった方式 – 鍵ペアを生成して、公開鍵をサーバに預ける – 認証は、サーバから送った符丁をブラウザが秘 密鍵で暗号化してサーバに返す。サーバはそれ を公開鍵で復号化に成功すれば認証完了 2017/9/3 Webシステムのためのエンドユーザ向け公 開鍵認証機能の開発 10
11.
エンドユーザ向けの公開鍵認証(3/4) • 今回の発表に向けてコード整理と再実装 – サンプル・システムとしてgithub公開を目指す –
要件の最少化: • サーバ: Apache httpd, Ruby, SQLite3 (他のRDBMSも可) • ブラウザ: HTML5(含JavaScript)対応 – 使用プログラムライブラリ • Ruby2.x: 標準添付ライブラリ+ gem sqlite3 • JavaScript: jsrsasign (http://kjur.github.io/jsrsasign/) – その他 – HTTPS (SSL/TLS)対応は今時必須でしょう 2017/9/3 Webシステムのためのエンドユーザ向け公 開鍵認証機能の開発 11
12.
エンドユーザ向けの公開鍵認証(4/4) • 認証手順の見直し: デジタル署名を採用 •
手順 – まず秘密鍵と公開鍵のペアを生成し、サーバに 公開鍵を預ける (サインアップ) – サインインの際、ブラウザが秘密鍵を用いてサー バから届いた符丁のデジタル署名を生成し、 サーバに返す – サーバは預かっている公開鍵を用い、その署名 が送った符丁に対するものか検証→成功ならOK 2017/9/3 Webシステムのためのエンドユーザ向け公 開鍵認証機能の開発 12
13.
サンプルシステムを構築して • 実際書いてみると、パスワード認証とコード量自 体は大差ない (jsrsasignのおかげでもある) –
この辺は公開するコードを見てください • エンドユーザの操作も大差ない? – サインアップ、サインインともに – ブラウザ移行等の際の鍵管理は必要 • パスワードリセット過程と同様にもできる • なおブラウザの互換性対応は頑張ってません – 建前: Web標準HTML5に基づいているはず、、 2017/9/3 Webシステムのためのエンドユーザ向け公 開鍵認証機能の開発 13
14.
• 複数端末対応 – 他の端末で使う際は秘密鍵の保存と読込が必要 –
秘密鍵のコピーはちょっと問題、、、、 • 公開鍵の変更・預け直し過程の更なる検証 • コードのリファイン – (2週間ほどで「エイヤっと」書いたのでさすがに…) • (他にもブラウザの互換性など多々ありそう、、、) • コード公開予定地: https://github.com/tsaka1/pka- sample-c4ljp2017 サンプルシステムの課題 2017/9/3 Webシステムのためのエンドユーザ向け公 開鍵認証機能の開発 14
15.
原理的な弱点は? • 秘密鍵を保存しているlocalStorageの保護 – Same
origin原則でアクセス制限されているが、ド メイン名詐称されると読み取られてしまう。 • DNS毒入れ攻撃の危険 • そのためにもHTTPS (SSL/TLS) でサーバ証明書必須 • 同じドメイン名で異なる主体が同居するのも危険 – SSHなどと同様に秘密鍵をパスフレーズで暗号化 して保存(これは実装済) • 時間をかければ秘密鍵推定可能→鍵を長く 2017/9/3 Webシステムのためのエンドユーザ向け公 開鍵認証機能の開発 15
16.
その他: 標準動向&応用 • 実は暗号についてのAPI標準がW3C勧告に –
Web Cryptography API (W3C Recommendation 26 January 2017) – https://www.w3.org/TR/WebCryptoAPI/ – でもブラウザの対応状況は??? • 秘密鍵の管理が面倒そう? – パスワード認証と併用する多要素認証の1要素 に使うという手もある • ご意見あればお気軽に&fork歓迎! 2017/9/3 Webシステムのためのエンドユーザ向け公 開鍵認証機能の開発 16
17.
Acknowledgements • 指導教員の無茶ぶりに応えてくれた関春奈さん • 自堕落な技術者の日記
- livedoor Blog(ブログ) – http://blog.livedoor.jp/k_urushima/ – jsrsasignの作者ブログ – 暗号技術や証明書の扱い事例色々 • PKI.js - https://pkijs.org/ – Web Cryptography APIベースのPKIライブラリ – W3Cの標準動向に気付かせてくれた – 再実装で使用を検討したが結局使わず • 結城浩著. 暗号技術入門. https://calil.jp/book/4797382228 2017/9/3 Webシステムのためのエンドユーザ向け公 開鍵認証機能の開発 17
Jetzt herunterladen