Security

λ‹€μ΄μ œμŠ€νŠΈ (Digest)

과거에 DB 에 μ €μž₯λ˜μ–΄ μžˆλŠ” λΉ„λ°€λ²ˆν˜Έμ™€ μ‚¬μš©μžκ°€ μž…λ ₯ν•œ 값을 직접 λΉ„κ΅ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€κ°€ μΌλ°˜μ μ΄μ˜€μœΌλ‚˜ λ³΄μ•ˆμ΄μŠˆλ‘œ μΈν•˜μ—¬ μ‚¬μš©μžμ˜ λΉ„λ°€λ²ˆν˜Έλ₯Ό μ•”ν˜Έν™”ν•˜λŠ” λŒ€ν‘œμ μΈ λ°©λ²•μœΌλ‘œ μ•”ν˜Έν™” ν•΄μ‹œ ν•¨μˆ˜ (Cryptographic Hash Function) κ°€ μžˆλ‹€.

일반적으둜 μ‚¬μš©μžκ°€ μž…λ ₯ν•œ λΉ„λ°€λ²ˆν˜ΈλŠ” μ•”ν˜Έν™” ν•΄μ‹œ ν•¨μˆ˜λ₯Ό 거쳐 λ‹€μ΄μ œμŠ€νŠΈ (Digest) ν˜•νƒœλ‘œ μ €μž₯λœλ‹€.

λ‹€μ΄μ œμŠ€νŠΈ (Digest) λž€ ν•΄μ‹œ ν•¨μˆ˜λΌλŠ” μˆ˜ν•™μ μΈ 연산을 톡해 μ•”ν˜Έν™”λœ λ©”μ‹œμ§€λ₯Ό μ˜λ―Έν•œλ‹€.

μ•”ν˜Έν™” ν•΄μ‹œ ν•¨μˆ˜μ˜ νŠΉμ§•μ€ 단방ν–₯ μ΄λΌμ„œ μ—­μœΌλ‘œ 좔적이 거의 λΆˆκ°€λŠ₯ν•˜λ‹€.

λŒ€ν‘œμ μΈ ν•΄μ‹œ ν•¨μˆ˜λŠ” MD5 SHA-1 SHA-256 등이 μžˆλ‹€.

참고자료

http://www.itworld.co.kr/news/94202

HTTP ν”„λ‘œν† μ½œμ˜ μƒνƒœ μœ μ§€λ₯Ό ν•˜κΈ° μœ„ν•΄ Server κ°€ Client λ₯Ό 식별할 수 μžˆλ„λ‘ μ‚¬μš©ν•˜λŠ” 방식

곡톡점

μ‚¬μš©μžμ—κ²Œ λΉ λ₯΄κ²Œ μ„œλΉ„μŠ€λ₯Ό μ „λ‹¬ν•˜κΈ° μœ„ν•΄ 데이터λ₯Ό μ €μž₯ν•΄μ„œ μ‚¬μš©ν•œλ‹€.

차이점

  • Cookie
    • ν΄λΌμ΄μ–ΈνŠΈμ— μ €μž₯λ˜λŠ” 킀와 값이 λ“€μ–΄μžˆλŠ” μž‘μ€ 데이터 파일 (ν•˜λ‚˜λ‹Ή 4KB μ΄ν•˜)
    • 이름, κ°’, λ§Œλ£Œλ‚ μ§œ (μΏ ν‚€μ˜ μ €μž₯μ‹œκ°„), κ²½λ‘œμ •λ³΄ 등이 ν¬ν•¨λ˜μ–΄ 있으며 λ°˜λ“œμ‹œ μžλ£Œν˜•μ€ String 으둜 κ΅¬μ„±λœλ‹€.
    • μ‚¬μš©μžκ°€ μž„μ˜λ‘œ μΏ ν‚€ 데이터λ₯Ό μ €μž₯, μˆ˜μ •, μ‚­μ œν•  수 μžˆλ‹€.
    • μ‚¬μš©μžκ°€ λΈŒλΌμš°μ € μ„€μ •μœΌλ‘œ μΏ ν‚€μ˜ μ‚¬μš©μœ λ¬΄λ₯Ό μ„€μ •ν•  수 μžˆλ‹€.

HTTP μ „μ†‘μ‹œμ— μš”μ²­ 헀더에 μΏ ν‚€ 값이 λ“€μ–΄ μžˆμ–΄ μΏ ν‚€μ˜ μžλ£ŒλŸ‰ (데이터 μ‚¬μ΄μ¦ˆ) 이 큰 경우
μ˜€λ²„ν—€λ“œλ‘œ μΈν•œ μ›Ήμ„œλ²„ μ—λŸ¬κ°€ λ°œμƒ ν•  수 μžˆλ‹€.

  • Session

    • μ„œλ²„μ—μ„œ μ‚¬μš©ν•˜λŠ” ν΄λΌμ΄μ–ΈνŠΈ 인증 정보이닀.
    • μ„œλ²„λŠ” 접속 ν΄λΌμ΄μ–ΈνŠΈ λ³„λ‘œ μ„Έμ…˜μ„ μƒμ„±ν•΄μ„œ μ„Έμ…˜μ˜ ν•΄λ‹Ήν•˜λŠ” μΏ ν‚€ (Session ID) λ₯Ό ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ μƒμ„±ν•˜κ²Œ ν•˜κ³  이 ν΄λΌμ΄μ–ΈνŠΈλŠ” μ„œλ²„μ— 접속할 λ•Œλ§ˆλ‹€ ν•΄λ‹Ή μΏ ν‚€μ˜ κ°’ (Session ID) 을 μ„œλ²„μ— μ „μ†‘ν•˜μ—¬ μ„Έμ…˜μ„ μœ μ§€ν•˜κ²Œ ν•œλ‹€.
    • λΈŒλΌμš°μ €μ˜ 섀정에 관계없이 λ™μž‘ν•˜λ©°, μ„Έμ„  쑍보둜 Java 객체λ₯Ό μ €μž₯ν•  수 μžˆλ‹€.
  • Cache

    • 정적 μžμ›λ“€μ„ μ•ˆμ •μ μœΌλ‘œ μ„œλΉ„μŠ€ν•˜κΈ° μœ„ν•΄ 데이터λ₯Ό 미리 μ €μž₯해두고 μ œκ³΅ν•˜λŠ” 방식
    • ν”„λ‘μ‹œ (Proxy) μ„œλ²„μ—μ„œ 제곡