[TYPO3-core] RFC: Feature Request #7139: Integration of fe_users password encryption
Ingmar Schlecht
ingmar at typo3.org
Tue Jan 15 01:24:19 CET 2008
Hi Steffen,
Steffen Kamper wrote:
> Ok. I had a first look to that. There are some issues have to be respected.
>
> - method for salted password compare should be general in
> t3lib_userauth::compareUident to have no doublecoding for the same method
> (BE & FE)
> - method for generate salt should be a static method, maybe t3lib_div, as
> it's needed in tceforms and other places. I like Ingmars+Dmitry's proposal
> to generate it the way
> $saltKey = uniqid('',true);
> $password = (string)md5($password . $saltKey) . '@' . $saltKey;
This is exactly what I was thinking of. (You won't need the (string), as
md5() returns a string anyway.)
> - to seperate methods for BE & FE 2 new config vars should be created, eg
> $TYPO3_CONV_VARS['BE']['useSaltKey'] = true;
> $TYPO3_CONV_VARS['FE']['useSaltKey'] = true;
>
> or should it be like the configvar i introduced in this patch to have three
> states
> $TYPO3_CONF_VARS['FE']['passwordType'] = 'plain|md5|salt';
> Then it would make sense to use the same for BE (without plain)
> $TYPO3_CONF_VARS['BE']['passwordType'] = 'md5|salt';
I'd use "salted_md5" as "passwordType", so it'd be like:
$TYPO3_CONF_VARS['FE']['passwordType'] = 'plain|md5|salted_md5';
> - i'm not sure what happens with challenged/superchallanged, as they should
> also use saltKey if set.
The security team currently thinks about other ways for BE login then
the traditional challenged/superchallenged.
The idea is to store a salted MD5 of the password in the database and
let the client send the clear text password to the server during log-in,
but secured with JavaScript based public key encryption (which exists!).
That way it would be no longer possible to log in with the MD5 string
found in the database.
> I think it would be the best to make it for both BE/FE in one task as
> methods overlap.
The tasks definitely overlap and it is definitely the right thing to
write the new methods in a way that both BE and FE can use them, but
maybe it's better to do the FE as a first step and add the BE login
later on.
cheers
Ingmar
--
Ingmar Schlecht
TYPO3 Association Active Member
More information about the TYPO3-team-core
mailing list