|
Message-ID: <2958-1557824058.656142@_q-Y.dRjQ.knDW> Date: Tue, 14 May 2019 08:54:18 +0000 From: halfdog <me@...fdog.net> To: oss-security@...ts.openwall.com Subject: Re: fprintd: found storing user fingerprints without encryption Seong-Joong Kim writes: > Additionally, I think that fingerprint reader is widely used > on laptop, rather than standalone product for PC. It is hard > to find standalone product in supporting device officially, > except for Digital Persona U.are.U and Eikon Touch series. > (see https://fprint.freedesktop.org/supported-devices.html) > Most of them are forms of fingerprint module or no longer sell > the standalone product. Lack of external fingerprint readers with very short unsecured biometric data path from reader to smart-card is most likely due to the weak security of fingerprint data. Therefore this device would fulfill highest biometric data storage and processing requirements but using biometric data of nearly lowest security value (latent fingerprints, high resolution (press) images of fingers, reconstruction of fingerprint from biometric templates, ease of printing fingerprints and spoofing alive-detection, ...). Therefore external devices for fingerprint processing should be rare. The situation is different when looking at other biometric methods. But still security could be improved getting rid of at least unencrypted/unprotected storage of the fingerprint templates for comparison, e.g. in schemes like: using notebook fingerprint reader, performing biometric template generation on notebook main processor (if attacker has already access to the processor, RAM at this moment, the fingerprint data for unlocking is usually of no great value any more), submit the biometric data to the secure element for comparison (a NFC smart card, inserted smart card or USB dongle) and use the then unlocked key data to perform e.g. decryption. Therefore the biometric data is only left unsecured on weak hardware from ackquisition to processing but not on disk. > Currently, most of major vendors' laptops, including Dell, > HP and Lenovo, have been equipped with both embedded fingerprint > module and TPM. Thus, I suggested implementing interfaces to > talk with hardware security module. If I understand correctly, TPMs usually cannot be loaded with special purpose secure applets, e.g. to perform the fingerprint comparison on chip. If current TPMs are already capable, this would be really the way to go for the average customer (average security usecases/requirements). I personally would not like that solution too much and would appreciate something where the key data is not located within the device or at least require two simultaneous factors to unlock the TPM, e.g. a passphrase + biometric data. Otherwise you can just use the fingerprints on the stolen laptop to recover the biometric data - unless you are working with gloves all the time :-) If your master key storage can be removed easily, e.g. an USB-dongle (mind the max number of plug/unplug cycles for common connectors), theft of key storage and device at the same time will be quite rare. Apart from that, the key store can also be used to perform emergency locking/shutdown of the device, e.g. by unplugging it. hd > 2019년 5월 10일 (금) 오후 7:31, Seong-Joong Kim > <sungjungk@...il.com>님이 작성: > >> I think my initial suggestion is not really good enough. >> >> Currently, there is no way to defend this issue except for >> supporting hardware, such as TPM or USB token, rather than >> encryption by software in Linux environment. >> >> If necessary, how about implementing interfaces to talk with >> hardware security module, such as TPM or PKCS#11 compatible >> devices. >> >> Otherwise, users should avoid using fingerprint >> authentication/identification. >> >> Any idea? >> >> Sincerely, >> >> 2019년 5월 10일 (금) 오후 6:22, halfdog >> <me@...fdog.net>님이 작성: >> >>> Roman Drahtmueller writes: > [...] > > > I am not insisting >>> that encryption key should be on the disk or is > > encrypted >>> with a static key that is embedded in the binary. > > Instead, >>> we can make fprintd to use a TPM, if available. > > > The >>> problem persists: The encryption key must be available for >>> the FP > data to be accessible, and so it is for an attacker. >>> It doesn't matter > where you store the key. > > A TPM (and, >>> transitively, products that encrypt with TPM-sealed or > >>> TPM-bound key material) is good for the situation where the >>> system is > physically stolen while powered down (or the >>> drive fails). But that's not > our problem here. >>> >>> Therefore dedicated tamper-proof IC-designs+embedded software >>> exist, that perform the biometry template storage and matching >>> on the chip (MoC). There are some vendors out there providing >>> such hardware + MoC-algorithms, but mainly fingerprint and >>> some iris biometry variants seem certified so far. These >>> are intended for access cards or USB-tokens in two or more-factor >>> authentication schemes in a 1-to-1 match fashion, not as >>> centralized 1-to-many matching schemes also deployed rarely >>> (e.g. in Japan where they really like biometrics as long >>> as you do not have to touch the biometry reader ...). >>> >>> > [...] > > > Otherwise, but even though it is not perfect, >>> it would be better to apply > > the fingerprint data protection, >>> such as keyring or access control, rather > > than raw fingerprint >>> template. > > FYI, Windows Hello might use Next Generation >>> Cryptography (called CNG) to > > protect and store user private >>> data and encryption keys. > > There are not many options >>> left to solve the stored credential problem, > and it should >>> be clear that saving a file, encrypted or not, is not the >>> > solution. > > One possible solution is to use a hash algorithm, >>> potentially cost-based, > to derive a bit string (that is >>> suitable for comparison with the > persisted authoritative >>> string) from the output of a fingerprint reader. >>> >>> At the momenent I do not know of any algorithms providing >>> sufficient entropy binary hash data from fingerprints in >>> a reliable way. Changing extraction to deliver more entropy >>> results in higher FNR during authentication step later on, >>> I think. >>> >>> > [...] >>> >>> When working on a project to provide highest security MoC >>> solutions with Linux (for other type of biometry, not >>> fingerprints), Nitrokey was offering an open-source USB-token >>> hardware (even the PCBs are open source, if I remember correctly). >>> That platform seemed closest to be a good starting point >>> for developing such an open source MoC biometry solution >>> as they sell also one part with a certified tamper proof >>> trusted element that seemed to allow performing biometry >>> template storage and comparison on chip if programmed correctly. >>> >>> Time in the project was too limited to explore, if that hardware >>> would REALLY allow to upgrade it to a powerful, highly secure >>> but still affordable open source biometry system for use >>> by journalists, human rights activists, NGOs ... and nerds, >>> e.g. for password+biometry secured full disk encryption schemes. >>> >>> > [...] >>> >>> hd >>> >>>
Powered by blists - more mailing lists
Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.