[X.509] μΈμ¦μ κΈ°λ³Έ μ ν(Basic Constraints)μ λν΄μ
X.509 μμ CA μΈμ¦μμ νμ κ°μΈ Basic Constraints μ λν΄μ μμ보μ.
λ³΄ν΅ νκΈλ‘λ κΈ°λ³Έ μ ν μ΄λΌκ³ νννλ€.
μλ κ·Έλ¦Όμ 보면 X.509 CA μΈμ¦μμμ basicConstrains κ°μ΄ μ‘΄μ¬ νλ€.
CA( RootCA ν¬ν¨) μΈμ¦μμμλ νμλ‘ μ΄ κ°μ΄ μ‘΄μ¬νλ€.
νλ§λλ‘ CA μΈμ¦μλ₯Ό λ§λ€λ €λ©΄ μ΄ νμ₯ νλκ° νμ κ°μ΄λ€.
Basic Constrains ASN.1 μ μ
id-ce-basicConstraints OBJECT IDENTIFIER ::= { id-ce 19 }
BasicConstraints ::= SEQUENCE {
cA BOOLEAN DEFAULT FALSE,
pathLenConstraint INTEGER (0..MAX) OPTIONAL }
μ ASN.1 μ μλ₯Ό 보면 λκ°μ§ κ°μ΄ μ‘΄μ¬ νλ€.
- cA : μ΄ λΆλΆμ΄ cA μΈμ¦μ μ 무λ₯Ό λνλΈλ€.
κΈ°λ³Έμ μΌλ‘ CA μΈμ¦μ μ΄λ©΄ TRUE λ‘ μ€μ λμ΄μΌ νλ©° κ°μ΄ μμΌλ©΄ End Entity μΈμ¦μλ‘ λ³΄λ©΄ λλ€.
- pathLenConstraint : μ΄ κ°μ CA μΈμ¦μκ° λ°κΈ κ°λ₯ν SubCA μ Depth λ‘ λ³΄λ©΄ λλ€.
λ§μ½ pathLenConstraints κ°μ΄ 0 μ΄λ©΄ SubCA μΈμ¦μλ₯Ό λ°κΈ ν μ μκ³
End Entity μΈμ¦μλ§ λ°ν ν μμλ€.
κ°μ΄ 1 μΈ κ²½μ°λ SubCAμ 1λ¨κ³ κΉμ§ λ°κΈμ΄ κ°λ₯νλ€.
End-Entity κ²½μ°λ pathLenConstraints κ°μ μ¬μ© ν΄μλ μλλ€.
λ§μ½ μμ κ·Έλ¦Όμ²λΌ None κ²½μ°λ νΉλ³ν μ ν μμ΄ SubCAμ λ¨κ³λ₯Ό λ μ μλ€λ μλ―Έμ΄λ€.
μ΄ BasicConstrains μμμ X.509 μΈμ¦μ νλ‘νμΌμ νμ₯ μμμΈλ°
CA μΈμ¦μ κ²½μ° critical λ‘ μ€μ μ΄ λλ€.
μΌλ° End-Entity μΈμ¦μ κ²½μ°( ex SSL μλ² μΈμ¦μ ) μ΄ κ°μ μ¬μ©νμ§ μμλ λμ΄μ μ΄ νλκ° μλ€.
λ§λ¬΄λ¦¬
X.509 μΈμ¦μλ ν¬κ² μ©λλ‘ λ³΄λ©΄ CA μΈμ¦μμ End Entity μΈμ¦μλ‘ λλ μ μλλ°
μ΄κ²μ κ΅¬λ³ κ°μ΄ BasicConstrains μ€μ κ°μΌλ‘ 보면 λλ€.