Google, ์•”ํ˜ธํ™” ํ† ํฐ ์ƒ์„ฑ์„ ์œ„ํ•œ OpenSK ์˜คํ”ˆ ์Šคํƒ ๋„์ž…

Google ์ œ์‹œ ํ‘œ์ค€์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ค€์ˆ˜ํ•˜๋Š” ์•”ํ˜ธํ™” ํ† ํฐ์šฉ ํŽŒ์›จ์–ด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” OpenSK ํ”Œ๋žซํผ ํ”ผ๋„ U2F ะธ FIDO2. OpenSK๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ค€๋น„๋œ ํ† ํฐ์€ ๊ธฐ๋ณธ ๋ฐ ์ด์ค‘ ์ธ์ฆ์„ ์œ„ํ•œ ์ธ์ฆ์ž๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ์ž์˜ ๋ฌผ๋ฆฌ์  ์กด์žฌ๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐ์—๋„ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” Rust๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๋ฐฐํฌ์ž Apache 2.0์— ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

OpenSK๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Yubico, Feitian, Thetis ๋ฐ Kensington๊ณผ ๊ฐ™์€ ์ œ์กฐ์—…์ฒด์—์„œ ์ƒ์‚ฐํ•œ ๊ธฐ์„ฑ ์†”๋ฃจ์…˜๊ณผ ๋‹ฌ๋ฆฌ ์‚ฌ์ดํŠธ์—์„œ XNUMX๋‹จ๊ณ„ ์ธ์ฆ์„ ์œ„ํ•œ ์ž์ฒด ํ† ํฐ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ™•์žฅ ๋ฐ ๊ฐ์‚ฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ์™„์ „ ๊ฐœ๋ฐฉํ˜• ํŽŒ์›จ์–ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋ฉ๋‹ˆ๋‹ค. OpenSK๋Š” ํ† ํฐ ์ƒ์‚ฐ์ž์™€ ์—ด์„ฑํŒฌ์ด ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๊ณ  ๋Œ€์ค‘์—๊ฒŒ ํ† ํฐ์„ ํ™๋ณดํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ๊ตฌ ํ”Œ๋žซํผ์œผ๋กœ ์ž๋ฆฌ์žก๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. OpenSK ์ฝ”๋“œ๋Š” ์›๋ž˜ ๋‹ค์Œ์„ ์œ„ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ†กOS Nordic nRF52840-DK ๋ฐ Nordic nRF52840-๋™๊ธ€ ๋ณด๋“œ์—์„œ ํ…Œ์ŠคํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์ ํŠธ ์™ธ์—๋„ ์ œ๊ณต๋œ ์ธ๊ธฐ ์žˆ๋Š” ์นฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ USB ์ „์ž์—ด์‡  ํ•˜์šฐ์ง•์„ 3D ํ”„๋ฆฐํ„ฐ๋กœ ์ธ์‡„ํ•˜๊ธฐ ์œ„ํ•œ ๋ ˆ์ด์•„์›ƒ ๋…ธ๋ฅด๋”• nRF52840, ARM Cortex-M4 ๋งˆ์ดํฌ๋กœ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ์•”ํ˜ธํ™” ๊ฐ€์†๊ธฐ ํฌํ•จ
ARM TrustZone Cryptocell 310. Nordic nRF52840์€ OpenSK๋ฅผ ์œ„ํ•œ ์ตœ์ดˆ์˜ ์ฐธ์กฐ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. OpenSK๋Š” ARM CryptoCell ์•”ํ˜ธํ™” ๊ฐ€์†๊ธฐ์™€ USB, NFC ๋ฐ Bluetooth Low Energy๋ฅผ ํฌํ•จํ•˜์—ฌ ์นฉ์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ชจ๋“  ์œ ํ˜•์˜ ์ „์†ก์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์•”ํ˜ธํ™” ๊ฐ€์†๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„ OpenSK๋Š” Rust๋กœ ์ž‘์„ฑ๋œ ECDSA, ECC secp256r1, HMAC-SHA256 ๋ฐ AES256 ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ณ„๋„ ๊ตฌํ˜„๋„ ์ค€๋น„ํ–ˆ์Šต๋‹ˆ๋‹ค.

Google, ์•”ํ˜ธํ™” ํ† ํฐ ์ƒ์„ฑ์„ ์œ„ํ•œ OpenSK ์˜คํ”ˆ ์Šคํƒ ๋„์ž…

OpenSK๋Š” FIDO2 ๋ฐ U2F๋ฅผ ์ง€์›ํ•˜๋Š” ํ† ํฐ์šฉ ํŽŒ์›จ์–ด์˜ ์ตœ์ดˆ ๊ฐœ๋ฐฉํ˜• ๊ตฌํ˜„์ด ์•„๋‹ˆ๋ฉฐ, ์œ ์‚ฌํ•œ ํŽŒ์›จ์–ด๊ฐ€ ๊ณต๊ฐœ ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ˜ผ์ž ะธ ์†Œ๋ฌด. ์–ธ๊ธ‰๋œ ํ”„๋กœ์ ํŠธ์— ๋น„ํ•ด OpenSK๋Š” C๊ฐ€ ์•„๋‹Œ Rust๋กœ ์ž‘์„ฑ๋˜์–ด After Free ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค, ๋„ ํฌ์ธํ„ฐ ์—ญ์ฐธ์กฐ ๋ฐ ๋ฒ„ํผ ์˜ค๋ฒ„๋Ÿฐ๊ณผ ๊ฐ™์€ ์ €์ˆ˜์ค€ ๋ฉ”๋ชจ๋ฆฌ ์ฒ˜๋ฆฌ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋งŽ์€ ์ทจ์•ฝ์ ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

์„ค์น˜๋ฅผ ์œ„ํ•ด ์ œ์•ˆ๋œ ํŽŒ์›จ์–ด๋Š” ๋‹ค์Œ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ํ†กOS,
Cortex-M ๋ฐ RISC-V ๊ธฐ๋ฐ˜ ๋งˆ์ดํฌ๋กœ์ปจํŠธ๋กค๋Ÿฌ์šฉ ์šด์˜ ์ฒด์ œ๋กœ ์ปค๋„, ๋“œ๋ผ์ด๋ฒ„ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒŒ๋“œ๋ฐ•์Šค ๊ฒฉ๋ฆฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. OpenSK๋Š” TockOS์šฉ ์• ํ”Œ๋ฆฟ์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Google์€ OpenSK ์™ธ์—๋„ ํ”Œ๋ž˜์‹œ ๋“œ๋ผ์ด๋ธŒ(NVMC)์— ์ตœ์ ํ™”๋œ TockOS๋„ ์ค€๋น„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ €์žฅ์†Œ ๊ทธ๋ฆฌ๊ณ  ์„ค์ • ํŒจ์น˜. OpenSK์™€ ๊ฐ™์€ TockOS์˜ ์ปค๋„๊ณผ ๋“œ๋ผ์ด๋ฒ„๋Š” Rust๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€