반응형

Encryption 3

[Spring-JSP] AES-256 암호화

AES256을 사용하여 DB에 등록될 사용자 정보를 암/복호화 하는 방법이다. 우리는 보통 사용자의 중요정보(개인정보)를 DataBase에 관리를 하게된다. 이때 암호화를 하지 않은 상태로 관리를 하게 된다면, DataBase 정보 탈취의 우려가 있을 가능성이 있다. 탈취자와 보안을 위해 한번이라도 더 귀찮게 만들어주자. 1). AES256SecureUtil.java 모듈화해서 사용할 수 있도록 만들어두고 사용하자. public class AES256SecureUtil { private static String key = "원하는비밀Key^$%^"; private String iv; private Key keySpec; /** * @desc 초기화 생성자 함수 전역에 설정된 key 값으로 필요 변수 값들..

[Spring-JSP] RSA 암호화

인터넷 서비스에서는 대칭키와 공개키를 이용한 암호화를 다양하게 활용하고 있는데 대표적으로 TLS(Transport Layer Security)라고 불리는 암호 규약이 대표적이며 쉽게 예를 들면 웹 브라우징 시에 사용되는 보안 계층을 말한다. TLS는 기존의 SSL(Secure Sockets Layer)가 표준화되면서 바뀐 이름이며 우리가 인터넷에서 익숙하게 접하는 HTTPS 프로토콜에서 이를 활용하고 있다. 구분목적 Public Key 누구에게나 공개될 수 있음 / 메세지를 보내는 발신자는 공개키를 통해 정보를 암호화 Private Key 수신자는 비밀키를 암호화된 메세지를 복호화 하는데 사용/ 외부에 노출되지 않도록 안전하게 보관해야 함 순서 1. Client 단에서 RSA를 비동기 호출하여 Publi..

[Spring-JSP] SHA-256 / SHA-512 암호화

기본적으로 SHA는 단방향 암호화 알고리즘이다. 보통 비밀번호와 같이 중요정보를 hash화 하여 암호화를 진행한다. 비밀번호는 복호화하여 비교할 필요가 없기때문에... 그래서 DataBase에 암호화된 비밀번호와 사용자가 입력한 비밀번호를 SHA로 암호화 하여 비교하며 사용할 수 있다. 사용법은 매우 간단하다. SHA암호화의 단점이라고는...음... Rainbow Table(해시 함수를 사용하여 변환 가능한 모든 해시 값을 저장시켜 놓은 표)를 사용하여 SHA 알고리즘의 해독이 가능할 수 있다는 점... 다만 엄청난 시간이 필요하다고 한다. 그렇지만 조금더 안전을 기하기위하여 본인은 RSA 암호화 후 SHA암호화를 통해 비밀번호 암호화를 진행하였다. SHA암호화는 기본적으로 256 / 512 두가지를 제..

반응형