Key management plays a crucial role in cryptography, as the basis for secure information exchange, data identification and integrity. There are software and hardware key management tools that support Crypto APIs and Cryptography Next Generation APIs(CNG API), Public Key Cryptography Standards (PKCS). These tools store cryptographic keys on hard disks, smart cards, tokens, and in other storage media. To use the cryptographic keys stored on these smart cards and tokens, you need to connect them to the appropriate hardware. The cryptographic keys stored on the hard drives of a computer or a laptop are used by the programs of these devices. If it becomes necessary to use a single key in different systems, then you will have to create copies of the key on all these devices. This complicates the process of key management, raises tasks of securely store keys, keys access control. This paper proposes a distributed system model for key management and a protocol of interaction of the distributed system modules. The proposed model provides the ability to store keys in a smartphone, and access to keys from other devices. The system described in the model consists of 3 modules. The module 1 has computer version and smartphone version, and serves to send a request for signing, signature verification, hashing. The module 2, a smartphone software, provides key pair generation, storing, encrypting and decrypting, archiving keys, export/import keys, keys access control, and destroying keys. The module 3, web service, provides communication of the first and second modules. In addition, the system, which was created based on the current model, provides the ability to use digital signatures in web applications. The Module 1 operates as a local web service that accepts requests from a web page running in a browser. A special script in a web page sends http requests that include cryptographic operations to the specified localhost port and accepts responses.
Read full abstract