๐Ÿ  ๋ฐฉ์„ฑ๋ฒ” ๋ธ”๋กœ๊ทธ > ๐Ÿ›œ IoT

MQTT ์—ฐ๊ฒฐ ๋ฐฉ์‹

MQTT์˜ TLS ๋ณด์•ˆ ์—ฐ๊ฒฐ์ด๋‚˜ ์›น์†Œ์ผ“์„ ํ†ตํ•œ ์—ฐ๊ฒฐ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜

์ผ๋ฐ˜์ ์ธ MQTT ์—ฐ๊ฒฐ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์•”ํ˜ธํ™”๋˜์–ด์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ, ๊ฐ™์€ Wi-Fi๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํƒ€์ธ์ด ๊ฐ์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์–ด์ฐจํ”ผ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋„ ์•„๋‹ˆ๊ณ , ์•”ํ˜ธํ™”๋กœ ์ธํ•œ ์„ฑ๋Šฅ ์†์‹ค ๋˜ํ•œ ๋ฌด์‹œํ•  ์ˆ˜ ์—†๊ธฐ์— ์•”ํ˜ธํ™”ํ•˜์ง€ ์•Š์•„๋„ ํฐ ๋ฌธ์ œ๋Š” ์—†์Šต๋‹ˆ๋‹ค.

TLS(SSL) ์•”ํ˜ธํ™”(encrypted)

๋ฉ”์‹œ์ง€๋ฅผ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ํƒ€์ธ์ด ๊ฐ์ฒญํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. (๋ฉ”์‹œ์ง€๋ฅผ ์–ด๋–ค ๋ธŒ๋กœ์ปค์™€ ์ฃผ๊ณ ๋ฐ›๋Š”์ง€ ์ •๋„๋Š” ๊ฐ์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค) ์•ž์„œ ๋งํ–ˆ๋“ฏ ๋ฐ์ดํ„ฐ์˜ ๋‚ฎ์€ ๋ฏผ๊ฐ๋„์™€ ์„ฑ๋Šฅ ์†์‹ค๋กœ ์ธํ•ด ์•”ํ˜ธํ™”ํ•˜์ง€ ์•Š๊ณ  ํ†ต์‹ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.

์•”ํ˜ธํ™” ํ†ต์‹ ์„ ์œ„ํ•ด์„œ๋Š” ๊ณต๊ฐœ ํ‚ค ์•”ํ˜ธํ™”, ์ธ์ฆ์„œ, OpenSSL์— ๋Œ€ํ•ด ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ ๋ฐฐ์šด๋‹ค๋ฉด ๊นŒ๋‹ค๋กœ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋‘์ด๋…ธ, ESP8266์—์„œ MQTT ํ†ต์‹ ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” PubSubClient๋Š” ์•„์ง TLS(SSL)๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์›น์†Œ์ผ“

IoT ๊ธฐ๊ธฐ๊ฐ€ MQTT๋ผ๋Š” ํ”„๋กœํ† ์ฝœ์„ ๋”ฐ๋ผ ํ†ต์‹ ํ•˜๋“ฏ, ์›น ํŽ˜์ด์ง€๋Š” HTTP๋ผ๋Š” ํ”„๋กœํ† ์ฝœ์„ ๋”ฐ๋ผ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ๋‚˜ ํฌ๋กฌ๊ณผ ๊ฐ™์€ ์›น ๋ธŒ๋ผ์šฐ์ €๋Š” HTTP๋งŒ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์„ ๋ฟ, MQTT๋ฅผ ํ†ตํ•ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ฑฐ๋‚˜ ๋ฐ›๋Š” ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์›น ํŽ˜์ด์ง€์—์„œ MQTT๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์›น์†Œ์ผ“์„ ํ†ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์›น์†Œ์ผ“์€ HTTP ์ƒ์—์„œ HTTP๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋Š” ์›น ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ๋ง์ด ์กฐ๊ธˆ ์ด์ƒํ•œ๋ฐ, ์ •๋ง ๋ง ๊ทธ๋Œ€๋กœ HTTP ์ƒ์—์„œ HTTP ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜์ง€ ์•Š๊ณ  ๋Œ€์‹  ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.

๋‹ค๋งŒ ๋ธŒ๋กœ์ปค๊ฐ€ ์›น์†Œ์ผ“์„ ํ†ตํ•œ ๋ฐฉ์‹์„ ์ง€์›ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹คํ–‰ํžˆ๋„ Mosquitto, HiveMQ, AWS IoT ๋“ฑ ๋Œ€๋ถ€๋ถ„์˜ MQTT ๋ธŒ๋กœ์ปค๋“ค์€ ์›น์†Œ์ผ“์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๊ด€๋ จ ๊ธ€:

์›น์†Œ์ผ“ + TLS

์›น์†Œ์ผ“์„ TLS๋กœ ์•”ํ˜ธํ™”ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.