03. Cryptographic Tools
Contents
- Symmetric Encryption
- Message Confidentiality
- Secure Hash Function
- Public Key Encryption
Encryption and Message authentication
- Encryption (์ํธํ): ๋ฐ์ดํฐ ๋ณดํธ๋ฅผ ์ํด ์ํธํ ํ์
- Confidentiality (๊ธฐ๋ฐ์ฑ) ๋ฐ Integrity (๋ฌด๊ฒฐ์ฑ) ์ ๊ณต ๊ฐ๋ฅ
- Symmetric encryption (๋์นญ ์ํธ) ๋ฐ Asymmetric encryption (๋น๋์นญ ์ํธ)
- Message authentication (๋ฉ์์ง ์ธ์ฆ)
- Integrity๋ ์ ๊ณต ๊ฐ๋ฅํ์ง๋ง, confidentiality๋ ์ ๊ณต ๋ถ๊ฐ
Symmetric Encryption
- ์ ์ก๋๊ฑฐ๋ ์ ์ฅ๋ ๋ฐ์ดํฐ์ confidentiality๋ฅผ ์ ๊ณตํ๊ธฐ ์ํ ๋ณดํธ์ ์ธ ๊ธฐ์
- Conventional encryption (๊ด์ฉ ์ํธ) ๋๋ single-key encryption (๋จ์ผํค ์ํธ)๋ผ๊ณ ๋ ํจ
- ์์ ํ ์ฌ์ฉ์ ์ํ ๋ ๊ฐ์ง ์๊ตฌ์ฌํญ:
- ๊ฐ๋ ฅํ ์ํธํ ์๊ณ ๋ฆฌ์ฆ ํ์
- ์ก์ ์์ ์์ ์๋ ์์ ํ ๋ฐฉ์์ผ๋ก secret key (๋น๋ฐํค) ์ฌ๋ณธ์ ํ๋ํ๊ณ ํค๋ฅผ ์์ ํ๊ฒ ์ ์งํด์ผ ํจ
- Public-key encryption (๊ณต๊ฐํค ์ํธ) ์ด์ ์ธ 1970๋ ๋๊น์ง ์ ์ผํ ๋์
- ์ฌ์ ํ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋์
- 5๊ฐ์ง ๊ตฌ์ฑ ์์:
- Plaintext (ํ๋ฌธ)
- Encryption algorithm (์ํธํ ์๊ณ ๋ฆฌ์ฆ)
- Secret key (๋น๋ฐํค)
- Ciphertext (์ํธ๋ฌธ)
- Decryption algorithm (๋ณตํธํ ์๊ณ ๋ฆฌ์ฆ)
Cryptography
- ์ธ ๊ฐ์ง ๋
๋ฆฝ์ ์ธ ์ฐจ์์ผ๋ก ๋ถ๋ฅ๋จ:
- Plaintext๋ฅผ ciphertext๋ก ๋ณํํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ฐ์ฐ ์ ํ
- Substitution (์นํ): plaintext์ ๊ฐ ์์๊ฐ ๋ค๋ฅธ ์์๋ก ๋งคํ๋จ
- Transposition (์ ์น): plaintext์ ์์๊ฐ ์ฌ๋ฐฐ์ด๋จ
- ์ฌ์ฉ๋๋ ํค์ ์
- ์ก์ ์์ ์์ ์๊ฐ ๋์ผํ ํค ์ฌ์ฉ โ symmetric (๋์นญ)
- ์ก์ ์์ ์์ ์๊ฐ ๊ฐ๊ฐ ๋ค๋ฅธ ํค ์ฌ์ฉ โ asymmetric (๋น๋์นญ)
- Plaintext๊ฐ ์ฒ๋ฆฌ๋๋ ๋ฐฉ์
- Block cipher (๋ธ๋ก ์ํธ): ํ ๋ฒ์ ํ ๋ธ๋ก์ ์์๋ฅผ ์ฒ๋ฆฌ
- Stream cipher (์คํธ๋ฆผ ์ํธ): ์ ๋ ฅ ์์๋ฅผ ์ฐ์์ ์ผ๋ก ์ฒ๋ฆฌ
- Plaintext๋ฅผ ciphertext๋ก ๋ณํํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ฐ์ฐ ์ ํ
Cryptanalytic Attacks
- Cryptanalytic Attack
- ์์กดํ๋ ๊ฒ:
- ์๊ณ ๋ฆฌ์ฆ์ ํน์ฑ
- plaintext์ ์ผ๋ฐ์ ์ธ ํน์ฑ์ ๋ํ ์ผ๋ถ ์ง์
- ์ผ๋ถ plaintext-ciphertext ์ ์ํ
- ์๊ณ ๋ฆฌ์ฆ์ ํน์ฑ์ ์ด์ฉํ์ฌ ํน์ plaintext ๋๋ ์ฌ์ฉ ์ค์ธ ํค๋ฅผ ์ถ๋ก ์๋
- ์ฑ๊ณต ์, ํด๋น ํค๋ก ์ํธํ๋ ๋ชจ๋ ๋ฏธ๋ ๋ฐ ๊ณผ๊ฑฐ ๋ฉ์์ง๊ฐ ์์๋จ
- ์์กดํ๋ ๊ฒ:
- Brute-Force Attack (์ ์ฌ ๊ณต๊ฒฉ)
- ์ผ๋ถ ciphertext์ ๋ํด ํด๋ ๊ฐ๋ฅํ plaintext ๋ฒ์ญ์ด ์ป์ด์ง ๋๊น์ง ๋ชจ๋ ๊ฐ๋ฅํ ํค๋ฅผ ์๋
- ์ฑ๊ณต์ ์ํด ํ๊ท ์ ์ผ๋ก ๋ชจ๋ ๊ฐ๋ฅํ ํค์ ์ ๋ฐ์ ์๋ํด์ผ ํจ
Cryptanalysis
- ๊ณต๊ฒฉ ์ ํ
- Cryptanalyst (์ํธ ๋ถ์๊ฐ)์๊ฒ ์๋ ค์ง ์ ๋ณด
Computationally Secure Encryption Schemes
- ์ํธํ๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ computationally secure (๊ณ์ฐ์ ์ผ๋ก ์์ )ํจ:
- ์ํธ ํด๋ ๋น์ฉ์ด ์ ๋ณด์ ๊ฐ์น๋ฅผ ์ด๊ณผ
- ์ํธ ํด๋ ์ ํ์ํ ์๊ฐ์ด ์ ๋ณด์ ์ ํจ ์๋ช ์ ์ด๊ณผ
- ์ผ๋ฐ์ ์ผ๋ก ํด๋ ์ ํ์ํ ๋ ธ๋ ฅ์ ์์ ์ถ์ ํ๊ธฐ ๋งค์ฐ ์ด๋ ค์
- Brute-force attack์ ์๊ฐ/๋น์ฉ์ ์ถ์ ๊ฐ๋ฅ
Attacking Symmetric Encryption
- Brute-Force Attack
- ์ผ๋ถ ciphertext์ ๋ํด ํด๋ ๊ฐ๋ฅํ plaintext ๋ฒ์ญ์ด ์ป์ด์ง ๋๊น์ง ๋ชจ๋ ๊ฐ๋ฅํ ํค๋ฅผ ์๋
- ์ฑ๊ณต์ ์ํด ํ๊ท ์ ์ผ๋ก ๋ชจ๋ ๊ฐ๋ฅํ ํค์ ์ ๋ฐ์ ์๋ํด์ผ ํจ
- Average Time Required for Exhaustive Key Search (์ ์ ํค ํ์์ ํ์ํ ํ๊ท ์๊ฐ)
Figure 2.2 Time to Break a Code
- (10^6 decryptions/ms ๊ฐ์ ์)
- ๊ทธ๋ํ๋ symmetric encryption ์๊ณ ๋ฆฌ์ฆ์ด ๋ชจ๋ ๊ฐ๋ฅํ ํค๋ฅผ ์๋ํ๋ brute-force ๋ฐฉ์์ผ๋ก ๊ณต๊ฒฉ๋ฐ๋๋ค๊ณ ๊ฐ์ ํจ
Table 2.2 Comparison of Three Popular Symmetric Encryption Algorithms
- ์ธ ๊ฐ์ง ์ ๋ช ๋์นญ ์ํธํ ์๊ณ ๋ฆฌ์ฆ ๋น๊ต
Feistel Cipher Structure
Block Cipher Structure
- Symmetric block cipher๋ ๋ค์์ผ๋ก ๊ตฌ์ฑ๋จ:
- A sequence of rounds (๋ผ์ด๋์ ์ฐ์)
- ํค์ ์ํด ์ ์ด๋๋ substitutions ๋ฐ permutations (์นํ ๋ฐ ์์ด)
- ๋งค๊ฐ๋ณ์ ๋ฐ ์ค๊ณ ํน์ง:
- Block size (๋ธ๋ก ํฌ๊ธฐ)
- Key size (ํค ํฌ๊ธฐ)
- Number of rounds (๋ผ์ด๋ ์)
- Subkey generation algorithm (์๋ธํค ์์ฑ ์๊ณ ๋ฆฌ์ฆ)
- Round function (๋ผ์ด๋ ํจ์)
- Fast software encryption/decryption (๋น ๋ฅธ ์ํํธ์จ์ด ์ํธํ/๋ณตํธํ)
- Ease of analysis (๋ถ์์ ์ฉ์ด์ฑ)
Data Encryption Standard (DES)
- ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋์๋ ์ํธํ ๋ฐฉ์
- FIPS PUB 46
- Data Encryption Algorithm (DEA)๋ผ๊ณ ๋ ํจ
- Feistel network์ ์ฌ์ํ ๋ณํ
- 64-bit plaintext block๊ณผ 56-bit key๋ฅผ ์ฌ์ฉํ์ฌ 64-bit ciphertext block ์์ฑ
- ๊ฐ๋์ ๋ํ ์ฐ๋ ค:
- ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ์ฐ๋ ค
- DES๋ ํ์กดํ๋ ๊ฐ์ฅ ๋ง์ด ์ฐ๊ตฌ๋ ์ํธํ ์๊ณ ๋ฆฌ์ฆ
- 56-bit key์ ์ฌ์ฉ
- Electronic Frontier Foundation (EFF)๋ 1998๋ 7์ DES ์ํธํ๋ฅผ ํด๋ ํ๋ค๊ณ ๋ฐํ
Triple DES (3DES)
- ๊ธฐ๋ณธ DES ์๊ณ ๋ฆฌ์ฆ์ ๋ ๊ฐ ๋๋ ์ธ ๊ฐ์ ๊ณ ์ ํ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ธ ๋ฒ ๋ฐ๋ณต
- ์ฅ์ :
- 168-bit ํค ๊ธธ์ด๋ DES์ brute-force attack์ ๋ํ ์ทจ์ฝ์ ์ ๊ทน๋ณต
- ๊ธฐ๋ณธ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ด DES์ ๋์ผ
- ๋จ์ :
- ์๊ณ ๋ฆฌ์ฆ์ด ์ํํธ์จ์ด์์ ๋๋ฆผ
- 64-bit ๋ธ๋ก ํฌ๊ธฐ๋ฅผ ์ฌ์ฉ
- ์ฒ์์๋ ๊ธ์ต ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉ๋จ
- 1999๋ DES FIPS PUB 46-3 ํ์ค์ ํฌํจ
- ์ธ ๊ฐ์ ํค์ ์ธ ๋ฒ์ DES ์คํ์ ์ฌ์ฉ:
- ๋ณตํธํ๋ ํค๋ฅผ ์ญ์์ผ๋ก ์ฌ์ฉํ์ฌ ๋์ผํ๊ฒ ์ํ
- ๋ ๋ฒ์งธ ๋จ๊ณ์์ ๋ณตํธํ๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ์กด DES ์ฌ์ฉ์์์ ํธํ์ฑ ์ ๊ณต
- ์ ํจ 168-bit ํค ๊ธธ์ด, ๋๋ฆฌ์ง๋ง ์์ ํจ
- AES๊ฐ ๊ฒฐ๊ตญ 3DES๋ฅผ ๋์ฒดํ ๊ฒ์
Advanced Encryption Standard (AES)
- 3DES๋ฅผ ๋์ฒดํ ํ์์ฑ ๋ฐ์
- 3DES๋ ์ฅ๊ธฐ์ ์ธ ์ฌ์ฉ์ ํฉ๋ฆฌ์ ์ด์ง ์์์
- NIST๋ 1997๋
์๋ก์ด AES๋ฅผ ์ํ ์ ์์ ์์ฒญ
- 3DES์ ๋๋ฑํ๊ฑฐ๋ ๋ ๋์ ๋ณด์ ๊ฐ๋๋ฅผ ๊ฐ์ ธ์ผ ํจ
- ํจ์จ์ฑ์ด ํฌ๊ฒ ํฅ์๋์ด์ผ ํจ
- Symmetric block cipher
- 128-bit ๋ฐ์ดํฐ ๋ฐ 128/192/256-bit ํค
- 2001๋ 11์ Rijndael์ ์ ์
- FIPS 197๋ก ๋ฐํ๋จ
AES Round Structure
Table 20.2 (a) S-box
Table 20.2(b) Inverse S-box
Shift Rows
- ์ํธํ ์ State์ ๊ฐ ํ์ ๊ฐ๊ฐ 0, 1, 2, 3 ๋ฐ์ดํธ์ฉ ์ผ์ชฝ์ผ๋ก ํ์
- ๋ณตํธํ๋ ๋ฐ๋๋ก ์ํ
- ๊ฐ๋ณ ๋ฐ์ดํธ๋ฅผ ํ ์ด์์ ๋ค๋ฅธ ์ด๋ก ์ด๋์ํค๊ณ ๋ฐ์ดํธ๋ฅผ ์ด์ ๊ฑธ์ณ ๋ถ์ฐ์ํค๊ธฐ ์ํจ
Mix Columns and Add Key
- Mix columns
- ๊ฐ ์ด์ ๋ํด ๊ฐ๋ณ์ ์ผ๋ก ์๋
- ๊ฐ ๋ฐ์ดํธ๋ฅผ ํด๋น ์ด์ ๋ค ๋ฐ์ดํธ ๋ชจ๋์ ํจ์์ธ ์ ๊ฐ์ผ๋ก ๋งคํ
- ์ ํ์ฒด ์์ ๋ฐฉ์ ์์ ์ฌ์ฉ
- ์ด ๋ด ๋ฐ์ดํธ์ ์ข์ ํผํฉ์ ์ ๊ณตํ๊ธฐ ์ํจ
- Add round key
- ๋จ์ํ State๋ฅผ ํ์ฅ๋ ํค์ ๋นํธ๋ค๊ณผ
XOR์ฐ์ฐ - ๋ผ์ด๋ ํค ํ์ฅ ๋ฐ AES์ ๋ค๋ฅธ ๋จ๊ณ์ ๋ณต์ก์ฑ์ผ๋ก๋ถํฐ ๋ณด์์ฑ ํ๋ณด
- ๋จ์ํ State๋ฅผ ํ์ฅ๋ ํค์ ๋นํธ๋ค๊ณผ
Practical Security Issues
- ์ผ๋ฐ์ ์ผ๋ก symmetric encryption์ ๋จ์ผ 64-bit ๋๋ 128-bit ๋ธ๋ก๋ณด๋ค ํฐ ๋ฐ์ดํฐ ๋จ์์ ์ ์ฉ๋จ
- Electronic codebook (ECB) ๋ชจ๋๋ ๋ค์ค ๋ธ๋ก ์ํธํ์ ๋ํ ๊ฐ์ฅ ๊ฐ๋จํ ์ ๊ทผ ๋ฐฉ์
- ๊ฐ plaintext ๋ธ๋ก์ ๋์ผํ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ํธํ๋จ
- Cryptanalyst๊ฐ plaintext์ ๊ท์น์ฑ์ ์ ์ฉํ ์ ์์
- Modes of operation (์ด์ ๋ชจ๋)
- ๊ธด ์ํ์ค์ ๋ํ symmetric block encryption์ ๋ณด์์ ๋์ด๊ธฐ ์ํด ๊ฐ๋ฐ๋ ๋์ ๊ธฐ์
- ECB์ ์ฝ์ ์ ๊ทน๋ณต
Modes of Operation
Electronic Codebook (ECB)
- ๊ฐ์ฅ ๊ฐ๋จํ ๋ชจ๋
- Plaintext๋ b ๋นํธ ๋จ์๋ก ์ฒ๋ฆฌ๋๋ฉฐ ๊ฐ ๋ธ๋ก์ ๋์ผํ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ํธํ๋จ
- ๊ฐ plaintext ๋ธ๋ก์ ๋ํด ๊ณ ์ ํ ciphertext ๊ฐ์ด ์์ผ๋ฏ๋ก "์ฝ๋๋ถ"์ด๋ผ ๋ถ๋ฆผ
- ๋ฐ๋ณต๋๋ plaintext๊ฐ ๋ฐ๋ณต๋๋ ciphertext์์ ๋ณด์ด๊ธฐ ๋๋ฌธ์ ๊ธด ๋ฉ์์ง์ ๋ํด ์์ ํ์ง ์์
- ๋ณด์ ๊ฒฐํจ์ ๊ทน๋ณตํ๊ธฐ ์ํด ๋์ผํ plaintext ๋ธ๋ก์ด ๋ฐ๋ณต๋ ๊ฒฝ์ฐ ๋ค๋ฅธ ciphertext ๋ธ๋ก์ ์์ฑํ๋ ๊ธฐ์ ์ด ํ์
Cipher Block Chaining (CBC)
Cipher Feedback (CFB)
Counter (CTR)
Block Cipher Encryption Stream Encryption
Block & Stream Ciphers
- Block Cipher
- ํ ๋ฒ์ ํ ๋ธ๋ก์ ์์๋ฅผ ์ฒ๋ฆฌ
- ๊ฐ ์ ๋ ฅ ๋ธ๋ก์ ๋ํด ์ถ๋ ฅ ๋ธ๋ก์ ์์ฑ
- ํค๋ฅผ ์ฌ์ฌ์ฉํ ์ ์์
- ๋ ์ผ๋ฐ์
- Stream Cipher
- ์ ๋ ฅ ์์๋ฅผ ์ฐ์์ ์ผ๋ก ์ฒ๋ฆฌ
- ํ ๋ฒ์ ํ ์์์ฉ ์ถ๋ ฅ์ ์์ฑ
- ์ฃผ์ ์ฅ์ ์ ๊ฑฐ์ ํญ์ ๋ ๋น ๋ฅด๊ณ ํจ์ฌ ์ ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ค๋ ์
- Plaintext๋ฅผ ํ ๋ฒ์ ํ ๋ฐ์ดํธ์ฉ ์ํธํ
- Pseudorandom stream (์์ฌ ๋์ ์คํธ๋ฆผ)์ ์ ๋ ฅ ํค๋ฅผ ๋ชจ๋ฅด๋ฉด ์์ธกํ ์ ์๋ ์คํธ๋ฆผ
- ์ค๊ณ ๊ณ ๋ ค ์ฌํญ:
- ์ํธํ ์ํ์ค๋ ๊ธด ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ ธ์ผ ํจ
- Keystream์ ๋์ ์์ฑ์ ๊ทผ์ฌํด์ผ ํจ
- ์ถฉ๋ถํ ๊ธด ํค๋ฅผ ์ฌ์ฉ
Speed Comparisons of Symmetric Ciphers on a Pentium 4
Message Authentication
- Active attack (๋ฅ๋์ ๊ณต๊ฒฉ)์ผ๋ก๋ถํฐ ๋ณดํธ
- ์์ ๋ ๋ฉ์์ง๊ฐ ์ง์ง์ธ์ง ํ์ธ
- ๋ด์ฉ์ด ๋ณ๊ฒฝ๋์ง ์์์
- ์ ๋ขฐํ ์ ์๋ ์ถ์ฒ๋ก๋ถํฐ ์ด
- ์๊ธฐ์ ์ ํ๊ณ ์ฌ๋ฐ๋ฅธ ์์์
- Conventional encryption ์ฌ์ฉ ๊ฐ๋ฅ
- ์ก์ ์์ ์์ ์๋ง์ด ํค๋ฅผ ๊ณต์
Message Authentication Codes
Secure Hash Functions
Figure 2.6 Message Authentication Using a One-Way Hash Function
- ๋จ๋ฐฉํฅ ํด์ ํจ์๋ฅผ ์ด์ฉํ ๋ฉ์์ง ์ธ์ฆ
Hash Function Requirements
- ์์ ํฌ๊ธฐ์ ๋ฐ์ดํฐ ๋ธ๋ก์ ์ ์ฉ ๊ฐ๋ฅ
- ๊ณ ์ ๊ธธ์ด ์ถ๋ ฅ ์์ฑ
- ์ฃผ์ด์ง ์ ๋ํด ๊ณ์ฐ์ด ๋น๊ต์ ์ฌ์
- One-way (๋จ๋ฐฉํฅ์ฑ) ๋๋ pre-image resistant (์ญ์ ์ ํญ์ฑ)
- ๋ฅผ ๋ง์กฑํ๋ ๋ฅผ ์ฐพ๋ ๊ฒ์ด ๊ณ์ฐ์ ์ผ๋ก ๋ถ๊ฐ๋ฅ
- Second pre-image resistant (์ 2 ์ญ์ ์ ํญ์ฑ) ๋๋ weak collision resistant (์ฝํ ์ถฉ๋ ์ ํญ์ฑ)
- ๋ฅผ ๋ง์กฑํ๋ ๋ฅผ ์ฐพ๋ ๊ฒ์ด ๊ณ์ฐ์ ์ผ๋ก ๋ถ๊ฐ๋ฅ
- Collision resistant (์ถฉ๋ ์ ํญ์ฑ) ๋๋ strong collision resistance (๊ฐํ ์ถฉ๋ ์ ํญ์ฑ)
- ๋ฅผ ๋ง์กฑํ๋ ์์์ ์ ๋ฅผ ์ฐพ๋ ๊ฒ์ด ๊ณ์ฐ์ ์ผ๋ก ๋ถ๊ฐ๋ฅ
Security of Hash Functions
- Secure hash function์ ๊ณต๊ฒฉํ๋ ๋ ๊ฐ์ง ์ ๊ทผ ๋ฐฉ์:
- Cryptanalysis: ์๊ณ ๋ฆฌ์ฆ์ ๋ ผ๋ฆฌ์ ์ฝ์ ์ด์ฉ
- Brute-force attack: ํด์ ํจ์์ ๊ฐ๋๋ ์ ์ ์ผ๋ก ์๊ณ ๋ฆฌ์ฆ์ด ์์ฑํ๋ ํด์ ์ฝ๋์ ๊ธธ์ด์ ์์กด
- SHA๋ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ํด์ ์๊ณ ๋ฆฌ์ฆ
- ์ถ๊ฐ์ ์ธ secure hash function ์์ฉ ๋ถ์ผ:
- Passwords (๋น๋ฐ๋ฒํธ): ์ด์ ์ฒด์ ๋ ๋น๋ฐ๋ฒํธ์ ํด์๋ฅผ ์ ์ฅ
- Intrusion detection (์นจ์ ํ์ง): ์์คํ ์ ๊ฐ ํ์ผ์ ๋ํด ๋ฅผ ์ ์ฅํ๊ณ ํด์ ๊ฐ์ ๋ณดํธ
Secure Hash Algorithm (SHA)
- SHA๋ ๋ณธ๋ NIST์ ์ํด ๊ฐ๋ฐ๋จ
- 1993๋ FIPS 180์ผ๋ก ๋ฐํ๋จ
- 1995๋
SHA-1์ผ๋ก ๊ฐ์ ๋จ
- 160-bit ํด์ ๊ฐ ์์ฑ
- NIST๋ 2002๋
๊ฐ์ ๋ FIPS 180-2๋ฅผ ๋ฐํ
- 3๊ฐ์ง ์ถ๊ฐ ๋ฒ์ ์ SHA ์ถ๊ฐ
- SHA-256, SHA-384, SHA-512
- 256/384/512-bit ํด์ ๊ฐ
- SHA-1๊ณผ ๋์ผํ ๊ธฐ๋ณธ ๊ตฌ์กฐ์ด์ง๋ง ๋ณด์์ฑ์ด ๋ ๋์
- 2005๋ NIST๋ SHA-1 ์น์ธ์ ๋จ๊ณ์ ์ผ๋ก ์ค๋จํ๊ณ 2010๋ ๊น์ง ๋ค๋ฅธ SHA ๋ฒ์ ์ ์์กดํ๋ ๊ฒ์ผ๋ก ์ ํํ ์์ฌ๋ฅผ ๋ฐํ
Table 21.1 Comparison of SHA Parameters
- SHA ๋งค๊ฐ๋ณ์ ๋น๊ต
SHA-512 Structure
SHA-3
- SHA-1์ ์์ ํ์ง ์์ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋์ด SHA-2๋ก ๋จ๊ณ์ ์ผ๋ก ๋์ฒด๋จ
- SHA-2๋ ์ด์ ๋ฒ์ ๊ณผ ๋์ผํ ๊ตฌ์กฐ์ ์ํ์ ์ฐ์ฐ์ ๊ณต์ ํ์ฌ ์ฐ๋ ค๋ฅผ ์ผ๊ธฐ
- SHA-2๊ฐ ์ทจ์ฝํด์ง ๊ฒฝ์ฐ ๊ต์ฒด์ ํ์ํ ์๊ฐ ๋๋ฌธ์, NIST๋ 2007๋ SHA-3๋ฅผ ์์ฐํ๊ธฐ ์ํ ๊ฒฝ์์ ๋ฐํ
- ์๊ตฌ์ฌํญ:
- 224, 256, 384, 512 ๋นํธ์ ํด์ ๊ฐ ๊ธธ์ด๋ฅผ ์ง์ํด์ผ ํจ
- ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฒด ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฒํผ๋งํ ํ์ ์์ด ํ ๋ฒ์ ์์ ๋ธ๋ก์ ์ฒ๋ฆฌํด์ผ ํจ
SHA-3 Evaluation Criteria
- SHA-2๊ฐ ์ง์ํ๋ ์ฃผ์ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ํ ์๊ตฌ ์ฌํญ์ ๋ฐ์ํ๋๋ก ์ค๊ณ๋จ
- Digital signatures (๋์งํธ ์๋ช ), hashed message authentication codes (ํด์ ๋ฉ์์ง ์ธ์ฆ ์ฝ๋), key generation (ํค ์์ฑ), pseudorandom number generation (์์ฌ ๋์ ์์ฑ)
- Security (๋ณด์์ฑ)
- ๊ฐ๋๋ ๋ค์ํ ํ์ ํด์ ํฌ๊ธฐ์ preimage resistance ๋ฐ collision resistance ๋ชจ๋์ ๋ํด ์ด๋ก ์ ์ต๋์น์ ๊ฐ๊น์์ผ ํจ
- SHA-2 ํจ์์ ๋ํ ์ ์ฌ์ ์ผ๋ก ์ฑ๊ณต์ ์ธ ๋ชจ๋ ๊ณต๊ฒฉ์ ์ ํญํ๋๋ก ์ค๊ณ๋์ด์ผ ํจ
- Cost (๋น์ฉ)
- ๋ค์ํ ํ๋์จ์ด ํ๋ซํผ์์ ์๊ฐ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ ์ด์ด์ผ ํจ
- Algorithm and implementation characteristics (์๊ณ ๋ฆฌ์ฆ ๋ฐ ๊ตฌํ ํน์ฑ)
- ์ ์ฐ์ฑ ๋ฐ ๋จ์์ฑ๊ณผ ๊ฐ์ ํน์ฑ์ ๊ณ ๋ ค
- NIST๋ 2015๋ SHA-3๋ฅผ ๋ฐํ
HMAC
- ์ํธํ์ ํด์ ์ฝ๋์์ ํ์๋ MAC (๋ฉ์์ง ์ธ์ฆ ์ฝ๋) ๊ฐ๋ฐ์ ๊ด์ฌ์ด ์์์
- ์ํธํ์ ํด์ ํจ์๋ ์ผ๋ฐ์ ์ผ๋ก ๋ ๋น ๋ฅด๊ฒ ์คํ๋จ
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฝ๋๊ฐ ๋๋ฆฌ ์ฌ์ฉ ๊ฐ๋ฅํจ
- SHA-1์ secret key์ ์์กดํ์ง ์๊ธฐ ๋๋ฌธ์ MAC์ผ๋ก ์ฌ์ฉ๋๋๋ก ์ค๊ณ๋์ง ์์
- RFC2014๋ก ๋ฐํ๋จ
- IP security (IP ๋ณด์)๋ฅผ ์ํ ์๋ฌด ๊ตฌํ MAC์ผ๋ก ์ ํ๋จ
- Transport Layer Security (TLS) ๋ฐ Secure Electronic Transaction (SET)๊ณผ ๊ฐ์ ๋ค๋ฅธ ์ธํฐ๋ท ํ๋กํ ์ฝ์์ ์ฌ์ฉ๋จ
HMAC Design Objectives
- ์ฌ์ฉ ๊ฐ๋ฅํ ํด์ ํจ์๋ฅผ ์์ ์์ด ์ฌ์ฉํ๊ธฐ ์ํจ
- ๋ ๋น ๋ฅด๊ฑฐ๋ ๋ ์์ ํ ํด์ ํจ์๊ฐ ๋ฐ๊ฒฌ๋๊ฑฐ๋ ํ์ํ ๊ฒฝ์ฐ ๋ด์ฅ๋ ํด์ ํจ์๋ฅผ ์ฝ๊ฒ ๊ต์ฒดํ ์ ์๋๋ก ํ์ฉ
- ์ฌ๊ฐํ ์ฑ๋ฅ ์ ํ ์์ด ํด์ ํจ์์ ์๋ ์ฑ๋ฅ์ ๋ณด์กด
- ๊ฐ๋จํ ๋ฐฉ์์ผ๋ก ํค๋ฅผ ์ฌ์ฉํ๊ณ ์ฒ๋ฆฌ
- ๋ด์ฅ๋ ํด์ ํจ์์ ๋ํ ํฉ๋ฆฌ์ ์ธ ๊ฐ์ ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์ธ์ฆ ๋ฉ์ปค๋์ฆ์ ๊ฐ๋์ ๋ํ ์ ์ดํด๋ ์ํธํ์ ๋ถ์์ ๊ฐ์ถค
HMAC Structure
Security of HMAC
- ๋ณด์์ ๊ธฐ๋ณธ ํด์ ํจ์์ ์ํธํ์ ๊ฐ๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง
- HMAC์ ๋ํ ์ฑ๊ณต์ ์ธ ๊ณต๊ฒฉ ํ๋ฅ ์ ๋ด์ฅ๋ ํด์ ํจ์์ ๋ํ ๋ค์ ๊ณต๊ฒฉ ์ค ํ๋์ ๋์ผํจ:
- ๊ณต๊ฒฉ์๊ฐ ์์์ ๋น๋ฐ IV๋ฅผ ๊ฐ์ง๊ณ ๋ ์ถ๋ ฅ์ ๊ณ์ฐ
- Brute force key , ๋๋ birthday attack (์์ผ ๊ณต๊ฒฉ) ์ฌ์ฉ
- ๋๋ ๊ณต๊ฒฉ์๊ฐ IV๊ฐ ์์์ด๊ณ ๋น๋ฐ์ผ ๋๋ ํด์ ํจ์์์ ์ถฉ๋์ ์ฐพ์
- ์ฆ, ์ธ ๊ณผ ์ ์ฐพ์
- Birthday attack
- ๊ณต๊ฒฉ์๊ฐ ์์์ ๋น๋ฐ IV๋ฅผ ๊ฐ์ง๊ณ ๋ ์ถ๋ ฅ์ ๊ณ์ฐ
Public-Key Encryption Structure
- 1976๋ Diffie์ Hellman์ ์ํด ๊ณต๊ฐ์ ์ผ๋ก ์ ์๋จ
- ์ํ์ ํจ์์ ๊ธฐ๋ฐ
- Asymmetric
- ๋ ๊ฐ์ ๊ฐ๋ณ ํค ์ฌ์ฉ
- Public key (๊ณต๊ฐํค) ๋ฐ private key (๊ฐ์ธํค)
- Public key๋ ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ฌ์ฉํ๋๋ก ๊ณต๊ฐ๋จ
- ๋ฐฐํฌ๋ฅผ ์ํด ์ด๋ค ํํ์ ํ๋กํ ์ฝ์ด ํ์
Public-Key Encryption
- Plaintext
- ์๊ณ ๋ฆฌ์ฆ์ ์ ๋ ฅ์ผ๋ก ์ ๊ณต๋๋ ์ฝ์ ์ ์๋ ๋ฉ์์ง ๋๋ ๋ฐ์ดํฐ
- Encryption algorithm
- plaintext์ ๋ณํ์ ์ํ
- Public and private key
- ์ํธํ๋ฅผ ์ํ ํค์ ๋ณตํธํ๋ฅผ ์ํ ํค ํ ์
- Ciphertext
- ์ถ๋ ฅ์ผ๋ก ์์ฑ๋๋ ๋ค์์ธ ๋ฉ์์ง
- Decryption key
- ์๋ณธ plaintext๋ฅผ ์์ฑ
Applications for Public-Key Cryptosystems
- ๊ณต๊ฐํค ์ํธ ์์คํ ์ ์์ฉ
Requirements for Public-Key Cryptosystems
- ํค ์์ ์์ฑํ๊ธฐ ์ฌ์ (๊ณ์ฐ์ ์ผ๋ก)
- ๊ณต๊ฐํค๋ฅผ ์๋ ์ก์ ์๊ฐ ๋ฉ์์ง๋ฅผ ์ํธํํ๊ธฐ ์ฌ์ (๊ณ์ฐ์ ์ผ๋ก)
- ๊ฐ์ธํค๋ฅผ ์๋ ์์ ์๊ฐ ์ํธ๋ฌธ์ ๋ณตํธํํ๊ธฐ ์ฌ์ (๊ณ์ฐ์ ์ผ๋ก)
- ๊ณต๊ฒฉ์๊ฐ ๊ณต๊ฐํค๋ก๋ถํฐ ๊ฐ์ธํค๋ฅผ ๊ฒฐ์ ํ๊ธฐ ๋ถ๊ฐ๋ฅํจ (๊ณ์ฐ์ ์ผ๋ก)
- ๊ณต๊ฒฉ์๊ฐ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ์๋ณธ ๋ฉ์์ง๋ฅผ ๋ณต๊ตฌํ๊ธฐ ๋ถ๊ฐ๋ฅํจ (๊ณ์ฐ์ ์ผ๋ก)
- ์ด๋ ํค๋ ๊ฐ ์ญํ ์ ์ฌ์ฉํ ์ ์๋ค๋ฉด ์ ์ฉํจ
Asymmetric Encryption Algorithms
- RSA (Rivest, Shamir, Adleman)
- 1977๋ ๊ฐ๋ฐ
- ๊ฐ์ฅ ๋๋ฆฌ ์ธ์ ๋ฐ๊ณ ๊ตฌํ๋ public-key encryption ์ ๊ทผ ๋ฐฉ์
- Plaintext์ ciphertext๊ฐ ์ด๋ค n์ ๋ํด 0๊ณผ n-1 ์ฌ์ด์ ์ ์์ธ block cipher
- Diffie-Hellman
- Key exchange (ํค ๊ตํ) ์๊ณ ๋ฆฌ์ฆ
- ๋ ์ฌ์ฉ์๊ฐ ๋ฉ์์ง์ ํ์ ๋์นญ ์ํธํ๋ฅผ ์ํ secret key๋ก ์ฌ์ฉํ ์ ์๋ ๊ณต์ ๋น๋ฐ์ ์์ ํ๊ฒ ํฉ์ํ ์ ์๋๋ก ํจ
- ํค ๊ตํ์๋ง ๊ตญํ๋จ
- Digital Signature Standard (DSS)
- SHA-1๊ณผ ํจ๊ป digital signature ๊ธฐ๋ฅ๋ง ์ ๊ณต
- ์ํธํ๋ ํค ๊ตํ์๋ ์ฌ์ฉํ ์ ์์
- Elliptic curve cryptography (ECC)
- RSA์ ์ ์ฌํ ๋ณด์์ฑ์ ๊ฐ์ง๋ฉด์๋ ํจ์ฌ ์์ ํค ์ฌ์ฉ
RSA Public-Key Encryption
- 1977๋ MIT์ Rivest, Shamir & Adleman์ ์ํด ๊ฐ๋ฐ
- ๊ฐ์ฅ ์ ์๋ ค์ ธ ์๊ณ ๋๋ฆฌ ์ฌ์ฉ๋๋ public-key ์๊ณ ๋ฆฌ์ฆ
- ์์๋ฅผ ๋ฒ์ผ๋ก ํ๋ ์ ์์ ๊ฑฐ๋ญ์ ๊ณฑ์ ์ฌ์ฉ
- ์ํธํ:
- ๋ณตํธํ:
- ์ก์ ์์ ์์ ์ ๋ชจ๋ ๊ณผ ์ ๊ฐ์ ์
- ์์ ์๋ง ์ ๊ฐ์ ์
- Public key ์ private key ๋ฅผ ์ฌ์ฉํ๋ public-key encryption ์๊ณ ๋ฆฌ์ฆ
RSA Algorithm
RSA Example
Security of RSA
- Brute force
- ๊ฐ๋ฅํ ๋ชจ๋ private key ์๋
- ๋ฐฉ์ด์ฑ ์ ํฐ ํค ๊ณต๊ฐ์ ์ฌ์ฉํ๋ ๊ฒ์ด์ง๋ง, ์ด๋ ์คํ ์๋๋ฅผ ๋ฆ์ถค
- Mathematical attacks (์ํ์ ๊ณต๊ฒฉ)
- ์ฌ๋ฌ ์ ๊ทผ๋ฒ์ด ์์ผ๋ฉฐ, ๋ชจ๋ ๋ ์์์ ๊ณฑ์ ์ธ์๋ถํดํ๋ ๋ ธ๋ ฅ๊ณผ ๋์ผ
- Timing attacks (ํ์ด๋ฐ ๊ณต๊ฒฉ)
- ๋ณตํธํ ์๊ณ ๋ฆฌ์ฆ์ ์คํ ์๊ฐ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง
- ์์ ํ ์์์น ๋ชปํ ๋ฐฉํฅ์์ ์ค๋ฉฐ, ciphertext-only attack (์ํธ๋ฌธ ๋จ๋ ๊ณต๊ฒฉ)
- ๋์์ฑ : ์ผ์ ํ ์ง์ํ ์๊ฐ, ๋ฌด์์ ์ง์ฐ, ๋ธ๋ผ์ธ๋ฉ
- Chosen ciphertext attacks (์ ํ ์ํธ๋ฌธ ๊ณต๊ฒฉ)
- RSA ์๊ณ ๋ฆฌ์ฆ์ ์์ฑ์ ์ ์ฉํ๋ ๊ณต๊ฒฉ
Table 21.2 Progress in Factorization
- ์ธ์๋ถํด์ ์ง์
Diffie-Hellman Key Exchange
- ์ต์ด๋ก ๋ฐํ๋ public-key ์๊ณ ๋ฆฌ์ฆ
- 1976๋ Diffie์ Hellman์ด public key ๊ฐ๋ ์ค๋ช ๊ณผ ํจ๊ป ๋ฐํ
- ๋ค์์ ์์ฉ ์ ํ์์ ์ฌ์ฉ๋จ
- ๋ฉ์์ง์ ํ์ ์ํธํ๋ฅผ ์ํด ์ฌ์ฉํ ์ ์๋ secret key๋ฅผ ์์ ํ๊ฒ ๊ตํํ๋ ์ค์ฉ์ ์ธ ๋ฐฉ๋ฒ
- ๋ณด์์ ์ด์ฐ ๋ก๊ทธ ๊ณ์ฐ์ ์ด๋ ค์์ ์์กด
Diffie-Hellman Key Exchange Algorithm
Diffie-Hellman Example
- ์์
- ์์๊ทผ
- A์ B๊ฐ ๊ฐ๊ฐ ์์ ์ ๊ณต๊ฐํค ๊ณ์ฐ
- A๋ ๊ณ์ฐ
- B๋ ๊ณ์ฐ
- ๊ตํ ํ ๋น๋ฐํค ๊ณ์ฐ:
- A:
- B:
- ๊ณต๊ฒฉ์๋ ๋ค์์ ํ์ด์ผ ํจ:
- (์ด๋ ค์)
- ์ํ๋ ๋ต์ 97์ด๋ฉฐ, ๊ทธ ํ B์ ๊ฐ์ด ํค๋ฅผ ๊ณ์ฐ
Key Exchange Protocols
Man-in-the-Middle Attack
- ๊ณต๊ฒฉ ๊ณผ์ :
- Darth๊ฐ ๊ฐ์ธํค & ์ ๊ทธ๋ค์ ๊ณต๊ฐํค & ๋ฅผ ์์ฑ
- Alice๊ฐ ๋ฅผ Bob์๊ฒ ์ ์ก
- Darth๊ฐ ๋ฅผ ๊ฐ๋ก์ฑ๊ณ ์ Bob์๊ฒ ์ ์ก. Darth๋ ๋ ๊ณ์ฐ
- Bob์ด ์ ๋ฐ๊ณ ์ ๊ณ์ฐ
- Bob์ด ๋ฅผ Alice์๊ฒ ์ ์ก (์ฌ๋ผ์ด๋ ์คํ: ์ฌ์ผ ํจ)
- Darth๊ฐ ๋ฅผ ๊ฐ๋ก์ฑ๊ณ ๋ฅผ Alice์๊ฒ ์ ์ก. Darth๋ ์ ๊ณ์ฐ
- Alice๊ฐ ๋ฅผ ๋ฐ๊ณ ๋ฅผ ๊ณ์ฐ
- ๋ชจ๋ ํ์ ํต์ ์ด ์์๋จ
Other Public-Key Algorithms
- Digital Signature Standard (DSS)
- FIPS PUB 186
- SHA-1 ๋ฐ Digital Signature Algorithm (DSA)์ ์ฌ์ฉ
- 1991๋ ์ต์ด ์ ์, 1993๋ ๋ณด์ ์ฐ๋ ค๋ก ๊ฐ์ , 1996๋ ์ฌ์ํ ๊ฐ์
- ์ํธํ๋ ํค ๊ตํ์ ์ฌ์ฉ๋ ์ ์์
- Digital signature ๊ธฐ๋ฅ๋ง ์ ๊ณตํ๋๋ก ์ค๊ณ๋ ์๊ณ ๋ฆฌ์ฆ ์ฌ์ฉ
- Elliptic-Curve Cryptography (ECC)
- RSA๋ณด๋ค ์์ ๋นํธ ํฌ๊ธฐ๋ก ๋๋ฑํ ๋ณด์ ์ ๊ณต
- IEEE P1363๊ณผ ๊ฐ์ ํ์ค์์ ๋ณผ ์ ์์
- ECC์ ๋ํ ์ ๋ขฐ ์์ค์ ์์ง RSA๋งํผ ๋์ง ์์
- ํ์ ๊ณก์ ์ด๋ผ๋ ์ํ์ ๊ตฌ์กฐ์ ๊ธฐ๋ฐ
Digital Signatures
- ์ถ์ฒ ๋ฐ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ธ์ฆ์ ์ฌ์ฉ
- Private key๋ก ํด์ ์ฝ๋๋ฅผ ์ํธํํ์ฌ ์์ฑ
- Confidentiality๋ฅผ ์ ๊ณตํ์ง ์์
- ์์ ํ ์ํธํ์ ๊ฒฝ์ฐ์๋ ๋ง์ฐฌ๊ฐ์ง
- ๋ฉ์์ง๋ ๋ณ๊ฒฝ์ผ๋ก๋ถํฐ ์์ ํ์ง๋ง ๋์ฒญ์ผ๋ก๋ถํฐ๋ ์์ ํ์ง ์์
Public Key Certificates
Key Distribution
- ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๋ ค๋ ๋ ๋น์ฌ์์๊ฒ ๋ค๋ฅธ ์ฌ๋์ด ํค๋ฅผ ๋ณผ ์ ์๋๋ก ํค๋ฅผ ์ ๋ฌํ๋ ์๋จ
- ๋ ๋น์ฌ์(A์ B)๋ ๋ค์ ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ฅผ ๋ฌ์ฑํ ์ ์์:
- A๊ฐ ํค๋ฅผ ์ ํํ์ฌ B์๊ฒ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ๋ฌ
- ์ 3์๊ฐ ํค๋ฅผ ์ ํํ์ฌ A์ B์๊ฒ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ๋ฌ
- A์ B๊ฐ ์ด์ ์ ๊ทธ๋ฆฌ๊ณ ์ต๊ทผ์ ํค๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ, ํ์ชฝ์ด ๋ค๋ฅธ ์ชฝ์ ์ด์ ํค๋ก ์ํธํ๋ ์ ํค๋ฅผ ์ ์ก
- A์ B๊ฐ ๊ฐ๊ฐ ์ 3์ C์ ์ํธํ๋ ์ฐ๊ฒฐ์ ๊ฐ์ง๊ณ ์๋ ๊ฒฝ์ฐ, C๊ฐ ์ํธํ๋ ๋งํฌ๋ฅผ ํตํด A์ B์๊ฒ ํค๋ฅผ ์ ๋ฌ
Key Distribution
Kerberos Overview
- ๋ณธ๋ MIT์์ ๊ฐ๋ฐ๋จ
- ๊ณต๊ฐ ๋๋ฉ์ธ ๋ฐ ์์ฉ ์ง์ ๋ฒ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ์ํํธ์จ์ด ์ ํธ๋ฆฌํฐ
- ์ธํฐ๋ท ํ์ค์ผ๋ก ๋ฐํ๋์์ผ๋ฉฐ ์๊ฒฉ ์ธ์ฆ์ ์ฌ์ค์ ํ์ค
- ์ ์ฒด์ ์ธ ๋ฐฉ์์ ์ ๋ขฐํ ์ ์๋ ์ 3์ ์ธ์ฆ ์๋น์ค
- ์ฌ์ฉ์๊ฐ ํธ์ถํ๋ ๊ฐ ์๋น์ค์ ๋ํด ์์ ์ ์ ์์ ์ฆ๋ช ํด์ผ ํ๋ฉฐ, ์๋ฒ๋ ํด๋ผ์ด์ธํธ์๊ฒ ์์ ์ ์ ์์ ์ฆ๋ช ํด์ผ ํจ
Kerberos Protocol
- Client/server ๋ํ์ ๋ณด์์ ๋ํ ๋ค์ํ ์ํ์ ๋์ํ๋๋ก ์ค๊ณ๋จ
- ๋ช ๋ฐฑํ ๋ณด์ ์ํ์ impersonation (๊ฐ์ฅ)
- ์๋ฒ๋ ์๋น์ค๋ฅผ ์์ฒญํ๋ ํด๋ผ์ด์ธํธ์ ์ ์์ ํ์ธํ ์ ์์ด์ผ ํจ
- Clients, application servers, Kerberos server๋ฅผ ํฌํจ
- ์ฌ์ฉ์๋ ์ฒ์์ ์ ์ ํ์ธ์ ์ํด AS (์ธ์ฆ ์๋ฒ)์ ํ์
- AS๋ ์ ์์ ํ์ธํ ๋ค์ ์ ๋ณด๋ฅผ application server (์์ฉ ํ๋ก๊ทธ๋จ ์๋ฒ)์ ์ ๋ฌํ๊ณ , ์๋ฒ๋ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์๋น์ค ์์ฒญ์ ์๋ฝ
- Authentication Server (AS) ์ฌ์ฉ
- ํด๋ผ์ด์ธํธ๊ฐ ๋คํธ์ํฌ๋ฅผ ํตํด AS์๊ฒ ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณด๋ด๋ฉด ์๋๋ฐฉ์ด ๋น๋ฐ๋ฒํธ๋ฅผ ๊ด์ฐฐํ ์ ์์
- ์๋๋ฐฉ์ด AS๋ฅผ ๊ฐ์ฅํ์ฌ ์๋ชป๋ ๊ฒ์ฆ์ ๋ณด๋ผ ์ ์์
- ์ด๋ฅผ ์์ ํ ๋ฐฉ์์ผ๋ก ์ํํ ๋ฐฉ๋ฒ์ ์ฐพ์์ผ ํจ
Kerberos Realms
- Kerberos ํ๊ฒฝ์ ๋ค์์ผ๋ก ๊ตฌ์ฑ๋จ:
- Kerberos server
- ์๋ฒ์ ๋ฑ๋ก๋ ๋ค์์ clients
- ์๋ฒ์ ํค๋ฅผ ๊ณต์ ํ๋ ๋ค์์ application servers
- ์ด๋ฅผ realm (์์ญ)์ด๋ผ๊ณ ํจ
- ๋ค๋ฅธ ๊ด๋ฆฌ ์กฐ์ง ํ์ ํด๋ผ์ด์ธํธ ๋ฐ ์๋ฒ ๋คํธ์ํฌ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ค๋ฅธ realm์ ๊ตฌ์ฑ
- ์ฌ๋ฌ realm์ด ์๋ ๊ฒฝ์ฐ:
- ๊ทธ๋ค์ Kerberos ์๋ฒ๋ secret key๋ฅผ ๊ณต์ ํด์ผ ํ๋ฉฐ, ๋ค๋ฅธ realm์ Kerberos ์๋ฒ๊ฐ ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ๋ ๊ฒ์ ์ ๋ขฐํด์ผ ํจ
- ๋ ๋ฒ์งธ realm์ ์ฐธ์ฌ ์๋ฒ๋ค๋ ์ฒซ ๋ฒ์งธ realm์ Kerberos ์๋ฒ๋ฅผ ์ ๋ขฐํ ์ํฅ์ด ์์ด์ผ ํจ
Kerberos Performance Issues
- ๋๊ท๋ชจ client-server ์ค์น์์ ๋ณผ ์ ์์
- Kerberos๊ฐ ๋๊ท๋ชจ ํ๊ฒฝ์ ์ฑ๋ฅ์ ๋ฏธ์น๋ ์ํฅ:
- ์์คํ ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑ๋์๋ค๋ฉด ๊ฑฐ์ ์์
- ํฐ์ผ์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ์ฌ ํธ๋ํฝ์ ์ค์
- ๋๊ท๋ชจ Kerberos ๋ณด์์ Kerberos ์๋ฒ๋ฅผ ๋ณ๋์ ๊ฒฉ๋ฆฌ๋ ๋จธ์ ์ ๋ฐฐ์นํจ์ผ๋ก์จ ๊ฐ์ฅ ์ ๋ณด์ฅ๋จ
- ์ฌ๋ฌ realm์ ๋๊ธฐ๋ ์ฑ๋ฅ ๊ด๋ จ์ด ์๋ ๊ด๋ฆฌ์ ์ธ ๊ฒ์
Certificate Authority (CA)
- ์ธ์ฆ์๋ ๋ค์์ผ๋ก ๊ตฌ์ฑ๋จ:
- Public key์ ํค ์์ ์์ User ID
- ์ ๋ขฐํ ์ ์๋ ์ 3์์ ์ํด ์๋ช ๋จ
- ์ผ๋ฐ์ ์ผ๋ก ์ 3์๋ ์ฌ์ฉ์ ์ปค๋ฎค๋ํฐ(์: ์ ๋ถ ๊ธฐ๊ด ๋๋ ๊ธ์ต ๊ธฐ๊ด)๊ฐ ์ ๋ขฐํ๋ CA (์ธ์ฆ ๊ธฐ๊ด)
- ์ฌ์ฉ์๋ ์์ ์ ๊ณต๊ฐํค๋ฅผ ๊ธฐ๊ด์ ์์ ํ ๋ฐฉ์์ผ๋ก ์ ์ํ๊ณ ์ธ์ฆ์๋ฅผ ๋ฐ์ ์ ์์
- ๊ทธ ํ ์ฌ์ฉ์๋ ์ธ์ฆ์๋ฅผ ๊ฒ์ํ ์ ์์
- ์ด ์ฌ์ฉ์์ ๊ณต๊ฐํค๊ฐ ํ์ํ ์ฌ๋์ ๋๊ตฌ๋ ์ธ์ฆ์๋ฅผ ์ป๊ณ ์ฒจ๋ถ๋ ์ ๋ขฐํ ์ ์๋ ์๋ช ์ ํตํด ์ ํจํ์ง ํ์ธํ ์ ์์
X.509 Authentication Service
- Public-key certificates ์์์ ๋ํ ๋ณดํธ์ ์ผ๋ก ์ธ์ ๋ ํ์ค
- CCITT X.500 ๋๋ ํฐ๋ฆฌ ์๋น์ค ํ์ค์ ์ผ๋ถ
- Public-key crypto ๋ฐ digital signatures ์ฌ์ฉ
- IPsec, SSL, SET, S/MIME ๋ฑ ๋คํธ์ํฌ ๋ณด์ ์์ฉ ํ๋ก๊ทธ๋จ์์ ๋๋ฆฌ ์ฌ์ฉ๋จ
- ์๊ณ ๋ฆฌ์ฆ์ ํ์คํ๋์ง ์์์ง๋ง RSA๊ฐ ๊ถ์ฅ๋จ
X.509 Certificates
Public Key Infrastructure X.509 (PKIX)
PKIX Management Functions
- Registration (๋ฑ๋ก)
- Initialization (์ด๊ธฐํ)
- Certification (์ธ์ฆ)
- Key pair recovery (ํค ์ ๋ณต๊ตฌ)
- Key pair update (ํค ์ ๊ฐฑ์ )
- Revocation request (ํ์ง ์์ฒญ)
- Cross certification (๊ต์ฐจ ์ธ์ฆ)
Rotor Machines
- ํ๋ ์ํธ ์ด์ ์ rotor machine (ํ์ ๊ธฐ)์ด ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ product cipher (๊ณฑ ์ํธ)์์
- ์ 2์ฐจ ์ธ๊ณ๋์ ์์ ๋๋ฆฌ ์ฌ์ฉ๋จ
- ๋ ์ผ Enigma, ์ฐํฉ๊ตฐ Hagelin, ์ผ๋ณธ Purple
- ๋งค์ฐ ๋ณต์กํ๊ณ ๊ฐ๋ณ์ ์ธ substitution cipher๋ฅผ ๊ตฌํ
- ๊ฐ๊ฐ ํ๋์ ์นํ์ ์ ๊ณตํ๋ ์ผ๋ จ์ ์ค๋ฆฐ๋๋ฅผ ์ฌ์ฉํ์ผ๋ฉฐ, ๊ฐ ๊ธ์๊ฐ ์ํธํ๋ ํ ํ์ ํ๊ณ ๋ณ๊ฒฝ๋จ
- 3๊ฐ์ ์ค๋ฆฐ๋๋ก ๊ฐ์ ์ํ๋ฒณ์ ๊ฐ์ง
- ๋ค์ค ์ํธํ ๋จ๊ณ
- Substitution cipher์ transposition cipher ๋ชจ๋ ์ฌ์ฉ
- ๊ธฐ๋ณธ ์๋ฆฌ
- ๋ ๋ฆฝ์ ์ผ๋ก ํ์ ํ๋ ์ค๋ฆฐ๋ ์ธํธ
- ๊ฐ ์ค๋ฆฐ๋์ ์ ๊ธฐ ํ์ค๊ฐ ์ธํธ๋ฅผ ๋ฐ๋ผ ํ๋ฆ
- ๊ฐ ์ค๋ฆฐ๋์๋ 26๊ฐ์ ์ ๋ ฅ ํ๊ณผ 26๊ฐ์ ์ถ๋ ฅ ํ์ด ์์
- ๊ฐ ์
๋ ฅ๊ณผ ์ถ๋ ฅ์ ์ํ๋ฒณ ๋ฌธ์์ ์ฐ๊ด์ํจ๋ค๋ฉด
- ๋จ์ผ ์ค๋ฆฐ๋๋ monoalphabetic substitution (๋จ์ผ์นํ ์ํธ)์ ์ ์
- ํค๋ฅผ ๋๋ฅด๋ฉด ์ค๋ฆฐ๋๊ฐ ํ ์์น ํ์
- ๋ด๋ถ ์ฐ๊ฒฐ์ด ๊ทธ์ ๋ฐ๋ผ ์ด๋
- ๋ฐ๋ผ์ ๋ค๋ฅธ monoalphabetic substitution cipher๊ฐ ์ ์๋จ
- 26 ๊ธ์ ํ์ ์ค๋ฆฐ๋๋ ์ด๊ธฐ ์ํ๋ก ๋์์ด
- ์ฃผ๊ธฐ๊ฐ 26์ธ polyalphabetic permutation (๋ค์ค์นํ ์์ด) ์๊ณ ๋ฆฌ์ฆ
- ํ ์ค๋ฆฐ๋์ ์ถ๋ ฅ์ด ๋ค์ ์ค๋ฆฐ๋์ ์ ๋ ฅ์ ์ฐ๊ฒฐ๋จ
- ๊ฐ์ฅ ๋ฐ๊นฅ์ชฝ ์ค๋ฆฐ๋๋ ๊ฐ ํค ์ ๋ ฅ๋ง๋ค ํ ํ ์์น ํ์
- ๋ฐ๊นฅ์ชฝ ์ค๋ฆฐ๋๊ฐ ํ ๋ฐํด ์์ ํ ํ์ ํ ๋๋ง๋ค ์ค๊ฐ ์ค๋ฆฐ๋๊ฐ ํ ํ ์์น ํ์
- ์ค๊ฐ ์ค๋ฆฐ๋๊ฐ ํ ๋ฐํด ์์ ํ ํ์ ํ ๋๋ง๋ค ์์ชฝ ์ค๋ฆฐ๋๊ฐ ํ ํ ์์น ํ์
