GCP_암호화(Encryption)

유유·2022년 11월 7일
0

https://cloud.google.com/docs/security/encryption/default-encryption

https://ko.wikipedia.org/wiki/%EC%95%94%ED%98%B8%ED%99%94

암호화

암호화(暗號化) 또는 엔크립션(encryption)은 특별한 지식을 소유한 사람들을 제외하고는 누구든지 읽어볼 수 없도록 알고리즘을 이용하여 정보(평문을 가리킴)를 전달하는 과정이다. 이러한 과정을 통해 암호화된 정보(암호문)를 낳는다. 이에 역행하는 과정을 해독 또는 디크립션(decryption)이라고 하며 이로써 암호화된 정보를 다시 읽을 수 있다.

암호화하기 이전 데이터를 평문이라 하면, 암호화된 정보는 암호문이라고 한다.

암호화 종류

단방향 암호화
단방향 암호화는 대표적으로 신원 증명과 인증 과정에서 사용된다. 예를 들어 비밀번호를 ‘wiki123’이라고 지정했을 때, 이를 암호화하여 ‘A3pnqq49.Hw’라는 아무런 유사성 없는 암호문을 만들어 낸다. 단방향 암호화의 특징은 역으로 변환하는 것이 불가능하고, 어떤 방법을 쓰더라도 암호문을 원래의 평문으로 되돌릴 수 없다는 것이다.

비밀키 암호화
비밀키 암호화는 말 그대로 비밀키를 사용하여 암호화와 복호화하는 과정을 가진다. 평문에 암호화 키 값을 이진수 연산 처리하여 암호문을 생성하고, 암호문을 받은 수신자는 동일한 암호화 키 값을 역으로 대입하여 암호문을 해독한다. 따라서 비밀키 암호화를 위해서는 송신자와 수신자 모두 동일한 암호화 키를 알고 있어야 한다.

공개키 암호화
공개키 암호화는 공개키와 개인키라고 불리는 서로 다른 두 개의 키를 사용한다. 앞선 비밀키 암호화 방식과 비교해보면 송, 수신자에게 공개된 공개키를 사용하여 암호화하는 점은 비슷하지만, 복호화는 개인키를 가진 사람만 할 수 있다는 점에서 차이가 생깁니다. 조금 더 복잡해 보이는 해당 방식은 비밀키 암호화 방식보다 처리가 느리기 때문에 실제 암호화 시스템은 비밀키 암호화 방식과 공개키 암호화 방식을 혼합하여 구축된다.

Google은 FIPS 140-2 검증 모듈(BoringCrypto)이 포함된 공통 암호화 라이브러리인 Tink를 사용하여 Google Cloud 간에 암호화를 일관되게 구현합니다.

https://csrc.nist.gov/projects/cryptographic-module-validation-program/Certificate/3318

https://cloud.google.com/docs/security/encryption/default-encryption

키관리 요약

  • 데이터가 청크로 분할되고 DEK를 사용해서 암호화됩니다.
  • DEK는 KEK로 암호화됩니다.
  • KEK가 키 저장소에 저장됩니다.
  • 키 저장소는 전 세계 데이터 센터의 여러 머신에서 실행됩니다.
  • 키 저장소 키는 루트 키 저장소에 저장된 키 저장소 마스터 키로 래핑됩니다.
  • 루트 키 저장소는 키 저장소보다 훨씬 작고 각 데이터 센터에 있는 전용 머신에서만 실행됩니다.
  • 루트 키 저장소 키는 루트 키 저장소 마스터 키 배포자에 저장되는 루트 키 저장소 마스터 키로 래핑됩니다.
  • 루트 키 저장소 마스터 키 배포자는 전용 머신의 전역 RAM에서 동시에 실행되는 P2P 인프라입니다. 각 머신은 리전에서 실행 중인 다른 인스턴스에서 키 자료를 가져옵니다.
  • 한 리전에 있는 배포자의 모든 인스턴스가 중단되는 경우 마스터 키는 제한된 Google 위치에 있는 물리적 금고의 서로 다른 보안 하드웨어에 저장됩니다.
profile
하이

0개의 댓글