Yes, I really meant fake fingers, not just fake fingerprints. And there is plenty of research on that subject.
Possible ways of detecting a fake fingerprint (beside warmth):
- Blood (we could use one of these cheap SpO2 sensors)
- Capacitance
- Perspiration and related skin resistance
- Microscopic skin details
And the usual machine learning solution of feeding thousands of real and fake fingerprints to a neural network and letting it decide.
As all living things, fingers are far from simple, there are plenty of details beyond the obvious pattern. It is a bit like a banknote, you can photocopy a banknote and it is very east to identify the banknote you copied. But it is very hard to pass it off as a real one to someone who knows where to look.