After missing out on a number of Identity and Access Management (IAM) projects that required use of Smart Cards for Biometric Authentication, I decided to come up with a PHP Web Biometric Smart Card Integration to showcase my skill set and ability to develop, integrate, support and maintain a full end integrated PHP Web Browser based Biometric Smart Card Software Solution to my prospective potential clients.
Over time, I discovered that if I did not have an implementation of a solution that a prospective client was looking for which I could refer to them for reference, I found out that it is often an uphill task to try and convince them that I have the requisite experience to Help them Develop and Integrate the type of solution that they are in search for to address their particular business problem.
Since I have never implemented any Smart Card controlled Biometric solution before, I found it hard to convince most prospective clients that I could Help them implement that type of a solution.
That’s why I decided to write this post here after successfully Developing and Integrating a PHP Web Biometric Smart Card Software Application.
I hope after posting this article here and also after sharing a video demo of the same right here, I will be able to convince all the nice and skeptical doubting thomases that I can Help them implement a similar PHP Web Biometric Smart Card solution for their organization.
All doubting thomases reading this, raise your hands?
There you go! I see you! I can count one here, two there, three right over there and you, yes you reading this… yeah all of you!
By the way, when I talk about “Helping a Client”, It does not mean that I have FREE time to take up school based projects from students or that I have the luxury of time to work on pro bono basis for any one. That’s not what I do here!
A necessary interrupt!
When I say I Help Organizations, Companies, Institutions and SMEs, it simply means that I am offering and extending my Professional Consulting Services and Expertise in an area of Specialization where I am more skilled and good at to provide a Solution to address a Client’s Need / Business Problem.
As a Professional, whenever I prioritize all the workload getting pushed at me at any given time, my efforts and time in 24 hours a day can only be directed to the urgency of a paying client who understands and appreciates the value add they are getting for the service that they are paying for.
I would NEVER compromise on quality of service and time of a paying client to work on a non paying project. I value my paying clients above anything else.
I want to put a stop to this interrupt right here… !
But just before then, let me save you your time so that you can usefully spend it elsewhere. I do not believe in wasting people’s time just in the same way I value my own time and would not be happy when someone is wasting my valuable time.
Here we go! If you are looking for FREE software code here or contemplating sending me an e-mail requesting for FREE software code, bruh! Just stop at this juncture and navigate away from this article post. Bye!
This article post here is NOT going to help you nor lead you anywhere on this website to a place where you can download software code for PHP Web Biometric Smart Card Integration. There is no FREE code here!
I had to create this interrupt section here to call out this BS once and for all because I deal with it on an almost hourly basis that I had to create a filter for such like e-mails and get them sent to spam folder where they finally get deleted without me having to see them at all.
I am going to assume that at this point I have succeeded in filtering out and doing away with that type of web traffic that sends me mails like, “send me the codes”, “where can I download the code”, “my project is a bit urgent can you send me this code now” and any other of that type of batsh8 nonsense!
Not only do I find this caliber of nuisance grotesquely annoying and contravening the tenets of good manners like avoiding the use of the word “please”, they also get into my nerves whenever one of their emails escapes the mail filter and pops up on my workstation!
Yeah! I can hear the deafening silence in the room now!
Everyone fell silent around here!
Is this guy going bonkers? No! All my brain cells are perfectly OK and holding tightly together onto each other. I am not about to lose my mind.
However, there is a method to my madness! This is where I drop the microphone.
The interrupt ends right here!
My apologies for any seemingly insensitive remarks I may have made in this regard.
I wanted to dispense off with that matter before getting to write this article.
Glad that I heaved that off my chest! Today was one of those days!
Goodness! What was I saying before about Smart Cards and Biometrics in PHP Web before I almost got swallowed up by that whirlpool?
Let’s continue from where we left at. That interrupt kind of disrupted my chain of thoughts! Anyway! I am trying to gather a recollection of what I was saying before…!
Here it goes, I remember now!
I was saying, it sometimes becomes a little bit challenging at times to assure prospective clients that I can deliver a solution that they are looking for if I do not have an already existing client where I have deployed / helped integrate with the type of solution that I am proposing to them. You get it now?
So now, the essence of me developing and coming up with this PHP Web Biometric Smart Card integration was for the sole intent of having something that I could show case to a potential client from where the client and I could start a discussion around an idea that they can visualize and conceptualize about the type of solution that I am proposing to them.
I am saying this because I have never done any Smart Card Biometric Authentication solution for any client before.
After reading this article post, assuming that you are this prospective client that I am showing this PHP Web Biometric Smart Card App Integration as my proof of concept, does this sound like something that would make you go like, “Joseph we would like to express our interest in getting you onboard as a Contractor to Help us build this solution” ? Let’s talk! You could send me an email and let me know if you have any reservations about it.
My previous Experience with Biometrics in Smart Cards
A few years ago while working for a previous employer, I used to directly support a Biometric Controlled Smart Card solution for managing Health Care Benefits.
We were providing a Biometric Smart Card solution to Insurance companies to Help them beat fraudulent claims of their medical cover insurance policies at the Hospitals.
In my role that time, I was serving as a Systems Support Engineer.
I really wondered in amazement how a person’s ( read patient’s ) Biometric Fingerprint Images could be Captured and Archived on a plastic Smart Card with a tiny Micro Chip.
Even more fascinating for me, was how the Patient’s Biometrics in the Smart Card could NOT be Erased or Replaced by unscrupulous Patients with Biometrics of another person (e.g. with those of a friend, family member).
The Smart Cards were not asking for PINS / Passwords when presented for use in authenticating Patients identities using Biometrics before granting Patients health care services at the Hospitals.
As for Banking Credit Cards (Smart Cards), they require you to enter a PIN at the ATMs before you can use them to withdraw money.
For a long time the inner workings of How a Smart Card works remained a mystery to me. I am sure they still do to those others too who are curious as I was.
What was more intriguing for me was the user identity Verification component which was different on some modes of uses cases as compared to others like I mentioned above in the use case of Smart Cards for Bank Credit Cards which requires use of PINs for Verification while other Smart Cards require Biometrics for Verification.
Conversely, Smart Cards for Patients Biometric Authentication at Hospitals never required PINs but instead use Biometrics Fingerprints for User Verification.
To compound the use of Smart Cards with further complexity, Smart Cards for controlled access to perimeter walled and highly guarded places’ entrances do not even require PINs or Biometrics but rather all you need to do is to present them to the proximity of an RFID Smart Card reader for authentication to take place.
As a Systems Support Engineer in that company, I was not involved with anything to do with what happened in the Back-end processes of programming Smart Cards and readying them for client use.
Just like all those other Support Engineers that I worked alongside with, we only worked mostly at the Hospitals where the Biometric Smart Card software application was installed at. We used to help out the Hospitals with basic IT stuff at the Front-end like e.g. help with Systems installations, Systems Support and Systems Training of Front-end users of our then Software Application who billed the Patients who presented their Smart Cards whenever they visited the Hospitals to seek Medical Services.
We hang out every so often at the Computer desks of those Cashiers at the Hospitals where our company’s Smart Card Software Application was installed at in various diverse Hospitals in the country.
A good number of Support Engineers from that former company ended up dating and marrying those beautiful ladies that we worked alongside with at those Hospitals where we were assigned.
Come to think of it, just about every other ninja that I worked with at around that time had an active ongoing Project at their respective Hospital site where they would be blissfully Setting up and Configuring the Hospital client site that they were assigned to work at.
As for the field Support Engineers, we used to know who was working on what Project and at what Hospital Client site though most folks had rather keep it under wraps from prying eyes but word would eventually somehow get out!
Some abandoned Projects would start pinging HQ in search for their preferred site Support Engineer who unknown to them, would for instance have maybe been apparently re-assigned to work on another different Hospital client site at a different location and that’s how we would get to know that someone had been troubleshooting and calibrating configurations file settings of an active Project at their previous site of deployment. Hahaa! Good old times!
Though it was always fun being away from the HQ as a field Support Engineer and meeting amazing people at different Hospital client sites, deep inside I desired to be part of the Software Development team at HQ so that I could study and learn how the core back-end of our then Software application that powered the Biometric controlled Smart Card solution worked.
To cut the long story short, I never got to work on any Smart Card project directly while working at this company.
I however worked on other Software Projects that were interrelated with the core functions of what the company was doing at the time.
When I moved to another company and later on to other things, I got preoccupied with many other things and even forgot about Biometrics and Smart Cards for a while (for years to be precise).
Up until recently (around 2018 or thereabout) when I started noticing increased frequency of client hopefuls inquiring from me whether I had ever implemented a Biometric Smart Card software application before did this begin to pique my curiosity again.
Deciding to Develop a PHP Web Biometric Smart Card Application for Proof of Concept
I have previously Developed and Integrated a variety of Biometric Scanners with PHP including an Iritech BK2121U Iris Scanner for Iris Recognition.
I have also had the experience of Developing and Integrating Biometrics Fingerprint Capture with a Kojak PL Finger Scanner for a 4-4-2 Flat fingers enrollment.
By the way this device is used in wide use cases ranging from Border Control to KYC ( Know Your Customer ) for Banking and even for Biometric Voter Registration world wide.
This was one of those Biometrics Scanners that I really wanted to get a hold of for a long long time among many more others that I will not mention here for now that I want to soon acquire for various diverse projects.
As pertains to Developing and Integrating of Biometrics Applications for Fingerprint Authentication in PHP Web, I did not doubt my abilities at all.
I however knew that I knew nothing about how Smart Cards work and I did not know a single thing about How to work with Smart Cards in PHP leave alone populating them with Biometric Fingerprint images.
So I guess with this in mind, I kept saying to myself that I should get that PHP Web Biometric Smart Card integration going lest a good project comes up and finds me unprepared.
Buying Scanner Device for Biometric Fingerprints Scanning and for reading Smart Cards
I kept nursing this distant thought of doing this integration when one day I came across a unit device that was both a Biometric Scanner and a Smart Card Reader that was being disposed off by someone at a throw away price.
I did an impromptu buying of this device, a Secugen Hamster Pro Duo PIV SC Scanner without batting an eyelid and kept it aside for future use. This was around year 2019 I guess.
This scanner has an annoyingly long name but it is one device that I came to like so much afterwards.
My initial plan was to buy a Smart Card reader and use it along with one of the Fingerprint Scanners in the assortment of Biometric Fingerprint scanners that I have at my disposal right here.
It had not occurred to me before that the market already had unit devices that doubled up as both a Biometric Scanner and a Smart Card reader.
I think when you begin to pay attention to something that is when you begin to notice the details that you would normally miss out on when your attention is distracted elsewhere on other things.
Other Varieties of Devices in the Market for Biometric Fingerprint Scanning and for Reading Smart Cards
It was not until I owned a Secugen Hamster Pro Duo PIV SC Scanner that I noticed that there were also other devices in the market that were in the same category as this unit device. Some of them are;
- Lumidigm V371
- Suprema BioMini Combo
- Secugen Hamster Pro Duo CL
- Secugen ID-USB SC/PIV
- Dermalog ZF 1+
- ZKTeco ZK8500R
- Futronic FS82HC
- Futronic FS88H
As of this time of writing this article post, the only unit device that I have prior experience working with is only the Secugen Hamster Pro Duo PIV SC.
In the future, I would love to buy the Lumidigm V371 unit and do a couple of Projects with it.
Hopefully I will get a Client who wants to use the Lumidigm V371 for their Software Project. That is when I think I will get to buy me a Lumidigm V371 Scanner.
Lumidigm Biometric Scanners are now manufactured by HID the same company which now owns and manufactures the series of DigitalPersona 4500 Fingerprint Scanners.
Buying Programmable Smart Cards
Later on, I decided to purchase a packet of Smart Cards around mid year 2020.
It really took a while to ship them from the United States where I procured them. I guess it is because of what is currently going on around the world.
Anyway, after some time, my consignment of Smart Cards finally arrived.
I noticed that all the Smart Cards in the box were all plain white colored on the outside.
This first took me by surprise as I expected that they would have the manufacturer’s logos and colors on them but then it quickly dawned on me that they are all shipped like that so that the customer could print them by themselves or take them to a Smart Card printing shop for them to get custom printed.
Abandoning and Pushing aside the PHP Web Biometric Smart Card integration Project to do other Important Software Projects
With a Secugen Hamster Pro Duo PIV SC Scanner and Smart Cards available at my disposal, I was all set and ready to begin Developing and Integrating PHP Web Biometric Smart Card App for showcasing to my would be Prospective clients.
The very day I got the Smart Cards, after unpacking them, I tried out the various types of Smart Cards in the shipment box on the Secugen Hamster Pro PIV SC Scanner.
To my bewilderment, the Secugen Hamster Pro PIV SC Scanner could Scan my Fingerprints but it was not reading any of my Smart Cards!
I thought to myself that this device that I bought from someone who was selling it at a throw away price was probably being disposed off because it was initially faulty but then I was also like, ” … there was no way that my friend could do me like that, at least he would have notified me that the device is not functional. I guess even him too he never got to use the device after he bought it because it was as good as new with the original clean box from manufacturer of the device.”
I began to try out every other of my Smart Cards including my Bank Credit Cards on the Secugen Hamster Pro PIV SC Scanner but just like the Smart Cards that I had bought, the scanner was not responding to them either.
This experience kind of killed my vibe and ambitions!
I was now planning to buy another Scanner device because to this point I had somehow managed to convince myself that this device was dysfunctional and needed a replacement.
I was also not feeling ecstatic as I was earlier on about the PHP Web Biometric Smart Card integration project.
When I do not have a client on my tail with time bound timelines, I usually tend to take the lazy approach of not having definite timeliness of accomplishing a Software Project integration.
The PHP Web Biometric Smart Card integration was one of those and it took this phase and slipped off my hands as I got involved with other time bound software projects.
Resuscitating the PHP Web Biometric Smart Card integration Project
Time elapsed and year 2020 came to an end.
Fast forward to the 3rd quarter of year 2021 when one day I remembered that I never got to do the PHP Web Biometric Smart Card integration.
I decided that year 2021 should not come to an end before I do the PHP Web Biometric Smart Card integration.
I was doing many other things at the time but then in November 2021, I resuscitated this project and began to work on it bit by bit when I had free time or when work from other Software Projects was not as demanding like e.g. on those times when I am waiting for a client feed back on something before I proceed with a pending task at hand.
I first worked on the Fingerprint Scanning part then later on did the Smart Card bit which I further divided into other 2 sub parts of Populating User Data and Biometrics to Smart Card and Reading User Data and Biometrics from Smart Card.
Resolving the issue of Reading Smart Cards with Secugen Hamster Pro PIV SC Scanner
Remember earlier I had mentioned that the Secugen Hamster Pro PIV SC Scanner was not detecting the Smart Cards that I had bought nor even the ones that I had at my disposal like my Bank Credit Cards.
I later on realized that the issue was either a missing driver or the driver that Windows automatically installed for me when I connected the Secugen Hamster Pro PIV SC Scanner device to my Developer computer was not working as it should have.
I ended up installing the Scanner device drivers from Secugen company which now enabled the device to detect the Smart Cards whenever I slotted them into the Scanner device.
So when the Secugen Hamster Pro PIV SC Scanner could detect Smart Cards, I was amazed when I found out that Windows 10 detects when you slot in a Smart Card into the device and makes that sound made by Windows when you plug in a USB device into your Windows 10 Computer.
That was new to me! I had never slotted a Smart Card before onto a device connected to a Windows 10 computer.
I wonder if this is the same case for when you slot in a Smart Card into Linux or Android or even a Macintosh computer?
Working on the Smart Card part of the PHP Web Biometric Smart Card integration Project
Towards December 2021 I was already working on the Smart Card part of the Project after finishing work on the Biometric Fingerprint part of the PHP Web Biometric Smart Card integration.
Being new to working with Smart Cards, this part proved to be the most challenging.
I was of the thinking that the inside of a Smart Card would resemble a free limited space like that of a USB memory stick where I could push and send Biometric Fingerprint images and a CSV file with User particulars but boy was I mistakenly wrong?
I was stunned when I popped under the hood of a Smart Card and realized that I could not handle a Smart Card like an ordinary USB memory stick.
A Smart Card has its own Smart Card Operating System with its own Commands that are used for accessing the Smart Card to Clear, Create, Select, Read and Write Files into it as well as for Writing and Reading Data to those Files.
The Smart Card’s commands are in HEX (Hexadecimals) and the Data that is written to the Files is also done in Hexadecimals.
I wasted ( let me say it took me ) some days to wrap my head around this new phenomenon to begin to comprehend things before I could even get to populate the Smart Card with the first single character and even get to read back that character from the Smart Card.
Figuring my way around How to Populate and Read Data from a Smart Card in Hexadecimal commands felt like that day when a former high school friend on one weekend tossed me a copy of Ubuntu Linux CD during my first year in University.
This was the first time I had ever laid my hands on Linux, otherwise before then I just used to hear rumors about Linux and just speculate in amazement!
I had never touched or used Linux before.
When I got home, I made a bee line for my then Windows XP Computer and began installing Linux on it.
I was just clicking NEXT NEXT NEXT with excitement imagining how I would be flossing to my classmates the following Monday telling them how I was now booting and running Linux on my Computer.
Little did I know that I was about to get gobsmacked by Linux and that Linux had a nasty surprise awaiting me.
Curious yet, wait for it …!
When Ubuntu Linux installation finally completed, it showed me a message that read something like “Ubuntu Linux has been Successfully installed on this Computer”.
I was very Excited to see this message and I cannot remember whether it first rebooted after installation before it displayed the Login screen but I can never forget the surprise, the shock and the strange look and feeling of the red clay soil theme of the Ubuntu GNOME desktop when I first logged into it!
Even more queer and strange was when I realized that there was no My Computer icon, no Local Disk C where XP OS was installed, no Local Disk D where my Games, Movies and Music were archived.
The hard disk partitions in Ubuntu Linux had changed to strange astronomical names that resembled something like hda1, hda2.
The Files path was not stemming from My Computer but rather from (/) the root and my user Desktop’s path was /home/josephmwema/Desktop which was very different from how things were done on Windows XP.
I got more frustrated when I found out that Banshee and I guess Mplayer Linux media players could not play back my *.mp3 audio files and *.mp4 video files because of issues relating to copyright of audio and video plugins for MPEGAV.
I am not going to bother you narrating the rest of my noob disappointments of the Linux ( Ubuntu Linux ) operating system as someone coming fresh from Windows XP back then but I think that is the closest way I could describe my first time experience of working with a Smart Card’s back-end for the first time.
I do not know if this can help you relate but it was something akin to that!
The Smart Card does things differently from the USB devices that you easily connect to your computer as Plug and Play devices when you Copy Files and Folders from your USB memory stick or Paste Files and Folders into USB memory stick very effortlessly in Windows while browsing and navigating inside your USB memory stick using the Windows File Browser.
Part of the early days of December 2021 I was simply just studying the inner workings of a Smart Card and How to Read and Write Data to a Smart Card.
Only afterwards was I able to do the same in PHP and could finally Capture User Data and Biometrics in PHP on Web then Save it to Smart Card on click of a PHP Web page button.
Later on I could capture Biometric Fingerprint image on PHP Web page for User Authentication and perform User Biometric Authentication on Smart Card.
Completing the PHP Web Biometric Smart Card Integration and Publishing of a YouTube DEMO for a Working Prototype
I was able to accomplish the PHP Web Biometric Smart Card integration before 20th of December 2021 and actually did a YouTube video for my DEMO application on the 19th of December 2021 and uploaded it on YouTube the following day.
Here below is the PHP Web Biometric Smart Card Integration App DEMO.
Please watch the YouTube video DEMO with the Subtitles turned ON so that you can follow thru easily and understand what is happening at every stage.
It is a short video DEMO that is less than 12 minutes.
So basically this was how I got to study about Smart Cards and create a Web Application in PHP for Biometrics Registration and Authentication using Smart Cards.
There is more to Smart Cards than this single use case I described here.
Smart Cards can be used to do very much more and implement sophisticated applications that on the front end facilitate automation of business solutions that provide smooth ways of doing mundane and repetitive tasks that require reliable, trusted, stress free and foolproof user authentication.
With all said and done, if you work for a Company, Organization, Institution or SME that is seeking to implement a Smart Card Biometric solution, I can Help you implement this type of an integration as a Contractor.
Tell your colleagues or Project Managers about me. I can Help you clear this bit of your Project milestones.
Plan to send me an email we discuss in detail the modalities of how to go about implementing this solution for your Organization, Company or Institution.
Learn more about my consulting services and my asking rates here https://www.youtube.com/c/JosephMwemaa/about
Here are some other Web Biometric Integrations that I did before Developing PHP Web Biometric Smart Card Integration. They include the following;
- Angular Biometric Integration using a Columbo Fingerprint Scanner
- PHP Web Biometric Integration using Columbo Fingerprint Scanner
- PHP Web Biometric Integration in Linux
- Android PHP Web Biometric Integration using a DigitalPersona 4500 Fingerprint Scanner
- 10 Fingerprint Capture in PHP Web using a KOJAK Biometric Scanner
- React Biometric Fingerprint Integration
- PHP Web Biometric Iris Recognition using a BK2121U Iris Scanner
- Oracle Web Biometric Integration using a Columbo Fingerprint Scanner
- Raspberry Pi Biometric Integration in Python
- NodeJS Biometric Authentication
- Python Django Biometric Authentication
- Android External Fingerprint Scanner Integration
Finally, let me know what are your views, suggestions and any related questions that you may have in regards to my PHP Web Biometric Smart Card Integration YouTube Video DEMO after watching it.
Some of the Companies, Organizations and Institutions that I have helped to integrate Biometrics in their Software Applications
Thank you for reading all thru to the end. See you in my next article post about another Biometrics Project.