개발 Q&A

제목 DB에 회원 정보를 담을 때 질문 드립니다.
카테고리 DB
글쓴이 손씨가문 작성시각 2017/05/15 14:47:36
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 11011   RSS

현재 CI 이용중입니다.

 

아무래도 회원정보 DB를 받을 때, 가장 중요한 것은 보안이 아닐까 합니다.

 

현재 회원이 가입을 했을 때 암호만 MD5로 복호화 시켰고, 나머지는 그대로 입력값 대로 집어넣었습니다.

 

하지만, 아무래도 개인정보다 보니, 다른 부분들도 암호화 처리라던가 다르게 처리가 필요합니다.

하지만 암호화를 하게 될 경우에 데이터를 아예 알수가 없어서요.

 

회원이 로그인 후에, 저장된 DB들을 보여줘야합니다. 관리자에서는 모두 보여지고 웹페이지 상에서도 정보들이 보여줘야합니다.

 

혹시 좋은 방법이 있나요? 해당 부분들을 어떻게 처리해야할지 고민 입니다.

 다음글 메인메뉴 + 서브메뉴 구성원리 문의 (7)
 이전글 api 인증을 위한 access key를 관리하는 패키... (2)

댓글

변종원(웅파) / 2017/05/15 14:55:03 / 추천 1

https 적용되어 있는지요? 안되어 있다면 우선 적용하시는 것이 좋습니다.

mysql 함수중에 암복호화 함수가 있고 그 함수를 통해 암호화 하여 저장하고 select할때 함수를 적용하여 복호화합니다.

위 방식은 일일이 소스단 작업을 해줘야해서 귀찮은 반면 비용은 들지 않고 

서버단에서 암복호화를 자동으로 진행해주는 모듈이 있습니다. 이건 비용이 좀 들지만 개발자가 해야할 일은 없습니다.

배강민 / 2017/05/15 14:57:24 / 추천 1

암호화에는 크게 복호화 가능/불가능 2가지로 나뉠 수 있습니다.

물론 복호화가 안되는 것도 해킹이던 뭐던 풀려지기도 하긴하지만요.

말씀하신것처럼하려면 복호화가 가능한 암호화 기법을 이용해야겠죵.

MD5는 기본적으롤 복호화가 안되는 암호화이긴합니다. (물론, 요즘에는 어렵지않게 풀 수 있어서 사용을 많이 안하지요.)

그래서 아마 로그인시 비번확인을 하실때 사용자가 입력한 값을 md5 씌워서 DB의 것과 맞는지를 비교하시겠죠?

복호화가 안되는것들은 이렇게 할 수 밖에 없고, 복호화가 되는것은 암호화 key를 따로 두고 그거로 암/복호화를 합니다.

ISMS심사에서도 항목들에따라 비가역적이어야만 하는 필드와, 가역허용하는 필드 뭐 이렇게 나눠서 심사합니다.

kaido / 2017/05/15 16:05:40 / 추천 1

새로 만드시는 프로젝트에 md5는 비추 입니다.

KISA 에서도 SHA256 이상을 권장 하고 있습니다. MD5는 금지이구요.

어차피 개발자에겐 단어 하나 차이 인지라, 처음 하실때 sha512로 그냥 암호하는 것을 추천 드립니다.

 

대기업쪽에선 개인 정보 보안 이라는 이상한 정책으로 마킹을 요구 하기도 합니다.

혹시 마킹이 염두 되신다면, 마킹은 DB에는 데이터를 그대로 넣고 로직에서 보여줄때 *** 으로 마킹 하는 것입니다.

손씨가문 / 2017/05/15 17:55:35 / 추천 0

모두 답변 감사드립니다 아무래도 회원정보다 보니, DB암호화, 웹방화벽 등은 설치를 완료하였고,

https는 이번에 신청하려고 합니다. 일단 암복호화 방법으로 진행해야 할 것 같네요.