正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、
英語版をご参照ください。
パスワードとOAuthトークンのストレージ
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
GitLabの管理者は、パスワードとOAuthトークンの保存方法を設定できます。
パスワードストレージ
- GitLab 15.2でPBKDF2+SHA512が導入されました(
pbkdf2_password_encryptionとpbkdf2_password_encryption_writeという名前のwith flags)。デフォルトでは無効になっています。 - 機能フラグはGitLab 15.6で削除され、PBKDF2+SHA512はFIPSモードで実行されているすべてのGitLabインスタンスで使用できるようになりました。
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アクセストークンストレージ
hash_oauth_tokensという名前のフラグを使用して、PBKDF2+SHA512がGitLab 15.3で導入されました。- GitLab 15.5でデフォルトで有効になりました。
- GitLab 15.6で機能フラグは削除されました。
OAuthアクセストークンは、PBKDF2+SHA512形式でデータベースに保存されます。PBKDF2+SHA512パスワードストレージと同様に、アクセストークンの値は、ブルートフォース攻撃に対する強化のために20,000回ストレッチされます。