I've been working for the last 25 years.  I've always had to provide my social security number and ID to get a job.  I always had to provide a legally binding signature that says I'm not committing perjury or lying, and I am who I say I am, and I'm legally allowed to work here, via citizenship, visa, whatever would apply.  

In other words, if I were not legitimate, I am not supposed to be hired.  So nothing has changed, except foreign people aren't honest and break the rules, and the people hiring them look the other way.  If the rules were not so easy to break, then we wouldn't be in this predicament.  Easy to enforce; but then you won't get your expendable construction crew of 10 for the price or 2 or 3 union / licensed laborers, and get to pocket 80% of the profit, and play dumb and say ridiculous crap like "it's too hard" to background check a person.  

eVerify made it EASY to check.  The less scrupulous people and corporations won't do it until there is an enforced penalty.