正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

パスワードとOAuthトークンのストレージ

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

GitLabの管理者は、パスワードとOAuthトークンの保存方法を設定できます。

パスワードストレージ

GitLabは、パスワードがプレーンテキストとして保存されないように、ユーザーパスワードをハッシュ形式で保存します。

GitLabは、Devise認証ライブラリを使用してユーザーパスワードをハッシュ化します。作成されたパスワードハッシュには、次の属性があります:

  • ハッシュ:
    • bcrypt: bcryptハッシュ関数はデフォルトで、提供されたパスワードのハッシュを生成するために使用されます。この暗号学的ハッシュ関数は、強力で業界標準です。
    • PBKDF2+SHA512: PBKDF2+SHA512は以下でサポートされています:
      • pbkdf2_password_encryptionおよびpbkdf2_password_encryption_write 機能フラグが有効になっている場合、GitLab 15.2からGitLab 15.5。
      • FIPSモードが有効になっている場合、GitLab 15.6以降(機能フラグは不要)。
  • ストレッチ: パスワードハッシュは、ブルートフォース攻撃に対する強化のためにストレッチされます。デフォルトでは、GitLabはbcryptの場合は10、PBKDF2 + SHA512の場合は20,000のストレッチ係数を使用します。
  • ソルティング: 各パスワードに暗号学的ソルトが追加され、事前計算されたハッシュおよび辞書攻撃に対する強化が行われます。セキュリティを向上させるために、各ソルトはパスワードごとにランダムに生成され、2つのパスワードがソルトを共有することはありません。

OAuthアクセストークンストレージ

OAuthアクセストークンは、PBKDF2+SHA512形式でデータベースに保存されます。PBKDF2+SHA512パスワードストレージと同様に、アクセストークンの値は、ブルートフォース攻撃に対する強化のために20,000回ストレッチされます。