ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Secure - 암호화정책
    Java/Spring 2018. 9. 10. 15:51
    반응형

    암호화정책


    데이터 저장시 안전한 암호 알고리즘을 사용해 암호화된 데이터를 전송하도록 해야된다. - 개인정보를 위해서


    복호화가 가능한 암호방식, 복호화가 불가능한 암호방식이 있다.


    비밀번호나 계좌, 주민번호등은 복호화가 안되게 해야 안전하다. - 단방향 - 해시함수


    Http는 취약하다 Http에 SSL인증서를 더한 안전한 프로토콜이 Https다.


    중간에 내용을 캐치당하더라도 내용이 변조될 위험이 적다.


    블록암호 - 복호화가 가능한 암호, 양방향 암호


    단방향 암호에서는 똑같은 암호를 입력해서 같은 값이 나오면 진행한다.


    단방향 암호 해시함수에서는 SHA-256이 많이 쓰인다.


    슈퍼컴퓨터로 복호화하려해도 30만년 이상 걸리는 어려운 함수다.


    양자컴퓨터에서는 더 쉽게 풀리는 단점이 있지만, 현존하는 컴퓨터 세대에는 안전한 방식이다.




    안전한 암호 알고리즘 사용


    대칭키 암호화 - AES를 많이 씀

    전송하고자 하는 평문을 암호화하고 복호화 하는데 동일한 키를 사용하는 방식

    공개키 암호화 방식에 비해 빠른 처리속도를 제공함

    암호키의 길이가 공개키 암호화 방식보다 상대적으로 작아 일반적인 정보의 기밀성을 보장하기 위한 용도로 사용

    정보교환 당사자간에 동일한 키를 공유해야 하므로 여러 사람과 정보 교환을 해야하는 경우 많은 키를 유지 관리해야 하는 어려움

    클라이언트쪽에서 파라미터를 보낼 때 암호화 시켜서 보낸다. 암호화 시켜서 보내는 키

    복호화 할때는 암호화할때 입력한 동일한 값일때만 풀린다.



    비대칭키 암호화 - RSA를 많이 씀

    공개키 암호화방식. 

    공개키와 개인키의 키 쌍이 존재하여 평문을 암/복호화 함.

    서로 다른 키를 사용하는 방식으로 데이터의 암호화 속도가 대칭키 암호화 방식에 비해 느림

    전자서명 또는 카드번호화 같은 작은 크기의 데이터를 암호화 할 때 많이 사용됨.

    암호화할때와 복호화할때의 키가 다르다.



    일방향 암호화 - SHA 해시함수

    해쉬함수를 이용해 암호화된 값을 생성. 

    복호화 하지 않음.

    해쉬함수는 임의의 길이를 갖는 메시지를 입력으로 하여 고정된 길이의 해쉬값 또는 해쉬코드라고 불리는 값을 생성

    동일한 입력 메시지에 대해 항상 동일한 해쉬값을 생성함.

    패스워드와 같이 복호화가 되지 않으면서 입력값을 검증해야 하는 경우에 많이 사용



    대칭키와 일방향은 복호화가 가능한 키가 없다.


    이메일이나 이름이나 전화번호 같은 경우로는 여파는 있겠지만, 파장이 크지 않은 것들은 검색용으로 단방향을 안쓸 수도 있다.



    Salt없이 암호화된 MD5해시 함수는 금방 풀리기 때문에 사용하면 안된다. MySQL 구버전이 MD5 암호화방식을 사용한다.

    반응형

    'Java > Spring' 카테고리의 다른 글

    Spring Security  (0) 2018.09.11
    Secure - 잘못된 접근 제어  (0) 2018.09.11
    Secure - File  (0) 2018.09.10
    Secure - CSRF  (0) 2018.09.10
    Secure - XSS  (0) 2018.09.10

    댓글

Designed by Tistory.