Upvote:2
All airlines do maintain a no-fly list, as does the US government (https://www.no-fly-list.com/). If your son's name or a similar name popped up on KLM's list, he would be denied boarding.
Unfortunately, there isn't a lot of information how the airlines maintain these lists. It may include checking government records, like the one from the TSA. Running a full background check on each passenger would be prohibitively expensive, but they may very well go through publicly available databases on a regular basis.
Whether this is legal or not would depend and what exactly they are actually doing, and this question would be a better fit for https://law.stackexchange.com/questions anyway.
Once you're on a list, it's hard to get off, even if you are totally innocent. A friend of mine has a very common English name, which happened to be on the no-fly list of a large airline. Every time he tried to check in, it turned into a huge discussion and headache. He eventually stopped flying with them altogether.