On 2012-02-21 18:16, Douglas E. Engert wrote:
> 
<snip>
>>> Pushing the ECDH Key Agreement to the token for use by the token
>>> looks very interesting.
>>
> 
> I meant based on your slides it looks like that is what you would like
> to do as a new operation.
> 
>> I'm not sure I understand what you are trying to do here.  The PIV
>> specification doesn't (AFAIK...) allow you to store the result of an
>> operation on the card.
> 
> Correct.
> 
>> I could imagine that "super-operations" like
>>
>>     HMACSHA256 (ID-to-ECDH-priv-key-on-token,
>>                 Other-party's-ECDH pubkey,
>>                 KDF-Algorithm,
>>                 KDF-Data,
>>                 "Argument Data")
>>
>> could be interesting but that looks like a new token method to me.
> 
> Based on you slides, this sounds like a version of NIST 800-56A
> Section 6.1.1.2. with all the operations done on the token,
> and the key (Z) stored on the token for use by other operations.

You are right.  My scheme does indeed store a ECDH Z-result in the token.
However, this is a token management/provisioning key, rather than a
"user key".  For user-keys I currently have no ambitions beyond what
PIV supports.

I have "played" with the idea of creating a "secure stack-machine" for
performing arbitrary cryptographic operations on result-data but I couldn't
figure out how this would work without introducing vulnerabilities. :-(

Anders



> 
>>
>> Anders
>>
>>
>>
>>>
>>>
>>>>
>>>> Anders
>>>>
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> Although PKCS #11 is good it is not particularly popular on Windows.
>>>>>>>> It is essentially only Mozilla who insists on not supporting the
>>>>>>>> native Windows crypto system.  SUN/Oracle have managed to do 3(!)
>>>>>>>> major Java releases (5,6,7) without PKCS #11 support for Win-64.
>>>>>>>> They have though added support for Crypto-API.
>>>>>>>
>>>>>>> The same USB device could support Crypto-API primitives too.
>>>>>>>
>>>>>>>
>>>>>>>> Regarding my token-project it has no direct ties to PKCS #11; it is
>>>>>>>> closer to the NXP GP-chip which is powering Google's Wallet.
>>>>>>>>
>>>>>>>> The reason for this is that PKCS #11 doesn't have a interface
>>>>>>>> supporting secure remote provisioning, something which absolutely
>>>>>>>> necessary in the mobile phone world.
>>>>>>>
>>>>>>> Provisioning is indeed outside PKCS#11 and could be done in some
>>>>>>> other, also convenient, way. USB is really easy to use.
>>>>>>>
>>>>>>>
>>>>>>>> I have stretched this notion to include connected tokens as well
>>>>>>>> with a hope reaching the critical mass needed for establishing a
>>>>>>>> de-facto standard.
>>>>>>>
>>>>>>> I fear that you are ahead of your time. :\ Adam Dunkels implemented
>>>>>>> the internet of things many years ago, but I don't even have IPv6.
>>>>>>> Things are changing, but still slowly.
>>>>>>>
>>>>>>>
>>>>>>>>>> it seems that NIST's PIV would be good choice
>>>>>>>>>
>>>>>>>>> It would be a much better candidate if there was not such a thick
>>>>>>>>> layer of components involved which serve little to no purpose.
>>>>>>>>
>>>>>>>> If you talk about the actual card standard I have no idea what
>>>>>>>> you are referring to.  It looks quite simple to me.  If you OTOH
>>>>>>>> refer to the OpenSC implementation, this is something that PIV
>>>>>>>> isn't responsible for.
>>>>>>>
>>>>>>> Actually neither, I refer to the entire stack of software required
>>>>>>> for CCID, APDUs, PKCS#15 and translation to PKCS#11 or CryptoAPI.
>>>>>>>
>>>>>>>
>>>>>>>> Anyway, I know that the PIV vendors verify their cards against
>>>>>>>> Microsoft's driver and that is IMO the way to go.
>>>>>>>
>>>>>>> If there's a superior alternative Microsoft may well catch up at some
>>>>>>> point. They did with USB.
>>>>>>>
>>>>>>>
>>>>>>>>> But it would be nice to try to do even better. :)
>>>>>>>>
>>>>>>>> That is what my project is all about but that is hardly an
>>>>>>>> alternative for Feitian at this stage.
>>>>>>>
>>>>>>> Also agree. I'm also not suggesting Feitian to pick up on my idea. If
>>>>>>> they do that's perfectly fine and totally awesome, but I'm keeping
>>>>>>> the idea alive only because *I* think it is good and would like to
>>>>>>> try it out.
>>>>>>>
>>>>>>>
>>>>>>> //Peter
>>>>>>> _______________________________________________
>>>>>>> opensc-devel mailing list
>>>>>>> opensc-devel@lists.opensc-project.org
>>>>>>> http://www.opensc-project.org/mailman/listinfo/opensc-devel
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> opensc-devel mailing list
>>>>>> opensc-devel@lists.opensc-project.org
>>>>>> http://www.opensc-project.org/mailman/listinfo/opensc-devel
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
> 

_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to