MSA 정리 4

이봐요이상해씨·2022년 1월 5일
0

SpringBoot

목록 보기
5/10

암호화처리

대칭키 방식

: 암호화와 복호화 방식에 쓰인 키가 서로 같을 때

비대칭키 방식(RSA방식)

: 암호화와 복호화 방식에 쓰인 키가 서로 다를 때

: 공개키, 비밀키를 사용

(서로 다른 키로만 하면됨)

→public으로 암호화하면, 복호화는 private키로 하면됨

→private으로 암호화하면, 복호화는 public키로 하면됨

방식

git repo , storage → (암호화) → springcloud(복호화) → msa로 전달

JCE(Java Cryptograph Extension) → java 11이상은 생략, java 8 은 설치 필요

Java Cryptography Extension (JCE)
- https://www.oracle.com/java/technologies/javase-jce-all-downloads.html

Windows
- Oracle JDK

    {user.home}\Program Files\Java\jdk-13.0.2\conf\security

MacOS
- Oracle JDK

    {user.home}/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/jre/lib/security

- Open JDK

    {user.home}/Library/Java/JavaVirtualMachines/openjdk-14.0.2/Contents/Home/conf/security

대칭키 사용 암호화

Config-Service

bootstrap.yml

encrypt:
  key: abcdefghkl123!

암호화

복호화

user - service

datasource: # ??? ?? ??? ?? ??!!!
    driver-class-name: org.h2.Driver
    url: jdbc:h2:mem:testdb
#    username: sa
#    password:

이것을 config-service가 참고하는 native , search-locations: file에 붙여 넣는다

이렇게 앞에다가 {cipher}이라고 명시해 놓으면 암호회된 데이터라는 뜻이다.(만약 원래 비밀번호인 1234를 암호화 시켜도 암호화 시킨 문자열을 그대로 붙여 넣어 놓으면, 그냥 plain text로 인식함

이렇게 config -service에서 읽어드린 환경설정 파일을 확인하면 복호화되어서 보여지는 것을 알 수 있다.

그리고 원래는 비밀번호 없이 사용했지만, 설정한 순간부터는 1234를 입력해야 접속 할 수 있다.

비대칭키 암호화

keytool을 이용해서 key 생성

생성된 key를 바탕으로 public key 생성

public key를 인증서로 import

Config-service 에 작성

user-service.yml파일에 1234 를 암호화 시킨 값을 붙여 넣음

apigateway-service bootstrap.yml파일도 바꿔준다

현재 ecommerce라는 이름의 yml파일을 참조

이것을 암호화 시킴

웹에서 확인시

암호화 secretkey경우 둘다 application.yml파일을 참조하기 때문에(config-service, user-service)

이 파일에다가 seret key를 설정해 놓는것이 좋다

0개의 댓글