1) Regarding Key wrapping
...remember you can chose not to use key wrapping at all:
- ECC Key sizes are small enough to be stored by dozens inside many secure elements (and nobody will have dozens of accounts) and you can even store only the ECC private key only (if needed)
- In U2F specifications, key wrapping is not mandatory and is present in this section "Allowing for Inexpensive U2F Devices". If you are using a JavaCard, you are probably not focusing on a low cost / low memory device...
- The fact that manufacturers are free to make choices -even bad ones- for key wrapping is... kind of a bad freedom of choice. Every customers have to investigate (or not) how it is done... and accept to trust (or not) what they will learn (or not). (And then they will understand they need to know how/who controls the initial secret)
- Key wrapping means a shared/common secret that users can't chose. For your information, several security experts we encountered -from private sectors to government related ones- simply recommend to avoid key wrapping.
2) Regarding ECC support in JavaCard
ECC support is only mandatory in JavaCard 3.0 specifications but you can find non-3.0 JavaCard 2.x smart cards that already support ECC, like several NXP JCOP based solutions...
Regards
--
Frédéric MARTIN
System & Security Architect
NEOWAVE (FIDO Alliance Member)