![Lead Image © Sergey Nivens, 123RF.com Lead Image © Sergey Nivens, 123RF.com](/var/ezflow_site/storage/images/archive/2018/43/efficient-password-management-in-distributed-teams/sergey_nivens_123rf-computer_security.png/148287-1-eng-US/Sergey_Nivens_123RF-Computer_Security.png_medium.png)
Lead Image © Sergey Nivens, 123RF.com
Efficient password management in distributed teams
Secure Transfer
Consider the simple case of a web application database that requires authentication. The challenge is to share this secret information in an efficient but secure way and to transmit it automatically at a later date. What is the best way to do this?
Three Approaches
Traditionally, you have several ways to manage secrets associated with an application. The oldest method is probably the use of constants in source code, such as:
var PASSWORD = 'sn4k3oil'
This method tackles the challenge of keeping secret information synchronized between all team members in a simple, although not secure, way.
On the one hand, anyone who has access to the source code is automatically in possession of the secret information – regardless of whether it is necessary or desirable. On the other hand, exchanging keys with this procedure can turn out to be a tedious process, because the source code has to be changed, checked in to a version management system, and redistributed each time. It also makes it difficult to use the same code in multiple environments, such as a development environment and a production environment.
These disadvantages need to be avoided in a more mature alternative by storing secrets in configuration files that are not checked into version control. If you use this approach, you can remove the constants from the source code, but you accept other disadvantages. Without version control, synchronization between team members that was previously feasible is no longer possible. If a team member wants to change their password, they need to inform everyone else about it and find a secure way to do so. Additionally, this procedure results in unencrypted files on clients and servers that users can forget.
Subsequently, a third method has been established to keep secret information away from both the local filesystem and the source code. This method uses
...Buy this article as PDF
(incl. VAT)