Signed-off-by: Gary Lin <[email protected]>
---
 docs/grub.texi | 86 ++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 73 insertions(+), 13 deletions(-)

diff --git a/docs/grub.texi b/docs/grub.texi
index 7181009b6..827b9defb 100644
--- a/docs/grub.texi
+++ b/docs/grub.texi
@@ -35,6 +35,7 @@ Invariant Sections.
 * GRUB: (grub).                 The GRand Unified Bootloader
 * grub-install: (grub)Invoking grub-install.    Install GRUB on your drive
 * grub-mkconfig: (grub)Invoking grub-mkconfig.  Generate GRUB configuration
+* grub-mkpasswd-argon2: (grub)Invoking grub-mkpasswd-argon2.
 * grub-mkpasswd-pbkdf2: (grub)Invoking grub-mkpasswd-pbkdf2.
 * grub-mkrelpath: (grub)Invoking grub-mkrelpath.
 * grub-mkrescue: (grub)Invoking grub-mkrescue.  Make a GRUB rescue image
@@ -4250,6 +4251,7 @@ Modules can be loaded via the @command{insmod} 
(@pxref{insmod}) command.
 * part_sunpc_module::
 * parttool_module::
 * password_module::
+* password_argon2_module::
 * password_pbkdf2_module::
 * pata_module::
 * pbkdf2_module::
@@ -5655,8 +5657,13 @@ for more information.
 @section password
 This module provides support for the @command{password} command. Please note
 that this uses the password in plain text, if security is a concern consider
-using @ref{password_pbkdf2_module} instead. @xref{password} for more
-information.
+using @ref{password_argon2_module} or @ref{password_pbkdf2_module} instead.
+@xref{password} for more information.
+
+@node password_argon2_module
+@section password_argon2
+This module provides support for the @command{password_argon2} command.
+@xref{password_argon2} for more information.
 
 @node password_pbkdf2_module
 @section password_pbkdf2
@@ -6717,7 +6724,8 @@ you forget a command, you can run the command 
@command{help}
 * normal_exit::                 Exit from normal mode
 * parttool::                    Modify partition table entries
 * password::                    Set a clear-text password
-* password_pbkdf2::             Set a hashed password
+* password_argon2::             Set a Argon2 hashed password
+* password_pbkdf2::             Set a PBKDF2 hashed password
 * plainmount::                  Open device encrypted in plain mode
 * play::                        Play a tune
 * probe::                       Retrieve device info
@@ -7975,12 +7983,23 @@ Define a user named @var{user} with password 
@var{clear-password}.
 @end deffn
 
 
+@node password_argon2
+@subsection password_argon2
+
+@deffn Command password_argon2 user hashed-password
+Define a user named @var{user} with password hash @var{hashed-password}.
+Use @command{grub-mkpasswd-argon2} (@pxref{Invoking grub-mkpasswd-argon2})
+to generate password hashes.  @xref{Security}.
+@end deffn
+
+
 @node password_pbkdf2
 @subsection password_pbkdf2
 
 @deffn Command password_pbkdf2 user hashed-password
 Define a user named @var{user} with password hash @var{hashed-password}.
-Use @command{grub-mkpasswd-pbkdf2} (@pxref{Invoking grub-mkpasswd-pbkdf2})
+Use @command{grub-mkpasswd-argon2} (@pxref{Invoking grub-mkpasswd-argon2})
+or @command{grub-mkpasswd-pbkdf2} (@pxref{Invoking grub-mkpasswd-pbkdf2})
 to generate password hashes.  @xref{Security}.
 @end deffn
 
@@ -9237,12 +9256,17 @@ However, in some environments, such as kiosks, it may 
be appropriate to lock
 down the boot loader to require authentication before performing certain
 operations.
 
-The @samp{password} (@pxref{password}) and @samp{password_pbkdf2}
+The @samp{password} (@pxref{password}), @samp{password_argon2}
+(@pxref{password_argon2}) and @samp{password_pbkdf2}
 (@pxref{password_pbkdf2}) commands can be used to define users, each of
 which has an associated password.  @samp{password} sets the password in
-plain text, requiring @file{grub.cfg} to be secure; @samp{password_pbkdf2}
-sets the password hashed using the Password-Based Key Derivation Function
-(RFC 2898), requiring the use of @command{grub-mkpasswd-pbkdf2}
+plain text, requiring @file{grub.cfg} to be secure; @samp{password_argon2}
+sets the password hashed using the Argon2 key derivation function (RFC 9106),
+requiring the use of @command{grub-mkpasswd-argon2}
+(@pxref{Invoking grub-mkpasswd-argon2}) to generate password hashes.
+@samp{password_pbkdf2} sets the password hashed using the Password-Based Key
+Derivation Function (RFC 2898), requiring the use of 
@command{grub-mkpasswd-argon2}
+(@pxref{Invoking grub-mkpasswd-argon2}) or @command{grub-mkpasswd-pbkdf2}
 (@pxref{Invoking grub-mkpasswd-pbkdf2}) to generate password hashes.
 
 In order to enable authentication support, the @samp{superusers} environment
@@ -9293,8 +9317,8 @@ menuentry "May be run by user1 or a superuser" --users 
user1 @{
 The @command{grub-mkconfig} program does not yet have built-in support for
 generating configuration files with authentication.  You can use
 @file{/etc/grub.d/40_custom} to add simple superuser authentication, by
-adding @kbd{set superusers=} and @kbd{password} or @kbd{password_pbkdf2}
-commands.
+adding @kbd{set superusers=} and @kbd{password}, @kbd{password_argon2}
+or @kbd{password_pbkdf2} commands.
 
 @node Using GPG-style digital signatures
 @section Using GPG-style digital signatures in GRUB
@@ -10648,8 +10672,10 @@ bootability on other machines.
 @menu
 * Invoking grub-install::       How to use the GRUB installer
 * Invoking grub-mkconfig::      Generate a GRUB configuration file
+* Invoking grub-mkpasswd-argon2::
+                                Generate GRUB password hashes (Argon2)
 * Invoking grub-mkpasswd-pbkdf2::
-                                Generate GRUB password hashes
+                                Generate GRUB password hashes (PBKDF2)
 * Invoking grub-mkrelpath::     Make system path relative to its root
 * Invoking grub-mkrescue::      Make a GRUB rescue image
 * Invoking grub-mount::         Mount a file system using GRUB
@@ -10750,12 +10776,46 @@ Send the generated configuration file to @var{file}.  
The default is to send
 it to standard output.
 @end table
 
+@node Invoking grub-mkpasswd-argon2
+@section Invoking grub-mkpasswd-argon2
+
+The program @command{grub-mkpasswd-pbkdf2} generates password hashes (Argon2)
+for GRUB (@pxref{Security}).
+
+@example
+grub-mkpasswd-argon2
+@end example
+
+@command{grub-mkpasswd-argon2} accepts the following options:
+
+@table @option
+@item -i @var{number}
+@itemx --iterations=@var{number}
+Number of iterations to perform. Defaults to 5.
+
+@item -m @var{number}
+@itemx --memory=@var{number}
+Amount of memory (in kibibytes) to use. Defaults to 131072.
+
+@item -p @var{number}
+@itemx --parallelism=@var{number}
+Degree of parallelism (i.e. number of threads). Defaults to 1.
+
+@item -l @var{number}
+@itemx --buflen=@var{number}
+Length of the generated hash. Defaults to 32.
+
+@item -s @var{number}
+@itemx --salt=@var{number}
+Length of the salt. Defaults to 16.
+@end table
+
 
 @node Invoking grub-mkpasswd-pbkdf2
 @section Invoking grub-mkpasswd-pbkdf2
 
-The program @command{grub-mkpasswd-pbkdf2} generates password hashes for
-GRUB (@pxref{Security}).
+The program @command{grub-mkpasswd-pbkdf2} generates password hashes (PBKDF)
+for GRUB (@pxref{Security}).
 
 @example
 grub-mkpasswd-pbkdf2
-- 
2.51.0


_______________________________________________
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to