The 24-year-old spent two spells on loan at the County Ground last season, his highlight coming when he hit a match-winning 79 against Yorkshire Carnegie.
Johnson then returned to Edgbaston as Warwickshire claimed the County Championship title while Derbyshire were crowned Division Two champions.
Johnson told Derbyshire's official website: "The chance to play first-team cricket with Derbyshire is a fantastic proposition.
"I have played a bit of first-team cricket for Warwickshire in the past, so I am hopeful that I can add some experience to the squad in that department."
He added: "The lads did amazing things last season and deserve to be where they are now.
"I'm really excited to showcase my talents in the First Division and I know that all the lads feel exactly the same."
Head Coach Karl Krikken said: "The addition of Richard adds to our batting and wicketkeeping options at a time when intensifying competition for places is very important."