Take the 2-minute tour ×
Information Security Stack Exchange is a question and answer site for Information security professionals. It's 100% free, no registration required.

Another question related to previous, unanswered A SW system constructed with Microsoft CNG can be FIPS 140-2 Level 2 Compliant?

Another alternative is to store the keys in a Smart card permanently attached to our system (a standard server in a rack) using a USB Reader under Windows 2008 R2. So the cryptographic operations can be performed by the Smart card itself or by the Windows CNG module. The question is about performance, as we need to perform the operations repeatedly. The operation is basically performing a 3DES over a provided MD5 hash and we need to perform this operation about 10.000 times a day. This makes sense? Performance required can be achieved using the Smart card.

What way is preferable, performing the 3DES by the Smart card so the keys never go out the Smart card or importing the keys into CNG and perform 3DES by CNG?

Sorry, too much questions, but we are designing the system and want to ensure compliance, performance...

share|improve this question
3  
You have to be very careful about what you are building here. Software level 2 is usually not required or desired due to some specific tie-ins to operating systems and environments. Also, the FIPS crypto boundary will have to necessarily exclude any hardware in order to remain as a pure software-only implementation otherwise you are doing a level 2 hardware or level 1 hybrid (there's no such thing as level 2 hybrid). You may want to consider discussing your needs with a FIPS 140-2 lab or consulting group (disclosure: I represent one such lab). –  logicalscope Jun 21 '12 at 8:06
    
Thanks for the advice. It's not clear with our client if the entire system must be Level 2, as they usually talk about HW (HSM...) and we (integrator) prefer to build a SW pure system, such in my previous question, so a SW system could not be required to be Level 2, client must decide. –  David Oliván Ubieto Jun 21 '12 at 8:56
    
You need to find out what exactly is required. I would do what logicalscope suggested once you have ALL the facts. Be sure to get those in writting. –  Ramhound Jun 21 '12 at 10:51
    
Why are you using MD5? MD5 is broken and should not be used. If it's imposed on you as an outside requirement, do what you have to. Otherwise, use SHA-2. If you're concerned about performance, can you use AES instead of 3DES? AES is faster. –  Steven Alexander Sep 12 '12 at 20:42
    
Both MD5 and 3DES are requirement of our client. Nothing to do as they are the national standards used for the purpose of the project. –  David Oliván Ubieto Sep 16 '12 at 13:51
add comment

1 Answer

If your smartcard is any good, then it will commit seppuku rather than allow the 3DES key to be exported. If the key can be exported, then the smartcard is no better than a USB disk. Correspondingly, you should not have a choice: have the smartcard do the job it was designed to do.

(And, MD5 ? Really ?)


Also, a smartcard is a piece of hardware; it may fail, especially if employed repeatedly and continuously (smartcards are not usually designed to be operated in such a way). You'd better have a backup plan, to readily initialize a new smartcard with the same key. If you can do that, then you can produce several smartcards and use them concurrently, which would give you a performance boost. And if you cannot rebuild a smartcard after a hardware failure, then your project looks doomed.

share|improve this answer
    
If the key can be exported only by providing an administrative password (which is not written on a post-it note tacked to the rack), it is better than a USB disk. –  Gilles Sep 17 '12 at 16:12
    
Smartcards can be used to transport keys (master keys), so master keys can be exported easily with the transport one(s). Optionally can perform cryptographic operations if they have criptographic chip, hence can be for storage only or for criptografic operations. Smartcards are the usual way to transport keys. Can fail, but we can not replace as the smartcard is written by the authority that generates the keys, we only use the keys generated. And yes, 3DES and MD5 are still used for low-security cryptography when data is not sensible. –  David Oliván Ubieto Sep 21 '12 at 15:07
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.