The Social Security Administration's official policy on SSNs is that consumers don't have to give their SSN to businesses with the exception of tax-related things like employment and banks. But, they also say that businesses can choose to not do business with you if you are unwilling to give out your SSN.
And businesses have done nothing to help people secure their identities. In fact, they've done the opposite.
Starting around 20 years ago, I refused to give my SSN out except where it was specifically required by the govt. The insurance companies seemed to be the ones who had the hardest time of it, it required hours of effort with my insurance company to let me not have my SSN as my identifier. They ended up putting all zeroes in. But then every time I used my insurance I had to work with them ("What is your SSN?" "The insurance company doesn't use my SSN, they use all 0s." Blank stare).
Around 10 years ago it got to the point where there was even more push back and the effort was more than it was worth.
It really wasn't helping, being "the one guy who wouldn't give out his SSN". Pretty much every time I explained it to a doctors office they would say "I've never heard of that before, but it makes sense." That sort of pushback only really works if, you know, at least a few people do it. :-)