Magic "fingers". How biometric fingerprint authentication mechanisms work.

Tomcat

Professional
Messages
2,686
Reputation
10
Reaction score
744
Points
113
97aa52f89a3361ea99a48.png


More than a hundred years ago, mankind learned to identify a person by fingerprints. Now this technology is used in every second phone and significantly increases the level of security compared to PIN codes. But how exactly do these scanners work? It became interesting to me, and, having figured it out, I will tell you about it too.

Types of fingerprint scanners​

There are several different ways to get a fingerprint image. Let's sort them out in order.

Optical Scanner​

This type of sensor works on a simple principle: there is a photosensitive matrix (in most cases it is a CCD, which is used in many modern cameras) and several small light emitters that illuminate the surface of the finger.

The light reflects off the papillary pattern, and depending on whether the light beam hits the crest or depression, its intensity varies.

The outer glass of such a scanner is thin to cause the effect of total disturbed internal reflection. Because of this effect, light at the skin-to-glass contact points - on the ridges - is completely reflected into the photosensor.

You can observe this phenomenon with a glass of water: put your finger on one side of the glass and look from the other - you will clearly see your print.

FTIR.jpg

That's the whole phenomenon

Sensors of this type are quite bulky: a large camera and a small light emitter are needed - and therefore they are hardly used. There is another problem: light can reflect equally from skin and other material, and therefore it becomes too easy to fake a fingerprint.

Semiconductor scanners​

These scanners use semiconductors that change their properties when touched. They react to various parameters: heat, conductivity, pressure.

Thermal sensors respond to changes in the conductivity of a semiconductor with temperature. Air and skin transfer heat at different rates, sensors record this, and we get an image of the print.

Pressure sensors respond to the pressure of each small area of skin on the surface of the conductor, registering the difference in pressure between the valleys and ridges. But such scanners are very fragile and therefore practically useless: any excessive pressure on the surface can completely disable some of the sensors, making the entire scanner inoperative.

Capacitive sensors use CMOS sensors, which act as small capacitors to allow a small amount of charge to pass through the surface of the finger. The ability of air and skin to isolate electrical current differs: the larger the capacitance of the capacitor, the more air trapped between the sensor and the skin.

The latter method is the most versatile: such a sensor is compact and accommodates up to forty thousand sensors per square centimeter. It is this type of sensors that is installed in most devices from Apple, Xiaomi, Samsung and other leaders of the mobile market.

And while scanners of this type are more difficult to deceive than optical ones, the possibility of creating a dummy still remains: not only the skin has all the effects on which these scanners rely. A fake of this level is already an order of magnitude more complicated: you need fine work with materials, a high-quality print and a small laboratory.

Ultrasound Scanner​

Ultrasonic sensors use a precise clock and a principle similar to an echo sounder: the emitter emits a high-frequency pulse, which is reflected from the surface of the finger and is recorded by the sensor. A signal that hits the trough area travels a longer distance, and, accordingly, it takes longer to return than a signal that bounced off the ridge.

Such a sensor device allows you to obtain a clear image of the papillary pattern, which takes into account not only the fact of touching, but also the depth of each individual area of the skin. This allows the image to be even more accurate, although it takes longer to scan and the cost of the device is higher.

However, in addition to high accuracy, ultrasound scanners have another tangible competitive advantage, which forces manufacturers to invest more and more in simplifying and making them cheaper: such sensors do not require a separate surface and can work through any dense material. Thus, integrating a fingerprint scanner directly into the screen becomes not only possible, but also relatively easy.

Smartphone manufacturers not only experiment with this technology in laboratories, but have already implemented it in some of the newest models: Samsung S10 Plus, Huawei P30 Pro, One Plus 7, Xiaomi Mi 9 have scanners built right into the screen.

Analysis and comparison of prints​

A print consists of a set of repeating patterns - forms. Most often, fingerprint analysis is carried out on their basis.

Characteristics of the papillary pattern​

Each characteristic can be attributed to one of two groups: global, which can be seen with the naked eye, and local, which consists in the features of the structure of each individual papillary line.

Arch, loop and curl are the most common global patterns. You can even try to look at your finger and find them, because every person has these signs. But they are generally not unique; they alone are not enough for accurate identification. But these patterns are used for preliminary screening of unnecessary records in large databases of prints, for example, in the Ministry of Internal Affairs.

Local signs - minutiae - are much more interesting for analysis. Moreover, it is important not only what they are, but also where they are in the image. By themselves, minutiae are simple geometric shapes that can be found in the image by brute force.

There are two types of local characteristics: endings and branches (in medicine - bifurcations). They can be found on the finished print, but it is almost impossible to make out without a magnifying glass on your own finger.

ending.png

This is what the end of the papillary line looks like.

2b3e85c68c4d57d410986.png


Image processing​

The photograph is taken in black and white, and then reduced to such a size that each papillary line is only one pixel wide. After such transformations, it becomes easier and more convenient to analyze the fingerprint.

compare.jpg

Image of the print before and after primary processing

The next step is to split the images into separate blocks of three by three pixels, in the center there should be a filled-in pixel of the papillary line. If there are exactly one or three other similar ones around this pixel, then this block is considered a characteristic that is stored in memory along with the type of the feature and its coordinates.

split-pixel.png

This is what the processed branch blocks look like.

If the block falls at the end of the papillary line, this line should somehow get into the center of the block, but should not leave it. If the block is a branch, then one line enters the center of the block, and two emerge from it - in total, three lines converge at one point.

The data of each such block, together with the type of local pattern, is written into memory and then used for comparison each time you log in.

Compare prints​

For comparison, you need to scan again, process the image and split it into blocks. This division allows you to compare blocks in the event that the position of the finger has changed between measurements.

The block comparison itself is not as trivial as we would like: first, it is necessary to eliminate the consequences of shifting and rotating the finger. Most often, this is achieved by brute force (although some scanners do not do this, but simply ignore too much rotated prints). Secondly, the blocks are compared in pairs, and the program tries to find two blocks of the same type in the same place.

The share of such found pairs from the total number of existing characteristics serves as a kind of “confidence” of the comparison algorithm that the prints belong to the same person. You will be surprised, but for one person this characteristic is only 45–55%.

This is because the print quality is far from ideal. Due to dirt or an inaccurately applied finger for analysis, whole areas of the image may be inaccessible. And despite this, in most cases, even a 40% threshold is enough for a scanner to accurately identify a person.

Protecting fingerprint data​

What do the "fingers" stored in memory look like? After analysis, they turn into descriptions of the positions and types of blocks. Further, this data is usually encrypted or stored in a special internal memory (protected by the operating system) or in a separate chip for storing keys and passwords. Usually, AES is used as an encryption algorithm with a key length of more than 128 bits, which ensures the complete safety of our biometric data.
Apple devices, for example, store this key in the Secure Enclave, which resides on a separate chip. Android smartphone manufacturers solve this problem in different ways - often the choice falls on Qualcomm secure execution chips (for example, Qualcomm Trusted Execution Environment - see PDF) or ARM TrustZone.

Conclusion​

As you can see, there is nothing complicated in the fingerprint scanner itself: every mechanism that is used here cannot be called a big breakthrough in the field of physics or computer science. However, such a convenient combination of all these small parts and algorithms into one device allows you and me to spend less time on trifles like typing a password.

(c) xakep.ru
 
Top