|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Storing Session Keys
This section discusses how you use CryptoAPI to store a session key for later use. This is useful in those situations where you have encrypted a file using a key and want to decrypt the file at a later time. Another possible situation is one in which you have shared the session key with another user and you want to use the key at a later time to send the other user encrypted messages.
In either case, your application will have to store the session key outside of the CSP for a certain period. Following is the procedure for storing a session key.
1. Create a simple key blob using the CryptExportKey function. This will transfer the session key from the CSP to your application's memory space. Specify that your own key exchange public key be used to encrypt the key blob. 2. Store the signed key blob to disk. The assumption is made here that all disks are nonsecure. 3. Later, when you need to use the key, read the key blob from disk. 4. Import the key blob back into the CSP using the CryptImportKey function.
If the session key is just to be bundled with an encrypted file (so that you can later decrypt the file), and the key is not going to be used to encrypt any more data, then the above procedure provides adequate security. If you plan to use the session key for encryption at a later time, then the key blob should be signed with your key exchange key before the key is stored to disk. When you later read the key blob back from disk, you should validate the signature to make sure the key blob is intact. If these steps are omitted, then someone with access to your storage media can create their own session key, encrypt it with your key exchange public key, and substitute it for your key blob. You could then unknowingly use their session key to encrypt files and messages, which the unscrupulous user could then easily decrypt. (Digital signatures are discussed in detail in the section Hashes and Digital Signatures.)
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Хранящие Сеансовые Ключи
Эта секция обсуждает как Вы используете CryptoAPI, чтобы хранить сеансовый ключ для последующего использования. Это полезное в тех ситуациях где Вы закодировали файл, использовавший ключ и хотелись декодировать файл впоследствии. Другая возможная ситуация - один в котором Вы распространили сеансовый ключ с другим потребителем и Вы хотите использовать ключ от, чтобы посылать другого потребителя закодировавшего сообщения.
В любом случае, ваше приложение должно хранить сеансовый ключ вне CSP на определенный период. Следующее является процедурой для хранения сеансового ключа.
1. Создайте простую ключевую каплю, использовавшую функцию CryptExportKey. Это передаст сеансовый ключ от CSP до вашего прикладного пространства памяти. Определите, что ваш собственный ключевой биржевой общественный ключ использован, чтобы кодировать ключевую каплю. 2. Загрузите подписанную ключевую каплю на диск. Предположение делает здесь, что все диски являются nonsecure. 3. Позже, когда Вам нужно использовать клавишу, читать ключевую каплю с диска. 4. Импортируйте ключевую каплю снова в CSP, использовавший функцию CryptImportKey.
Если сеансовая клавиша - просто, чтобы быть связанн в узел закодированным файлом (чтобы Вы можете позже декодировать файл), и клавиша не собирается использован, чтобы кодировать больше данные, тогда вышеуказанная процедура обеспечивает требуемую безопасность. Если Вы собираетесь использовать сеансовую клавишу для шифрования впоследствии, тогда ключевая капля должна быть подписана вашей ключевой биржевой клавишей прежде, чем клавиша будет загружена на диск. Когда Вы позже прочитали ключевую каплю с диска, Вы должны подтвердить сигнатуру, чтобы убеждаться что ключевая капля целая. Если эти шаги опущены, тогда кто-нибудь с доступом к вашему носителю памяти может создать свою собственную сеансовую клавишу, кодировать это с вашей биржевой общественной клавишей клавиши, и заменой это для вашей ключевой капли. Вы могли затем unknowingly использовать их сеансовую клавишу, чтобы кодировать файлы и сообщения, которые неразборчивый пользователь мог затем легко декодироваться. (Цифровые подписи обсуждаются подробно в Хэшах секции и Цифровых Подписей.)
|
|
|
|
| |