ercnam
6k
2020-12-30 14:06:51
4
562

양방향 암호화를 구현했지만 불안하군요


어느날 갑자기 복호화를 못해서 멀쩡한 DB를 다 날려버릴까봐 두렵습니다 (?)

아직은 개발기간이라 테스트 데이터만 몇건밖에 없지만

당장 내년(다음주!) 되면 런칭이 될텐데

초반에 잘 나가다가 중간에 갑자기 문제가 생긴다거나 할까봐 심히 두렵네요.

아씨.. 이름 폰번호 주소 정도 법적으로는 암호화 의무 대상이 아닌걸로 아는데

걍 평문저장해버릴까 싶기도 하고 (.......)


사실 암호화하라고 요구사항에 적혀있던건 아닌데 그냥 이참에 암호화좀 구현해보고 싶어서

& 아무튼 암호화 해두면 보안감사 떴을때 +@ 로 작용은 하니까.. 겸사겸사 한건데..


이게 사실 규정적으로 암호화 했다고 끘! 이 아니고 키값 관리도 추가로 들어가줘야 하는건데

ㅋㅋㅋㅋ 키값 그냥 클래스파일에 하드코딩 박아놨는데 헤헤헤헤

그래도 .class 파일을 단순히 열어만 봐서는 내부 코드를 못보게 되있었지만 다 해독하는 방법은 있겠죠...

뭐 키값관리는 내알바 아니고(?) 아무튼 저는 암호화 <> 복호화만 잘 됬으면 하는 바램입니다.


...근데 자바 클래스 하나 인터넷에서 찾아다 붙이면 이렇게 간단하게 구현이 되는데

시중에 판매하는 몇천만원짜리 암복호화 솔루션들은 뭔 기능이 있길래 그런 가격인건지..

...하긴 대량 데이터 취급같은데서 엄청난 성능 차이가 있으니까 그정도 돈을 받겠죠?

암호키 관리같은것도 빡시게 들어갈거고.


0
  • 댓글 4

  • 라이라
    2k
    2020-12-30 14:53:38

    그냥 디아모 같은 상용 쓰자고 회사 설득하는 게 좋죠

  • 잡초
    1k
    2020-12-30 15:46:21 작성 2020-12-30 15:47:51 수정됨

    아 제가 착각 했네요.ㅎ

    잘하셨네요.



  • ercnam
    6k
    2020-12-30 17:48:24

    음..역시... 그냥 평문저장해야겠슴다.

    뭐 나중에 암호화 하라고 압박들어오면 그때 생각하죠...

    다행인건 스프링부트에서 @convert 어노테이션으로 간단하게 엔티티 단에서 암호화 클래스를 지정/해제가 가능하니까 (사실 암호화에 쓰라고만 있는 놈은 아님..)

    ...데이터도 얼마 안들었고.. 간단하네요.

  • 지붕뚫고높이차
    1k
    2020-12-30 18:32:54 작성 2020-12-30 18:33:10 수정됨

    암호화 알고리즘은

    소스코드가 공개되어 있고 공개를 통해 암호화 알고리즘의 수행 안전성을 보장합니다.


    암호화 알고리즘 외 추가로 구현해야 하는

    인코딩, 패딩, 운영모드가 잘못되어 문제가 발생하지만


    이부분도 기본적인 암복호화 테스트를 한뒤 사용하면 문제는 발생하지 않습니다.

    암호화 알고리즘이 java 로 되어 있으면 메모리 이슈는 잘 발생하지 않지만

    스트레스 테스트를 하셔서 확인해도 괜찮구요.


    디아모 검색해보니 암호화플렛폼 이네요.

    디아모 제품규격을 보니 우리가 일반적으로 사용하는

    ARIA, HIGHT, LEA, SEED 같은

    공개되어 있는 대칭키 블록암호화 알고리즘을 사용하는걸로 되어 있습니다.


    보안 거버넌스 요구사항이 없을경우

    디아모 같은 비싼 제품 사용하지 말고


    rmsid javax.crypto 패키지에 있는 AES 사용하세요.

    운영모드나 패딩 따로 구현할 필요 없이 바로 사용가능합니다.

  • 로그인을 하시면 댓글을 등록할 수 있습니다.