인프런 커뮤니티 질문&답변

shmin11님의 프로필 이미지

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

비대칭키를 이용한 암호화 ②

비대칭 암호화를 사용하는 이유

24.06.04 13:55 작성

·

238

0

강의 내용에서는 통합된 키로 암호화와 복호화를 하고 있어, 사실상 대칭 키와 같은 방법이라고 느껴집니다. 강의 내용에서는 비대칭 암호화의 필요성을 못느끼는데 스프링 클라우드 컨피그서버에서 비대칭 암호화에 대한 필요성과 사용하는 이유는 무엇인가요?

답변 2

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

2024. 06. 07. 08:12

안녕하세요, 이도원입니다.

강의에서는 비대칭 키로 암호화를 하여, Config 서비스에 등록된 설정 정보를 복호화 하여 사용하고 있습니다. 비대칭키 암호화 알고리즘은 알려진 대로 암호화 할때와 복호화 할때 각각 다른 키를 사용하고 있습니다. Config 서비스를 제공하는 측과 이를 사용하는 다양한 팀 또는 애플리케이션이 각각 다른 작업자라고 가정해 보면, 생성한 암호화 키와 이를 사용하는 복호화 키를 다르게 관리해서 사용할 수도 있습니다. 강의에서는 암복호화 키를 저희가 직접 생성하고 사용하고 있기 때문에, 대칭키와 유사하게 보일 수도 있으나, 기본적으로 분리 된 환경에서 키를 생성하고 사용하는 것이라고 하면, 대칭키보다는 더 안전하게 사용될 수 있을 것 같습니다. 강의에서 실습한 toy-project는 강의를 위한 간단한 프로젝트라고 생각해 주시면 좋을 것 같습니다.

감사합니다.

0

인프런 AI 인턴님의 프로필 이미지

2024. 06. 06. 14:01

안녕하세요, 인프런 AI 인턴입니다.

비대칭 암호화는 데이터의 보안성을 높이기 위해 사용되는 기술 중 하나입니다. 특히, 스프링 클라우드 컨피그서버와 같은 마이크로서비스 환경에서 중요하게 사용됩니다. 비대칭 암호화는 두 개의 키를 사용하는데, 하나는 공개 키(public key)로서 외부에 공개될 수 있으며, 다른 하나는 비밀 키(private key)로서 비공개로 유지됩니다.

이를 통해, 공개 키로 암호화된 데이터는 해당 비밀 키를 가진 사용자만이 복호화할 수 있어 데이터의 보안을 강화할 수 있습니다. 이는 특히 네트워크를 통해 데이터를 전송할 때 중요한데, 공개 키를 이용해 암호화된 데이터는 중간에 데이터를 가로채는 공격자조차 해당 데이터를 복호화할 수 없게 만듭니다.

스프링 클라우드 컨피그서버에서 비대칭 암호화의 필요성은 주로 환경 변수나 설정 파일에 저장된 민감한 정보(예: 데이터베이스 비밀번호, API 키 등)를 안전하게 관리하기 위해 사용됩니다. 이렇게 하면 심지어 컨피그 서버에 접근 권한이 있는 사람이라도, 해당 정보를 볼 수 없게 만들어 정보를 보호할 수 있습니다.

제공된 정보에서 스프링 부트가 내장된 지원을 제공하지 않지만 EnvironmentPostProcessor 인터페이스를 통해 환경 값을 조작할 수 있다는 점을 언급합니다. 또한, 보안적인 측면에서 외부화된 설정을 저장하기 위한 Spring Cloud Vault 프로젝트를 소개하고 있으나, 직접적인 비대칭 암호화에 대한 언급은 없습니다. 하지만 이는 스프링 기반 애플리케이션에서 비대칭 암호화를 구현하거나 적용할 때 참고할 수 있는 내용입니다.

스프링 클라우드 컨피그 서버에서 비대칭 암호화를 사용하는 것은 민감한 정보의 보안을 유지하는 데 있어 필요하며 중요한 부분입니다. 추가적으로 암호화 관련해서 더 깊이 있는 내용을 원하시면 Spring Security 프로젝트를 참고하시는 것도 좋을 것입니다.

Spring Cloud Vault
Spring Security project page

shmin11님의 프로필 이미지

작성한 질문수

질문하기