Put a chain over his nose, until you have mastered submission.
Lots of groundwork. Backing him up is a submissive behavior and he will see you as more dominant. Work on getting him to yield his haunches to you via tapping with whips or slinging a rope. Keep his feet moving and keep his attention on you. Clinton Anderson has a good groundwork video :)
This is a respect problem, you need to do his education again.
First of all, don't use a flat halter, use a rope halter or even a bridle if he still doesn't respect you. You can also put the lunge over his nose to have more impact on him.
He needs to stay behind you, if he tries to go over you, make a jolt on the lunge, or put your shoulder on his breast or even a lunging whip. Then make him go backwards.
I hope i could help you, if you still have difficulties, see with a professional what you can do more!
Good luck :)