홈페이지 비밀번호 저장 관련 질문입니다.

lalupo20의 이미지

일단 sha-512를 사용하여 비밀번호를 디비에 저장하였는데

비밀번호를 입력하고 디비에 저장하기전에 암호화해서 저장하거든요

근데 이거 디비에 저장하기전 값을 가로채면 되기때문에

암호화 의미가 없는거 같던데...

그러면 이거 입력할때마다 해쉬코드 생성해야 하나요?

비밀번호가 1234면

1 해쉬코드생성
12 해쉬코드생성
123 해쉬코드생성
1234 해쉬코드생성

이렇게 하는게 더 안전할거 같은데 맞나요?

다른 방법이 있다면 조언 좀 부탁드리겠습니다.

익명 사용자의 이미지

1. 저장하고자 하는 곳이 서버인가요, 클라이언트인가요?

2. 서버라면, sha-512 말고 제대로 된 password hashing을 하세요. salt 처리 하시고요.

https://en.wikipedia.org/wiki/Password_hashing

3. 서버-클라이언트 사이의 통신 중에 가로채일 게 걱정이 된다면, 일단 ssl부터 사용하시고요.

4. 정확히 어떤 능력을 가진 공격자로부터 방어하고자 하는지 확실히 하시길. 어떻게 방어할지 고민하는 건 그 다음 문제입니다.

lalupo20의 이미지

sha512는 좋지 않은 방법인가 보군요. 일단 대비하려면 공부부터 해야하는거 같은데 말씀하신 다른 해싱기법부터 찾아볼께요. 댓글 감사드립니다.

bushi의 이미지

좋지 않은 방법은 아닙니다.
대략 15년? 정도 전까지 리눅스는 salt 를 이용한 encrypt로 비번을 저장했습니다.
그러다 sha hash 로 바뀌었습니다.

서로 다른 입력에 대해 같은 결과가 나올 수 있는 확률이 더 작은 것이 sha512 입니다.
비번 db를 통째로 탈취당했을때 brute force 방식으로 원본 암호를 알아내기가 훨씬 더 어렵다는 겁니다.
사전에 미리 계산해 놓은 값으로 단순 비교만 하는 dictionary 방식을 사용한다해도 비교할 데이터의 크기가 더 크니 좋고요.

김정균의 이미지

일단 법적으로는 메모리단에서 가로채이는 것 까지 고려하지는 않습니다.
DB에 저장된 또는 어딘가에 기록이 되는 data 가 암호화 되어 있느냐 여부로 판단 합니다. 기록 위치에 메모리는 고려하지 않아도 될 것 같습니다. 정말 보안을 고려하신다면 메모리에 있는 것도 고민을 해 보실 수도..

lalupo20의 이미지

감사합니다.

익명 사용자의 이미지

중간에 가로채가는게 걱정이라면 https를 쓰면 됩니다.

lalupo20의 이미지

감사합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.