Manual/BerEditor

[BerEditor] OTP ( One Time Password ) ๊ธฐ๋Šฅ์— ๊ด€ํ•ด

JayKim๐Ÿ™‚ 2023. 5. 31. 09:15

[์ด ๊ธฐ๋Šฅ์€ ๋ผ์ด์„ ์Šค ๋ฒ„์ „ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค]
๋ผ์ด์„ ์Šค๊ฐ€ ํ•„์š”ํ•œ ๋ถ„์€ [ํ”„๋กœ๊ทธ๋žจ ํ‚ค ๋ฐœ๊ธ‰] ํŽ˜์ด์ง€์—์„œ 30์ผ ๋ผ์ด์„ ์Šค ๋ฐœ๊ธ‰ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค

์ผ๋ฐ˜์ ์œผ๋กœ ์ธํ„ฐ๋„ท ๋ฑ…ํ‚น์ด๋‚˜ ์ถ”๊ฐ€ ์ธ์ฆ ๊ธฐ๋Šฅ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” OTP ๋Œ€ํ•ด์„œ ์•Œ์•„ ๋ณด์ž
OTP ๋Š” One Time Password ์˜ ์•ฝ์ž๋กœ ์ผํšŒ์šฉ ๋น„๋ฐ€ ๋ฒˆํ˜ธ์ด๋‹ค.

BerEditor ์—์„œ ์ œ๊ณต ํ•˜๋Š” ๊ธฐ๋Šฅ์€ Time-Based One Time Password ์ด๋‹ค.
RFC 6238 ์— ์ •์˜ ๋œ ํ‘œ์ค€ ๊ธฐ์ˆ ์ด๋‹ค.

์‚ฌ์‹ค Time Based OTP ์—์„œ ์ค‘์š”ํ•œ ๊ฒƒ ์ค‘์— ํ•˜๋‚˜๊ฐ€ ์‹œ๊ฐ„์ด๋‹ค.
์‹ค์ œ๋กœ OTP ์žฅ์น˜์˜ ์‹œ๊ฐ„์€ ์ •ํ™•๋„๊ฐ€ ๋–จ์–ด์ง„๋‹ค.
OTP ์˜ ์‹œ๊ฐ„์˜ ์˜ค์ฐจ๊ฐ€ ๋–จ์–ด์ง€๋”๋ผ๋„ OTP ๊ฐ’์„ ๊ฒ€์ฆ ํ•˜๋Š” ์„œ๋ฒ„ ์ชฝ์—์„œ๋Š” ํ•ด๋‹น ์‹œ๊ฐ„์˜ ์•ž/๋’ค ์˜ค์ฐจ๋ฅผ
๊ณ ๋ คํ•˜์—ฌ ๊ฐ’์„ ๊ฒ€์ฆ ํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์˜ค์ฐจ์— ๋Œ€ํ•œ ๋ณด์ •์„ ๊ธฐ๋ก์„ ํ†ตํ•ด ๊ณ„์† ์‚ฌ์šฉ๊ฐ€๋Šฅ ํ•˜๋„๋ก ํ•œ๋‹ค.
ํ•˜์ง€๋งŒ ์˜ค์ฐจ๊ฐ€ ์ผ์ • ์‹œ๊ฐ„ ์ด์ƒ ์ฐจ์ด๊ฐ€ ๋‚˜๋ฉด ๋‹ค์‹œ OTP ์‹œ๊ฐ„์„ ๋งŸ์ถ”์–ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.

BerEditor ์—์„œ ์„ค์ •ํ•˜๋Š” ์‹œ๊ฐ„์€ localTime ์ด๋‹ค.
์ฆ‰ UTC ์‹œ๊ฐ„ ๋ณด๋‹ค +9 ์‹œ๊ฐ„์œผ๋กœ ๋ณด๋ฉด ๋œ๋‹ค.
์ฆ‰ UTC ์‹œ๊ฐ„ 1970.01.01 00:00:01 ์ด๋ ‡๊ฒŒ ์„ค์ ˆ ํ•˜๋ ค๋ฉด ๋กœ์ปฌ ์‹œ๊ฐ„์€ 1970.01.01 09:00:01 ์ด๋‹ค.

๊ทธ๋Ÿผ RFC 6238 ์— ๋‚˜์˜ค๋Š” OTP ๊ฐ’์„ BerEditor๋ฅผ ์ด์šฉํ•ด ๊ตฌํ•ด ๋ณด์ž
BerEditor ์—์„œ ์•”ํ˜ธ-> OTP ์ƒ์„ฑ ๋ฉ”๋‰ด๋ฅผ ์‹คํ–‰ ํ•˜์ž

์ž…๋ ฅ ์‹œ๊ฐ„ : 59 (sec) UTC Time 1970-01-01 00:00:59
ํ‚ค : 12345678901234567890 (๋ฌธ์ž์—ด)
Hash Mode : SHA1
Time Interval : 30 (sec)
OTP ๊ธธ์ด : 8

๊ฒฐ๊ณผ ํ™”๋ฉด

ํ™”๋ฉด์—์„œ ๋ณด๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ์ƒ์„ฑ ๋œ TOPT ๊ฐ’์€ 94287082 ์ด๋‹ค.
๊ทธ๋ฆฌ๊ณ  T ๊ฐ’์€ 0000000000000001 ์œผ๋กœ ์‚ฌ์šฉ ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

Time Based OTP๋Š” ์‹ค์ œ ํ‚ค๊ฐ’๊ณผ T ๊ฐ’์„ ๊ฐ€์ง€๊ณ  HMAC์„ ํ•œ๋‹ค์Œ
ํŠน์ • ์œ„์น˜์˜ ๊ฐ’์„ TOTP ๊ฐ’์œผ๋กœ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์—ฌ๊ธฐ์„œ ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„ ๊ฐ’์„ 1970-01-01 09:00:59 ๋กœ ์„ ํƒ ํ•œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
์‚ฌ์‹ค UTC Time 59 ์ดˆ๋Š” ๋Œ€ํ•œ๋ฏผ๊ตญ ๋กœ์ปฌ ํƒ€์ž„์€ +9 ์‹œ๊ฐ„์ด ์ถ”๊ฐ€ ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์‹ค์ œ๋กœ ์šฐ๋ฆฌ๊ฐ€ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” OTP ๋Š” ๊ธธ์ด๋Š” 6๊ฐœ์ด๊ตฌ Time Interval ์€ 60์ดˆ ํ™˜๊ฒฝ์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉ ๋œ๋‹ค.

๋ฐ˜์‘ํ˜•