What is Hackers' Pub?

Hackers' Pub is a place for software engineers to share their knowledge and experience with each other. It's also an ActivityPub-enabled social network, so you can follow your favorite hackers in the fediverse and get their latest posts in your feed.

0
0
0

ๅŒๆฅตๆ€ง้šœๅฎณใฎไบบใ‚’ใŸใใ•ใ‚“ใƒ•ใ‚ฉใƒญใƒผใ—ใŸใฏใšใชใฎใงใ€ๆŠ•็จฟใŒๅคšใ„ใ‚ขใ‚ซใ‚ฆใƒณใƒˆใ‚’่ฆ‹ใ‚‹ใจ๏ฝข่บ่ปขใ‹ใ€‚ไธ‹ใ‚‰ใชใ„่ฒทใ„็‰ฉใง็ ด็”ฃใ—ใชใ„ใงใญใ€ใจๆ€ใ†ใ—ใ€ๆŠ•็จฟใŒใชใใชใ‚‹ใจ๏ฝขใƒใƒฃใƒผใ‚ธไธญใ‹โ€ฆใ€ใจๆ€ใ†ใ€‚

่บใชไบบใฏๅจๅ‹ขใฏใ„ใ„ใ‘ใฉๅคšๅ‹•ใจใ‹ใซใชใฃใฆๅคงใ—ใŸใ“ใจใงใใชใ„ใฎใงใ€ๅ‚่ฆณใ—ใฆ้–ขใ‚ใ‚‰ใชใ„ใ‚ˆใ†ใซใ—ใฆใพใ™ใ€‚

0

์ด๋ฏธ ์ด์šฉ์•ฝ๊ด€์— ์žˆ๋Š” ๋‚ด์šฉ๋“ค์ด๊ณ  ๊ทธ๋ก ์ƒ๋Œ€๋กœ ai์ƒ๋Œ€๋กœ ํ”„๋กฌํ”„ํŠธ ์งœ์„œ ํƒˆ์˜ฅํ•˜๋Š”๊ฑธ ๊ธˆ์ง€ํ•˜๋Š” ๋‚ด์šฉ๋งŒ ์ถ”๊ฐ€๋˜์—ˆ๋‹ค๋Š”๋“ฏ x.com/i/status/200...

RE: https://bsky.app/profile/did:plc:gof2xhae4vpzttiutjfbirry/post/3madohnb4yc2h


ํ…Œ์Šฌ๋ผ๋ฏผํŠธ(แŸˆ) on X: "์›์›ํŠธ์—์„œ ์ฃผ์žฅํ•˜๋Š” ๋‚ด์šฉ์€...

0
1
1

I am pleased that I switched from to @Vivaldi but the one thing I canโ€™t quite understand is if Mozilla is building AI themselves, offering an open source alternative for developers, why on earth are they not building it into the browser?

I appreciate some people might say, they would be pushing their own models on users, but not if it was just an option. It might do something to steer the โ€œhateโ€ away since Mozilla AI seems to be based on open and diverse inclusion,

Perhaps their AI Window will feature this as an option, I just find it a bit odd.

I do use AI for work, but not beyond that, so serves me well.

0
1
1

1. ๋Œ€ํ†ต๋ น ๊ณต์‹ ํŠธ์œ„ํ„ฐ๋Š” ๊ณต์  ์†Œํ†ต์„ ํ•ด์•ผํ•˜๊ณ , ์กฐํšŒ์ˆ˜ ์˜ฌ๋ฆฌ๊ธฐ ์ถฉ์ฃผ๋งจ ๊ทธ๋Ÿฐ ์‹์œผ๋กœ ์šด์˜ํ•˜๋ฉด ์•ˆ ๋จ. 2. ๋Œ€ํ†ต๋ น ๊ฐœ์ธ ํŠธ์œ„ํ„ฐํ•˜๊ณ  ์ฒญ์™€๋Œ€ ๊ณ„์ •ํ•˜๊ณ  ๋ถ„๋ฆฌ๋œ ์ƒํ™ฉ์—์„œ ์šด์˜ ์ฃผ์ฒด, ๋‹ด๋‹น์ž๊ฐ€ ๋ˆ„๊ตฐ์ง€ ํŒ€ ์ด๋ฆ„์ด๋ผ๊ณ  ๋ฐํžˆ๊ณ  ๋ณธ์ธ์ด ์ง์ ‘ ์“ด ๊ฒƒ๊ณผ ๊ตฌ๋ถ„ํ•ด์•ผ ํ•จ. 3. ์˜์ƒ ํ•˜๋‚˜ ์ €๋Ÿฐ ์‹์œผ๋กœ ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ ์ ์ ˆํ•˜์ง€ ์•Š์•„๋ณด์ธ๋‹ค. ๋งฅ๋žต ์„ค๋ช…์„ ํ…์ŠคํŠธ๋กœ ๋‹ฌ๋ผ๊ณ .

RE: https://bsky.app/profile/did:plc:a6qvfkbrohedqy3dt6k5mdv6/post/3mafxvn2xjk2z

0
0
0
0
1

๋‹ˆ ์ ์„ฑ์ด ์•„๋ƒ ๋„ˆ๋Š” ์žฌ๋Šฅ์ด ์—†์–ด ์ด๊ฑด ๋…ธ๋ ฅ์œผ๋กœ ์•ˆ๋ผ

RE: https://bsky.app/profile/did:plc:y5csbf6vxv6d2jwp7r5jkx3n/post/3mafj4fv3fs2t

0
1

BMW: ์‚ฌ์„ค์—…์ฒด ์ˆ˜๋ฆฌ ๋ชป ํ•˜๊ฒŒ BMW ๋กœ๊ณ  ๋ชจ์–‘ ์Šคํฌ๋ฃจ๋ฅผ ๋งŒ๋“ค์ž (wow they just screwed)

๋‚˜: ์ŠคํŒจ๋„ˆ ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์–ด๋–ค ํฌ๊ธฐ์—๋„ ๋งŒ๋Šฅ์ผ ๊ฒƒ ๊ฐ™์€๋ฐ?

BMW ๋กœ๊ณ  ๋ชจ์–‘์œผ๋กœ ์–‘์ชฝ์ด ํŒŒ์—ฌ ์žˆ๋Š” ๋‚˜์‚ฌ๋จธ๋ฆฌ
BMW has patented round-shaped screw heads that push owner to dealer-only repairs๊ฐ€์šด๋ฐ๊ฐ€ ํŒŒ์—ฌ ์ด์ง€์ฐฝ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ์ŠคํŒจ๋„ˆ ๋“œ๋ผ์ด๋ฒ„ ์„ธํŠธ
0
0
1
0
0

well today's is a bit bittersweet.

Back at the beginning of the month, I plotted all the projects on my remind(1) calendar, grouping various categories together. Two days ago, lynxยน, yesterday was Dilloยฒ, and today it was supposed to be . Yet this week has been full of sad Firefox news, with them ignoring users' desires to keep AI rubbish out of the browser (or at least relegated to an optional plugin)

The browser that I started using as Netscape, grew to be Communicator, that kinda became Phoenix, then shed the non-browser functions off to Thunderbird (already got mentionedยณ) and became Firefox. Despite the rise of Chromium/Chrome, I still use Firefox as my daily driver web-browser for the modern web (rather than the *pleasant* web where lynx & Dillo serve me much better).

What used to be a "User Agent" has become something that no longer puts the *user* first. ๐Ÿ˜ข

So in this time of wishes and gifts, I wish that the Firefox leadership team would take a strong look at what they're doing and change their course.

โธป
ยน mastodon.bsd.cafe/@gumnos/1157
ยฒ mastodon.bsd.cafe/@gumnos/1157
ยณ mastodon.bsd.cafe/@gumnos/1156

A kid on Santa's lap asks, "For Christmas I want a dragon!"  Santa replies they should "Be realistic."  The kid then now asks, "I want Mozilla to reverse its course on AI!" to which Santa pulls out a writing implement and parchment to take notes, asking "What color do you want your dragon?"
0
0
0
0
0
0
0
0

ใ€ŒไปŠใ•ใ‚‰่žใ‘ใชใ„...ใ€่ช่จผใƒป่ชๅฏใพใ‚ใ‚Šใ‚’ใ–ใฃใจๅพฉ็ฟ’ใ—ใ‚ˆใ†
zenn.dev/isawa/articles/2b84d7

0
0
0
0
3
0
0
0
0
0

A galaxy frog in India. A group of endangered galaxy frogs are missing, presumed dead, after photographers reportedly trampled all over their microhabitats in their efforts to take pictures of them. The very rare frogs, each the size of a fingertip, live under logs in Kerala. Their spots are thought to be used as a mode of communication
Photograph: Zoological Society of London



A blue spotted frog.
0
0
0
0

Started to touch FreeBSD jail and Bhyve VMs, using them for some programming project. Damn, if only I have such unlimited power near 15 years ago, when I was in university!

Need to have a building environment with some libraries for FastCGI and PostgreSQL installed? No problem, write a Bastillefile which enables sshd and mounts my catalog with projects inside the jail via the nullfs magic. Then create thin jail, apply this template to it and boom โ€” I have a ready development environment with ssh access and all necessary stuff. Just connect to it and build the program, all necessary sources are already here.

Need to test program on the NetBSD? No problem โ€” just create Bhyve VM with preinstalled netbsd template, then install OS with comp set and setup some services: Nginx, PostgreSQL, spawn-fcgi, etcโ€ฆ Then type C-x d /ssh:drag0n@10.0.0.2:~ in the Emacs, copy sources via Dired and I can test my program on the environment, as close as possible to the my home server.

All things looks so integrated in the OS and console software are so good, that it is incomparable with my Docker trips at work :drgn_aww: When programming become fun again :drgn_hyper:

Output of doas bastille list and doas vm list:

drag0n@drag0n-laptop:~ $ doas bastille list
doas (drag0n@drag0n-laptop.lair.internal) password: 
 JID  Name   Boot  Prio  State  Type   IP Address  Published Ports  Release          Tags
 -    devel  off   99    Down   thin   -           -                14.3-RELEASE-p6  -
 1    xray   off   9     Up     thin   -           -                14.3-RELEASE-p6  -
drag0n@drag0n-laptop:~ $ doas vm list
NAME               DATASTORE  LOADER  CPU  MEMORY  VNC  AUTO  STATE
netbsd-10.1-devel  default    grub    1    256M    -    No    Stopped
Bastillefile for evgandr/devel template. It mounts catalog with my projects inside the jail:

CMD pw useradd drag0n -s /bin/sh -m
CONFIG remove ip4.addr;
CONFIG set ip4=inherit;
SYSRC sshd_enable="YES"

CMD mkdir /usr/home/drag0n/fossil_repos
CMD chown drag0n:drag0n /usr/home/drag0n/fossil_repos
MOUNT /home/drag0n/fossil_repos /usr/home/drag0n/fossil_repos nullfs rw 0 0

RESTART
0
0
1

Auf dem wird diese Box stehen.

Nehmt euch eine Handvoll davon mit, weil es ja immer wieder passiert dass man die beim nรคchsten Einkauf im Einkaufswagen vergisst, und wir mehr als genug davon gedruckt haben.

Druckdateien und mehr รผber die Aktion findet ihr hier
wiki.c3re.de/de/Projekte/Filam

Wir wollen diese Kiste am Ende vom 39c3 LEER sehen!

Happy Hacking, eure Komplizen vom c3RE.

Im Bild ist eine groรŸe Kiste mit mehreren Tausend 3d-gedruckten Einkaufschips, die ein durchgestrichendes Hakenkreuz oder FCK AFD Motiv haben. Darรผber ist ein Anleitungstext zur Aktion geschrieben:

Schnapppe dir 5-10 Coins
Nimm sie bei jedem Einkauf mit
Lass sie im Einkaufswagen stecken
Beobachte die Menschen
Sprich darรผber

Grab 5-10 coins
Take them with you on every shopping trip
Leave them in your shopping cart
Observe people
Talk about it
0
0
0

ใ“ใฎ็™บ่กจใฎใ›ใ„ใงใ€ใ‚ใจใงSIใงใ‚ใฃใŸใฒใจใ‚ใฃใŸใฒใจใซๅŠ็ฌ‘ใ„ใงไผš่ฉฑใ•ใ‚Œใฆใ€ใŠใ‚‚ใ—ใ‚ใใฆใ‚ˆใ‹ใฃใŸใชใจ๏ผˆใ‚ˆใใชใ„๏ผ‰

RE: https://mi0.robotician.jp/notes/aghp0xz9ho

1

Just in time before christmas, the R1OS Forum is ready and registrations are open. The forum is for all people that need some support or want to discuss about free and open source software, especially Linux and BSD operating systems.

Please note that the forum is not affiliated with any projects and cannot help with official problems related to these. Please use the official channels if you need specific help with a project.

forum.r1os.com

0

๊น€ ์ด๋ฆฌ, ํŽ˜์ด์ปค์™€ ๋Œ€๋‹ด..."๊ตญ๊ฐ€ยท์‚ฌํšŒ์— ์ข‹์€ ์—ญํ•  ํ•ด๋‹ฌ๋ผ" 2025.12.20. ์˜คํ›„ 5:32. ๊น€๋ฏผ์„ ๊ตญ๋ฌด์ด๋ฆฌ๊ฐ€ ํ”„๋กœ๊ฒŒ์ด๋จธ 'ํŽ˜์ด์ปค' ์ด์ƒํ˜ ์„ ์ˆ˜์™€ K-๊ฒŒ์ž„ ์‚ฐ์—…์˜ ๋ฐœ์ „ ๋ฐฉํ–ฅ ๋“ฑ์— ๋Œ€ํ•ด ์˜๊ฒฌ์„ ๋‚˜๋ˆด๋‹ค๊ณ  ๊ตญ๋ฌด์ด๋ฆฌ์‹ค์ด ๋ฐํ˜”์Šต๋‹ˆ๋‹ค. www.ytn.co.kr/_ln/0101_202...

๊น€ ์ด๋ฆฌ, ํŽ˜์ด์ปค์™€ ๋Œ€๋‹ด..."๊ตญ๊ฐ€ยท์‚ฌํšŒ์— ์ข‹์€ ์—ญํ•  ...

1
0
1

์ดํƒœ์› ์ฐธ์‚ฌ ์ถ”๋ชจ ๋ฉ”์‹œ์ง€ ๋””์ง€ํ„ธํ™” ํ”„๋กœ์ ํŠธ "์ดํƒœ์› ๊ธฐ์–ต๋‹ด๊ธฐ ์บ ํŽ˜์ธ" ์ž‘์—… ํ›„๊ธฐ (1/n) ์ €๋Š” ๊ธฐํš+๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ๋“ฑ์„ ๋‹ด๋‹นํ–ˆ์Šต๋‹ˆ๋‹ค. https://campaigns.do/campaigns/1686/stories/1038

ํ•œ๊ตญ ๋ฐ์ดํ„ฐ์ €๋„๋ฆฌ์ฆ˜ ์–ด์›Œ๋“œ ์ˆ˜์ƒ! + ์บ ํŽ˜์ธ ์ œ์ž‘๊ธฐ (๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ํŽธ) - | ๋น ๋  ์บ ํŽ˜์ธ์ฆˆ

์ง€๋‚œ 11์›” 28์ผ ์—ด๋ฆฐ ํ•œ๊ตญ ๋ฐ์ดํ„ฐ์ €๋„๋ฆฌ์ฆ˜ ์–ด์›Œ๋“œ ์‹œ์ƒ์‹์—์„œ "์ดํƒœ์› ๊ธฐ์–ต๋‹ด๊ธฐ ์บ ํŽ˜์ธ"์ด โ€œ์˜ฌํ•ด์˜ ์˜คํ”ˆ ๋ฐ์ดํ„ฐ ํŠน๋ณ„์ƒโ€์„ ์ˆ˜์ƒํ–ˆ์Šต๋‹ˆ๋‹ค๐ŸŽ‰ ์‹œ์ƒ์‹์— ์•ž์„œ ์ง„ํ–‰๋œ ๋ฐ์ดํ„ฐ์ €๋„๋ฆฌ์ฆ˜์ฝ”๋ฆฌ์•„ ์ปจํผ๋Ÿฐ์Šค์—์„œ๋Š” ์บ ํŽ˜์ธ์˜ ๋ฐฐ๊ฒฝ, ์˜์˜, ์„ค๊ณ„ ๊ณผ์ • ๋“ฑ์„ ์†Œ๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ์บ ํŽ˜์ธ ์„ค๊ณ„ ๊ณผ์ •, ํŠนํžˆ ๊ธฐ์ˆ ์ ์ธ ์š”์†Œ๋“ค์— ๊ด€ํ•ด์„œ๋Š” ์ด๋ฒˆ ์ปจํผ๋Ÿฐ์Šค์—์„œ ์ฒ˜์Œ ๋ฐœํ‘œํ–ˆ๋Š”๋ฐ์š”. ๊ทธ ๋‚ด์šฉ์„ ์•„๋ž˜ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. *์ถ”๋ชจ๋ฉ”์‹œ์ง€ ์•„์นด์ด๋ธŒ ์ž‘์—…์˜ ์ง„ํ–‰ ๊ฒฝ๊ณผ์™€ ์ฐธ์—ฌํ˜• ์•„์นด์ด๋ธŒ ๊ตฌ์ถ• ํ™œ๋™์˜ ์‚ฌํšŒ์  ์˜๋ฏธ์— ๊ด€ํ•ด์„œ๋Š” ์•ž์„œ 10์›”์— ์—ด๋ฆฐ 10.29 ์ดํƒœ์› ์ฐธ์‚ฌ 3์ฃผ๊ธฐ ํ”ผํ•ด์ž๊ถŒ๋ฆฌ์œ„์›ํšŒ ํ† ๋ก ํšŒ ๋ฐœํ‘œ์ž๋ฃŒ(๋งํฌ ๋‚ด PDF ์ฒจ๋ถ€ํŒŒ์ผ)๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”! ์ดํƒœ์› ๊ธฐ์–ต๋‹ด๊ธฐ ์บ ํŽ˜์ธ ์ œ์ž‘๊ธฐ: ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ํŽธ ๊ธ€: ์•„์นจ (๋น ๋  ๊ณต์ต๋ฐ์ดํ„ฐํŒ€)ย  โ€˜์ดํƒœ์› ๊ธฐ์–ต ๋‹ด๊ธฐโ€™๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ง„ํ–‰๋œ ์ถ”๋ชจ๋ฉ”์‹œ์ง€ ๊ธฐ๋ก๋ณด์กดํ™œ๋™์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋„์‹ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.ย  ๋„ํ‘œ ์›๋ณธ: ์‹œ๋ฏผ๋Œ€์ฑ…ํšŒ์˜ ํ”ผํ•ด์ž๊ถŒ๋ฆฌ์œ„์›ํšŒ ๋ฐ•์ดํ˜„ ๋ฉ”์‹œ์ง€ ์ˆ˜๊ฑฐ์™€ ํ˜„์žฅ ์ •๋น„์—์„œ ์ถœ๋ฐœํ•ด ๊ฐ์ข… ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ์‚ฌํšŒ์  ๊ณต๋ก ํ™”๋กœ ํ–ฅํ•˜๋Š” ์ด ํ™œ๋™์—์„œ, 10.29 ์ดํƒœ์›์ฐธ์‚ฌ ์‹œ๋ฏผ๋Œ€์ฑ…ํšŒ์˜(์ดํ•˜ ์‹œ๋ฏผ๋Œ€์ฑ…ํšŒ์˜)์™€ ๋น ๋ ๊ฐ€ ํ•จ๊ป˜ ์ง„ํ–‰ํ•œ <์ดํƒœ์› ๊ธฐ์–ต๋‹ด๊ธฐ ์บ ํŽ˜์ธ>(์ดํ•˜ ์บ ํŽ˜์ธ)์€ [๋””์ง€ํ„ธ ์Šค์บ” - ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ - ํ…์ŠคํŠธ ๊ฒ€์ˆ˜ - (์‚ฌํšŒ์  ๊ณต๋ก ํ™”)]๊นŒ์ง€๋ฅผ ๋‹ค๋ฃจ๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํžˆ ๋งํ•˜์ž๋ฉด, ์ด๋ฒˆ ์บ ํŽ˜์ธ์€ ์ดํƒœ์› ์ฐธ์‚ฌ ์ถ”๋ชจ ๋ฉ”์‹œ์ง€๋ฅผ ๋””์ง€ํ„ธํ™”ํ•˜๋Š” ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋””์ง€ํ„ธ ์Šค์บ”์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ๊ฐœ๋ณ„ ๋ฉ”์‹œ์ง€ ๊ตฌํšํ…์ŠคํŠธ ์ธ์‹ (OCR, ์–ธ์–ด ํŒ๋… ๋“ฑ)ํ…์ŠคํŠธ ๊ฒ€์ˆ˜๋ฅผ ์œ„ํ•œ ํฌ๋ผ์šฐ๋“œ์†Œ์‹ฑ ์บ ํŽ˜์ธ ๋””์ง€ํ„ธ ์Šค์บ” ๋””์ง€ํ„ธ ์Šค์บ” ์ž‘์—…์€ ์‹œ๋ฏผ๋Œ€์ฑ…ํšŒ์˜ ํ”ผํ•ด์ž๊ถŒ๋ฆฌ์œ„์›ํšŒ ๊ธฐ๋ก๋ณด์กดํŒ€ ์ธก ์ž์›ํ™œ๋™๊ฐ€๋“ค์ด ๋ฐค๋Šฆ๊ฒŒ๊นŒ์ง€ ๊ณ ์ƒํ•˜๋ฉฐ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ํฌ์ŠคํŠธ์ž‡ ๋“ฑ ์ถ”๋ชจ ๋ฉ”์‹œ์ง€๋ฅผ A4์šฉ์ง€ ์œ„์— ๋ถ€์ฐฉํ•˜์—ฌ ๋ณด์กดํ•œ ๊ธฐ๋ก๋ฌผ์„ ๋ถ์Šค์บ๋„ˆ๋กœ ์Šค์บ”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์Šค์บ”ํ•œ ์ด๋ฏธ์ง€๊ฐ€ ์ด 6์ฒœ ์žฅ ๊ฐ€๋Ÿ‰์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ณ„ ๋ฉ”์‹œ์ง€ ๋ถ„๋ฆฌ 1: ์ž๋™๊ตฌํš A4์šฉ์ง€์—๋Š” ๋Œ€๋ถ€๋ถ„ ์—ฌ๋Ÿฌ ๊ฑด์˜ ์ถ”๋ชจ ๋ฉ”์‹œ์ง€๊ฐ€ ๋‹ด๊ฒจ ์žˆ์–ด, ์Šค์บ”ํ•œ ์ด๋ฏธ์ง€์—์„œ ๊ฐœ๋ณ„ ํฌ์ŠคํŠธ์ž‡ ์ด๋ฏธ์ง€๋ฅผ ํ•˜๋‚˜์”ฉ ๋ถ„๋ฆฌํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ๊ฒ€ํ† ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜์ž‘์—…์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ํ•˜๋‚˜์”ฉ ๊ตฌํšํ•œ๋‹ค (์ด๋ฅธ๋ฐ” โ€˜๋ˆ„๋ผ ๋”ฐ๊ธฐโ€™)ํฌ์ŠคํŠธ์ž‡์„ ํƒ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” CV ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚จ๋‹ค (์ฐธ๊ณ  ์˜ˆ์‹œ1, ์˜ˆ์‹œ2) ์ˆ˜์ž‘์—…์œผ๋กœ ๋ถ„๋ฆฌํ•˜๊ธฐ์—๋Š” ์ด๋ฏธ์ง€ ์–‘์ด ๋งŽ์•˜๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋–ป๊ฒŒ๋“  ์ž๋™ํ™”๋ฅผ ํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๊ฐ์ฒด ํƒ์ง€ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค๊ธฐ ์œ„ํ•œ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค๊ณ  ํ…Œ์ŠคํŠธํ•˜๋Š” ์ž‘์—…๋„ ๋ถ€๋‹ด์Šค๋Ÿฝ๊ธฐ๋Š” ๋งˆ์ฐฌ๊ฐ€์ง€์—ฌ์„œ ๊ณ ๋ฏผํ•˜๋˜ ์ฐจ์—, ์‚ฌ์ „ ํ•™์Šต๋œ ์ด๋ฏธ์ง€ ๊ตฌํš ๋ชจ๋ธ๋กœ๋„ ์–ด๋А ์ •๋„ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.ย  ๋ฉ”ํƒ€๊ฐ€ ๊ณต๊ฐœํ•œ Segment Anything Model 2๋ฅผ ์ ์šฉํ–ˆ์„ ๋•Œ, ํŒŒ์ธํŠœ๋‹ ์—†์ด ๊ฐœ๋ณ„ ๋ฉ”์‹œ์ง€ ๊ตฌํš์ด ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ๋ถ€์ •ํ™•ํ•œ ๊ตฌํš๋„ ๋‹ค์ˆ˜ ํฌํ•จํ•˜๊ณ  ์žˆ์–ด ํ•ด๋‹น ์˜ค๋ฅ˜๋ฅผ ๊ฑธ๋Ÿฌ๋‚ผ ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ–ˆ๋Š”๋ฐ์š”. ์ด๋ฅผ ์œ„ํ•ด ๋‘ ๊ฐ€์ง€ ์ ‘๊ทผ์„ ์ทจํ–ˆ์Šต๋‹ˆ๋‹ค. 1. ๊ฐœ๋ณ„ ๋ฉ”์‹œ์ง€๊ฐ€ ์•„๋‹Œ ๊ฒƒ์œผ๋กœ ์ถ”์ •๋˜๋Š” ๊ตฌํš์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ํœด๋ฆฌ์Šคํ‹ฑ ๋กœ์ง์„ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.ย  ๊ตฌํš ์˜ˆ์ธก ์‹ ๋ขฐ๋„๊ตฌํš ๊ฐ€๋กœ/์„ธ๋กœ๊ฐ€ A4 ์šฉ์ง€ ์ „์ฒด์— ์œก๋ฐ•ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๊ตฌํš๋œ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์‹œ ๊ตฌํšํ–ˆ์„ ๋•Œ, ํ•˜์œ„ ๊ตฌํš ์˜ˆ์ธก์— ์ „์ฒด ์‚ฌ์ด์ฆˆ ๊ตฌํš์ด ํฌํ•จ๋˜๋Š”์ง€ ์—ฌ๋ถ€ 2. ํœด๋ฆฌ์Šคํ‹ฑ์œผ๋กœ ํ•„ํ„ฐ๋งํ•œ ๊ตฌํš๋ณ„ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์‹œ ์ˆ˜๋™์œผ๋กœ ๊ฒ€์ˆ˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ณ„ ๋ฉ”์‹œ์ง€ ๋ถ„๋ฆฌ 2: ์ˆ˜๋™๊ฒ€์ˆ˜ ๊ฐœ๋ณ„ ์ด๋ฏธ์ง€ ๊ตฌํš ์˜ˆ์ธก-๊ฒ€์ˆ˜ ๊ณผ์ •์—์„œ Label Studio๋‚˜ CVAT ๊ฐ™์€ ๋ฐ์ดํ„ฐ ์–ด๋…ธํ…Œ์ด์…˜ ์ „๋ฌธ ํˆด์„ ํ™œ์šฉํ• ์ง€ ์ž ์‹œ ๊ณ ๋ คํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์ด๋ฒˆ ์บ ํŽ˜์ธ ์ž‘์—…์—๋Š” ์˜ค๋ฒ„ํ‚ฌ์ด๋ผ๊ณ  ํŒ๋‹จํ•˜์—ฌ ์˜ˆ์ธก ์ž‘์—…์—๋Š” ๊ตฌ๊ธ€ Colab์„, ๊ฒ€์ˆ˜์—๋Š” Airtable์„ ์ด์šฉํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. (์ดํ›„ ์ €๋Š” ์ด ํŒ๋‹จ์„ ํ›„ํšŒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.) Airtable์€ ์›น ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ๊ตฌ๊ธ€ ์‹œํŠธ ๋“ฑ ์ผ๋ฐ˜ ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ์™€ ๋‹ฌ๋ฆฌ ์ด๋ฏธ์ง€ ์ฒจ๋ถ€๊ฐ€ ์ž˜ ๊ตฌํ˜„๋˜์–ด ์žˆ๊ณ , ๊ฐ„๋‹จํ•œ ์›น ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๋ฐ์ดํ„ฐ ํ•„๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋“ฑ์˜ ์ธํ„ฐ๋ž™์…˜์„ ๋…ธ์ฝ”๋“œ๋กœ ์„ค๊ณ„ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ํŠน์ง• ๋•์— ํ”„๋กœ์ ํŠธ ํŒ€์›๋“ค์ด ํ•จ๊ป˜ ๊ฒ€์ˆ˜ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ธฐ์— ์ˆ˜์›”ํ•œ ํˆด์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. Airtable ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ž˜๋ชป ๊ตฌํš๋œ ์‚ฌ๋ก€๋‚˜, ์ž˜ ๊ตฌํš๋˜์—ˆ๋Š”๋ฐ ํœด๋ฆฌ์Šคํ‹ฑ ๋กœ์ง์ด ์˜ค๋ฅ˜๋กœ ๋ถ„๋ฅ˜ํ•œ ์‚ฌ๋ก€๋ฅผ ๋ฐ”๋กœ์žก์•˜์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์ด๋ ‡๊ฒŒ ์ง„ํ–‰ํ•  ๊ฒฝ์šฐ ๊ฒ€์ˆ˜์— ํ•œ๊ณ„๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ, ์ž˜๋ชป ๊ตฌํš๋œ ์‚ฌ๋ก€๋ฅผ ์œ„์–‘์„ฑ(false positive)๋ผ๊ณ  ๋ณด์•˜์„ ๋•Œ, ๋ฐ˜๋Œ€๋กœ ์•„์˜ˆ ํฌ์ŠคํŠธ์ž‡์„ ์ธ์‹ํ•˜์ง€ ๋ชปํ•ด ๊ตฌํš ์ž์ฒด๊ฐ€ ์—†๋Š” ์œ„์Œ์„ฑ(false negative) ์‚ฌ๋ก€๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ˆ˜๋™์œผ๋กœ ๊ตฌํš์„ ์ถ”๊ฐ€ ์ง€์ •ํ•ด์•ผ ํ•˜๋Š”๋ฐ, Airtable๋กœ๋Š” ๋ฌด๋ฆฌ์˜€์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ Airtable์—์„œ ๊ฒ€์ˆ˜ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ ๊ฐ€์ ธ์™€์„œ ์ˆ˜๋™์œผ๋กœ ์ถ”๊ฐ€ ๊ตฌํš์„ ์ง€์ •ํ•˜๊ณ  ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ปค์Šคํ…€ ํˆด์„ p5.js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ปค์Šคํ…€ ํˆด์— ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜๋‘˜ ์ถ”๊ฐ€ํ•˜๋ฉฐ ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ ๋ฐ์ดํ„ฐ ์–ด๋…ธํ…Œ์ด์…˜ ์ „๋ฌธ ํˆด์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ด์šฉํ•  ๊ฑธ ๊ทธ๋žฌ๋‹ค๊ณ โ€ฆ ํ•˜์ง€๋งŒ ๋˜๋Œ์•„๊ฐ€๊ธฐ์—” ๋˜ ์• ๋งคํ•œ ํƒ€์ด๋ฐ์ด ๋˜์–ด๋ฒ„๋ ค์„œ, SAM2 โ†’ (Airtable) โ†’ ์ปค์Šคํ…€ ๊ฒ€์ˆ˜ ํˆด์˜ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ์ด๋ฏธ์ง€ ๊ตฌํš์„ ์™„์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.ย  ๋ฉ”์‹œ์ง€ OCR ์ด๋ ‡๊ฒŒ ์ „์ฒ˜๋ฆฌํ•œ ๊ฐœ๋ณ„ ์ถ”๋ชจ๋ฉ”์‹œ์ง€ ์ด๋ฏธ์ง€๊ฐ€ 3๋งŒ3์ฒœ์—ฌ ๊ฑด. ๋‹ค์Œ ์ˆœ์„œ๋กœ๋Š” ์ด๋ฏธ์ง€์— OCR์„ ์ ์šฉํ•˜์—ฌ ์ดˆ๋ฒŒ ํ…์ŠคํŠธ๋ฅผ ์ถ”์ถœํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ก๋ณด์กดํŒ€์ด ์˜ˆ์ „์— OCR์„ ์‹œ๋„ํ–ˆ์„ ๋•Œ๋Š” ๊ฒฐ๊ณผ๊ฐ€ ์ข‹์ง€ ์•Š๋‹ค๊ณ  ๋ง์”€ํ•ด ์ฃผ์…จ๋Š”๋ฐ, AI ์—…์ฒด ๊ฐ„ ๊ฒฝ์Ÿ ์ถ”์„ธ ์†์—์„œ OCR ๋ชจ๋ธ ์„ฑ๋Šฅ๋„ ๋น ๋ฅด๊ฒŒ ๋ณ€ํ•˜๋Š” ๋“ฏํ•ด ์ตœ์‹  API๋ฅผ ํ™œ์šฉํ•ด๋ณด๋‹ˆ ๋‚˜์˜์ง€ ์•Š์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. (OCR์—๋Š” ์—…์Šคํ…Œ์ด์ง€ Document Parse ๋ชจ๋ธ์„ ์ด์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์นจ ๋น„์˜๋ฆฌ๊ธฐ๊ด€ ๋Œ€์ƒ API ๋ฌด๋ฃŒ ์ง€์› ํ”„๋กœ๊ทธ๋žจ์— ์„ ์ •๋˜์–ด ๊ฐ์‚ฌํ•˜๊ฒŒ๋„ ํ•ด๋‹น API๋ฅผ ๋ฌด์ƒ์œผ๋กœ ์ด์šฉํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.) ๋‹ค๋งŒ ์ถ”๋ชจ๋ฉ”์‹œ์ง€๋Š” ์†๊ธ€์”จ์ธ ๋งŒํผ, ํŠนํžˆ ํ˜๋ ค์“ด ๊ธ€์”จ์ผ ์ˆ˜๋ก ๊ธฐ๊ณ„ ์ธ์‹์— ํ•œ๊ณ„๋Š” ์—ฌ์ „ํžˆ ์žˆ์—ˆ๊ณ , ๋”๊ตฌ๋‚˜ ์Šต๊ธฐ์— ๋ฒˆ์ง€๋Š” ๋“ฑ ํ›ผ์†๋œ ๊ธ€์”จ๋„ ์ ์ง€ ์•Š์•„ ์‚ฌ๋žŒ์ด ๋ฐ˜๋“œ์‹œ ์ถ”๊ฐ€๋กœ ์ˆ˜์ •ํ•ด์ฃผ๋Š” ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ ํ–ˆ๋Š”๋ฐ์š”. ๊ธฐ์ˆ ์  ํ•œ๊ณ„์ธ ์…ˆ์ด์ง€๋งŒ, ํ•œํŽธ์œผ๋กœ ์ด ์บ ํŽ˜์ธ์„ ๊ธฐํšํ•˜๋Š” ๋‹จ๊ณ„์—์„œ๋ถ€ํ„ฐ ์ค‘์ ์„ ๋‘์—ˆ๋˜ ๊ฒƒ์€ (๋‹จ์ง€ ํšจ์œจ์ ์ธ ๋””์ง€ํ„ธํ™”๋งŒ์ด ์•„๋‹ˆ๋ผ) ๊ธฐ๋ก ๋ณด์กด ๊ณผ์ •์— ๋งŽ์€ ์‚ฌ๋žŒ์ด ์ฐธ์—ฌํ•˜์—ฌ ์—ฐ๋Œ€๋ฅผ ํ™•์žฅํ•˜๊ณ , ๋˜ ์ฐธ์—ฌ ๊ณผ์ •์—์„œ ์ด๋“ค ์ถ”๋ชจ๋ฉ”์‹œ์ง€๊ฐ€ ํ™˜๊ธฐ๋˜๋Š” ํšจ๊ณผ์˜€๊ธฐ์— ๊ธฐํš ์˜๋„์— ๋ถ€ํ•ฉํ•˜๋Š” ์ƒํ™ฉ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”์‹œ์ง€ ์–ธ์–ด ํƒ์ง€ ์ดํƒœ์› ์ฐธ์‚ฌ ์ถ”๋ชจ๋ฉ”์‹œ์ง€๋Š” ์™ธ๊ตญ์–ด๋กœ ์“ฐ์ธ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€๋ฅผ ํ…์ŠคํŠธ๋กœ ์˜ฎ๊ธธ ๋•Œ ํŠน์ • ์–ธ์–ด ๊ตฌ์‚ฌ์ž๊ฐ€ (์ž์‹ ์ด ์ฝ๊ณ  ์ž…๋ ฅํ•  ์ค„ ์•„๋Š”) ํ•ด๋‹น ์–ธ์–ด๋กœ ์“ฐ์ธ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋„๋ก, ๋ฉ”์‹œ์ง€์˜ ์–ธ์–ด๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์ด ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ ๊ธฐ์กด์˜ ๋ฌผ๋ฆฌ์  ๋ณด์กด ๊ณผ์ •์—์„œ๋Š” ํ•œ๊ตญ์–ด/์™ธ๊ตญ์–ด ์—ฌ๋ถ€๋งŒ ๋ถ„๋ฅ˜๊ฐ€ ๋œ ์ƒํƒœ์˜€๊ธฐ์—, ์–ธ์–ด ํŒ๋…์„ ์œ„ํ•ด ํŒŒ์ด์ฌ lingua ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์ด ๊ฒฝ์šฐ์—๋„ (์†๊ธ€์”จ์— ๋Œ€ํ•œ OCR ํŒ๋…์ด ๋ถ€์ •ํ™•ํ•œ ํŽธ์ด๊ธฐ์—) ๊ธฐ๊ณ„๋กœ ํƒ์ง€ํ•œ ์–ธ์–ด๊ฐ€ ๊ผญ ๋“ค์–ด๋งž์ง€๋Š” ์•Š์•„, ์˜์–ด-์ผ๋ณธ์–ด-์ค‘๊ตญ์–ด ๋“ฑ ๋น„๊ต์  ์ •ํ™•ํžˆ ํŒ๋…๋˜๋Š” ์–ธ์–ด๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” โ€˜๊ธฐํƒ€ ์™ธ๊ตญ์–ดโ€™๋กœ ์ผ๊ด„ ๋ถ„๋ฅ˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๊ฐ€๋ฉฐ ์ด์ฒ˜๋Ÿผ ์Šค์บ” - OCR - ์–ธ์–ด ํƒ์ง€ ๋“ฑ ์ „์ฒ˜๋ฆฌ ๊ณผ์ •์„ ๊ฑฐ์นœ ์ด๋ฏธ์ง€๋ฅผ ํด๋ผ์šฐ๋“œ์— ์—…๋กœ๋“œํ•˜๊ณ , ํ…์ŠคํŠธ ์ž๋ฃŒ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ํฌ๋ผ์šฐ๋“œ์†Œ์‹ฑ ์บ ํŽ˜์ธ์„ ์ง„ํ–‰ํ–ˆ๋Š”๋ฐ์š”. ๋ฐ”๋กœ ์ด ์บ ํŽ˜์ธ์ด โ€˜์ดํƒœ์› ๊ธฐ์–ต๋‹ด๊ธฐ ์บ ํŽ˜์ธโ€™์ž…๋‹ˆ๋‹ค. ๋””์ง€ํ„ธ ์‹œ๋ฏผ๊ด‘์žฅ ๋น ๋  ํ”Œ๋žซํผ์— ์›๋ž˜ ์žˆ๋˜ โ€˜์บ ํŽ˜์ธโ€™ ๊ธฐ๋Šฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ, ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•œ ํŠน๋ณ„ ์บ ํŽ˜์ธ์„ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ์บ ํŽ˜์ธ์˜ ๊ธฐ์ˆ ์  ๊ตฌํ˜„๊ณผ ์ฐธ์—ฌ์ž ๊ฒฝํ—˜ ์„ค๊ณ„์— ๊ด€ํ•ด์„œ๋Š” ๋‹ค์Œ ๊ธฐํšŒ์— ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ดํƒœ์› ๊ธฐ์–ต๋‹ด๊ธฐ ์บ ํŽ˜์ธ์€ ์•„์ง ๋๋‚˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์•„์ง ์ž…๋ ฅํ•ด์•ผ ํ•  ์™ธ๊ตญ์–ด ๋ฉ”์‹œ์ง€๊ฐ€ ๋งŽ์ด ๋‚จ์•„ ์žˆ๋Š”๋ฐ์š”. ์ถ”๋ชจ ๋ฉ”์‹œ์ง€๋ฅผ ๋””์ง€ํ„ธ ์ž๋ฃŒ๋กœ ์ž˜ ๋ณ€ํ™˜ํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ฌ๋Ÿฌ๋ถ„์˜ ๋งŽ์€ ์ฐธ์—ฌ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ดํƒœ์› ๊ธฐ์–ต๋‹ด๊ธฐ ์บ ํŽ˜์ธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

campaigns.do ยท ๋‚ด ์† ์•ˆ์˜ ๊ด‘์žฅ, ๋น ๋ 

0

[๋‹จ๋…] ์นด์นด์˜ค, ๋‚ด๋…„๋ถ€ํ„ฐ ์ด์šฉํŒจํ„ดยท๊ธฐ๋ก ๊ฐ•์ œ์ˆ˜์ง‘ ๊ฒ€ํ† 

n.news.naver.com/mnews/article

"์นด์นด์˜ค๊ฐ€ ๋‚ด๋…„ 2์›”๋ถ€ํ„ฐ ์ด์šฉ์ž๋“ค์˜ ์„œ๋น„์Šค ์ด์šฉ๊ธฐ๋ก๊ณผ ์ด์šฉํŒจํ„ด ์ˆ˜์ง‘์— ๋‚˜์„ญ๋‹ˆ๋‹ค.

๋‹ค๋งŒ ๊ฐ•์ œ ๋™์˜ ์ ˆ์ฐจ๋ฅผ ํ‘œ๋ช…ํ•œ๋ฐ๋‹ค ๋™์˜ํ•˜์ง€ ์•Š์œผ๋ฉด ์„œ๋น„์Šค ์ด์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•ด ์ ์ž–์€ ๋…ผ๋ž€์ด ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค."

์•„์ง ๋œ ํ˜ผ๋‚ฌ๊ตฌ๋‚˜?

0
0
0
3
๊ฟˆ์„ ๊ฟˆ
์ž ์„ ์ž 
์ถค์„ ์ถค
๊ทธ๋ฆผ์„ ๊ทธ๋ฆผ
์‚ถ์„ ์‚ถ
์Œˆ์„ ์Œˆ
๋ฌถ์Œ์„ ๋ฌถ์Œ

RE: https://misskey.io/notes/aghp5a616c0403mf
0
0
0
2

ๆดช ๆฐ‘ๆ†™ (Hong Minhee) shared the below article:

๋„์ปค๋กœ ๊ตฌ์ถ•ํ•œ ๋žฉ์—์„œ ํ˜ผ์ž ์‹ค์Šตํ•˜๋ฉฐ ๋ฐฐ์šฐ๋Š” ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ ์ž…๋ฌธ #5-1 TLS

์ž์†ํ‚ด @jasonkim@hackers.pub

L7 ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

์ „์†ก ๊ณ„์ธต์€ ์ „์†ก ์ œ์–ด๋ฅผ ํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋ณ„๋กœ ํŒจํ‚ท์„ ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ฒƒ ๊นŒ์ง€๋งŒ ๋‹ด๋‹นํ•œ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์€ ํŒจํ‚ท์„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์‚ฌ์šฉ์ž๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ณ„์ธต์ด๋‹ค.

OSI 7๊ณ„์ธต์˜ L5, L6์„ ๋‹ค๋ฃจ์ง€ ์•Š๋Š” ์ด์œ 

OSI 7๊ณ„์ธต ๋ชจ๋ธ์—์„œ๋Š” ์„ธ์…˜ ๊ณ„์ธต(L5)๊ณผ ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ๊ณ„์ธต(L6)์ด ๋ณ„๋„๋กœ ์ •์˜๋˜์–ด ์žˆ๋‹ค. ์„ธ์…˜ ๊ณ„์ธต์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„์˜ ์„ธ์…˜(์—ฐ๊ฒฐ) ์„ค์ •, ๊ด€๋ฆฌ, ์ข…๋ฃŒ๋ฅผ ๋‹ด๋‹นํ•˜๊ณ , ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ๊ณ„์ธต์€ ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹ ๋ณ€ํ™˜, ์•”ํ˜ธํ™”, ์••์ถ•์„ ๋‹ด๋‹นํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ํ˜„๋Œ€ ์ธํ„ฐ๋„ท์˜ ๊ทผ๊ฐ„์ธ TCP/IP ๋ชจ๋ธ์—์„œ๋Š” ์ด ๋‘ ๊ณ„์ธต์„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต๊ณผ ๋ถ„๋ฆฌํ•˜์ง€ ์•Š๋Š”๋‹ค. TCP/IP ๋ชจ๋ธ์€ OSI์˜ L5~L7์„ ํ•˜๋‚˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์œผ๋กœ ํ†ตํ•ฉํ•˜๋ฉฐ ์„ธ์…˜ ๊ด€๋ฆฌ๋‚˜ ๋ฐ์ดํ„ฐ ํ‘œํ˜„ ๋ฐฉ์‹์€ ๊ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ์ฝœ์ด ์ž์ฒด์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด TCP๋Š” ์ด๋ฏธ ์ „์†ก ๊ณ„์ธต์—์„œ ์—ฐ๊ฒฐ์˜ ์„ค์ •๊ณผ ํ•ด์ œ(3-way handshake, 4-way handshake)๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  TLS๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ์ฝœ ์ˆ˜์ค€์—์„œ ์•”ํ˜ธํ™”์™€ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ์ฒ˜๋ฆฌํ•œ๋‹ค.

์‹ค์ œ๋กœ RFC 3439์—๋Š” "Layering considered harmful"์ด๋ผ๋Š” ์„น์…˜์ด ์žˆ์„ ์ •๋„๋กœ ์—„๊ฒฉํ•œ ๊ณ„์ธต ๋ถ„๋ฆฌ๋ณด๋‹ค๋Š” ์‹ค์šฉ์ ์ธ ํ”„๋กœํ† ์ฝœ ์„ค๊ณ„๊ฐ€ ์ค‘์‹œ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ์ด์œ ๋กœ ์ด ์ฑ…์—์„œ๋„ L5, L6์„ ๋ณ„๋„๋กœ ๋‹ค๋ฃจ์ง€ ์•Š๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ์ฝœ๋กœ ํ†ตํ•ฉํ•˜์—ฌ ์„ค๋ช…ํ•œ๋‹ค.

๋‹ค์–‘ํ•œ ํ”„๋กœํ† ์ฝœ

์ด ์ฑ…์—์„œ๋Š” HTTP, SSL/TLS, DNS, DHCP์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฃฌ๋‹ค.

  • HTTP(Hypertext Transfer Protocol): ์›น ๋ธŒ๋ผ์šฐ์ €์™€ ์›น ์„œ๋ฒ„ ๊ฐ„์˜ ํ†ต์‹ ์„ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ์š”์ฒญ-์‘๋‹ต ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋ฉฐ, ์›น ํŽ˜์ด์ง€, ์ด๋ฏธ์ง€, API ๋ฐ์ดํ„ฐ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ „์†กํ•œ๋‹ค.

  • SSL/TLS(Secure Sockets Layer/Transport Layer Security): ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ์•”ํ˜ธํ™”ํ•˜์—ฌ ๋ณด์•ˆ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. HTTPS๋Š” HTTP์— TLS๋ฅผ ๊ฒฐํ•ฉํ•œ ๊ฒƒ์œผ๋กœ ์›น์—์„œ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ณด์•ˆ ํ†ต์‹  ๋ฐฉ์‹์ด๋‹ค.

  • DNS(Domain Name System): ๋„๋ฉ”์ธ ์ด๋ฆ„(์˜ˆ: www.example.com)์„ IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์‹œ์Šคํ…œ์ด๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ์–ตํ•˜๊ธฐ ์‰ฌ์šด ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ ์›น์‚ฌ์ดํŠธ์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

  • DHCP(Dynamic Host Configuration Protocol): ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋œ ์žฅ์น˜์—๊ฒŒ IP ์ฃผ์†Œ, ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ, ๊ธฐ๋ณธ ๊ฒŒ์ดํŠธ์›จ์ด, DNS ์„œ๋ฒ„ ๋“ฑ์˜ ๋„คํŠธ์›Œํฌ ์„ค์ •์„ ์ž๋™์œผ๋กœ ํ• ๋‹นํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

HTTP๋Š” ๋”ฐ๋กœ ์ •๋ฆฌํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๊ณ , TLS, DNS, DHCP์— ๋Œ€ํ•ด์„œ๋งŒ ์ •๋ฆฌ ํ•  ๊ฒƒ์ด๋‹ค.

TLS

TLS(SSL)์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์•”ํ˜ธํ™”ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

SSL์—์„œ TLS๋กœ์˜ ์ „ํ™˜

SSL์€ 1995๋…„ Netscape๊ฐ€ ์›น ํ†ต์‹  ๋ณด์•ˆ์„ ์œ„ํ•ด ๊ฐœ๋ฐœํ•œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. SSL 2.0์ด ์ตœ์ดˆ๋กœ ๊ณต๊ฐœ๋˜์—ˆ์ง€๋งŒ ์‹ฌ๊ฐํ•œ ๋ณด์•ˆ ์ทจ์•ฝ์ ์ด ๋ฐœ๊ฒฌ๋˜์–ด 1996๋…„ SSL 3.0์œผ๋กœ ๋Œ€์ฒด๋˜์—ˆ๋‹ค. ์ดํ›„ IETF(Internet Engineering Task Force)๊ฐ€ SSL์„ ํ‘œ์ค€ํ™”ํ•˜๋Š” ๊ณผ์ •์—์„œ ํ”„๋กœํ† ์ฝœ ์ด๋ฆ„์ด TLS(Transport Layer Security)๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค. 1999๋…„ TLS 1.0์ด RFC 2246์œผ๋กœ ๋ฐœํ‘œ๋˜์—ˆ๋Š”๋ฐ ์ด๋Š” SSL 3.0์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ์ด ์—†์„ ์ •๋„๋กœ ์ถฉ๋ถ„ํ•œ ์ฐจ์ด๊ฐ€ ์žˆ์—ˆ๋‹ค.

SSL 3.0์€ 2014๋…„ POODLE(Padding Oracle On Downgraded Legacy Encryption) ๊ณต๊ฒฉ ์ทจ์•ฝ์ ์ด ๋ฐœ๊ฒฌ๋œ ํ›„ 2015๋…„ ๊ณต์‹์ ์œผ๋กœ ํ๊ธฐ๋˜์—ˆ๋‹ค. TLS 1.0๊ณผ 1.1๋„ 2020๋…„ ์ฃผ์š” ๋ธŒ๋ผ์šฐ์ €๋“ค์— ์˜ํ•ด ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ๊ณ  2021๋…„ RFC 8996์„ ํ†ตํ•ด ๊ณต์‹ ํ๊ธฐ๋˜์—ˆ๋‹ค.

ํ˜„์žฌ๋Š” TLS 1.2(2008๋…„ ์ถœ์‹œ)์™€ TLS 1.3(2018๋…„ ์ถœ์‹œ)์ด ์‚ฌ์šฉ๋˜๋ฉฐ TLS 1.3์ด ๊ถŒ์žฅ๋œ๋‹ค.

์ฑ…์—์„œ๋Š” TLS 1.2์™€ RSA๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค๋ช…ํ•˜๊ณ  ์žˆ์ง€๋งŒ ์ด ํฌ์ŠคํŒ…์—์„œ๋Š” TLS 1.3๊ณผ Ed25519, X25519๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ •๋ฆฌ ํ•  ๊ฒƒ์ด๋‹ค.

TLS๋กœ ๋ง‰์„ ์ˆ˜ ์žˆ๋Š” ์œ„ํ˜‘

TLS๋Š” ์Šคํ‘ธํ•‘, ๋ณ€์กฐ, ๋„์ฒญ์ด๋ผ๋Š” ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ๋ณด์•ˆ ์œ„ํ˜‘์„ ๋ฐฉ์ง€ํ•œ๋‹ค.

์•”ํ˜ธํ™”๋กœ ๋„์ฒญ ๋ฐฉ์ง€

๋„์ฒญ์€ ํ†ต์‹  ๋‹น์‚ฌ์ž๊ฐ€ ์•„๋‹Œ ์ œ3์ž๊ฐ€ ๋„คํŠธ์›Œํฌ๋ฅผ ํ๋ฅด๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ชฐ๋ž˜ ๊ฐ€๋กœ์ฑ„ ์ฝ๋Š” ํ–‰์œ„์ด๋‹ค. ๊ณต๊ณต ์™€์ดํŒŒ์ด์—์„œ ๋กœ๊ทธ์ธ ์ •๋ณด๋ฅผ ํ›”์น˜๊ฑฐ๋‚˜ ๋„คํŠธ์›Œํฌ ํŒจํ‚ท์„ ์บก์ฒ˜ํ•˜์—ฌ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ํƒˆ์ทจํ•˜๋Š” ๊ฒƒ์ด ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋‹ค.

์•”ํ˜ธํ™”๋Š” ์ •ํ•ด์ง„ ๊ทœ์น™(์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜)์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. TLS๋Š” ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ†ต์‹  ๋‚ด์šฉ์„ ์•”ํ˜ธ๋ฌธ์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. ๋„์ฒญ์ž๊ฐ€ ์•”ํ˜ธํ™”๋œ ํŒจํ‚ท์„ ๊ฐ€๋กœ์ฑ„๋”๋ผ๋„ ๋ณตํ˜ธํ™” ํ‚ค ์—†์ด๋Š” ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ์•Œ ์ˆ˜ ์—†๋‹ค.

ํ•ด์‹ฑ์œผ๋กœ ๋ณ€์กฐ ๋ฐฉ์ง€

๋ณ€์กฐ(Tampering)๋Š” ํ†ต์‹  ์ค‘์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ3์ž๊ฐ€ ์ค‘๊ฐ„์—์„œ ๊ฐ€๋กœ์ฑ„์–ด ๋‚ด์šฉ์„ ๋ฐ”๊พธ๋Š” ํ–‰์œ„์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์€ํ–‰ ์†ก๊ธˆ ์š”์ฒญ์—์„œ ์ˆ˜์‹ ์ž ๊ณ„์ขŒ๋ฒˆํ˜ธ๋‚˜ ๊ธˆ์•ก์„ ๋ณ€๊ฒฝํ•˜๋Š” ์ค‘๊ฐ„์ž ๊ณต๊ฒฉ(Man-in-the-Middle Attack)์ด ์žˆ๋‹ค.

ํ•ด์‹ฑ์€ ๋ถˆ๊ทœ์น™ํ•œ ๊ธธ์ด์˜ ๋ฐ์ดํ„ฐ์—์„œ ์ •ํ•ด์ง„ ๊ณ„์‚ฐ(ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜)์— ๋”ฐ๋ผ ๊ณ ์ •๋œ ๊ธธ์ด์˜ ๋ฐ์ดํ„ฐ(ํ•ด์‹œ๊ฐ’)๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. TLS๋Š” ๋ฉ”์‹œ์ง€ ์ธ์ฆ ์ฝ”๋“œ(MAC)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ๋ฉ”์‹œ์ง€์— ํ•ด์‹œ ๊ธฐ๋ฐ˜ ํƒœ๊ทธ๋ฅผ ๋ถ™์ธ๋‹ค. ์ˆ˜์‹ ์ž๋Š” ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋กœ ๋™์ผํ•œ ํ•ด์‹œ๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ  ์†ก์‹ ์ž๊ฐ€ ๋ณด๋‚ธ MAC ํƒœ๊ทธ์™€ ๋น„๊ตํ•œ๋‹ค. ๋งŒ์•ฝ ๋ฐ์ดํ„ฐ๊ฐ€ ์กฐ๊ธˆ์ด๋ผ๋„ ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค๋ฉด ํ•ด์‹œ๊ฐ’์ด ์™„์ „ํžˆ ๋‹ฌ๋ผ์ง€๋ฏ€๋กœ ๋ณ€์กฐ๋ฅผ ์ฆ‰์‹œ ํƒ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋””์ง€ํ„ธ ์ธ์ฆ์„œ๋กœ ์Šคํ‘ธํ•‘ ๋ฐฉ์ง€

์Šคํ‘ธํ•‘(Spoofing)์€ ๊ณต๊ฒฉ์ž๊ฐ€ ๋‹ค๋ฅธ ์„œ๋ฒ„๋‚˜ ์‚ฌ์šฉ์ž๋กœ ์œ„์žฅํ•˜์—ฌ ํ†ต์‹  ์ƒ๋Œ€๋ฐฉ์„ ์†์ด๋Š” ํ–‰์œ„์ด๋‹ค. ๊ฐ€์งœ ์€ํ–‰ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉ์ž์˜ ๋กœ๊ทธ์ธ ์ •๋ณด๋ฅผ ํƒˆ์ทจํ•˜๋Š” ํ”ผ์‹ฑ ๊ณต๊ฒฉ์ด ๋Œ€ํ‘œ์ ์ด๋‹ค.

๋””์ง€ํ„ธ ์ธ์ฆ์„œ๋Š” ์ธํ„ฐ๋„ท์— ์žˆ๋Š” ๋‹ค๋ฅธ ๋‹จ๋ง์— "๋‚˜๋Š” ์ง„์งœ์ž…๋‹ˆ๋‹ค!"๋ผ๊ณ  ์ฆ๋ช…ํ•˜๋Š” ํŒŒ์ผ์ด๋‹ค. TLS๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์ฆ ๊ธฐ๊ด€(CA, Certificate Authority)์ด ๋ฐœ๊ธ‰ํ•œ ๋””์ง€ํ„ธ ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„์˜ ์‹ ์›์„ ๊ฒ€์ฆํ•œ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„๊ฐ€ ์ œ์‹œํ•œ ์ธ์ฆ์„œ๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” CA์— ์˜ํ•ด ์„œ๋ช…๋˜์—ˆ๋Š”์ง€ ์ธ์ฆ์„œ์˜ ๋„๋ฉ”์ธ์ด ์ ‘์†ํ•˜๋ ค๋Š” ๋„๋ฉ”์ธ๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. ์ด ๊ฒ€์ฆ์„ ํ†ตํ•ด ๊ฐ€์งœ ์„œ๋ฒ„์— ์—ฐ๊ฒฐ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.

TLS๋ฅผ ์ง€ํƒฑํ•˜๋Š” ๊ธฐ์ˆ 

TLS๋Š” ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜, ํ‚ค ๊ตํ™˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๋””์ง€์ปฌ ์„œ๋ช… ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๋ฉ”์‹œ์ง€ ์ธ์ฆ ์•Œ๊ณ ๋ฆฌ์ฆ˜ 4๊ฐ€์ง€ ๊ธฐ์ˆ ์„ ์กฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.

์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜

์•”ํ˜ธํ™”๋Š” ํ‰๋ฌธ(์›๋ณธ ๋ฐ์ดํ„ฐ)์„ ์•”ํ˜ธ๋ฌธ(์ฝ์„ ์ˆ˜ ์—†๋Š” ํ˜•ํƒœ)์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์ด๋ฉฐ ๋ณตํ˜ธํ™”๋Š” ์•”ํ˜ธ๋ฌธ์„ ๋‹ค์‹œ ํ‰๋ฌธ์œผ๋กœ ๋˜๋Œ๋ฆฌ๋Š” ๊ณผ์ •์ด๋‹ค. TLS์—์„œ ์‹ค์ œ ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”์—๋Š” ๋Œ€์นญํ‚ค(๊ณตํ†ตํ‚ค) ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.

๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”๋Š” ์•”ํ˜ธํ™”์™€ ๋ณตํ˜ธํ™”์— ๋™์ผํ•œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. AES-GCM์ด๋‚˜ ChaCha20-Poly1305 ๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋Œ€ํ‘œ์ ์ด๋ฉฐ ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ ๋นจ๋ผ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”์— ์ ํ•ฉํ•˜๋‹ค.

ํ•˜์ง€๋งŒ ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”์—๋Š” ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ํ†ต์‹ ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ์–‘์ธก์ด ๋™์ผํ•œ ํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•˜๋Š”๋ฐ ์ด ํ‚ค๋ฅผ ์–ด๋–ป๊ฒŒ ์•ˆ์ „ํ•˜๊ฒŒ ์ „๋‹ฌํ•  ๊ฒƒ์ธ๊ฐ€? ํ‚ค๋ฅผ ํ‰๋ฌธ์œผ๋กœ ๋„คํŠธ์›Œํฌ์— ์ „์†กํ•˜๋ฉด ๋„์ฒญ์ž์—๊ฒŒ ํƒˆ์ทจ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค. ํ‚ค๊ฐ€ ํƒˆ์ทจ๋˜๋ฉด ํ•ด๋‹น ํ‚ค๋กœ ์•”ํ˜ธํ™”๋œ ๋ชจ๋“  ํ†ต์‹  ๋‚ด์šฉ์ด ๋…ธ์ถœ๋œ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋กœ 'ํ‚ค ์ „๋‹ฌ ๋ฌธ์ œ'์ด๋ฉฐ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ‚ค ๊ตํ™˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ํ•„์š”ํ•˜๋‹ค.

ํ‚ค ๊ตํ™˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜

๊ณตํ†ตํ‚ค ์•”ํ˜ธ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ํ‚ค ์ „๋‹ฌ์‹œ ๋ณด์•ˆ ๋ฌธ์ œ๋ฅผ ํ”ผํ•  ์ˆ˜ ์—†๋‹ค. ํ‚ค ๊ตํ™˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋„์ฒญ์ž๊ฐ€ ์ง€์ผœ๋ณด๋Š” ๊ณต๊ฐœ ์ฑ„๋„์„ ํ†ตํ•ด์„œ๋„ ์–‘์ธก์ด ์•ˆ์ „ํ•˜๊ฒŒ ๊ณต์œ  ๋น„๋ฐ€(Shared Secret)์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ์ˆ ์ด๋‹ค.

RSA์˜ ๋ฌธ์ œ์ 

์ด์ „์—๋Š” RSA ํ‚ค ๊ตํ™˜์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฌด์ž‘์œ„ ๋น„๋ฐ€๊ฐ’์„ ์ƒ์„ฑํ•˜๊ณ  ์„œ๋ฒ„์˜ RSA ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ „์†กํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ ์ž์‹ ์˜ ๊ฐœ์ธํ‚ค๋กœ ๋ณตํ˜ธํ™”ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ฐฉ์‹์—๋Š” ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.

๋งŒ์•ฝ ๊ณต๊ฒฉ์ž๊ฐ€ ์•”ํ˜ธํ™”๋œ ํ†ต์‹ ์„ ๋ชจ๋‘ ์ €์žฅํ•ด๋‘์—ˆ๋‹ค๊ฐ€, ๋‚˜์ค‘์— ์„œ๋ฒ„์˜ RSA ๊ฐœ์ธํ‚ค๊ฐ€ ์œ ์ถœ๋˜๋ฉด ๊ณผ๊ฑฐ์˜ ๋ชจ๋“  ํ†ต์‹ ์„ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ '์ „๋ฐฉ ๋น„๋ฐ€์„ฑ(Forward Secrecy)'์ด ์—†๋‹ค๊ณ  ํ•œ๋‹ค.

X25519๋กœ์˜ ์ „ํ™˜

TLS 1.3์—์„œ๋Š” RSA ํ‚ค ๊ตํ™˜์ด ์™„์ „ํžˆ ์ œ๊ฑฐ๋˜๊ณ , X25519(๋˜๋Š” ECDHE) ๊ฐ™์€ ์ž„์‹œ(Ephemeral) Diffie-Hellman ํ‚ค ๊ตํ™˜๋งŒ ์‚ฌ์šฉํ•œ๋‹ค. X25519๋Š” Curve25519 ํƒ€์› ๊ณก์„ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ECDH(Elliptic Curve Diffie-Hellman) ํ‚ค ๊ตํ™˜ ํ•จ์ˆ˜๋กœ Daniel J. Bernstein์ด 2006๋…„์— ์„ค๊ณ„ํ–ˆ๋‹ค.

X25519์˜ ์žฅ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

  • ์™„์ „ ์ˆœ๋ฐฉํ–ฅ ๋น„๋ฐ€์„ฑ(Perfect Forward Secrecy): ๋งค ์„ธ์…˜๋งˆ๋‹ค ์ƒˆ๋กœ์šด ์ž„์‹œ ํ‚ค ์Œ์„ ์ƒ์„ฑํ•˜๋ฏ€๋กœ ์„œ๋ฒ„์˜ ์ธ์ฆ์„œ ๊ฐœ์ธํ‚ค๊ฐ€ ์œ ์ถœ๋˜์–ด๋„ ๊ณผ๊ฑฐ ์„ธ์…˜์˜ ํ†ต์‹  ๋‚ด์šฉ์„ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์—†๋‹ค.
  • ๋†’์€ ์„ฑ๋Šฅ: 256๋น„ํŠธ ํ‚ค๋กœ 128๋น„ํŠธ ๋ณด์•ˆ ์ˆ˜์ค€์„ ์ œ๊ณตํ•˜๋ฉด์„œ๋„ ๊ธฐ์กด ์•Œ๊ณ ๋ฆฌ์ฆ˜๋ณด๋‹ค ํ›จ์”ฌ ๋น ๋ฅด๋‹ค.
  • ๊ตฌํ˜„ ์•ˆ์ „์„ฑ: ํƒ€์ด๋ฐ ๊ณต๊ฒฉ ๋“ฑ ๋ถ€์ฑ„๋„ ๊ณต๊ฒฉ์— ๊ฐ•ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค.

X25519 ํ‚ค ๊ตํ™˜ ๋™์ž‘ ์›๋ฆฌ

  1. ํ‚ค ์Œ ์ƒ์„ฑ: ์˜ํฌ์™€ ์ฒ ์ˆ˜๋Š” ๊ฐ๊ฐ 32๋ฐ”์ดํŠธ์˜ ๋ฌด์ž‘์œ„ ๊ฐœ์ธํ‚ค(a, b)๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  2. ๊ณต๊ฐœํ‚ค ๊ณ„์‚ฐ: ๊ฐ์ž ์ž์‹ ์˜ ๊ฐœ์ธํ‚ค์™€ ํƒ€์› ๊ณก์„ ์˜ ๊ธฐ์ค€์ (G)์„ ๊ณฑํ•˜์—ฌ ๊ณต๊ฐœํ‚ค๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค. ์˜ํฌ์˜ ๊ณต๊ฐœํ‚ค = a ร— G, ์ฒ ์ˆ˜์˜ ๊ณต๊ฐœํ‚ค = b ร— G
  3. ๊ณต๊ฐœํ‚ค ๊ตํ™˜: ์˜ํฌ์™€ ์ฒ ์ˆ˜๋Š” ์ž์‹ ์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ์ƒ๋Œ€๋ฐฉ์—๊ฒŒ ์ „์†กํ•œ๋‹ค. ์ด ๊ณต๊ฐœํ‚ค๋Š” ๋„์ฒญ์ž๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ์–ด๋„ ์•ˆ์ „ํ•˜๋‹ค.
  4. ๊ณต์œ  ๋น„๋ฐ€ ๊ณ„์‚ฐ: ์˜ํฌ๋Š” ์ž์‹ ์˜ ๊ฐœ์ธํ‚ค(a)์™€ ์ฒ ์ˆ˜์˜ ๊ณต๊ฐœํ‚ค(b ร— G)๋ฅผ ๊ณฑํ•˜์—ฌ ๊ณต์œ  ๋น„๋ฐ€์„ ๊ณ„์‚ฐํ•œ๋‹ค. ์ฒ ์ˆ˜๋Š” ์ž์‹ ์˜ ๊ฐœ์ธํ‚ค(b)์™€ ์˜ํฌ์˜ ๊ณต๊ฐœํ‚ค(a ร— G)๋ฅผ ๊ณฑํ•œ๋‹ค. ํƒ€์› ๊ณก์„ ์˜ ์ˆ˜ํ•™์  ํŠน์„ฑ์— ์˜ํ•ด a ร— (b ร— G) = b ร— (a ร— G)๊ฐ€ ์„ฑ๋ฆฝํ•˜๋ฏ€๋กœ, ์–‘์ธก์€ ๋™์ผํ•œ ๊ณต์œ  ๋น„๋ฐ€์„ ์–ป๋Š”๋‹ค.
  5. ์„ธ์…˜ ํ‚ค ์œ ๋„: ๊ณต์œ  ๋น„๋ฐ€์€ HKDF(HMAC-based Key Derivation Function)๋ฅผ ํ†ตํ•ด ์‹ค์ œ ์•”ํ˜ธํ™”์— ์‚ฌ์šฉํ•  ์„ธ์…˜ ํ‚ค๋กœ ๋ณ€ํ™˜๋œ๋‹ค.

๋„์ฒญ์ž๋Š” ๊ณต๊ฐœํ‚ค(a ร— G, b ร— G)๋งŒ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ ์—ฌ๊ธฐ์„œ ๊ฐœ์ธํ‚ค(a, b)๋ฅผ ์•Œ์•„๋‚ด๋Š” ๊ฒƒ์€ ํƒ€์› ๊ณก์„  ์ด์‚ฐ ๋กœ๊ทธ ๋ฌธ์ œ(ECDLP)๋ฅผ ํ‘ธ๋Š” ๊ฒƒ์œผ๋กœ ํ˜„์žฌ ๊ธฐ์ˆ ๋กœ๋Š” ๊ณ„์‚ฐ์ ์œผ๋กœ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

๋””์ง€ํ„ธ ์„œ๋ช… ์•Œ๊ณ ๋ฆฌ์ฆ˜

์•ž์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด TLS๋Š” ๋””์ง€ํ„ธ ์ธ์ฆ์„œ์— ํฌํ•จ๋œ ๋””์ง€ํ„ธ ์„œ๋ช…์„ ํ†ตํ•ด ์ƒ๋Œ€๋ฐฉ์ด ์ œ3์ž๊ฐ€ ์‹ ๋ขฐ ํ•  ์ˆ˜์žˆ๋Š” ์ƒ๋Œ€์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•œ๋‹ค.

RSA์—์„œ Ed25519๋กœ

์˜ˆ์ „์—๋Š” RSA๊ฐ€ ๋””์ง€ํ„ธ ์„œ๋ช…์— ๋„๋ฆฌ ์‚ฌ์šฉ๋˜์—ˆ์ง€๋งŒ ๋ช‡ ๊ฐ€์ง€ ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค. ๋™๋“ฑํ•œ ๋ณด์•ˆ ์ˆ˜์ค€์„ ์œ„ํ•ด ํ›จ์”ฌ ํฐ ํ‚ค ํฌ๊ธฐ๊ฐ€ ํ•„์š”ํ•˜๊ณ (RSA 3072๋น„ํŠธ โ‰ˆ Ed25519 256๋น„ํŠธ) ์„œ๋ช… ์ƒ์„ฑ ์†๋„๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๋А๋ฆฌ๋ฉฐ ๊ตฌํ˜„ ์‹œ ํŒจ๋”ฉ ์˜ค๋ผํด ๊ณต๊ฒฉ ๋“ฑ์— ์ทจ์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค.

Ed25519๋Š” ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ํ˜„๋Œ€์ ์ธ ๋””์ง€ํ„ธ ์„œ๋ช… ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. Edwards ๊ณก์„  ๊ธฐ๋ฐ˜์˜ EdDSA(Edwards-curve Digital Signature Algorithm) ๊ตฌํ˜„์ฒด๋กœ, Daniel J. Bernstein ํŒ€์ด ์„ค๊ณ„ํ–ˆ๋‹ค. 2023๋…„ FIPS 186-5์— ๊ณต์‹ ํฌํ•จ๋˜์–ด ๋ฏธ๊ตญ ์—ฐ๋ฐฉ ์ •๋ถ€ ์‹œ์Šคํ…œ์—์„œ๋„ ์Šน์ธ๋œ ์„œ๋ช… ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋˜์—ˆ๋‹ค.

Ed25519์˜ ํŠน์ง•

  • ์ž‘์€ ํ‚ค์™€ ์„œ๋ช… ํฌ๊ธฐ: ๊ณต๊ฐœํ‚ค 32๋ฐ”์ดํŠธ, ์„œ๋ช… 64๋ฐ”์ดํŠธ๋กœ ๋งค์šฐ ์ปดํŒฉํŠธํ•˜๋‹ค.
  • ๋น ๋ฅธ ์„ฑ๋Šฅ: ์„œ๋ช… ์ƒ์„ฑ์ด RSA๋ณด๋‹ค ์•ฝ 33๋ฐฐ ๋น ๋ฅด๋‹ค.
  • ๋†’์€ ๋ณด์•ˆ์„ฑ: 128๋น„ํŠธ ๋ณด์•ˆ ์ˆ˜์ค€์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋ถ€์ฑ„๋„ ๊ณต๊ฒฉ์— ๊ฐ•ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค.
  • ๊ฒฐ์ •์  ์„œ๋ช…: ๋‚œ์ˆ˜ ์ƒ์„ฑ๊ธฐ์— ์˜์กดํ•˜์ง€ ์•Š์•„ ๊ตฌํ˜„ ์˜ค๋ฅ˜๋กœ ์ธํ•œ ๊ฐœ์ธํ‚ค ๋…ธ์ถœ ์œ„ํ—˜์ด ์—†๋‹ค. (Sony PlayStation 3 ํŽŒ์›จ์–ด ์„œ๋ช…ํ‚ค ์œ ์ถœ ์‚ฌ๊ฑด์€ ECDSA์˜ ์ž˜๋ชป๋œ ๋‚œ์ˆ˜ ์‚ฌ์šฉ์œผ๋กœ ๋ฐœ์ƒํ–ˆ๋‹ค.)

๋””์ง€ํ„ธ ์„œ๋ช… ์ƒ์„ฑ๊ณผ ๊ฒ€์ฆ ๊ณผ์ •

์„œ๋ช… ์ƒ์„ฑ (์„œ๋ฒ„/๋ฐœ๊ธ‰์ž ์ธก):

  1. ์„œ๋ช…ํ•  ๋ฉ”์‹œ์ง€(์˜ˆ: ์ธ์ฆ์„œ ๋‚ด์šฉ)๋ฅผ ์ค€๋น„ํ•œ๋‹ค.
  2. ๊ฐœ์ธํ‚ค์™€ ๋ฉ”์‹œ์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด์‹œ๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.
  3. ์ด ํ•ด์‹œ์™€ ๊ฐœ์ธํ‚ค๋ฅผ ํƒ€์› ๊ณก์„  ์—ฐ์‚ฐ์— ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ช…๊ฐ’(R, s)์„ ์ƒ์„ฑํ•œ๋‹ค.
  4. ์„œ๋ช…์„ ๋ฉ”์‹œ์ง€(์ธ์ฆ์„œ)์— ์ฒจ๋ถ€ํ•œ๋‹ค.

์„œ๋ช… ๊ฒ€์ฆ (ํด๋ผ์ด์–ธํŠธ ์ธก):

  1. ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ธ์ฆ์„œ์™€ ์„œ๋ช…์„ ๋ฐ›๋Š”๋‹ค.
  2. ์ธ์ฆ์„œ์— ํฌํ•จ๋œ ๊ณต๊ฐœํ‚ค๋ฅผ ์ถ”์ถœํ•œ๋‹ค.
  3. ๊ณต๊ฐœํ‚ค, ๋ฉ”์‹œ์ง€, ์„œ๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ ํƒ€์› ๊ณก์„  ๋ฐฉ์ •์‹์„ ๊ฒ€์ฆํ•œ๋‹ค.
  4. ๋ฐฉ์ •์‹์ด ์„ฑ๋ฆฝํ•˜๋ฉด ์„œ๋ช…์ด ์œ ํšจํ•˜๊ณ , ์ธ์ฆ์„œ๊ฐ€ ํ•ด๋‹น ๊ฐœ์ธํ‚ค ์†Œ์œ ์ž์— ์˜ํ•ด ์„œ๋ช…๋˜์—ˆ์Œ์ด ์ฆ๋ช…๋œ๋‹ค.

ํ†ต์‹  ์ƒ๋Œ€๋ฐฉ ์ธ์ฆ:

  1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•˜๋ฉด ์„œ๋ฒ„๋Š” ์ž์‹ ์˜ ๋””์ง€ํ„ธ ์ธ์ฆ์„œ๋ฅผ ์ œ์‹œํ•œ๋‹ค.
  2. ์ธ์ฆ์„œ์—๋Š” ์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค์™€ CA(์ธ์ฆ ๊ธฐ๊ด€)์˜ ๋””์ง€ํ„ธ ์„œ๋ช…์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.
  3. ํด๋ผ์ด์–ธํŠธ๋Š” ์ด๋ฏธ ์‹ ๋ขฐํ•˜๊ณ  ์žˆ๋Š” CA์˜ ๊ณต๊ฐœํ‚ค๋กœ ์ธ์ฆ์„œ์˜ ์„œ๋ช…์„ ๊ฒ€์ฆํ•œ๋‹ค.
  4. ๊ฒ€์ฆ์ด ์„ฑ๊ณตํ•˜๋ฉด ์ธ์ฆ์„œ์— ์žˆ๋Š” ์„œ๋ฒ„ ๊ณต๊ฐœํ‚ค๊ฐ€ ์ง„์งœ ํ•ด๋‹น ์„œ๋ฒ„์˜ ๊ฒƒ์ž„์ด ๋ณด์žฅ๋œ๋‹ค.

๋ฉ”์‹œ์ง€ ์ธ์ฆ ์•Œ๊ณ ๋ฆฌ์ฆ˜

TLS์—์„œ ์•ž์„œ ์–ธ๊ธ‰ํ•œ ๋””์ง€ํ„ธ ์„œ๋ช… ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํ†ต์‹  ์ƒ๋Œ€๋ฐฉ์„ ์ธ์ฆํ•˜๋Š” ๊ฒƒ์ผ ๋ฟ ์ดํ›„ ์ฃผ๊ณ ๋ฐ›๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ์ดํ„ฐ(๋ฉ”์‹œ์ง€)๋ฅผ ์ธ์ฆํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

๋””์ง€ํ„ธ ์„œ๋ช…์€ ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์—ฐ์‚ฐ ๋น„์šฉ์ด ๋†’๋‹ค. ๋งค ๋ฉ”์‹œ์ง€๋งˆ๋‹ค ์„œ๋ช…์„ ์ƒ์„ฑํ•˜๊ณ  ๊ฒ€์ฆํ•˜๋Š” ๊ฒƒ์€ ์„ฑ๋Šฅ์ƒ ๋น„ํšจ์œจ์ ์ด๋‹ค. ๋”ฐ๋ผ์„œ TLS๋Š” ํ•ธ๋“œ์…ฐ์ดํฌ ๊ณผ์ •์—์„œ ํ•ฉ์˜ํ•œ ๋Œ€์นญํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” MAC(Message Authentication Code)์œผ๋กœ ๊ฐ ๋ฉ”์‹œ์ง€์˜ ๋ฌด๊ฒฐ์„ฑ๊ณผ ์ธ์ฆ์„ ๋ณด์žฅํ•œ๋‹ค.

MAC์ด๋ž€?

MAC์€ ๋ฉ”์‹œ์ง€์™€ ๊ณต์œ  ๋น„๋ฐ€ํ‚ค๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ ๊ณ ์ • ๊ธธ์ด์˜ ์ธ์ฆ ํƒœ๊ทธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋‹จ์ˆœํ•œ ํ•ด์‹œ์™€ ๋‹ฌ๋ฆฌ, ๋น„๋ฐ€ํ‚ค๊ฐ€ ์—†์œผ๋ฉด ์˜ฌ๋ฐ”๋ฅธ MAC ํƒœ๊ทธ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ MAC์€ ๋ฉ”์‹œ์ง€ ๋ฌด๊ฒฐ์„ฑ(๋ณ€์กฐ ์—ฌ๋ถ€)๊ณผ ๋ฉ”์‹œ์ง€ ์ธ์ฆ(๋ฐœ์‹ ์ž ํ™•์ธ)์„ ๋™์‹œ์— ์ œ๊ณตํ•œ๋‹ค.

TLS์—์„œ๋Š” ์ฃผ๋กœ HMAC(Hash-based MAC)์„ ์‚ฌ์šฉํ•œ๋‹ค. HMAC์€ SHA-256 ๊ฐ™์€ ํ•ด์‹œ ํ•จ์ˆ˜์™€ ๋น„๋ฐ€ํ‚ค๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ MAC ํƒœ๊ทธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. TLS 1.3์—์„œ๋Š” AEAD(Authenticated Encryption with Associated Data) ๋ชจ๋“œ์ธ AES-GCM์ด๋‚˜ ChaCha20-Poly1305๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ์ด๋“ค์€ ์•”ํ˜ธํ™”์™€ ๋ฉ”์‹œ์ง€ ์ธ์ฆ์„ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•œ๋‹ค.

MAC์œผ๋กœ ๋ณ€์กฐ ๊ฒ€์ฆํ•˜๋Š” ๊ณผ์ •

  1. ์†ก์‹ ์ž: ์•”ํ˜ธํ™”๋œ ๋ฉ”์‹œ์ง€์™€ ๊ณต์œ  ๋น„๋ฐ€ํ‚ค๋ฅผ MAC ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์ž…๋ ฅํ•˜์—ฌ MAC ํƒœ๊ทธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  2. ์ „์†ก: ์•”ํ˜ธํ™”๋œ ๋ฉ”์‹œ์ง€์™€ MAC ํƒœ๊ทธ๋ฅผ ํ•จ๊ป˜ ์ „์†กํ•œ๋‹ค.
  3. ์ˆ˜์‹ ์ž: ๋ฐ›์€ ๋ฉ”์‹œ์ง€์™€ ๋™์ผํ•œ ๊ณต์œ  ๋น„๋ฐ€ํ‚ค๋กœ MAC์„ ์ง์ ‘ ๊ณ„์‚ฐํ•œ๋‹ค.
  4. ๋น„๊ต: ๊ณ„์‚ฐํ•œ MAC๊ณผ ๋ฐ›์€ MAC ํƒœ๊ทธ๋ฅผ ๋น„๊ตํ•œ๋‹ค.
  5. ํŒ์ •: ๋‘ ๊ฐ’์ด ์ผ์น˜ํ•˜๋ฉด ๋ฉ”์‹œ์ง€๊ฐ€ ๋ณ€์กฐ๋˜์ง€ ์•Š์•˜์Œ์ด ๋ณด์žฅ๋œ๋‹ค. ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฉ”์‹œ์ง€๊ฐ€ ์ „์†ก ์ค‘์— ๋ณ€์กฐ๋˜์—ˆ๊ฑฐ๋‚˜ ์˜ฌ๋ฐ”๋ฅธ ํ‚ค๋ฅผ ๊ฐ€์ง„ ๋ฐœ์‹ ์ž๊ฐ€ ๋ณด๋‚ธ ๊ฒƒ์ด ์•„๋‹ˆ๋ฏ€๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ํ๊ธฐํ•œ๋‹ค.

์ด ๊ณผ์ •์—์„œ ๊ณต๊ฒฉ์ž๊ฐ€ ๋ฉ”์‹œ์ง€ ๋‚ด์šฉ์„ ์กฐ๊ธˆ์ด๋ผ๋„ ๋ฐ”๊พธ๋ฉด ํ•ด์‹œ๊ฐ’์ด ์™„์ „ํžˆ ๋‹ฌ๋ผ์ง€๋ฏ€๋กœ ์˜ฌ๋ฐ”๋ฅธ MAC ํƒœ๊ทธ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์—†๋‹ค. ๋˜ํ•œ ๊ณต์œ  ๋น„๋ฐ€ํ‚ค ์—†์ด๋Š” ์œ„์กฐ๋œ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ์œ ํšจํ•œ MAC์„ ๋งŒ๋“ค ์ˆ˜ ์—†์–ด ๋ฉ”์‹œ์ง€์˜ ์ถœ์ฒ˜๋„ ๊ฒ€์ฆ๋œ๋‹ค.

Read more โ†’
6

Here's the document release you were waiting for today!

The UNIX V4 tape!

archive.org/details/utah_unix_

Credits:

* Jay Lepreau for holding on to this tape
* Aleksander Maricq for finding it
* Jon Duerig for driving it to the Computer History Museum
* Thalia Archibald for doing a huge amount of research into the tape, its history, and file formats, and the upload
* Al Kossow for the tape-reading equipment and doing the actual read
* Len Shustek for the lab where the read was done and the software used to decode it

0
0
0