Sunderland will pay Liverpool an initial £1.5 million for the right-back, which will double depending on appearances.
Sunderland boss Peter Reid said today: "Stephen is a player who I have seen play both club football for Liverpool and international football for England, at under-21 level.
"He's already a great player and is at the right age to develop into a top-class footballer. I am very pleased to have him on board."
He added: "I'm delighted to bring Stephen to Sunderland. To be honest, I was not confident of it happening when I asked. Once I got encouragement it was the deal I wanted to do.
"He's a player I've had a look at over a number of years. He's young, strong, a good footballer and has played for Liverpool.
"He's come through a youth system that has produced Steve McManaman, Robbie Fowler, Michael Owen and Jamie Carragher and he was rated at Anfield.
"The lad has got great drive. He's a winner and is determined to play, that's why he has come here.
"It was not easy getting Stephen here because he's left a massive football club where he was highly rated - but he just wants to play."