๐Ÿ’ป
ComputerScience
  • ๋ชฉ์ฐจ
  • Operating System
    • ์šด์˜์ฒด์ œ๋ž€
    • ํ”„๋กœ์„ธ์Šค vs ์Šค๋ ˆ๋“œ
    • ํ”„๋กœ์„ธ์Šค ์ฃผ์†Œ ๊ณต๊ฐ„
    • ์ธํ„ฐ๋ŸฝํŠธ(Interrupt)
    • ์‹œ์Šคํ…œ ์ฝœ(System Call)
    • PCB์™€ Context Switching
    • IPC(Inter Process Communication)
    • CPU ์Šค์ผ€์ค„๋ง
    • ๋ฐ๋“œ๋ฝ(DeadLock)
    • Race Condition
    • ์„ธ๋งˆํฌ์–ด(Semaphore) & ๋ฎคํ…์Šค(Mutex)
    • ํŽ˜์ด์ง• & ์„ธ๊ทธ๋จผํ…Œ์ด์…˜
    • ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ๋ฉ”๋ชจ๋ฆฌ(Memory)
    • ํŒŒ์ผ ์‹œ์Šคํ…œ
  • Network
    • OSI 7 ๊ณ„์ธต
    • TCP 3 way handshake & 4 way handshake
    • TCP/IP ํ๋ฆ„์ œ์–ด & ํ˜ผ์žก์ œ์–ด
    • UDP
    • ๋Œ€์นญํ‚ค & ๊ณต๊ฐœํ‚ค
    • HTTP & HTTPS
    • TLS/SSL handshake
    • ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ(Load Balancing)
    • Blocking,Non-blocking & Synchronous,Asynchronous @LifesLike
    • Blocking & Non-Blocking I/O
  • Algorithm
    • ๊ฑฐํ’ˆ ์ •๋ ฌ(Bubble Sort)
    • ์„ ํƒ ์ •๋ ฌ(Selection Sort)
    • ์‚ฝ์ž… ์ •๋ ฌ(Insertion Sort)
    • ํ€ต ์ •๋ ฌ(Quick Sort) @mimwin
    • ๋ณ‘ํ•ฉ ์ •๋ ฌ(Merge Sort)
    • ํž™ ์ •๋ ฌ(Heap Sort)
    • ๊ธฐ์ˆ˜ ์ •๋ ฌ(Radix Sort)
    • ๊ณ„์ˆ˜ ์ •๋ ฌ(Count Sort)
    • ์ด๋ถ„ ํƒ์ƒ‰(Binary Search)
    • ํ•ด์‹œ ํ…Œ์ด๋ธ” ๊ตฌํ˜„
    • DFS & BFS @sujin-kk
    • ์ตœ์žฅ ์ฆ๊ฐ€ ์ˆ˜์—ด(LIS)
    • ์ตœ์†Œ ๊ณตํ†ต ์กฐ์ƒ(LCA)
    • ๋™์  ๊ณ„ํš๋ฒ•(Dynamic Programming)
    • ๋‹ค์ต์ŠคํŠธ๋ผ(Dijkstra) ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ๋น„ํŠธ๋งˆ์Šคํฌ(BitMask)
  • Database
    • ํ‚ค(Key) ์ •๋ฆฌ
    • SQL - JOIN
    • SQL Injection
    • SQL vs NoSQL
    • ์ •๊ทœํ™”(Nomalization)
    • ์ด์ƒ(Anomaly)
    • ์ธ๋ฑ์Šค(INDEX)
    • ํŠธ๋žœ์žญ์…˜(Transaction)
    • ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€(Transaction Isolation Level)
    • ์ €์žฅ ํ”„๋กœ์‹œ์ €(Stored PROCEDURE)
    • ๋ ˆ๋””์Šค(Redis) @sujin-kk
  • Java
    • Java ์ปดํŒŒ์ผ ๊ณผ์ •
    • Call by Value vs Call by Reference
    • String & StringBuffer & StringBuilder
    • ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ (Java Virtual Machine)
    • Casting(์—…์บ์ŠคํŒ… & ๋‹ค์šด์บ์ŠคํŒ…)
    • ์˜คํ†  ๋ฐ•์‹ฑ & ์˜คํ† ์–ธ๋ฐ•์‹ฑ
    • Thread ํ™œ์šฉ
    • ๊ณ ์œ  ๋ฝ(Intrinsic Lock)
    • ๋ฌธ์ž์—ด ํด๋ž˜์Šค
    • Garbage Collection
    • Promotion & Casting
    • Primitive type & Reference type
    • ์ง๋ ฌํ™”(Serialization)
    • Error & Exception
    • Stream API
    • Record
    • Composition
Powered by GitBook
On this page
  • TLS/SSL HandShake ๋ž€?
  • TLS/SSL ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์˜ ํ†ต์‹  ๋‹จ๊ณ„
  • ์ง„ํ–‰ ์ˆœ์„œ
  1. Network

TLS/SSL handshake

TLS/SSL HandShake ๋ž€?

HTTPS์—์„œ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ„ ํ†ต์‹ ํ•˜๊ธฐ ์ „, 
SSL ์ธ์ฆ์„œ๋กœ ์‹ ๋ขฐ์„ฑ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•˜๊ธฐ ์œ„ํ•ด ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ์‹

๋ชจ๋“  SSL/TLS ์—ฐ๊ฒฐ์€ 'HandShake' ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ ํ•œ๋‹ค.

  • 'HandShake' ๊ณผ์ •์€

    • ํ†ต์‹ ์„ ์•”ํ˜ธํ™”ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•  ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ‚ค ๊ฒฐ์ •

    • ์„œ๋ฒ„ ํ™•์ธ

    • ์‹ค์ œ ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „ ๋ณด์•ˆ ์—ฐ๊ฒฐ์ด ์ด๋ฃจ์–ด์กŒ๋Š”์ง€ ํ™•์ธ

์ด๋Ÿฌํ•œ ์—ฐ๊ฒฐ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ๊ณผ์ •์ด handshake ์ด๋‹ค.

TLS/SSL ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์˜ ํ†ต์‹  ๋‹จ๊ณ„

1. ์‚ฌ์šฉํ•  ํ”„๋กœํ† ์ฝœ ๋ฒ„์ „์— ๋™์˜
2. ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ ํƒ
3. ๋””์ง€ํ„ธ ์ธ์ฆ์„œ ๊ตํ™˜ํ•˜๊ณ  ์œ ํšจ์„ฑ ๊ฒ€์‚ฌํ•˜์—ฌ ์„œ๋กœ ์ธ์ฆ
4. ๋น„๋Œ€์นญ ์•”ํ˜ธํ™” ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต์œ ํ‚ค ์ƒ์„ฑ
5. SSL/TLS ๋Š” ๊ณต์œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€์นญ ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์„ธ์ง€ ์•”ํ˜ธํ™”

handshake ์ž์ฒด๋Š” ๋น„๋Œ€์นญ ์•”ํ˜ธํ™”๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. (๊ณต๊ฐœํ‚ค์™€ ๊ฐœ์ธํ‚ค ๋ณ„๋„ ์‚ฌ์šฉ) ํ•˜์ง€๋งŒ, ๋น„๋Œ€์นญ ์•”ํ˜ธํ™”๋Š” ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋†’์•„ ๋ชจ๋“  ๋ณด์•ˆ ๊ณผ์ •์—์„œ ์‚ฌ์šฉํ•  ์ˆœ ์—†๋‹ค.

๊ทธ๋ž˜์„œ ๊ณต๊ฐœํ‚ค๋Š” ์•”ํ˜ธ ํ•ด๋…์„ ์œ„ํ•œ ์•”ํ˜ธํ™” ๋ฐ ๊ฐœ์ธํ‚ค๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ฐ๊ฐ ์ƒˆ๋กœ ์ƒ์„ฑํ•œ ๊ณต์œ ํ‚ค๋ฅผ ์„ค์ •ํ•˜๊ณ  ๊ตํ™˜ํ•˜๊ฒŒ ํ•œ๋‹ค. ์„ธ์…˜ ์ž์ฒด๋Š” ๊ณต์œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€์นญ ์•”ํ˜ธํ™”๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ ์—ฐ๊ฒฐ์—์„œ ์˜ค๋ฒ„ ํ—ค๋“œ๊ฐ€ ์ค„์–ด๋“ ๋‹ค.

์ง„ํ–‰ ์ˆœ์„œ

  1. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์—๊ฒŒ client hello ๋ฉ”์‹œ์ง€๋ฅผ ๋‹ด์•„ ์„œ๋ฒ„๋กœ ๋ณด๋‚ธ๋‹ค. ์ด๋•Œ ์•”ํ˜ธํ™”๋œ ์ •๋ณด๋ฅผ ํ•จ๊ป˜ ๋‹ด๋Š”๋ฐ, ๋ฒ„์ „, ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์••์ถ• ๋ฐฉ์‹ ๋“ฑ์„ ๋‹ด๋Š”๋‹ค.

  2. ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์••์ถ• ๋ฐฉ์‹์„ ๋ฐ›๊ณ , ์„ธ์…˜ ID์™€ CA ๊ณต๊ฐœ ์ธ์ฆ์„œ๋ฅผ server hello ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ ๋‹ด์•„ ์‘๋‹ตํ•œ๋‹ค. ์ด CA ์ธ์ฆ์„œ์—๋Š” ์•ž์œผ๋กœ ํ†ต์‹  ์ดํ›„ ์‚ฌ์šฉํ•  ๋Œ€์นญํ‚ค๊ฐ€ ์ƒ์„ฑ๋˜๊ธฐ ์ „, ํด๋ผ์ด์–ธํŠธ์—์„œ handshake ๊ณผ์ • ์† ์•”ํ˜ธํ™”์— ์‚ฌ์šฉํ•  ๊ณต๊ฐœํ‚ค๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค.

  3. ํด๋ผ์ด์–ธํŠธ ์ธก์€ ์„œ๋ฒ„์—์„œ ๋ณด๋‚ธ CA ์ธ์ฆ์„œ์— ๋Œ€ํ•ด ์œ ํšจํ•œ ์ง€ CA ๋ชฉ๋ก์—์„œ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์„ ์ง„ํ–‰ํ•œ๋‹ค.

  4. CA ์ธ์ฆ์„œ์— ๋Œ€ํ•œ ์‹ ๋ขฐ์„ฑ์ด ํ™•๋ณด๋˜์—ˆ๋‹ค๋ฉด, ํด๋ผ์ด์–ธํŠธ๋Š” ๋‚œ์ˆ˜ ๋ฐ”์ดํŠธ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•œ๋‹ค. ์ด ๋‚œ์ˆ˜ ๋ฐ”์ดํŠธ๋Š” ๋Œ€์นญํ‚ค๋ฅผ ์ •ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ์ด ๋˜๊ณ , ์•ž์œผ๋กœ ์„œ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ํ†ต์‹ ํ•  ๋•Œ ์•”ํ˜ธํ™”ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

  5. ๋งŒ์•ฝ 2๋ฒˆ ๋‹จ๊ณ„์—์„œ ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ ์ธ์ฆ์„œ๋ฅผ ํ•จ๊ป˜ ์š”๊ตฌํ–ˆ๋‹ค๋ฉด, ํด๋ผ์ด์–ธํŠธ์˜ ์ธ์ฆ์„œ์™€ ์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•œ ๋‚œ์ˆ˜ ๋ฐ”์ดํŠธ๋ฅผ ํ•จ๊ป˜ ๋ณด๋‚ด์ค€๋‹ค.

  6. ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์ธ์ฆ์„œ๋ฅผ ํ™•์ธ ํ›„, ๋‚œ์ˆ˜ ๋ฐ”์ดํŠธ๋ฅผ ์ž์‹ ์˜ ๊ฐœ์ธํ‚ค๋กœ ๋ณตํ˜ธํ™” ํ›„ ๋Œ€์นญ ๋งˆ์Šคํ„ฐ ํ‚ค ์ƒ์„ฑ์— ํ™œ์šฉํ•œ๋‹ค.

  7. ํด๋ผ์ด์–ธํŠธ๋Š” handshake ๊ณผ์ •์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋Š” finished ๋ฉ”์‹œ์ง€๋ฅผ ์„œ๋ฒ„์— ๋ณด๋‚ด๋ฉด์„œ, ์ง€๊ธˆ๊นŒ์ง€ ๋ณด๋‚ธ ๊ตํ™˜ ๋‚ด์—ญ๋“ค์„ ํ•ด์‹ฑ ํ›„ ๊ทธ ๊ฐ’์„ ๋Œ€์นญํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ ๊ฐ™์ด ๋‹ด์•„ ๋ณด๋‚ด์ค€๋‹ค.

  8. ์„œ๋ฒ„๋„ ๋™์ผํ•˜๊ฒŒ ๊ตํ™˜ ๋‚ด์šฉ๋“ค์„ ํ•ด์‹ฑํ•œ ๋’ค ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ณด๋‚ด์ค€ ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋Š” ์ง€ ํ™•์ธํ•œ๋‹ค. ์ผ์น˜ํ•˜๋ฉด ์„œ๋ฒ„๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ finished ๋ฉ”์‹œ์ง€๋ฅผ ์ด๋ฒˆ์— ๋งŒ๋“  ๋Œ€์นญํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ ๋ณด๋‚ธ๋‹ค.

  9. ํด๋ผ์ด์–ธํŠธ๋Š” ํ•ด๋‹น ๋ฉ”์‹œ์ง€๋ฅผ ๋Œ€์นญํ‚ค๋กœ ๋ณตํ˜ธํ™”ํ•˜์—ฌ ์„œ๋กœ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•œ ์‹ ๋ขฐ๋ฐ›์€ ์‚ฌ์šฉ์ž๋ž€ ๊ฑธ ์ธ์ง€ํ•˜๊ณ , ์•ž์œผ๋กœ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” ํ•ด๋‹น ๋Œ€์นญํ‚ค๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

PreviousHTTP & HTTPSNext๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ(Load Balancing)

Last updated 2 years ago

image