Why does an iphone require me to enter the passcode and not accept my fingerprints when I switch it on after power off?
Since iOS 8, full disk encryption is enabled by default and the passcode is used as key (paired with some secret kept in the phone's HSM so offline bruteforcing is not possible, making it relatively secure even with only a numerical code).
For FDE to work we need something consistent as a key. A passcode fits the bill perfectly, it either matches or doesn't. You also do not need to know the code itself to be able to tell if the entry is correct - an one way hash will still tell you whether the entry was correct while making it extremely difficult to reverse the process and get the code from the hash.
A fingerprint on the other hand is never an exact match. It's always fuzzy and there is a tolerance percentage under which the fingerprint is considered matching, otherwise it's not. Since it's never quite consistent most hashes we use for passwords are out of the way so you have to keep an entire picture of the fingerprint to be able to tell whether the fingerprint is correct, so if someone gets that data it's trivial to make a fake print based on that, whether as with passwords you'd have to bruteforce the hash before you get the actual password.
This also means a fingerprint can't be used as a key for FDE, because it will always be a little different on each scan, or, if the fingerprint image is kept somewhere unencrypted for comparison before revealing the real FDE key then it's insecure because an attacker could just obtain that real key right away (using hardware attacks, exploits, etc).
This is the reason why a passcode is asked on first boot. It decrypts the data partition and keeps the key cached in RAM, where on subsequent unlocks the partition is already mounted and decrypted, and the lock is purely a software restriction. It would also make sense for the phone to keep fingerprint data on the encrypted partition, which means at boot the phone has nothing to compare your fingerprint against to tell if it's correct or not.
Finally fingerprints are not more secure than passwords because you leave them on everything you touch.
@AndréBorie gives the correct technical reason why a passcode is required for full disk encryption.
I want to dispel the myth that fingerprint is more secure than passcode. This is a dangerous - yet surprisingly common - misconception. If your goal is to prevent your kid sister from getting into your phone, or you want to increase your security a bit without too much inconvenience, then sure, use fingerprint, but let's not pretend that it gives you any real security. Reasons:
You don't go around leaving copies of your password on everything you touch. Experienced iPhone hackers can lift your print off something (like the screen of your device) and get into your phone using only a dental mold, some play-dough, and about 5 minutes of trial and error. Some hackers have even demonstrated this using a hi-res photo of a politician's hand taken at a press-conference. [source]
When your password gets cracked or compromised, you can change it. Yau can use a different password for every account or device. Fingerprint, not so much.
Sources: here are the first 4 hits when I google "iphone fingerprint hack"
- Your phone’s biggest vulnerability is your fingerprint
- Why I hacked TouchID (again) and still think it’s awesome
- Can an iPhone's fingerprint sensor really be hacked using PLAY-DOH?
- 3 WAYS TO BYPASS APPLE'S FINGERPRINT SCANNER