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

1,058 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,058
On SlideShare
0
From Embeds
0
Number of Embeds
48
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. 分散システムにおける UUID(汎用一意識別子)の 利用拡大 (・∀・)キムティ♪@kimtea 第3回JAZUG静岡勉強会 2014年04月26日(土)
  2. 2. 自己紹介 • 荒浪 一城(アラナミ カズキ) – 1983(昭和58)年11月24日生まれ、30歳 – 静岡県島田市出身 – なぜか本名よりも、(・∀・)キムティ♪が有名 – Seasarで有名な比嘉さんに、飲み会で(・∀・)キ ムティ♪の本名、知らないもんwwwって言わ れたでござるorz
  3. 3. UUID(汎用一意識別子) • 分散システム上で、ユニークなIDを生成し てくれるため、IDの重複や衝突(コリジョ ン)の心配をしなくても良い – 8422741B-8A41-4b42-B0C4-943CE460DFB7 • UUID –8-4-4-12の構成で、16バイトの数値 –2の122乗通り
  4. 4. 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が使われ る
  5. 5. 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
  6. 6. UUIDの具体例(1) • マイクロソフト – GUID(グローバル一意識別子) – 実際に数多くのWebサービスで使用している • 例:Outlook(Hotmail)など – GUID生成ツール • GUIDGen • http://www.microsoft.com/en-us/download/details.aspx?id=17252
  7. 7. 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
  8. 8. なぜJavaでは、 2種類のUUIDしかサポートしていないのか? • 個人的な見解による仮説では・・・ – UUIDの生成アルゴリズムには、ハッシュ関数が使わ れている – 暗号の研究者によって、MD5では異なるファイルか ら同じハッシュ値を算出することや、MD5のハッ シュ値から元のパスワードを求めることに成功して いる – SHA-1にも、同様に衝突(コリジョン)の問題がある ことが報告されている – 今後、10年間は安心して使用することができる暗号 技術評価プロジェクト(CRYPTREC、クリプトレッ ク)による「電子政府推奨暗号リスト」から、MD5 やSHA-1は削除されている • http://www.cryptrec.go.jp/
  9. 9. 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.
  10. 10. まとめ • UUIDは、分散システムにおける一意性を 確実に担保する手段として使われている • マイクロソフトのGUID(グローバル一意識別 子) • Apache Cassandraでも、使われている • UUIDを意識しながら、URLを見ていると意外に 多い
  11. 11. ご静聴ありがとうございます

×