• Mindscape ๐Ÿ”ฅ
    • Playlist ๐ŸŽง
  • ๐Ÿค– Artifical Intelligence

    • 1. Basics; Linear Algebra
    • 2. Basics; Linear Algebra (2), Search (1)
    • 3. Search (2)
    • 4. Knowledge and Logic (1)
    • 5. Knowledge and Logic (2)
    • 6. Probability
    • 7. Information Theory
    • 8. Probabilitc Reasoning (2)
    • 9. Probabilitc Reasoning (3)
    • 10. Machine Learning (1)
    • 11. Machine Learning (2)
    • 12. Machine Learning (3)
    • 13. Linear Models
    • 14. Other Classic ML Models (1)
    • 15. Other Classic ML Models (2)
  • ๐Ÿ”’ Computer Security

    • 01. Overview
    • 02. ์ •๋ณด๋ณด์•ˆ์ •์ฑ… ๋ฐ ๋ฒ•๊ทœ
    • 03. Cryptographic Tools
    • 04. User Authentication
    • 05. Access Control
    • 06. Database Security
    • 07. Malicious Software
    • 08. Firmware Analysis
  • ๐Ÿ—„๏ธ Database System

    • 1. Introduction
    • 2. Relational Model
    • 3. SQL
    • 6. E-R Model
    • 7. Relational Database Design (1)
    • 7. Relational Database Design (2)
    • 13. Data Storage Structures
    • 14. Indexing
    • 15. Query Processing
  • ๐Ÿ“ Software Engineering

    • 2. Introduction to Software Engineering
    • 3. Process
    • 4. Process Models
    • 5. Agile
    • 6. Requirements
    • 7. Requirements Elicitation and Documentation
    • 8. Architecture
    • 9. Unified Modelling Language
    • 10. Object-Oriented Analysis
    • Object-Oriented Design
  • ๐Ÿง  Algorithm

    • Python ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ ํŒ
    • C++ std::vector ์‚ฌ์šฉ๋ฒ• ์ •๋ฆฌ
    • Vim ์‚ฌ์šฉ ๋งค๋‰ด์–ผ
    • 1018๋ฒˆ: ์ฒด์ŠคํŒ ๋‹ค์‹œ ์น ํ•˜๊ธฐ
    • 1966๋ฒˆ: ํ”„๋ฆฐํ„ฐ ํ

04. User Authentication

RFC 2828. ์‚ฌ์šฉ์ž ์ธ์ฆ์˜ ์ •์˜

์‹œ์Šคํ…œ ๊ฐœ์ฒด์— ์˜ํ•ด ๋˜๋Š” ์‹œ์Šคํ…œ ๊ฐœ์ฒด๋ฅผ ์œ„ํ•ด ์ฃผ์žฅ๋œ ์‹ ์›์„ ๊ฒ€์ฆํ•˜๋Š” ๊ณผ์ •

Authentication Process

  • Identification(์‹๋ณ„) ๋‹จ๊ณ„
    • ๋ณด์•ˆ ์‹œ์Šคํ…œ์— ์‹๋ณ„์ž(identifier)๋ฅผ ์ œ์‹œ
  • Verification(๊ฒ€์ฆ) ๋‹จ๊ณ„
    • ๊ฐœ์ฒด์™€ ์‹๋ณ„์ž ๊ฐ„์˜ ๋ฐ”์ธ๋”ฉ(binding)์„ ํ™•์ฆํ•˜๋Š” ์ธ์ฆ ์ •๋ณด๋ฅผ ์ œ์‹œํ•˜๊ฑฐ๋‚˜ ์ƒ์„ฑ
  • ๊ทผ๋ณธ์ ์ธ ๊ตฌ์„ฑ ์š”์†Œ์ด์ž ์ฃผ์š” ๋ฐฉ์–ด์„ 
  • ์ ‘๊ทผ ์ œ์–ด(access control) ๋ฐ user accountability์˜ ๊ธฐ๋ฐ˜

User Authentication

  • ์‚ฌ์šฉ์ž ์‹ ์›์„ ์ธ์ฆํ•˜๋Š” ๋„ค ๊ฐ€์ง€ ์ˆ˜๋‹จ
  1. ๊ฐœ์ธ์ด ์•„๋Š” ๊ฒƒ(Something the individual knows)
  • ์•”ํ˜ธ(Password), PIN, ์ •ํ•ด์ง„ ํŠน์ • ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋Œ€๋‹ต
  1. ๊ฐœ์ธ์ด ์†Œ์œ ํ•œ ๊ฒƒ(Something the individual possesses) (ํ† ํฐ)
  • ์Šค๋งˆํŠธ์นด๋“œ, ์ „์ž ์—ด์‡  ์นด๋“œ, ๋ฌผ๋ฆฌ์  ์—ด์‡ 
  1. ๊ฐœ์ธ์˜ ์กด์žฌ(Something the individual is) (์ •์ ์ธ ์ƒ์ฒด ์ •๋ณด, static biometrics)
  • ์ง€๋ฌธ, ๋ง๋ง‰(Retina), ์–ผ๊ตด
  1. ๊ฐœ์ธ์ด ํ•˜๋Š” ํ–‰๋™(Something the individual does) (๋™์ ์ธ ์ƒ์ฒด ์ •๋ณด, dynamic biometrics)
  • ์Œ์„ฑ ํŒจํ„ด, ํ•„์ฒด(handwriting), typing rhythm

Password Authentication

  • ์นจ์ž…์ž์— ๋Œ€ํ•œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹
  • ์‚ฌ์šฉ์ž๋Š” name/login๊ณผ password๋ฅผ ์ œ๊ณต
  • ์‹œ์Šคํ…œ์€ ํ•ด๋‹น ๋กœ๊ทธ์ธ์— ๋Œ€ํ•ด ์ €์žฅ๋œ ์•”ํ˜ธ์™€ ๋น„๊ตํ•˜์—ฌ, ๋งž์œผ๋ฉด ๋กœ๊ทธ์ธ์— ์„ฑ๊ณต
  • ์‚ฌ์šฉ์ž ID:
    • ์‚ฌ์šฉ์ž๊ฐ€ ์‹œ์Šคํ…œ์— ์ ‘๊ทผํ•  ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ๊ฒฐ์ •
    • ์‚ฌ์šฉ์ž์˜ ๊ถŒํ•œ์„ ๊ฒฐ์ •
    • ์ž„์˜ ์ ‘๊ทผ ์ œ์–ด(DAC, discretionary access control)์— ์‚ฌ์šฉ๋จ.

Password Vulnerabilities

  • ์˜คํ”„๋ผ์ธ ๋”•์…”๋„ˆ๋ฆฌ ๊ณต๊ฒฉ(Offline dictionary attack)
  • ํŠน์ • ๊ณ„์ • ๊ณต๊ฒฉ(Specific account attack): ํŠน์ • target user๋ฅผ ์ •ํ•ด์„œ, ๊ฐœ์ธ์ •๋ณด๋„ ํ•จ๊ป˜ ์•Œ์•„๋ƒ„
  • ์ฃผ์š”ํ•œ ์•”ํ˜ธ ๊ณต๊ฒฉ(Popular password attack): 1111 ๊ฐ™์€
  • ๋‹จ์ผ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์•”ํ˜ธ ์ถ”์ธก(Password guessing against single user)
  • ์›Œํฌ์Šคํ…Œ์ด์…˜ ํ•˜์ด์žฌํ‚น(Workstation hijacking): ์‚ฌ์šฉ์ž๊ฐ€ ์ž ์‹œ ์ž๋ฆฌ๋ฅผ ๋น„์šด ์‚ฌ์ด์— ๋ช…๋ น์–ด ์‹คํ–‰
  • ์‚ฌ์šฉ์ž ์‹ค์ˆ˜ ์•…์šฉ(Exploiting user mistakes): URL์„ ์ „์†กํ•˜๊ณ  ์ ‘์†ํ•˜์—ฌ ๋กœ๊ทธ์ธํ•˜๋ผ๋Š” ์‹
  • ๋‹ค์ค‘ ์•”ํ˜ธ ์‚ฌ์šฉ ์•…์šฉ(Exploiting multiple password use): ํ•˜๋‚˜์˜ PW๋ฅผ ์—ฌ๋Ÿฌ ์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ์ทจ์•ฝํ•œ ์‚ฌ์ดํŠธ์˜ ์ •๋ณด๋ฅผ ๋จผ์ € ์•Œ์•„๋ƒ„
  • ์ „์ž์  ๊ฐ์‹œ(Electronic monitoring): ์•”ํ˜ธํ™”๋˜์ง€ ์•Š๊ณ  ์ „์†ก๋˜๋Š” ๊ฒฝ์šฐ

Countermeasures

  • Password file์— ๋Œ€ํ•œ ๋ฌด๋‹จ ์ ‘๊ทผ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ํ†ต์ œ
  • ์นจ์ž… ํƒ์ง€(Intrusion detection) ์กฐ์น˜
  • ์•”ํ˜ธ๊ฐ€ ์œ ์ถœ๋œ ๊ฒฝ์šฐ ์‹ ์†ํ•œ ์•”ํ˜ธ ์žฌ๋ฐœ๊ธ‰ ์กฐ์น˜
  • ๊ณ„์ • ์ž ๊ธˆ(Account lockout) ๋ฉ”์ปค๋‹ˆ์ฆ˜: ๋ช‡ ๋ฒˆ ์ด์ƒ ํ‹€๋ฆฐ ๊ฒฝ์šฐ
  • ์‚ฌ์šฉ์ž๊ฐ€ ํ”ํ•œ, ๊ฐ„๋‹จํ•œ ์•”ํ˜ธ๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์„ ๊ธˆ์ง€ํ•˜๋Š” policy
  • ์•”ํ˜ธ ์ •์ฑ…์— ๋Œ€ํ•œ ๊ต์œก ๋ฐ ์‹œํ–‰
    • 9์ž ์ด์ƒ
    • ๋Œ€/์†Œ๋ฌธ์ž, ํŠน์ˆ˜ ๋ฌธ์ž, ์ˆซ์ž ๋“ฑ ํฌํ•จ
  • ์ž๋™ ์›Œํฌ์Šคํ…Œ์ด์…˜ ๋กœ๊ทธ์•„์›ƒ: ํ™”๋ฉด ์ž ๊ธˆ์žฅ์น˜ ๋“ฑ ํ†ตํ•ด์„œ
  • ๋„คํŠธ์›Œํฌ ์žฅ์น˜์—์„œ ์œ ์‚ฌํ•œ ์•”ํ˜ธ ์‚ฌ์šฉ์„ ๊ธˆ์ง€ํ•˜๋Š” policy

Use of Hashed Passwords (in UNIX)

์‚ฌ์šฉ์ž๊ฐ€ ์•”ํ˜ธ๋ฅผ ์„ค์ •ํ•˜๋ฉด,

  • Salt๋ผ๊ณ  ํ•˜๋Š” randomํ•œ ๊ฐ’์„ ํ•จ๊ป˜ concatnateํ•จ.
  • ์‹œ์Šคํ…œ์€ hash ํ•จ์ˆ˜(hash function)๋ฅผ ์ ์šฉํ•˜์—ฌ ์ด๋ฅผ ์•”ํ˜ธํ™”ํ•˜๊ณ , hash๊ฐ’์„ ์ €์žฅ.
  • ์ด์— ๋”ฐ๋ผ ID๋งˆ๋‹ค salt๊ฐ’์ด ๋‹ค๋ฅด๊ฒŒ ๋จ
  • ์‚ฌ์šฉ์ž ์•”ํ˜ธ ํŒŒ์ผ์— ์ €์žฅ๋œ hash๋œ ์•”ํ˜ธ์™€ ๋น„๊ตํ•˜์—ฌ ์ธ์ฆ์„ ์ˆ˜ํ–‰ - ๊ฐ™์œผ๋ฉด login ์„ฑ๊ณต

How Password Salt Works

  • Salt ๋ฏธ์‚ฌ์šฉ ์‹œ:
    1. ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉ์ž ID X์™€ ์•”ํ˜ธ P๋ฅผ ์ž…๋ ฅ.
    2. ์‹œ์Šคํ…œ์ด X์˜ ์•”ํ˜ธ์— ๋Œ€ํ•œ ์ €์žฅ๋œ hash H๋ฅผ ์กฐํšŒ.
    3. ์‹œ์Šคํ…œ์ด h(P)=Hh(P) = Hh(P)=H์ธ์ง€ ํ…Œ์ŠคํŠธ.
    • ์•”ํ˜ธ ํŒŒ์ผ: ... X: H ...
  • Salt ์‚ฌ์šฉ ์‹œ:
    1. ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉ์ž ID X์™€ ์•”ํ˜ธ P๋ฅผ ์ž…๋ ฅ.
    2. ์‹œ์Šคํ…œ์ด S์™€ H๋ฅผ ์กฐํšŒ. ์—ฌ๊ธฐ์„œ S๋Š” ์‚ฌ์šฉ์ž ID X์— ๋Œ€ํ•œ ๋ฌด์ž‘์œ„ salt(salt)์ด๊ณ  H๋Š” S์™€ X์˜ ์•”ํ˜ธ๋ฅผ ๊ฒฐํ•ฉํ•œ ๊ฐ’์˜ ์ €์žฅ๋œ hash.
    3. ์‹œ์Šคํ…œ์ด h(SโˆฃโˆฃP)=Hh(S||P) = Hh(SโˆฃโˆฃP)=H์ธ์ง€ ํ…Œ์ŠคํŠธ.
    • ์•”ํ˜ธ ํŒŒ์ผ: ... X: S, H ...

How Salt Increases Search Space Size

  • ๊ณต๊ฒฉ์ž๊ฐ€ ๊ณต๊ฒฉํ•˜๋ ค๋Š” ์‚ฌ์šฉ์ž ID์™€ ์—ฐ๊ด€๋œ salt๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด, salt๊ฐ€ ์ ์šฉ๋œ ์•”ํ˜ธ์— ๋Œ€ํ•œ ๋”•์…”๋„ˆ๋ฆฌ ๊ณต๊ฒฉ์˜ ํƒ์ƒ‰ ๊ณต๊ฐ„(search space) ํฌ๊ธฐ๋Š” 2Bร—D2^B \times D2Bร—D์ž„. ์—ฌ๊ธฐ์„œ BBB๋Š” ๋ฌด์ž‘์œ„ salt์˜ ๋น„ํŠธ ์ˆ˜์ด๊ณ  DDD๋Š” ๋”•์…”๋„ˆ๋ฆฌ ๊ณต๊ฒฉ์„ ์œ„ํ•œ ๋‹จ์–ด ๋ชฉ๋ก์˜ ํฌ๊ธฐ.
  • ์˜ˆ๋ฅผ ๋“ค์–ด, ์‹œ์Šคํ…œ์ด ๊ฐ ์‚ฌ์šฉ์ž ID์— ๋Œ€ํ•ด 32๋น„ํŠธ salt๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ 500,000๋‹จ์–ด dictionary์— ์žˆ๋Š” password๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒฝ์šฐ, salt๊ฐ€ ์ ์šฉ๋œ password๋ฅผ ๊ณต๊ฒฉํ•˜๊ธฐ ์œ„ํ•œ ํƒ์ƒ‰ ๊ณต๊ฐ„์€ 232ร—500,000=2,147,483,648,000,0002^{32} \times 500,000 = 2,147,483,648,000,000232ร—500,000=2,147,483,648,000,000์œผ๋กœ, ์ด๋Š” ์•ฝ 2์ฒœ์กฐ ์ด์ƒ.
  • ๊ณต๊ฒฉ์ž๊ฐ€ ์‚ฌ์šฉ์ž ID์— ๋Œ€ํ•œ salt password๋ฅผ ์ฐพ์•„๋‚ด๋”๋ผ๋„ ์˜ค์ง ํ•˜๋‚˜์˜ password๋งŒ ์•Œ๊ฒŒ ๋จ.

UNIX Implementation

  • ๊ธฐ์กด ๋ฐฉ์‹(Original scheme)
    • ์ตœ๋Œ€ 8๊ฐœ์˜ printable characters in length
    • DES ์•”ํ˜ธํ™”๋ฅผ ๋‹จ๋ฐฉํ–ฅ hash ํ•จ์ˆ˜๋กœ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด 12๋น„ํŠธ salt ์‚ฌ์šฉ
    • 0 ๊ฐ’์„ 25ํšŒ ๋ฐ˜๋ณต์ ์œผ๋กœ ์•”ํ˜ธํ™”
    • ์ถœ๋ ฅ์„ 11๊ฐœ์˜ ๋ฌธ์ž ์‹œํ€€์Šค๋กœ ๋ณ€ํ™˜
  • ํ˜„์žฌ๋Š” ๋ถ€์ ์ ˆํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋จ.
    • ์—ฌ์ „ํžˆ ๊ธฐ์กด ๊ณ„์ • ๊ด€๋ฆฌ ์†Œํ”„ํŠธ์›จ์–ด๋‚˜ ๋‹ค์ค‘ ๋ฒค๋” ํ™˜๊ฒฝ๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ์ข…์ข… ์š”๊ตฌ๋จ.

Improved Implementations

  • Unix์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ›จ์”ฌ ๊ฐ•๋ ฅํ•œ hash/salt ๋ฐฉ์‹
  • ๊ถŒ์žฅ๋˜๋Š” hash ํ•จ์ˆ˜๋Š” MD5์— ๊ธฐ๋ฐ˜ํ•จ.
    • ์ตœ๋Œ€ 48๋น„ํŠธ์˜ salt
    • ์•”ํ˜ธ ๊ธธ์ด๋Š” ๋ฌด์ œํ•œ
    • 128๋น„ํŠธ hash ์ƒ์„ฑ
    • ์†๋„ ์ €ํ•˜๋ฅผ ์œ„ํ•ด 1000ํšŒ ๋ฐ˜๋ณต๋˜๋Š” ๋‚ด๋ถ€ ๋ฃจํ”„ ์‚ฌ์šฉ
  • OpenBSD๋Š” Bcrypt๋ผ๋Š” Blowfish ๋ธ”๋ก ์•”ํ˜ธ ๊ธฐ๋ฐ˜ hash ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉ
    • Unix hash/salt ๋ฐฉ์‹ ์ค‘ ๊ฐ€์žฅ ์•ˆ์ „ํ•œ ๋ฒ„์ „
    • 128๋น„ํŠธ salt๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 192๋น„ํŠธ hash ๊ฐ’ ์ƒ์„ฑ

Password Cracking

  • ๋”•์…”๋„ˆ๋ฆฌ ๊ณต๊ฒฉ(Dictionary attacks)
    • ๊ฐ€๋Šฅํ•œ ์•”ํ˜ธ๋“ค์ด ํฌํ•จ๋œ ํฐ ๊ทœ๋ชจ์˜ ์‚ฌ์ „์„ ๊ฐœ๋ฐœํ•˜์—ฌ ์•”ํ˜ธ ํŒŒ์ผ๋“ค์— ๋Œ€ํ•ด ๊ฐ๊ฐ ์‹œ๋„
    • ๊ฐ ์•”ํ˜ธ๋Š” ๊ฐ salt๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ hash๋œ ํ›„ ์ €์žฅ๋œ hash๊ฐ’๊ณผ ๋น„๊ต๋˜์–ด์•ผ ํ•จ.
  • ๋ ˆ์ธ๋ณด์šฐ ํ…Œ์ด๋ธ” ๊ณต๊ฒฉ(Rainbow table attacks)
    • ๋ชจ๋“  salt์— ๋Œ€ํ•œ hash ๊ฐ’ ํ…Œ์ด๋ธ”์„ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐ
    • ๊ฑฐ๋Œ€ํ•œ hash๊ฐ’ ํ…Œ์ด๋ธ”
    • ์ถฉ๋ถ„ํžˆ ํฐ salt๊ฐ’๊ณผ ์ถฉ๋ถ„ํžˆ ๊ธด hash ๊ธธ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€์‘ ๊ฐ€๋Šฅ

Table 3.2 Passwords Cracked from a Sample Set of 13,797 Accounts

62,727๊ฐœ ๋‹จ์–ด ๊ทœ๋ชจ์˜ ๊ฐ„๋‹จํ•œ dictionary๋ฅผ ๊ฐ€์ง€๊ณ ๋„ ์ „์ฒด ์‚ฌ์šฉ์ž์˜ 24.2%์— ํ•ด๋‹นํ•˜๋Š” password๋ฅผ ํ•ดํ‚นํ•  ์ˆ˜ ์žˆ์—ˆ์Œ.

Password File Access Control

  • ์•”ํ˜ธํ™”๋œ ์•”ํ˜ธ์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ๊ฑฐ๋ถ€ํ•จ์œผ๋กœ์จ ์˜คํ”„๋ผ์ธ ์ถ”์ธก ๊ณต๊ฒฉ์„ ์ฐจ๋‹จ ๊ฐ€๋Šฅ
  • ๊ถŒํ•œ ์žˆ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ๋งŒ ์ ‘๊ทผ ํ—ˆ์šฉ
  • ์„€๋„์šฐ ์•”ํ˜ธ ํŒŒ์ผ(Shadow password file)
    • hash๋œ ์•”ํ˜ธ๊ฐ€ ์ €์žฅ๋˜๋Š” ์‚ฌ์šฉ์ž ID์™€๋Š” ๋ณ„๊ฐœ์˜ ํŒŒ์ผ
  • ์ทจ์•ฝ์ 
    • ํŒŒ์ผ ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•˜๋Š” OS์˜ ์•ฝ์ 
    • ๊ถŒํ•œ ์„ค์ • ์‹ค์ˆ˜๋กœ ํŒŒ์ผ์„ ์ฝ์„ ์ˆ˜ ์žˆ๊ฒŒ ๋จ
    • ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์—์„œ ๋™์ผํ•œ ์•”ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž
    • ๋ฐฑ์—… ๋ฏธ๋””์–ด๋กœ๋ถ€ํ„ฐ์˜ ์ ‘๊ทผ
    • ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์—์„œ plain text ์•”ํ˜ธ ์Šค๋‹ˆํ•‘(sniffing)

Password Selection Techniques

  1. ์‚ฌ์šฉ์ž ๊ต์œก(User education)
    • ์‚ฌ์šฉ์ž์—๊ฒŒ "์ถ”์ธกํ•˜๊ธฐ ์–ด๋ ค์šด" ์•”ํ˜ธ ์‚ฌ์šฉ์˜ ์ค‘์š”์„ฑ์„ ์•Œ๋ฆฌ๊ณ  ๊ฐ•๋ ฅํ•œ ์•”ํ˜ธ ์„ ํƒ์„ ์œ„ํ•œ guideline ์ œ๊ณต
  2. ์ปดํ“จํ„ฐ ์ƒ์„ฑ ์•”ํ˜ธ(Computer generated passwords)
    • ์‚ฌ์šฉ์ž๋“ค์ด ๊ธฐ์–ตํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์„ ๊ฒช์Œ.
  3. ์‚ฌํ›„ ์•”ํ˜ธ ๊ฒ€์‚ฌ(Reactive password checking)
    • ์‹œ์Šคํ…œ์ด ์ฃผ๊ธฐ์ ์œผ๋กœ ์ž์ฒด ์•”ํ˜ธ cracker๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์ถ”์ธก ๊ฐ€๋Šฅํ•œ ์•”ํ˜ธ๋ฅผ ์ฐพ์•„๋ƒ„.
  4. ์‚ฌ์ „ ์•”ํ˜ธ ๊ฒ€์‚ฌ(Proactive password checking)
    • ์‚ฌ์šฉ์ž๊ฐ€ ์ž์‹ ์˜ ์•”ํ˜ธ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•˜์ง€๋งŒ, ์‹œ์Šคํ…œ์€ ์•”ํ˜ธ๊ฐ€ ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธํ•˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๊ฑฐ๋ถ€ํ•จ.
    • ๋ชฉํ‘œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ์–ตํ•˜๊ธฐ ์‰ฌ์šด ์•”ํ˜ธ๋ฅผ ์„ ํƒํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋ฉด์„œ ์ถ”์ธก ๊ฐ€๋Šฅํ•œ ์•”ํ˜ธ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ.

Proactive Password Checking

  • ๊ทœ์น™ ๊ฐ•์ œ(Rule enforcement)
    • ์•”ํ˜ธ๊ฐ€ ์ค€์ˆ˜ํ•ด์•ผ ํ•˜๋Š” ํŠน์ • ๊ทœ์น™
  • ์•”ํ˜ธ ํฌ๋ž˜์ปค(Password cracker)
    • ์‚ฌ์šฉํ•˜์ง€ ๋ง์•„์•ผ ํ•  ์•”ํ˜ธ์˜ large dictionary๋ฅผ compile
  • ๋ธ”๋ฃธ ํ•„ํ„ฐ(Bloom filter)
    • hash๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ dictionary์— ๊ธฐ๋ฐ˜ํ•œ ํ…Œ์ด๋ธ”์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ
    • ์›ํ•˜๋Š” ์•”ํ˜ธ๋ฅผ ์ด ํ…Œ์ด๋ธ”๊ณผ ๋น„๊ตํ•˜์—ฌ ํ™•์ธ

Bloom Filter

  • Bloom filter๋Š” ์–ด๋–ค ํ•ญ๋ชฉ์ด ํŠน์ • ์ง‘ํ•ฉ์— ์†ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•๋ฅ ์ ์œผ๋กœ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ
  • ๊ฐ ํ•ญ๋ชฉ์„ ์—ฌ๋Ÿฌ hash ํ•จ์ˆ˜์— ํ†ต๊ณผ์‹œ์ผœ ๋น„ํŠธ ๋ฐฐ์—ด์˜ ํŠน์ • ์œ„์น˜๋ฅผ 1๋กœ ์„ค์ •
  • ํŠน์ • ํ•ญ๋ชฉ www์˜ ์†Œ์† ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ณ ์ž ํ•  ๋•Œ, ํ•ด๋‹น ํ•ญ๋ชฉ์„ ๋™์ผํ•œ hash ํ•จ์ˆ˜๋“ค๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋น„ํŠธ ๋ฐฐ์—ด์˜ ํ•ด๋‹น ์œ„์น˜๋“ค์ด ๋ชจ๋‘ 1์ธ์ง€ ํ™•์ธ ๋ชจ๋‘ 1์ด๋ฉด ํ•ด๋‹น ํ•ญ๋ชฉ์€ ์ง‘ํ•ฉ์— ์†ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค๊ณ  ํŒ๋‹จ
  • False Negative = 0
  • False Positive > 0 (์•ฝ๊ฐ„ ์žˆ์Œ)

Password Security โ€“ Login Scoring

  • Login Scoring
    • ์š”์ฒญ ๋ฐ์ดํ„ฐ:
      • IP ์ฃผ์†Œ(๋ฐ ํŒŒ์ƒ๋œ ๊ตญ๊ฐ€, ISP ๋“ฑ)
      • ๋ธŒ๋ผ์šฐ์ €์˜ ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ(user agent)(๋ฐ OS, ๋ฒ„์ „ ๋“ฑ)
      • ํƒ€์ž„์Šคํƒฌํ”„
      • ์ฟ ํ‚ค
    • Reputation scores(ํ‰ํŒ ์ ์ˆ˜)
      • ์ด์ „์— ๊ด€์ฐฐ๋œ ๊ณต๊ฒฉ IP
    • ์ „์—ญ ์นด์šดํ„ฐ
      • ISP ๋˜๋Š” ๊ตญ๊ฐ€ ์ˆ˜์ค€ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ
    • ํšŒ์›์˜ ์ด์ „ (์„ฑ๊ณต์ ์ธ) ๋กœ๊ทธ์ธ ๊ธฐ๋ก
  • ์‚ฌ์šฉ์ž๋ณ„ ๊ณต๊ฒฉ ๋ฐ์ดํ„ฐ๋Š” ์—†์Œ

์ผ์ • ์Šค์ฝ”์–ด ์ด์ƒ์ด๋ฉด ๋ฐ”๋กœ login ๋˜์ง€๋งŒ, ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋Š” ์ถ”๊ฐ€ ์ธ์ฆ์„ ์š”๊ตฌํ•˜๋Š”, ๊ธฐ์กด์˜ ํŒจํ„ด๊ณผ ์œ ์‚ฌํ•œ ํŒจํ„ด์ธ์ง€๋ฅผ score๋กœ ๋งค๊ธฐ๋Š” ๋ฐฉ์‹

Table 3.3 Types of Cards Used as Tokens

์นด๋“œ ์œ ํ˜•์ •์˜์  ํŠน์ง•์˜ˆ์‹œ
Embossed (์— ๋ณด์‹ฑ)์ „๋ฉด์—๋งŒ ์–‘๊ฐ ๋ฌธ์ž๊ตฌํ˜• ์‹ ์šฉ์นด๋“œ
Magnetic stripe (๋งˆ๊ทธ๋„คํ‹ฑ ์ŠคํŠธ๋ฆฝ)๋’ท๋ฉด์˜ ๋งˆ๊ทธ๋„คํ‹ฑ ๋ฐ”, ์ „๋ฉด์˜ ๋ฌธ์ž์€ํ–‰ ์นด๋“œ
Memory (๋ฉ”๋ชจ๋ฆฌ)๋‚ด๋ถ€์— ์ „์ž ๋ฉ”๋ชจ๋ฆฌ์„ ๋ถˆ ์ „ํ™”์นด๋“œ
Smart (์Šค๋งˆํŠธ)
- Contact (์ ‘์ด‰์‹)
- Contactless (๋น„์ ‘์ด‰์‹)
๋‚ด๋ถ€์— ์ „์ž ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ํ”„๋กœ์„ธ์„œ
ํ‘œ๋ฉด์— ๋…ธ์ถœ๋œ ์ „๊ธฐ ์ ‘์ 
๋‚ด๋ถ€์— ๋‚ด์žฅ๋œ radio ์•ˆํ…Œ๋‚˜
์ƒ์ฒด ์ธ์‹ ID ์นด๋“œ

Memory Cards ๋ฉ”๋ชจ๋ฆฌ ์นด๋“œ

  • ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ ์ฒ˜๋ฆฌํ•˜์ง€๋Š” ๋ชปํ•จ.
  • ๊ฐ€์žฅ ํ”ํ•œ ๊ฒƒ์€ ๋งˆ๊ทธ๋„คํ‹ฑ ์ŠคํŠธ๋ฆฝ ์นด๋“œ(magnetic stripe card).
  • ๋‚ด๋ถ€ ์ „์ž ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Œ.
  • ๋ฌผ๋ฆฌ์  ์ ‘๊ทผ์— ๋‹จ๋…์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    • ํ˜ธํ…” ๋ฃธ
    • ATM ๊ธฐ๊ณ„
  • ์•”ํ˜ธ๋‚˜ PIN๊ณผ ๊ฒฐํ•ฉ๋  ๋•Œ ํ›จ์”ฌ ๋” ๋†’์€ ๋ณด์•ˆ์„ ์ œ๊ณต (๋ถ„์‹คํ•  ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ)
  • ๋ฉ”๋ชจ๋ฆฌ ์นด๋“œ์˜ ๋‹จ์ :
    • specialํ•œ reader ํ•„์š”
    • ํ† ํฐ ๋ถ„์‹ค
    • ์‚ฌ์šฉ์ž ๋ถˆ๋งŒ์กฑ

Smartcard ์Šค๋งˆํŠธ ์นด๋“œ

  • ๋ฌผ๋ฆฌ์  ํŠน์ง•
    • ๋‚ด์žฅ๋œ ๋งˆ์ดํฌ๋กœํ”„๋กœ์„ธ์„œ(microprocessor) ํฌํ•จ, ์•ฝ๊ฐ„์˜ ๊ณ„์‚ฐ ์š”๊ตฌ
    • ์€ํ–‰ ์นด๋“œ์ฒ˜๋Ÿผ ์ƒ๊ธด ์Šค๋งˆํŠธ ํ† ํฐ
    • ๊ณ„์‚ฐ๊ธฐ, ์—ด์‡ , ์ž‘์€ ํœด๋Œ€์šฉ ๋ฌผ์ฒด์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜ ์žˆ์Œ.
  • ์ธํ„ฐํŽ˜์ด์Šค
    • ์ˆ˜๋™ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ƒํ˜ธ์ž‘์šฉ์„ ์œ„ํ•œ ํ‚คํŒจ๋“œ์™€ ๋””์Šคํ”Œ๋ ˆ์ด๋ฅผ ํฌํ•จ
    • ์ „์ž ์ธํ„ฐํŽ˜์ด์Šค๋Š” ํ˜ธํ™˜๋˜๋Š” reader/writer์™€ ํ†ต์‹ 
  • ์ธ์ฆ ํ”„๋กœํ† ์ฝœ
    • ์ •์ , ๋™์  ์•”ํ˜ธ ์ƒ์„ฑ๊ธฐ, ์ฑŒ๋ฆฐ์ง€-์‘๋‹ต(challenge-response)์˜ ์„ธ ๊ฐ€์ง€ ๋ฒ”์ฃผ๋กœ ๋ถ„๋ฅ˜

Figure 3.3 Smart Card Dimensions

์Šค๋งˆํŠธ ์นด๋“œ ์นฉ์€ ๋‚ด๋ถ€์ ์œผ๋กœ CPU, crypto coprocessor, RAM, ROM, ์ „๊ธฐ ์‹ ํ˜ธ๋ฅผ ๊ฐ€์ง€๊ณ  ์นฉ์„ ๋™์ž‘ํ•˜๊ฒŒ ํ•˜์—ฌ ๊ณ„์‚ฐํ•˜๋„๋ก ํ•จ.

Figure 3.4 Communication Initialization between a Smart Card and a Reader

  • reader๊ฐ€ ์ ‘์ ์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด, ์Šค๋งˆํŠธ ์นด๋“œ๋Š” ATR(Answer to Reset)์„ ์ „์†กํ•จ.
  • ๊ทธ ํ›„, reader๋Š” ๋ช…๋ น์„ ๋ณด๋‚ด๊ณ  ์Šค๋งˆํŠธ ์นด๋“œ๋Š” ๋ช…๋ น์„ ์‹คํ–‰ํ•œ ๋’ค ์‘๋‹ต์„ ๋ณด๋ƒ„.
  • ์ถœ์ฒ˜: [TUNS06] ๊ธฐ๋ฐ˜.

Biometric Authentication

  • ๊ณ ์œ ํ•œ ์‹ ์ฒด์  ํŠน์„ฑ์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ๊ฐœ์ธ์„ ์ธ์ฆํ•˜๋ ค๋Š” ์‹œ๋„
  • ํŒจํ„ด ์ธ์‹(pattern recognition)์— ๊ธฐ๋ฐ˜ํ•จ.
  • ์•”ํ˜ธ ๋ฐ ํ† ํฐ์— ๋น„ํ•ด ๊ธฐ์ˆ ์ ์œผ๋กœ ๋ณต์žกํ•˜๊ณ  ๋น„์šฉ์ด ๋งŽ์ด ๋“ฆ.
  • ์‚ฌ์šฉ๋˜๋Š” ์‹ ์ฒด์  ํŠน์ง•:
    • ์–ผ๊ตด ํŠน์ง•
    • ์ง€๋ฌธ
    • ์† ๋ชจ์–‘
    • ๋ง๋ง‰(Retina) ํŒจํ„ด
    • ํ™์ฑ„(Iris)
    • ์„œ๋ช…
    • ์Œ์„ฑ

Figure 3.5 Cost Versus Accuracy

  • ์ด graph๋Š” ๋‹ค์–‘ํ•œ ์ธ์ฆ ๋ฐฉ๋ฒ•์˜ ๋น„์šฉ๊ณผ ์ •ํ™•๋„ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋ณด์—ฌ์คŒ.
  • Iris๋Š” ์ •ํ™•๋„์™€ ๋น„์šฉ ๋ชจ๋‘ ๋†’์Œ - ๊ตฐ์‚ฌ์  ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ
  • Finger, Retina๋„ ์ •ํ™•์„ฑ ์ธก๋ฉด์—์„œ ๋†’์Œ.

Figure 3.6 Operation of a Biometric System

  • ์ผ๋ฐ˜์ ์ธ ์ƒ์ฒด ์ธ์‹ ์‹œ์Šคํ…œ์˜ ์ž‘๋™ ๋ฐฉ์‹
    • Enrollment(๋“ฑ๋ก)
    • Verification(์ธ์ฆ) - ์ •ํ™•ํžˆ ๊ฐ™์€ ๊ฐ’์ด ๋‚˜์˜ค์ง€๋Š” ์•Š์Œ, ๋”ฐ๋ผ์„œ ์–ด๋А ์ •๋„์˜ ์œ ์‚ฌ๋„๊ฐ€ ๋‚˜์˜ค๋ฉด ์ธ์ฆ ์„ฑ๊ณต์œผ๋กœ ๊ฐ„์ฃผํ•ด ์ฃผ์–ด์•ผ ํ•จ.
    • Identification(์‹๋ณ„)

Biometric Accuracy

  • ์˜ค๊ฑฐ๋ถ€์œจ(FRR, False Reject Rate): ์ •์ƒ์ ์ธ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฑฐ๋ถ€๋  ํ™•๋ฅ 
  • ์˜ค์ธ์‹๋ฅ (FAR, False Accept Rate): ๋น„์ •์ƒ์ ์ธ ์‚ฌ์šฉ์ž๊ฐ€ ์Šน์ธ๋  ํ™•๋ฅ 
  • ๋‘ ๋ถ„ํฌ ๊ณก์„ ์ด ๊ต์ฐจํ•˜๋Š” ์ง€์ ์„ ๊ต์ฐจ ์—๋Ÿฌ์œจ(CER, Crossover Error Rate) ๋˜๋Š” ๋“ฑ๊ฐ€ ์—๋Ÿฌ์œจ(EER, Equal Error Rate)์ด๋ผ ํ•จ.
    • ์ด ์ง€์ ์—์„œ FRR๊ณผ FAR์ด ๊ฐ™์•„์ง.

Biometric Measurement Operating Characteristic Curves

  • ROC(Receiver Operating Characteristic) ๊ณก์„ ์€ ๊ฒฐ์ • ์ž„๊ณ„๊ฐ’(decision threshold)์ด ๋ณ€ํ•จ์— ๋”ฐ๋ผ FAR๊ณผ FRR ๊ฐ„์˜ ์ƒ์ถฉ ๊ด€๊ณ„๋ฅผ ๋ณด์—ฌ์คŒ.
  • ์ด์ƒ์ ์ธ ์‹œ์Šคํ…œ์€ ๊ณก์„ ์ด ์™ผ์ชฝ ํ•˜๋‹จ ๋ชจ์„œ๋ฆฌ์— ๊ฐ€๊นŒ์›€(FAR๊ณผ FRR์ด ๋ชจ๋‘ 0์— ๊ฐ€๊นŒ์›€).
  • EER์€ ๊ณก์„ ์ด FAR=FRRFAR = FRRFAR=FRR์ธ ์„ ๊ณผ ๊ต์ฐจํ•˜๋Š” ์ง€์ .

Actual Biometric Measurement Operating Characteristic Curves

  • ์ด ๊ทธ๋ž˜ํ”„๋Š” ์ง€๋ฌธ, ์–ผ๊ตด, ์Œ์„ฑ์— ๋Œ€ํ•œ ์‹ค์ œ ROC ๊ณก์„ ์„ ๋ณด์—ฌ์คŒ.
  • ์ง€๋ฌธ ์ธ์‹์˜ ๊ฒฝ์šฐ false match rate๋ฅผ ๋‚ฎ์ถ”๋”๋ผ๋„ false nonmatch rate๊ฐ€ ํฌ๊ฒŒ ๋†’์•„์ง€์ง€ ์•Š์Œ
  • Iris์˜ ๊ฒฝ์šฐ ๋†’์€ ์ •ํ™•๋„๋กœ ๊ตฐ์‚ฌ์  ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ

Remote User Authentication

  • ๋„คํŠธ์›Œํฌ, ์ธํ„ฐ๋„ท ๋˜๋Š” ํ†ต์‹  ๋งํฌ๋ฅผ ํ†ตํ•œ ์ธ์ฆ์€ ๋” ๋ณต์žกํ•จ.
  • ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ถ”๊ฐ€์ ์ธ ๋ณด์•ˆ ์œ„ํ˜‘ ์กด์žฌ:
    • ๋„์ฒญ(eavesdropping), ์•”ํ˜ธ ์บก์ณ, ๊ด€์ฐฐ๋œ ์ธ์ฆ ์‹œํ€€์Šค ์žฌ์ „์†ก(replaying)
  • ์ผ๋ฐ˜์ ์œผ๋กœ ์œ„ํ˜‘์— ๋Œ€์‘ํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ํ˜•ํƒœ์˜ challenge-response ํ”„๋กœํ† ์ฝœ์— ์˜์กดํ•จ.

Figure 3.10a Password Protocol

์ฑŒ๋ฆฐ์ง€-์‘๋‹ต ํ”„๋กœํ† ์ฝœ์˜ ์˜ˆ์‹œ

  • ์‚ฌ์šฉ์ž๋Š” ์›๊ฒฉ ํ˜ธ์ŠคํŠธ์— ์‹ ์›์„ ์ „์†ก
  • ํ˜ธ์ŠคํŠธ๋Š” ์ž„์˜์˜ ์ˆซ์ž(๋…ผ์Šค, nonce)๋ฅผ ์ƒ์„ฑ
  • nonce๊ฐ€ ์‚ฌ์šฉ์ž์—๊ฒŒ return๋จ
  • ์‚ฌ์šฉ์ž๋Š” nonce์™€ ์•”ํ˜ธ hash๋ฅผ ์ž…๋ ฅ์œผ๋กœ ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ host์— ์ „์†ก
  • ํ˜ธ์ŠคํŠธ๋Š” ์•”ํ˜ธ์˜ hash ์ฝ”๋“œ๋ฅผ ์ €์žฅ
  • ์•”ํ˜ธ hash๊ฐ€ ์ธ์ž ์ค‘ ํ•˜๋‚˜์ธ ํ•จ์ˆ˜
  • ์ž„์˜์˜ ์ˆซ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ณต๊ฒฉ์ž๊ฐ€ ์‚ฌ์šฉ์ž ์ „์†ก์„ ์บก์ฒ˜ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๋ฐฉ์–ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋จ.

Figure 3.10c Static Biometric Protocol

  • ์ •์  ์ƒ์ฒด ์ธ์‹ ํ”„๋กœํ† ์ฝœ์˜ ์˜ˆ์‹œ
  • ์‚ฌ์šฉ์ž๋Š” ํ˜ธ์ŠคํŠธ์— ID๋ฅผ ์ „์†ก
  • ํ˜ธ์ŠคํŠธ๋Š” ์ž„์˜์˜ ์ˆซ์ž์™€ ์•”ํ˜ธํ™”๋ฅผ ์œ„ํ•œ ์‹๋ณ„์ž๋กœ ์‘๋‹ต
  • ํด๋ผ์ด์–ธํŠธ ์‹œ์Šคํ…œ์€ ์‚ฌ์šฉ์ž ์ธก์˜ ์ƒ์ฒด ์ธ์‹ ์žฅ์น˜๋ฅผ ์ œ์–ด
  • ํด๋ผ์ด์–ธํŠธ๋Š” ์ƒ์ฒด ์ •๋ณด๋ฅผ ์บก์ฒ˜ํ•˜์—ฌ ์ž„์˜์˜ ์ˆซ์ž๋กœ ์•”ํ˜ธํ™”ํ•œ ํ›„ ํ˜ธ์ŠคํŠธ์— ์ „์†ก
  • ํ˜ธ์ŠคํŠธ๋Š” ์ˆ˜์‹  ๋ฉ”์‹œ์ง€๋ฅผ ํ•ด๋…(decrypt)ํ•˜๊ณ  ๋กœ์ปฌ์— ์ €์žฅ๋œ ๊ฐ’๊ณผ ๋น„๊ต
  • ํ˜ธ์ŠคํŠธ๋Š” ์ˆ˜์‹ ๋œ ์žฅ์น˜ ID๋ฅผ ํ˜ธ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋“ฑ๋ก๋œ ์žฅ์น˜ ๋ชฉ๋ก๊ณผ ๋น„๊ตํ•˜์—ฌ ์ธ์ฆ์„ ์ œ๊ณต

Authentication Security Issues

  • ๋„์ฒญ(Eavesdropping)
    • ๊ณต๊ฒฉ์ž๊ฐ€ ์‚ฌ์šฉ์ž์™€์˜ ๋ฌผ๋ฆฌ์  ๊ทผ์ ‘์„ฑ์„ ํฌํ•จํ•˜๋Š” ์–ด๋–ค ์ข…๋ฅ˜์˜ ๊ณต๊ฒฉ์œผ๋กœ ์•”ํ˜ธ๋ฅผ ์•Œ์•„๋‚ด๋ ค๋Š” ์‹œ๋„
  • ํ˜ธ์ŠคํŠธ ๊ณต๊ฒฉ(Host attacks)
    • ์•”ํ˜ธ, ํ† ํฐ ํŒจ์Šค์ฝ”๋“œ ๋˜๋Š” ์ƒ์ฒด ์ธ์‹ ํ…œํ”Œ๋ฆฟ์ด ์„œ๋ฒ„์— ์ €์žฅ๋œ ํ˜ธ์ŠคํŠธ์˜ ์‚ฌ์šฉ์ž ํŒŒ์ผ์„ ๋Œ€์ƒ์œผ๋กœ ํ•จ
  • ์žฌ์ „์†ก(Replay)
    • ๊ณต๊ฒฉ์ž๊ฐ€ ์ด์ „์— ์บก์ฒ˜ํ•œ ์‚ฌ์šฉ์ž ์‘๋‹ต์„ ๋ฐ˜๋ณตํ•˜์—ฌ ์ „์†กํ•˜๋Š” ๊ณต๊ฒฉ
  • ํด๋ผ์ด์–ธํŠธ ๊ณต๊ฒฉ(Client attacks)
    • ๊ณต๊ฒฉ์ž๊ฐ€ ์›๊ฒฉ ํ˜ธ์ŠคํŠธ๋‚˜ ์ค‘๊ฐ„ ํ†ต์‹  ๊ฒฝ๋กœ์— ์ ‘๊ทผํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉ์ž ์ธ์ฆ์„ ๋‹ฌ์„ฑํ•˜๋ ค๋Š” ์‹œ๋„
  • ํŠธ๋กœ์ด ๋ชฉ๋งˆ(Trojan horse)
    • ์‚ฌ์šฉ์ž ์•”ํ˜ธ, ํŒจ์Šค์ฝ”๋“œ ๋˜๋Š” ์ƒ์ฒด ์ธ์‹์„ ์บก์ณํ•  ๋ชฉ์ ์œผ๋กœ ์ง„์งœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ device์ธ ๊ฒƒ์ฒ˜๋Ÿผ ์œ„์žฅํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋˜๋Š” ๋ฌผ๋ฆฌ์  device
  • ์„œ๋น„์Šค ๊ฑฐ๋ถ€(Denial-of-service)
    • ์ˆ˜๋งŽ์€ ์ธ์ฆ ์‹œ๋„๋กœ ์‚ฌ์šฉ์ž ์ธ์ฆ ์„œ๋น„์Šค๋ฅผ ๋งˆ๋น„์‹œํ‚ค๋ ค๋Š” ์‹œ๋„

Practical Application: Iris Biometric System

ํ™์ฑ„ ์ธ์‹ ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•œ login ์‹œ์Šคํ…œ์˜ ์‹ค์ œ ์ ์šฉ ์‚ฌ๋ก€

Cloud Security using User Authentication

  • ์—์ด์ „ํŠธ ์—†๋Š” ์‚ฌ์šฉ์ž ์ธ์ฆ(๋„คํŠธ์›Œํฌ ๊ธฐ๋ฐ˜)
    • ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์ด ์ •์ƒ์ธ๊ฐ€? -> ์ฃผ๊ธฐ์  ์š”์ฒญ -> ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ
  • ์—์ด์ „ํŠธ ๊ธฐ๋ฐ˜ ์‚ฌ์šฉ์ž ์ธ์ฆ(Challenge-response ๊ธฐ๋ฐ˜)
    • ์‚ฌ์šฉ์ž ํŒจํ„ด์ด ์ •์ƒ์ธ๊ฐ€? -> ์ •์ƒ์ด ์•„๋‹ˆ๋ฉด, ์‚ฌ์šฉ์ž๋ฅผ ๋‹ค์‹œ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ฑŒ๋ฆฐ์ง€๋ฅผ ๋งŒ๋“ค์–ด ์ „์†ก! -> ์ฑŒ๋ฆฐ์ง€(์ด๋ฒคํŠธ) -> ์‘๋‹ต(ํ–‰๋™ ํŒจํ„ด) -> ํ˜„์žฌ ํ–‰๋™ ํŒจํ„ด

Continuous Authentication

  • ํ”„๋ ˆ์ž„์›Œํฌ Initial Login Authentication -> Continuous Authentication <-> Enrollment Temlate Update <-> Re-login Authentication
  • ์ƒ์ฒด์ธ์‹(Biometrics)
    • ์†Œํ”„ํŠธ ์ƒ์ฒด์ธ์‹(Soft biometric)
      • "๊ฐœ์ธ์— ๋Œ€ํ•œ ์ผ๋ถ€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜์ง€๋งŒ, ๋‘ ๊ฐœ์ธ์„ ์ถฉ๋ถ„ํžˆ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๋…ํŠนํ•จ์ด ๋ถ€์กฑํ•œ ํŠน์„ฑ"์œผ๋กœ ์ •์˜๋จ.
      • ์˜ˆ: ์„ฑ๋ณ„, ๋ฏผ์กฑ, ๋ˆˆ/ํ”ผ๋ถ€/๋จธ๋ฆฌ ์ƒ‰๊น”, ํ‚ค, ๋ชธ๋ฌด๊ฒŒ ๋“ฑ
    • ํ•˜๋“œ ์ƒ์ฒด์ธ์‹(Hard biometric)
      • ์˜ˆ: ์ง€๋ฌธ, ์–ผ๊ตด, ํ™์ฑ„, ์†๋ฐ”๋‹ฅ ์ •๋งฅ

Continuous Authentication - Examples

  • PC์˜ ์›น์บ (Web-CAM) ์‚ฌ์šฉ
    • ์–ผ๊ตด์ด๋‚˜ ์˜ท์ฐจ๋ฆผ ๋“ฑ
  • ๋ชจ๋ฐ”์ผ ์žฅ์น˜์˜ ์„ผ์„œ ์‚ฌ์šฉ
    • ์ˆ˜๋งŽ์€ sensor๋“ค์ด ์žˆ๊ณ , ์ด ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ ํŒ๋‹จ
    • Mobile device์˜ ๊ฐ€์†๋„๊ณ„(accelerometer) ์‚ฌ์šฉ
    • ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ์‚ฌ๋žŒ(Person A, Person B)์˜ ๊ฑธ์Œ๊ฑธ์ด์—์„œ ์ธก์ •๋œ ๊ฐ€์†๋„๊ณ„ ๋ฐ์ดํ„ฐ(x, y, z์ถ•)๋Š” ๋šœ๋ ทํ•˜๊ฒŒ ๋‹ค๋ฅธ ํŒจํ„ด์„ ๋ณด์ž„.

Authentication System

  • ์‚ฌ์šฉ์ž ๋“ฑ๋ก(ํ•™์Šต/Modeling) ๊ณผ์ •
    1. ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ์ถ”์ถœ
    2. ํŠน์ง• ๊ณ„์‚ฐ
    3. ํŠน์ง• DB์— ์ €์žฅ
    4. ์ €์žฅ๋œ ํŠน์ง• DB๋กœ ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ(Random Forest) ๋ชจ๋ธ ํ•™์Šต
  • ์‚ฌ์šฉ์ž ์ธ์ฆ(Testing) ๊ณผ์ •
    1. ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ์ถ”์ถœ
    2. ํŠน์ง• ๊ณ„์‚ฐ
    3. ํŠน์ง•์„ ๋ถ„๋ฅ˜ ๋ชจ๋ธ(์˜ˆ: ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ)์„ ์‚ฌ์šฉํ•˜์—ฌ ์˜ˆ์ธก
    4. ํ˜„์žฌ ์‚ฌ์šฉ์ž์ธ์ง€ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์ธ์ฆ ์„ฑ๊ณต ๋˜๋Š” ์‹คํŒจ ๊ฒฐ์ •

Summary

  • ์‚ฌ์šฉ์ž ์‹ ์› ์ธ์ฆ์˜ ๋„ค ๊ฐ€์ง€ ์ˆ˜๋‹จ
    • ๊ฐœ์ธ์ด ์•„๋Š” ๊ฒƒ
    • ๊ฐœ์ธ์ด ์†Œ์œ ํ•œ ๊ฒƒ
    • ๊ฐœ์ธ์˜ ์กด์žฌ
    • ๊ฐœ์ธ์ด ํ•˜๋Š” ํ–‰๋™
  • ์•”ํ˜ธ์˜ ์ทจ์•ฝ์ 
    • ์˜คํ”„๋ผ์ธ dictionary attack, ํŠน์ • ๊ณ„์ • ๊ณต๊ฒฉ, ์ธ๊ธฐ ์žˆ๋Š” ์•”ํ˜ธ ๊ณต๊ฒฉ, ๋‹จ์ผ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์•”ํ˜ธ ์ถ”์ธก, ์›Œํฌ์Šคํ…Œ์ด์…˜ ํ•˜์ด์žฌํ‚น, ์‚ฌ์šฉ์ž ์‹ค์ˆ˜ ์•…์šฉ, ๋‹ค์ค‘ ์•”ํ˜ธ ์‚ฌ์šฉ ์•…์šฉ, ์ „์ž์  ๊ฐ์‹œ
  • hash๋œ ์•”ํ˜ธ์™€ salt๊ฐ’
  • ์•”ํ˜ธ ํŒŒ์ผ ์ ‘๊ทผ ์ œ์–ด
  • ์•”ํ˜ธ ์„ ํƒ ์ „๋žต
    • ์‚ฌ์šฉ์ž ๊ต์œก
    • ์ปดํ“จํ„ฐ ์ƒ์„ฑ ์•”ํ˜ธ
    • ์‚ฌํ›„ ์•”ํ˜ธ ๊ฒ€์‚ฌ
    • ์‚ฌ์ „ ์•”ํ˜ธ ๊ฒ€์‚ฌ
    • ๋ธ”๋ฃธ ํ•„ํ„ฐ
  • ํ† ํฐ ๊ธฐ๋ฐ˜ ์ธ์ฆ
    • ๋ฉ”๋ชจ๋ฆฌ ์นด๋“œ
    • ์Šค๋งˆํŠธ ์นด๋“œ
  • ์ƒ์ฒด ์ธ์‹ ์ธ์ฆ
  • ์›๊ฒฉ ์‚ฌ์šฉ์ž ์ธ์ฆ
    • ์•”ํ˜ธ ํ”„๋กœํ† ์ฝœ
    • ํ† ํฐ ํ”„๋กœํ† ์ฝœ
    • ์ •์  ์ƒ์ฒด ์ธ์‹ ํ”„๋กœํ† ์ฝœ
    • ๋™์  ์ƒ์ฒด ์ธ์‹ ํ”„๋กœํ† ์ฝœ
์ตœ๊ทผ ์ˆ˜์ •: 25. 11. 6. ์˜คํ›„ 12:07
Contributors: kmbzn
Prev
03. Cryptographic Tools
Next
05. Access Control

BUILT WITH

CloudflareNode.jsGitHubGitVue.jsJavaScriptVSCodenpm

All trademarks and logos are property of their respective owners.
ยฉ 2025 kmbzn ยท MIT License