Trusted Execution Environment (TEE)λ μ»΄ν¨ν νκ²½μμ μ λ’°ν μ μλ μ€νμ 보μ₯νλ κΈ°μ λ‘, μ£Όλ‘ λͺ¨λ°μΌ μ₯μΉμ μλ² λλ μμ€ν μμ μ¬μ©λ©λλ€. TEEλ μΌλ° μ΄μ 체μ μ λΆλ¦¬λ μμ ν μμμ μ 곡νμ¬ λ―Όκ°ν λ°μ΄ν°μ μ ν리μΌμ΄μ μ 보νΈν©λλ€. TrustZoneμ ARM μν€ν μ²μμ TEEλ₯Ό ꡬννκΈ° μν κΈ°μ λ‘, νλμ¨μ΄ κΈ°λ°μ 보μ κΈ°λ₯μ μ 곡ν©λλ€. TEEμ μ£Όμ μν μ 보μμ±μ λμ΄κ³ , λ°μ΄ν° 무결μ±μ μ μ§νλ©°, μ¬μ©μ νλΌμ΄λ²μλ₯Ό 보νΈνλ κ²μ λλ€.
TEEλ λ€μκ³Ό κ°μ μ€μν κΈ°λ₯μ μ 곡ν©λλ€:
TEEλ νΉν λμ§νΈ κ²°μ μμ€ν , μ¨λΌμΈ λ± νΉ, κ°μΈ μ 보 λ³΄νΈ μ ν리μΌμ΄μ λ±μμ μ€μν μν μ ν©λλ€. μ΄λ¬ν νκ²½μμλ λ°μ΄ν° μ μΆμ΄λ λ³μ‘°λ₯Ό λ°©μ§νκΈ° μν΄ λμ μμ€μ 보μμ΄ μꡬλ©λλ€. TEEλ₯Ό ν΅ν΄ κ°λ°μλ λ―Όκ°ν μμ μ μμ νκ² μνν μ μμΌλ©°, μ¬μ©μμκ²λ 보μμ΄ κ°νλ μλΉμ€λ₯Ό μ 곡ν μ μμ΅λλ€.
TEEμ κ΅¬μ± μμμ μλ μ리λ λ€μκ³Ό κ°μ΄ μ€λͺ λ μ μμ΅λλ€. TEEλ ν¬κ² νλμ¨μ΄, μννΈμ¨μ΄, κ·Έλ¦¬κ³ λ³΄μ νλ‘ν μ½λ‘ λλ μ μμ΅λλ€.
νλμ¨μ΄ κΈ°λ° λ³΄μ: TEEλ μΌλ°μ μΌλ‘ ARM TrustZone κΈ°μ μ ν΅ν΄ ꡬνλ©λλ€. TrustZoneμ CPU λ΄μ λ κ°μ μ€ν νκ²½μ λ§λ€μ΄, μΌλ° OSμ 보μ OSλ₯Ό λΆλ¦¬ν©λλ€. μ΄λ‘ μΈν΄ TEEλ νλμ¨μ΄μμ μ§μ μ§μλ°λ 보μ κΈ°λ₯μ νμ©ν μ μμ΅λλ€.
보μ μ΄μ 체μ (Secure OS): TEE λ΄μμ μ€νλλ 보μ μ΄μ 체μ λ λ―Όκ°ν μ ν리μΌμ΄μ κ³Ό λ°μ΄ν°λ₯Ό κ΄λ¦¬ν©λλ€. μ΄ μ΄μ 체μ λ μΌλ° OSμλ λ 립μ μΌλ‘ μλνλ©°, 보μ μ μ± μ μ μ©νμ¬ μμ ν μ€νμ 보μ₯ν©λλ€.
API λ° νλ‘ν μ½: TEEλ μ ν리μΌμ΄μ κ³Ό 보μ κΈ°λ₯ κ°μ μνΈμμ©μ μν΄ λ€μν APIλ₯Ό μ 곡ν©λλ€. μ΄λ¬ν APIλ 보μ μ ν리μΌμ΄μ μ΄ TEEμ κΈ°λ₯μ νμ©ν μ μλλ‘ λμ΅λλ€.
λ°μ΄ν° λ³΄νΈ λ©μ»€λμ¦: TEEλ λ°μ΄ν°μ κΈ°λ°μ±κ³Ό 무결μ±μ 보μ₯νκΈ° μν΄ μνΈν κΈ°μ μ μ¬μ©ν©λλ€. λ―Όκ°ν μ 보λ TEE λ΄μμλ§ μ κ·Ό κ°λ₯νλ©°, μΈλΆμ 곡격μΌλ‘λΆν° μμ νκ² λ³΄νΈλ©λλ€.
TEEμ μλ μ리λ λ€μκ³Ό κ°μ μ£Όμ λ¨κ³λ₯Ό ν¬ν¨ν©λλ€:
μ΄λ¬ν κ³Όμ μ TEEμ 보μμ±μ μ μ§νλ©΄μλ ν¨μ¨μ μΈ λ°μ΄ν° μ²λ¦¬λ₯Ό κ°λ₯νκ² ν©λλ€. TEEλ νΉν λͺ¨λ°μΌ μ₯μΉμμμ 보μ μꡬ μ¬νμ μΆ©μ‘±μν€κΈ° μν΄ μ€κ³λμμΌλ©°, λ€μν 보μ μ ν리μΌμ΄μ μμ νμμ μΈ μμλ‘ μ리 μ‘κ³ μμ΅λλ€.
νλμ¨μ΄ 보μμ TEEμ κ°μ₯ μ€μν μμ μ€ νλμ λλ€. TrustZone κΈ°μ μ νλμ¨μ΄μμ μ 곡νλ 보μ κΈ°λ₯μ ν΅ν΄ TEEμ μμ μ±μ λμ λλ€. μ΄ κΈ°μ μ CPUμ νΉμ λΆλΆμ μμ ν μμμΌλ‘ μ€μ νμ¬, μ λ’°ν μ μλ μ½λκ° μμ μμμ μ κ·Όνμ§ λͺ»νλλ‘ ν©λλ€.
Secure OSλ TEE λ΄μμ μ€νλλ μ΄μ 체μ λ‘, 보μ μ ν리μΌμ΄μ μ κ΄λ¦¬νκ³ λ³΄νΈν©λλ€. μ΄ μ΄μ 체μ λ μ΅μνμ κΈ°λ₯λ§μ ν¬ν¨νμ¬ κ³΅κ²© νλ©΄μ μ€μ΄κ³ , ν¨μ¨μ μΈ λ³΄μμ μ 곡ν©λλ€.
TEEμμ μ 곡νλ APIλ 보μ μ ν리μΌμ΄μ μ΄ TEEμ κΈ°λ₯μ μ½κ² μ¬μ©ν μ μλλ‘ μ€κ³λμμ΅λλ€. μ΄λ¬ν APIλ 보μ ν€ κ΄λ¦¬, λ°μ΄ν° μνΈν, μ¬μ©μ μΈμ¦ λ± λ€μν κΈ°λ₯μ ν¬ν¨ν©λλ€.
TEEλ μ¬λ¬ 보μ κΈ°μ κ³Ό λΉκ΅ν μ μμ΅λλ€. μ¬κΈ°μλ νλμ¨μ΄ 보μ λͺ¨λ (HSM), κ°μν κΈ°μ , κ·Έλ¦¬κ³ λ³΄μ λΆνΈ κΈ°μ μ΄ ν¬ν¨λ©λλ€.
νλμ¨μ΄ 보μ λͺ¨λ (HSM): HSMμ 물리μ μΌλ‘ μμ ν μ₯μΉλ‘, μνΈν ν€λ₯Ό κ΄λ¦¬νκ³ λ°μ΄ν° 보νΈλ₯Ό μν λ€μν κΈ°λ₯μ μ 곡ν©λλ€. TEEμ HSM λͺ¨λ 보μμ±μ μ 곡νμ§λ§, HSMμ μΌλ°μ μΌλ‘ λ 립μ μΈ νλμ¨μ΄λ‘ μ‘΄μ¬νλ©°, TEEλ CPU λ΄μμ μ€νλ©λλ€.
κ°μν κΈ°μ : κ°μν κΈ°μ μ μ¬λ¬ μ΄μ 체μ λ₯Ό νλμ νλμ¨μ΄μμ μ€νν μ μκ² ν΄μ€λλ€. κ·Έλ¬λ TEEλ 보μμ±μ λμ± κ°ννκΈ° μν΄ νλμ¨μ΄ κΈ°λ°μ 격리λ₯Ό μ 곡ν©λλ€. κ°μν κΈ°μ μ μΌλ°μ μΌλ‘ μ λ’°ν μ μλ νκ²½μμλ μ΄μλ μ μμ§λ§, TEEλ μ λ’°ν μ μλ νκ²½μμλ§ μλν©λλ€.
보μ λΆνΈ κΈ°μ : 보μ λΆνΈλ μμ€ν μ΄ λΆν λ λ μννΈμ¨μ΄μ 무결μ±μ νμΈνλ κΈ°μ μ λλ€. TEEλ 보μ λΆνΈ κΈ°λ₯μ ν¬ν¨νμ¬, μμ€ν μ΄ μμ νκ² μμλ μ μλλ‘ λ³΄μ₯ν©λλ€.
μ΄λ¬ν κΈ°μ λ€μ κ°κΈ° λ€λ₯Έ μ₯μ κ³Ό λ¨μ μ κ°μ§κ³ μμΌλ©°, νΉμ μ ν리μΌμ΄μ μ μꡬ μ¬νμ λ°λΌ μ νλ μ μμ΅λλ€. μλ₯Ό λ€μ΄, HSMμ λκ·λͺ¨ λ°μ΄ν° μΌν°μμμ μνΈν μμ μ μ ν©ν μ μμ§λ§, TEEλ λͺ¨λ°μΌ μ₯μΉμμμ κ°μΈ μ 보 보νΈμ κ°μ νΉμ μꡬ μ¬νμ λ μ ν©ν©λλ€.
Trusted Execution Environment (TEE) / TrustZoneμ νλμ¨μ΄ κΈ°λ°μ μμ ν μ€ν νκ²½μ μ 곡νμ¬ λ―Όκ°ν λ°μ΄ν°μ μ ν리μΌμ΄μ μ 보νΈνλ κΈ°μ μ λλ€.