작성
·
76
0
실무에서 설정 파일의 내용을 어떻게 관리하시는지 궁금하여 질문 드립니다.
제 생각엔
[ '평문' -> jasypt 암호화 -> keytool 암호화 ]
이 과정으로 서버에 설정 정보를 저장하는 것이 좋을 거 같은데, 사바사 일거 같지만.... 보통 이렇게 2번 암호화를 하는지 궁금하네요.
답변 2
0
안녕하세요, 이도원입니다.
말씀하신 Jasypt와 Spring Cloud Config Encrypt를 동시에 사용할 필요는 없을 것 같습니다. 이 둘의 역하리 중복되며, 중첩 암호화는 실질적 이점이 없이 복잡도만 증가할 것 같습니다. Spring Cloud Config Server를 사용하지 않는 경우라면 Jasypt만 사용하셔도 되고, 보다 높은 보안 수준(비대칭키)을 사용하시고자 할 때는 Spring Cloud Config Encrypt를 사용하시는게 좋을 것 같습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 김진원님
실무에서 설정 파일의 민감한 정보를 안전하게 관리하기 위해 다양한 방법이 사용됩니다. 여러 가지 방법 중에서 ‘이중 암호화’를 고려하셨는데, 이는 보안을 강화하는 유효한 접근법일 수 있습니다. 일반적으로 설정 파일에 암호화를 적용할 때 다음과 같은 방법들이 많이 사용됩니다:
Jasypt 암호화: Jasypt를 사용하면 application.yml
이나 application.properties
에 민감한 정보를 암호화할 수 있습니다. 이는 개발자가 설정 정보를 읽거나 수정할 때 코드 수준에서 쉽게 적용하고 관리할 수 있게 해줍니다.
Keytool을 활용한 키 관리: Keytool은 키와 인증서를 관리할 수 있는 도구입니다. Jasypt로 암호화된 정보는 보통 평문(key) 또는 한 단계 암호화된 키를 사용해 복호화하는데, 이때 Keytool을 사용해 키를 안전하게 관리하는 것이 좋습니다.
이중 암호화의 실무적 고려사항: 이중으로 암호화하는 경우에 보안은 강화되지만 시스템의 복잡도가 증가할 수 있습니다. 따라서, 비례적인 보안 수준이 요구되거나 민감 정보가 많은 환경에서 주로 사용됩니다. 여기서 중요한 점은 성능 및 관리 복잡도와 보안을 균형있게 유지하는 것입니다.
환경 변수 또는 외부 보안 서비스 활용: 암호화 외에도 민감한 정보를 설정 파일에 직접 저장하지 않고 환경 변수나 HashiCorp Vault, AWS Secrets Manager, Azure Key Vault 같은 외부 보안 서비스를 사용하는 방법도 실무에서 널리 사용됩니다.
이상 주요 방법들에 대해 설명해드렸습니다. 관련 내용을 더 알고 싶으시다면 아래의 관련 질문 답변을 참고하세요:
현재 설명드린 내용이 도움이 되시길 바랍니다. 저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
답변 감사합니다.