分散システムにおけるUUID(汎用一意識別子)の利用拡大
Upcoming SlideShare
Loading in...5
×
 

分散システムにおけるUUID(汎用一意識別子)の利用拡大

on

  • 375 views

 

Statistics

Views

Total Views
375
Views on SlideShare
375
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

分散システムにおけるUUID(汎用一意識別子)の利用拡大 分散システムにおけるUUID(汎用一意識別子)の利用拡大 Presentation Transcript

  • 分散システムにおける UUID(汎用一意識別子)の 利用拡大 (・∀・)キムティ♪@kimtea 第3回JAZUG静岡勉強会 2014年04月26日(土)
  • 自己紹介 • 荒浪 一城(アラナミ カズキ) – 1983(昭和58)年11月24日生まれ、30歳 – 静岡県島田市出身 – なぜか本名よりも、(・∀・)キムティ♪が有名 – Seasarで有名な比嘉さんに、飲み会で(・∀・)キ ムティ♪の本名、知らないもんwwwって言わ れたでござるorz
  • UUID(汎用一意識別子) • 分散システム上で、ユニークなIDを生成し てくれるため、IDの重複や衝突(コリジョ ン)の心配をしなくても良い – 8422741B-8A41-4b42-B0C4-943CE460DFB7 • UUID –8-4-4-12の構成で、16バイトの数値 –2の122乗通り
  • RFC4122 • RFC4122では、 5 種類のタイプを定めている – 1 The time-based version specified in this document. – 2 DCE Security version, with embedded POSIX UIDs – 3 The name-based version specified in this document that uses MD5 hashing. – 4 The randomly or pseudo-randomly generated version specified in this document. – 5 The name-based version specified in this document that uses SHA- 1 hashing. – A Universally Unique IDentifier (UUID) URN Namespace(RFC4122) • 主に、乱数をベースとしたバージョン4が使われ る
  • Algorithms for Creating a Time-Based UUID • UUID の作成に使用されるアルゴリズムなどの詳 細については、「RFC 4122: A Universally Unique IDentifier (UUID) URN Namespace」 のセクション 4.2「Algorithms for Creating a Time-Based UUID」 を参照 • https://tools.ietf.org/html/rfc4122#section-4.2 • 時間ベース UUID • DCE セキュリティー UUID • 名前ベース UUID • ランダム生成 UUID
  • UUIDの具体例(1) • マイクロソフト – GUID(グローバル一意識別子) – 実際に数多くのWebサービスで使用している • 例:Outlook(Hotmail)など – GUID生成ツール • GUIDGen • http://www.microsoft.com/en-us/download/details.aspx?id=17252
  • UUIDの具体例(2) • Java SE 6、7、8 – J2SE5.0から導入 – java.util.UUID • randomUUID a type 4 (pseudo randomly generated) UUID • nameUUIDFromBytes a type 3 (name based) UUID
  • なぜJavaでは、 2種類のUUIDしかサポートしていないのか? • 個人的な見解による仮説では・・・ – UUIDの生成アルゴリズムには、ハッシュ関数が使わ れている – 暗号の研究者によって、MD5では異なるファイルか ら同じハッシュ値を算出することや、MD5のハッ シュ値から元のパスワードを求めることに成功して いる – SHA-1にも、同様に衝突(コリジョン)の問題がある ことが報告されている – 今後、10年間は安心して使用することができる暗号 技術評価プロジェクト(CRYPTREC、クリプトレッ ク)による「電子政府推奨暗号リスト」から、MD5 やSHA-1は削除されている • http://www.cryptrec.go.jp/
  • Apache CassandraのUUID • LexicalUUIDType – The LexicalUUIDType is used for a non-time based comparison. It is compared lexically, by byte value. • TimeUUIDType – The TimeUUIDType is used for a time based comparison. It uses a version 1 UUID.
  • まとめ • UUIDは、分散システムにおける一意性を 確実に担保する手段として使われている • マイクロソフトのGUID(グローバル一意識別 子) • Apache Cassandraでも、使われている • UUIDを意識しながら、URLを見ていると意外に 多い
  • ご静聴ありがとうございます