How to verify authenticity of submitted assignments
I'm going to give you an answer you may not want to hear: it isn't worth it for a class that big.

The pedagogue in me doesn't like my own answer, but as they say, you have to choose your battles, and I believe there are more important issues when teaching a class that large than to worry about catching the homework cheaters. Mitigation can include reducing the impact that homework has on the overall grade (but this leads to other issues, such as students wondering why homework is necessary if it isn't worth much in the final grade).
Another (probably less successful) method is to instill the fear of [insert deity of choice] into your students when it comes to cheating. If you do catch a cheater, make an example of that person that the other students won't forget -- I threaten to fail any cheater instantly if I can prove they cheated in any way, and I say it as matter-of-factly as I can on the first day of class: "Look, if I catch you cheating, I'll fail you, end of story."

If you have a balanced set of assignments that includes in-class exams, then poor performance on exams should produce final grades that indicate that the student hasn't learned the material.

If you can work out the oral exam, that might help balance out any poor knowledge, but beware that some students are absolutely terrified of oral exams, and they might know the knowledge as well as anyone else on paper but not be able to perform out loud.

I suggest not losing sleep over a few cheaters in a class that big, and to ensure that you're giving good assignments that are challenging and provide a good means for learning the material.