Development

KMIP ์— ์‚ฌ์šฉ ๋˜๋Š” TTLV ํฌ๋งท

JayKim๐Ÿ™‚ 2024. 7. 10. 09:58

์ด๊ธ€์€ ChatGPT ๋ฌธ์˜ ๋‚ด์šฉ์— ์ผ๋ถ€ ์ˆ˜์ • ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

KMIP( Key Management Interoperability Protocol)์€ ๋‹ค์–‘ํ•œ ํ‚ค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ๊ณผ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด OASIS(Organization for the Advancement of Structured Information Standards)์—์„œ ๊ฐœ๋ฐœํ•œ ํ‘œ์ค€ ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. KMIP๋Š” ์—ฌ๋Ÿฌ ๋ฉ”์‹œ์ง€ ํ˜•์‹์„ ์ง€์›ํ•˜์ง€๋งŒ, ํŠนํžˆ TTLV(Tag, Type, Length, Value) ํ˜•์‹์€ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

KMIP TTLV ํฌ๋งท

KMIP์˜ TTLV ํ˜•์‹์€ ๋ฉ”์‹œ์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ ํ•„๋“œ์— ๋Œ€ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค:

  1. Tag (ํƒœ๊ทธ)
    • ๊ฐ ํ•„๋“œ์˜ ์œ ํ˜•์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.
    • ๋ณดํ†ต 3๋ฐ”์ดํŠธ(24๋น„ํŠธ)๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, Tag๊ฐ€ 0x4200์ด๋ฉด ์ด๋Š” "Request Message"๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  2. Type (ํƒ€์ž…)
    • ๊ฐ’์˜ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.
    • 1๋ฐ”์ดํŠธ(8๋น„ํŠธ)๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, Type์ด 0x05์ด๋ฉด ์ด๋Š” "Integer"๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  3. Length (๊ธธ์ด)
    • Value ํ•„๋“œ์˜ ๊ธธ์ด๋ฅผ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
    • 4๋ฐ”์ดํŠธ(32๋น„ํŠธ)๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.
  4. Value (๊ฐ’)
    • ์‹ค์ œ ๋ฐ์ดํ„ฐ ๊ฐ’์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
    • ๊ธธ์ด๋Š” Length ํ•„๋“œ์— ์˜ํ•ด ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

TTLV ์˜ˆ์ œ

์•„๋ž˜๋Š” KMIP TTLV ํฌ๋งท์˜ ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค.

Tag:    0x420078 (Request Message)
Type:   0x01 (Structure)
Length: 0x00000020 (32 bytes)

Value:
  Tag:    0x420077 (Request Header)
  Type:   0x01 (Structure)
  Length: 0x00000018 (24 bytes)

  Value:
    Tag:    0x420085 (Protocol Version)
    Type:   0x01 (Structure)
    Length: 0x00000008 (8 bytes)

    Value:
      Tag:    0x420086 (Protocol Version Major)
      Type:   0x02 (Integer)
      Length: 0x00000004 (4 bytes)
      Value:  0x00000001 (1)

      Tag:    0x420087 (Protocol Version Minor)
      Type:   0x02 (Integer)
      Length: 0x00000004 (4 bytes)
      Value:  0x00000000 (0)

์˜ˆ์ œ 1: KMIP Request Message

์ฃผ์š” ํƒ€์ž…(Type) ๊ฐ’

  • 0x01: Structure
  • 0x02: Integer
  • 0x03: Long Integer
  • 0x04: Big Integer
  • 0x05: Enumeration
  • 0x06: Boolean
  • 0x07: Text String
  • 0x08: Byte String
  • 0x09: Date-Time
  • 0x0A: Interval

์ฃผ์š” ํƒœ๊ทธ(Tag) ๊ฐ’

  • 0x420078: Request Message
  • 0x420077: Request Header
  • 0x420085: Protocol Version
  • 0x420086: Protocol Version Major
  • 0x420087: Protocol Version Minor

TTLV ํฌ๋งท์„ ์‚ฌ์šฉํ•˜๋ฉด KMIP ๋ฉ”์‹œ์ง€๋ฅผ ๊ตฌ์กฐ์ ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ ํ•„๋“œ๊ฐ€ ์–ด๋–ค ๋ฐ์ดํ„ฐ์ธ์ง€ ๋ช…ํ™•ํžˆ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ‚ค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ๊ณผ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ํšจ๊ณผ์ ์œผ๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

TTLV ์˜ˆ์ œ ํ™”๋ฉด

TTLV ํŠน์„ฑ

KIMP (Key Information Management Protocol)์˜ TTLV (Tag-Length-Value) ํ˜•์‹์—์„œ, ๊ธธ์ด๋Š” 8์˜ ๋ฐฐ์ˆ˜๋กœ ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” KIMP ํ‘œ์ค€์˜ ํŠน์ • ์š”๊ตฌ์‚ฌํ•ญ์œผ๋กœ, ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์˜ ์ •๋ ฌ์„ ๋ณด์žฅํ•˜๊ณ  ํšจ์œจ์ ์ธ ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค. TTLV ํ˜•์‹์—์„œ Tag๋Š” 3๋ฐ”์ดํŠธ, Type์€ 1๋ฐ”์ดํŠธ Length๋Š” 4๋ฐ”์ดํŠธ๋กœ ๊ณ ์ •๋˜์–ด ์žˆ์œผ๋ฉฐ, Value์˜ ๊ธธ์ด๋Š” 8๋ฐ”์ดํŠธ์˜ ๋ฐฐ์ˆ˜๋กœ ํŒจ๋”ฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ „์ฒด TTLV ๊ตฌ์กฐ์˜ ๊ธธ์ด๋Š” ํ•ญ์ƒ 8์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•