The 33-year-old was release by Lancashire at the end of a disappointing season, but has been handed the chance to revive his career at the County Ground.
"We are delighted to have secured Stephen for the next two seasons," Derbyshire captain Wayne Madsen, who helped lure Moore to the club, said.
"He's an experienced batsman who can have an impact in all formats and will give us valuable options as we push for success in all three domestic competitions."
Moore has passed 1,00 first-class runs four times in his career, including Lancashire's 2011 division one title triumph.
"I'm really looking forward to the opportunity of being part of the set-up at Derbyshire," he said.
"The Elite Cricket Performance model shows the ambitions of the club and I'm keen to play my part in Derbyshire's future success."
Moore's signature comes a day after Derbyshire announced head coach Karl Krikken had left the club following their relegation after a single season in the top-flight.