DB암호화 3

[DATABASE] SHA 해시 함수(단방향 알고리즘)

다들 비밀번호를 잊어버려서 찾아본적 있겠지? 그럴 때 대체 비밀번호는 발급해주는데, 왜 원래 비밀번호를 알려주진 않을까? 그건 바로 비밀번호는 단방향 알고리즘으로 암호화해서 저장하기 때문이야. 데이터베이스에 저장된 비밀번호는 사실, 입력한 그대로의 번호가 아닌 암호화 된 문자로 저장되어있다는 거지. 이 말은 곧, 서버도 사용자의 비밀번호가 무엇인지 알 수 없다는 말이야. 서론이 좀 길었네. 이번포스팅은 단방향 암호화 알고리즘, 해시함수에 대한 글이야. 앞서 양방향 알고리즘에 대해서 알아봤었지? 잠깐 단방향 알고리즘을 보고 가자. 양방향 알고리즘과는 다르게 단방향 알고리즘은 복호화가 불가능해. 따라서 암호화한 데이터의 원본 값을 알 수가 없지. 먼저 해시함수가 무엇인지부터 살펴보자! [해시 함수 Hash ..

DATABASE 2021.01.23

[DATABASE] 대칭키와 비대칭키 암호 알고리즘(양방향 알고리즘)

저번 포스트에서 암호화에 대해서 알아봤으니 이번엔 조금 더 자세히 살펴보자. 먼저 양방향 알고리즘에 대해서 살펴보려고 해. [대칭키 암호 알고리즘] 대칭키 암호 알고리즘은 송신자와 수신자가 같은 키를 보유하고 그 키를 통해 송신자가 평문을 암호화해서 전송하면 수신자가 같은 키로 복호화하는 방법을 이야기해. 다음 그림을 보면 이해가 더 쉬울거야! 대칭키 작동순서 1. 송신자는 수신자와 같은 비밀키로 평문을 암호화 한다. 2. 송신자는 암호화된 메시지를 상대방에게 전달한다. 3. 수신자는 송신자와 같은 비밀키로 암호화된 메시지를 해독해서 평문을 얻는다. 특징으로는, - 암호화키와 복호화키가 같다. - 속도가 빠르다. 정도가 있지. 그러나 키를 교환해야한다는게 문제인 것 같아. 키를 교환하는 중 키가 탈취될 ..

DATABASE 2021.01.22

[DATABASE] 데이터베이스 암호화

[암호화란?] 암호화는 입력받은 TEXT데이터를 알아볼 수 없게 암호처럼 만드는 것을 이르는 말이야. 여기서 암호화된 데이터를 다시 알아볼 수 있게 바꾸는 것을 복호화라고 해. [DB 암호화의 필요성] - 개인정보보호법이 고객의 개인정보를 소홀히 관리할 경우 강력한 처벌을 주문 - 암호화하지 않은 평문의 고객정보가 DB 해킹으로 외부로 유출될 경우, 대규모 집단소송 - 경우에 따라 경영진의 형사처벌 개발자는 그저 개발을 할 뿐이지만, 회사 안에서 개발을 한다는 건, 제품을 만들어서 팔고, 그 제품을 사용하는 소비자가 있다는 뜻이겠지. 그러므로 개발하는 프로그램 또한 법률로부터 자유로울 수 없어. 법에 저촉되면 상당한 불이익, 혹은 제재등이 있을 수 있으니 개발을 할 때도 이 점을 유의할 필요가 있겠지. ..

DATABASE 2021.01.22