рдЯреНрд░рд╕реНрдЯрдЬреЛрди: рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдУрдПрд╕ рдФрд░ рдЗрд╕рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ

рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ, рд╣рдордиреЗ рдЯреНрд░рд╕реНрдЯрдЬрд╝реЛрди рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдореЙрдирд┐рдЯрд░ рддрдВрддреНрд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рджреЗрдЦрд╛ред рдЖрдЬ рд╣рдо рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп OS (TEE) рдФрд░ рдЗрд╕рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗред рдФрд░ рдЕрдЧрд░ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдХрд╛рдлреА рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдЪреАрдЬреЗрдВ рдереАрдВ, рддреЛ рдЕрдм рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ рд╣реЛрдЧрд╛ - рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕реНрддрд░ рдкрд░ред

TEE рдХреНрдпрд╛ рд╣реИ?


TEE рдХреНрдпрд╛ рд╣реИ? рдпрд╣ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдирд┐рд╖реНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг (рдЯреНрд░рд╕реНрдЯреЗрдб рдПрдХреНрдЬрд╝реАрдХреНрдпреВрд╢рди рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ) рд╣реИ, рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ - рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИред рд╣рдо рдЗрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдЧреБрдгреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдЕрд░реНрде рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рджрд╛рд░реНрд╢рдирд┐рдХ рдЕрд░реНрде рдореЗрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓рдВрдмреА рджреВрд░реА рдХреА рдЯреНрд░реЗрди, рдЯреНрд░реЗрди рдФрд░ рдЯреИрдХреНрд╕реА рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд░рд┐рд╡рд╣рди рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рдЧреБрдгреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╡реЗ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рд╢рд╣рд░реЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рдЯреНрд░реЗрди, рдПрдХ рдЗрд▓реЗрдХреНрдЯреНрд░рд┐рдХ рдЯреНрд░реЗрди - рд╢рд╣рд░ рд╕реЗ рдмрд╛рд╣рд░, рдФрд░ рдПрдХ рдЯреИрдХреНрд╕реА - рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╢рд╣рд░ рдореЗрдВред рдЯреНрд░реЗрди рдФрд░ рдЯрд┐рдХрдЯ рдХреЗ рд▓рд┐рдП рдЯреНрд░реЗрди, рдЯреИрдХреНрд╕реА - рдирд╣реАрдВред рдФрд░ рдЗрд╕реА рддрд░рд╣ред

TEE рдлрд╝рдВрдХреНрд╢рди рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреБрдЫ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдФрд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рд╣реИред рд╣рдо рдЯреАрдИрдИ рдХрдорд╛рдВрдб рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рд▓реЗрдВ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдпрд╣ рдФрд░ рдРрд╕рд╛ рдХрд░реЗрдВред рдЙрд╕реА рд╕рдордп, рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб, рд╕рд╛рде рд╣реА рдбреЗрдЯрд╛ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗрдЧрд╛ред TEE рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ RPC рдХреЗ рд╕рдорд╛рди рд╣реИред

рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╡рд┐рднрд┐рдиреНрди рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд▓рд┐рдП: рдЪрд╛рдмрд┐рдпрд╛рдБ рдЯреАрдИрдИ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдФрд░ рд╣рдо рдЯреАрдИрдИ рдХреЛ рдЯреАрдИрдИ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдкреНрд░реЗрд╖рд┐рдд рдбреЗрдЯрд╛ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдВрдЬреА рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИред

рдЯреАрдИрдИ рдореЗрдВ рдХрдИ рдЧреБрдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рд╣реИрдВ: рдП) рд╣рдо рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдмреА) рдпрд╣ рдордЬрд╝рдмреВрддреА рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдореБрдЦреНрдп рдУрдПрд╕ рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИ, рдЗрд╕реЗ рддреЛрдбрд╝рдирд╛ рдпрд╛ рддреЛрдбрд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдЕрдиреНрдп рдЧреБрдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рд╕рд┐рд░реНрдл рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдУрдПрд╕ рдХрд╣рддреЗ рд╣реИрдВред рд╕рдВрдкрддреНрддрд┐ рдЦ) рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЯреАрдИрдИ рдЕрд▓рдЧ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рддреЛрдбрд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрд╣ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИред

рдпрджрд┐ рдЖрдк рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдЧреБрдгреЛрдВ рдХреЗ рдЪрд╢реНрдореЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯреАрдИрдИ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЯреАрдИрдИ рдЯреНрд░рд╕реНрдЯрдЬреЛрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдирд╣реАрдВ рд╣реИред рдЯреНрд░рд╕реНрдЯрдЬреЛрди рдореБрдЦреНрдп (рдЕрддрд┐рдерд┐) рдУрдПрд╕ рд╕реЗ рдЯреАрдИрдИ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред

рдЯреАрдИрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рдХрд▓реНрдк


рдпрджрд┐ рдЯреАрдИрдИ рдХреЗ рдореБрдЦреНрдп рдЧреБрдг рдпрд╣ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рдФрд░ рддреЛрдбрд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рддреЛ рд╣рдо рдЯреАрдИрдИ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдЖ рд╕рдХрддреЗ рд╣реИрдВ:

  • рдЯреНрд░рд╕реНрдЯрдЬреЛрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - рд╣рдореЗрдВ рдПрдХ рд╣реА рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдХреЗ рднреАрддрд░ рдЯреАрдИрдИ рдФрд░ рдореБрдЦреНрдп рдУрдПрд╕ рдХрд╛ рдкреГрдердХреНрдХрд░рдг рдорд┐рд▓рддрд╛ рд╣реИред
  • рдПрдХ рдЪрд┐рдк рдкрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рднреАрддрд░ рдПрдХ рдЕрд▓рдЧ рдХреЛрд░ рдкрд░ рдЯреАрдИрдИ рдЪрд▓рд╛рдПрдВ рдФрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░реЗрдВред рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдкреНрд░реЛрд╕реЗрд╕рд░реЛрдВ рдХреЗ рдкрд╛рд╕ TEE рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕реЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдХреЛрд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╕реНрдЯреЛрд░ рдореЗрдВ рдирд╣реАрдВ рдЦрд░реАрдж рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдлрд╕реЛрд╕ред рд▓реЗрдХрд┐рди рдЖрдк рджреЛрд╣рд░реЗ рдХреЛрд░ рдХреНрд░рд┐рд╕реНрдЯрд▓ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Cortex-A + Cortex-M0 / M4 рдФрд░ рдЗрд╕реЗ Cortex-M TEE рдкрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред
  • рдПрдХ рдЕрд▓рдЧ рдЪрд┐рдк рдореЗрдВ рдЯреАрдИрдИ рдЪрд▓рд╛рдПрдВ рдФрд░ рдмрд╛рд╣рд░реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрд╕рдкреАрдЖрдИ рдпрд╛ рдПрд╕рдПрдордмрд╕ред рд╕рдВрдЪрд╛рд░ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП, рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
    рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЖрдк рд╕реНрдорд╛рд░реНрдЯ рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рд╕рдВрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЪрд┐рдк-рдСрди-рдЪрд┐рдк рдкреНрд▓рд╛рд╕реНрдЯрд┐рдХ рднреБрдЧрддрд╛рди рдХрд╛рд░реНрдбред рдПрдХ рдорд╛рдпрдиреЗ рдореЗрдВ, TEE рдХреЛ рдЪрд┐рдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдЕрдиреБрд░реЛрдз рдкрд░, рдпрд╣ рдмрд╣реБрдд рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕реЗ рд╡рд┐рддреНрддреАрдп рд▓реЗрдирджреЗрди, рд╕реНрдЯреЛрд░ рдбреЗрдЯрд╛ рдЖрджрд┐ рдмрдирд╛рддрд╛ рд╣реИред
    рдЖрдзреБрдирд┐рдХ рдкреАрд╕реА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдЯреАрдкреАрдПрдо (рдЯреНрд░рд╕реНрдЯреЗрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЙрдбреНрдпреВрд▓) рдореЗрдВ рдЗрд╕реА рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╣рдо рдХреЗрд╡рд▓ рдЯреНрд░рд╕реНрдЯрдЬреЛрди рдореЗрдВ рдЯреАрдИрдИ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЯреАрдИрдИ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд╕реНрдХрд░рдг рд╣реИред рд▓реЗрдХрд┐рди рдЙрдкрд░реЛрдХреНрдд рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЯреАрдИрдИ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рд╣реЛрдВрдЧреЗред

OS рдХреЗ рд░реВрдк рдореЗрдВ TEE


рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ, рд╣рдордиреЗ рд╣рд░ рд╕рдордп рдЯреАрдИрдИ рдХреЛ рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдУрдПрд╕ рдХрд╣рд╛ рдФрд░ рдХрд╣рд╛ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рддрд░рд╣ рд╣реИред

рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрдиреЗ рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдХрд┐рдП рдмрд┐рдирд╛, рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЯреАрдИрдИ рдХреЗ рдереЛрдХ рдореЗрдВ рд╣реИ:
  • рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ: рдЯреАрдИрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
  • рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рдХрд░реНрдиреЗрд▓ рдореЗрдореЛрд░реА рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛: рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдореЛрд░реА рд╕реНрдкреЗрд╕ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдЯреАрдИрдИ рдХреЛрд░ рдореЗрдореЛрд░реА рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдордПрдордпреВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
  • рдереНрд░реЗрдбреНрд╕, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрдВрдЯрд░реИрдХреНрд╢рди;
  • рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдгред

рдЖрдк рдЯреАрдИрдИ рдХреЗ рдЕрдзрд┐рдХ рдЫрдВрдЯреЗ рд╣реБрдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЖ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд╛рдпрдиреЗрдорд┐рдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛, рдкреНрд░реЛрд╕реЗрд╕ рдЗрдВрдЯрд░реЗрдХреНрд╢рди рдХреЗ рдмрд┐рдирд╛, рдереНрд░реЗрдбреНрд╕ рдХреЗ рдмрд┐рдирд╛, рд▓реЗрдХрд┐рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрд╡рдпрдВ, рдбрд╛рдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕ рдореЗрдореЛрд░реА рдФрд░ рдХрд░реНрдиреЗрд▓ рд╕реНрдкреЗрд╕ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмрдиреЗ рд░рд╣реЗрдВрдЧреЗред
рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда
ARMv8-M рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ Cortex-M рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреА рдирдИ рдкреАрдврд╝реА рдХреЗ рд▓рд┐рдП рдПрдЖрд░рдПрдо рдЯреНрд░рд╕реНрдЯреЗрдб рдлрд╝рд░реНрдорд╡реЗрдпрд░-рдПрдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЕрдм рдПрдХ рдЫрдВрдЯрдиреА рдХреА рдЧрдИ рдЯреАрдИрдИ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЯреАрдИрдИ рдиреАрдЪреЗ рдЫреАрди рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрдм рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдПрдо 23 рдФрд░ рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдПрдо 33 рдПрдИрдПрд╕ рдкрд░ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИред рдпреЗ рдлреНрд▓реИрд╢-рдЖрдзрд╛рд░рд┐рдд рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рд╣реИрдВ, рдЬреЛ рд▓рдЧрднрдЧ рдХреЛрд░рдЯреЗрдХреНрд╕-рдПрдо 0 рдФрд░ рдХреЛрд░реНрдЯреЗрдХреНрд╕-рдПрдо 3 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЯреНрд░рд╕реНрдЯрдЬреЛрди рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╣реИрдВред рдЙрдирдХреЗ рдкрд╛рд╕ рдереЛрдбрд╝реА рд╕реА рд░реИрдо рд╣реИ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдлреНрд▓реИрд╢ рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЯреАрдИрдИ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдЧрддрд┐рд╢реАрд▓ рд▓реЛрдбрд┐рдВрдЧ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, TF-M рднреА рд╕рд┐рдВрдЧрд▓-рдереНрд░реЗрдбреЗрдб рд╣реИред

рдЯреАрдИрдИ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдВрдЯрд░рдлреЗрд╕


рдЕрдиреНрдп рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, TEE рдореЗрдВ рдПрдХ API рд╣реИ:

  • рдЯреАрдИрдИ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ (рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХреЙрд▓, рдПрд╕рд╡реАрд╕реА рдХрдорд╛рдВрдб) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ;
  • TEE рд╕рд┐рдХреНрдпреЛрд░ рдореЙрдирд┐рдЯрд░ (SMC рдХрдорд╛рдВрдб) рдХреЛ рдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╢реНрд╡ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдбреЗрдЯрд╛ рдХреЛ рдмрдЪрд╛рддреЗ рд╣реИрдВ рдФрд░ рдУрдПрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред рдХрд┐рд╕реА рднреА рд╕рднреНрдп OS рдХреА рддрд░рд╣, TEE рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реЗ рдПрдХ рдбрд┐рдЧреНрд░реА рдпрд╛ рджреВрд╕рд░реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЕрдореВрд░реНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓рд┐рдирдХреНрд╕ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрдЯ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдУрдкрди, рд░реАрдб, рд░рд╛рдЗрдЯ, рдХреНрд▓реЛрдЬ рдХреЙрд▓реНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рд╕рднреА stdio рдлрд╝рдВрдХреНрд╢рди рдореВрд▓ рд░реВрдк рд╕реЗ OS рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдкрд░ рдЖрддреЗ рд╣реИрдВред рдФрд░ рдЯреАрдИрдИ рдЕрдкрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдХреЙрд▓ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдХреЗ рд╡рд╕реНрддреБрдУрдВ (рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ) рдХреЛ рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред TEE рд╕рд┐рд╕реНрдЯрдо рд╕реНрддрд░ рдкрд░ рдХреБрдЫ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рдлрд╝рдВрдХреНрд╢рди рднреА рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЖрджрд┐ред

TEE рдХреЗ рд▓рд┐рдП GlobalPlatform рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ, рд╡реЗ рдПрдкреАрдЖрдИ, рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ, рдЙрдкрдпреЛрдЧ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдЖрджрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрд░ рдЯреАрдИрдИ рдПрдкреАрдЖрдИ рдХреЛ рдЯреАрдИрдИ рдЖрдВрддрд░рд┐рдХ рдХреЛрд░ рдПрдкреАрдЖрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдлрд╝рдВрдХреНрд╢рдВрд╕, рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЗрддреНрдпрд╛рджрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдФрд░ "рдЯреАрдИрдИ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреАрдЖрдИ" рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рджреБрдирд┐рдпрд╛ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВред

рдпрджрд┐ рдЖрдкрдХрд╛ рдЯреАрдИрдИ рдЗрди рдПрдкреАрдЖрдИ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рд▓рд┐рдЦрдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред рдПрдХ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рднреА рд▓рд╛рдЧреВ рдХреА рдЬрд╛рддреА рд╣реИред

рдЯреАрдИрдИ рдФрд░ рдирд┐рдпрдорд┐рдд рдУрдПрд╕ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░


рдЯреАрдИрдИ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдФрд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкрд░рд┐рдЪрд┐рдд рдЕрдиреНрдп рд╕рд╛рдорд╛рдиреНрдп рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмреАрдЪ рджреЛ рдореБрдЦреНрдп рдЕрдВрддрд░ рд╣реИрдВ:

  1. TEE рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдХрдорд╛рдВрдб рдкрд░ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдиреЙрд░реНрдорд▓ рд╡рд░реНрд▓реНрдб рд╕реЗ рдХрдорд╛рдВрдб рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рддрд╛ рд╣реИ;
  2. рдЯреНрд░рд╕реНрдЯрдЬреЛрди рдореЗрдВ TEE рдХрд╛ рдЕрдкрдирд╛ рд╢реЗрдбреНрдпреВрд▓рд░ рдирд╣реАрдВ рд╣реИред

рдПрдХ рдирд┐рдпрдорд┐рдд рдУрдПрд╕ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреБрдЫ рдЗрдирдкреБрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ - рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░рддрд╛ рд╣реИ, рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдУрдПрд╕ рдЗрд╕ рдЗрдирдкреБрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЗрд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддреЗ рд╣реИрдВред рд╕рд░реНрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдЗрдирдкреБрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЧреНрд░рд╛рд╣рдХреЛрдВ рд╕реЗ, рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рд▓реЗрдХрд┐рди рдУрдПрд╕, рдмрд╛рд╣рд░реА рдЗрдирдкреБрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред

рдЯреАрдИрдИ рдмрд╛рд╣рд░реА рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдЗрд╕реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рджреБрдирд┐рдпрд╛ рд╕реЗ TEE рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЗрд╖рд┐рдд рдЖрджреЗрд╢реЛрдВ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд▓рдЧрднрдЧ рд╕рднреА рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЯреАрдИрдИ рдЖрд░рдкреАрд╕реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЯреАрдИрдИ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рджреВрд╕рд░рд╛ рдЕрдВрддрд░ рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рд╣реИред рдЯреНрд░рд╕реНрдЯреА рдХрд╛ TEE рдиреЙрд░реНрдорд▓ рд╡рд░реНрд▓реНрдб рдХреЗ рд╕рд╛рде CPU рд╕рдордп рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЯреАрдИрдИ рд▓рдЧрд╛рддрд╛рд░ рдЕрдкрдиреЗ рд▓рд┐рдП рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдордп рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдЙрддрдирд╛ рд╣реА рд╕рдордп рд╡реНрдпрддреАрдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рддрдирд╛ рдЙрд╕реЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдЕрдиреБрд╕реВрдЪрдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рдЙрд╕реЗ рдПрдХ рдЕрддрд┐рдерд┐ рдУрдПрд╕ рдЕрдиреБрд╕реВрдЪрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореБрдЦреНрдп OS рдЕрдиреБрд╕реВрдЪрдХ TEE рдореЗрдВ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ:

  • рд╢реЗрдбреНрдпреВрд▓рд░ рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ;
  • рдХрд╛рд░реНрдп рдХрд░реНрдиреЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд╣рддрд╛ рд╣реИ;
  • рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ TEE рдХрд╣рддрд╛ рд╣реИ;
  • TEE рдЕрдиреБрд░реЛрдз рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╢реНрд╡ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рдЯреАрдИрдИ рдЖрд╡реЗрджрди


рдЯреАрдИрдИ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯреНрд╕ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ - рд╕реНрдорд╛рд░реНрдЯ рдХрд╛рд░реНрдб рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдПрдкреНрд▓реЗрдЯреНрд╕ рдХреЗ рд╕рдорд╛рдиред
рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╕реЗ рдЙрджреНрдзрд░рдг:
рдПрдкреНрд▓реЗрдЯ (рдЗрдВрдЬреАред рдПрдкреНрд▓реЗрдЯ - рдПрдкреНрд▓реАрдХреЗрд╢рди рд╕реЗ рдЖрд╡реЗрджрди рдФрд░ -рд▓реЗрдЯ - рдбрд┐рдорд╛рдЗрдиреЗрдЯрд┐рд╡ рдкреНрд░рддреНрдпрдп) рдПрдХ рдЧреИрд░-рд╕реНрд╡-рдирд┐рд╣рд┐рдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдШрдЯрдХ рд╣реИ рдЬреЛ рджреВрд╕рд░реЗ, рдкреВрд░реНрдг-рднрд╛рд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдПрдХ рд╕рдВрдХреАрд░реНрдг рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЖрдзрд╛рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реЗ рдЕрд▓рдЧрд╛рд╡ рдореЗрдВ рдореВрд▓реНрдп рдирд╣реАрдВ рд╣реИред

рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдПрдХ рдЯреНрд░рд╕реНрдЯреЗрдб рдПрдкрд▓реЗрдЯ рд╣реИред рдпрд╣ рдЯреАрдИрдИ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╣реА рдкрддрд╛ рд▓рдЧрд╛ рдЪреБрдХреЗ рд╣реИрдВ, рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯреАрдИрдИ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдПрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рд╣реИ, рдЖрджрд┐ред

рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдирд╛рдо рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЧреИрд░-рд╕реНрд╡-рдирд┐рд╣рд┐рдд рдШрдЯрдХ рд╣реИред рдпрд╣рд╛рдВ, рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдЗрд╕ рддрдереНрдп рдореЗрдВ рд╡реНрдпрдХреНрдд рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдиреЙрд░реНрдорд▓ рд╡рд░реНрд▓реНрдб рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдЧрд╛, рдФрд░ рдлрд┐рд░ рдЯреАрдИрдИ рдХреЗ рд╕рд╛рде рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдпрд╣ рдПрдХ рдЕрдирдВрдд рд▓реВрдк рдореЗрдВ рдШреВрдорддрд╛ рд╣реИ, рддреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдПрдХ рдУрдПрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛, рдФрд░ рд╕рдм рдХреБрдЫ рдЕрдВрддрддрдГ рд▓рдЯрдХрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдПрдХ рдирд┐рдпрдорд┐рдд рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд░рдо рдПрдХ рдЕрдВрддрд╣реАрди рд▓реВрдк рдореЗрдВ рд╕реНрдкрд┐рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЧрд┐рдирдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рд╣реИ, рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╣реИред рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рдпрд╣ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред

рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХреЗ рдкрд╛рд╕ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдиреЙрд░реНрдорд▓ рд╡рд░реНрд▓реНрдб рдЙрд╕реЗ рдХреЙрд▓ рдХрд░ рд╕рдХреЗред рдпреВрдпреВрдЖрдИрдбреА рдХреЗ рд░реВрдк рдореЗрдВ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯреНрд╕ рджреЗрдиреЗ рдХреА рдкреНрд░рдерд╛ рд╣реИ - рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ред

рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдЬреАрд╡рди рдЪрдХреНрд░


рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдХреИрд╕реЗ рдЯреНрд░реЗрд╕рд▓реЗрдЯ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВред

рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░рдирд╛ рдФрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЧреНрд▓реЛрдмрд▓рдкреНрд▓реЗ рд░рд┐рдХреЙрд░реНрдбрд░ рдЯреАрдИрдИ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреАрдЖрдИ рдореЗрдВ, рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рд╕рдВрджрд░реНрдн рдмрдирд╛рдиреЗ рдФрд░ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рддреНрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдПрдХ рд╕рдВрджрд░реНрдн рдмрдирд╛рдирд╛ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╢реНрд╡ рдФрд░ рдЯреАрдИрдИ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдВрдмрдВрдз рдХреА рд╕реНрдерд╛рдкрдирд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, GlobalPlatform рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдХрдИ рдЯреАрдИрдИ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕рдВрджрд░реНрдн рдмрдирд╛рдиреЗ рдХреЗ рд╕рдордп, рдЖрдк рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рдЯреАрдИрдИ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдирд╛ рд╣реИред

GlobalPlatform TEE рдХреНрд▓рд╛рдЗрдВрдЯ API рдореЗрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 TEEC_Result TEEC_InitializeContext (const char * name, TEEC_Context * рд╕рдВрджрд░реНрдн)

рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╢реНрд╡ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдирд╛рдо рдЪрдпрди рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЯреАрдИрдИ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ TEE рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ TEE рд╣реИ, рддреЛ рд╣рдо NULL рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╕рдВрджрд░реНрдн рдореЗрдВ, рдирд┐рд░реНрдорд┐рдд рд╕рдВрджрд░реНрдн рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рдВрджрд░реНрдн рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЯреНрд░рд╕реНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рддреНрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХрд╛ UUID рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:

 TEEC_Result TEEC_OpenSession (
	 TEEC_Context * рд╕рдВрджрд░реНрдн, TEEC_Session * рд╕рддреНрд░,
	 const TEEC_UUID * рдЧрдВрддрд╡реНрдп, uint32_t рдХрдиреЗрдХреНрд╢рди
	 const void * рдХрдиреЗрдХреНрд╢рдирдбрд╛рдЯрд╛, TEEC_Operation * рдСрдкрд░реЗрд╢рди,
	 uint32_t * returnOrigin)

рдПрдХ рд╕рддреНрд░ рдирд┐рдпрдорд┐рдд рдУрдПрд╕ рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ: рдУрдПрд╕ рдореЗрдВ рдПрдХ рд╣реА рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╡реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдЯреАрдИрдИ рдореЗрдВ рдХрдИ рд╕рддреНрд░ рд╣реИрдВ, рдФрд░ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпреЗ рдореЗрдореЛрд░реА рдореЗрдВ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХреЗ рдЕрдиреВрдареЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдХрдиреЗрдХреНрд╢рди рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЛрдб рдХреНрд╖реЗрддреНрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реЛрдЧрд╛, рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕реНрдореГрддрд┐ рдХреЗ рд▓рд┐рдП MMU рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореИрдк рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЕрдкрдирд╛ рдбреЗрдЯрд╛ рдХреНрд╖реЗрддреНрд░ рд╣реЛрдЧрд╛, рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдареАрдХ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдХреА рддрд░рд╣ред

рдЬрдм TEEC_OpenSession рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдВрджрд░реНрдн рдФрд░ рдЧрдВрддрд╡реНрдп рдЯреНрд░рд╕реНрдЯ рдХреЗ UUID рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдерд╛рдкрд┐рдд рд╕рддреНрд░ "рд╕рддреНрд░" рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рдХреБрдЫ рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░ рд╣рдо рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рд╡реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрддрдиреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИрдВред

рдЬрд┐рд╕ рд╕рдордп рд╕рддреНрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрд╕ рд╕рдордп рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдпрд╣реА рд╣реЛрддрд╛ рд╣реИред рдмрдбрд╝реЗ рдЯреАрдИрдИ рдореЗрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХрд░ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдпрд╣ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХреА рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЫрд╡рд┐ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдИрдПрд▓рдПрдл рдлрд╝рд╛рдЗрд▓ рд╣реИред рдпрджрд┐ рдпрд╣ рдПрдХ рдЫреЛрдЯрд╛ рдЯреАрдИрдИ рд╣реИ, рддреЛ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкрддреЗ рдкрд░ рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреЗ рдЧрдП рдлреНрд▓реИрд╢ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд▓рд┐рдП, рд╕реНрдЯреЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ред

рдорд╛рди рд▓реЗрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмрдбрд╝рд╛ рдЯреАрдИрдИ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд╣ рдХрд╣рд╛рдБ рд╕реЗ рдЖрддрд╛ рд╣реИ? рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рд╕рдордп рдЯреАрдИрдИ рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдпреВрдпреВрдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд╕реНрддреБ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЗрд╕ рд╡рд╕реНрддреБ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рдХреЛрдИ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

  • рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореЗрдореЛрд░реА рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ;
  • рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдлреНрд▓реИрд╢-рдореЗрдореЛрд░реА (рдлреНрд▓реИрд╢-рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП) рдореЗрдВ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
  • рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЯреАрдИрдИ рдХреЗ рд╕рд╛рде рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рд╕рд┐рд╕реНрдЯрдо рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП;
  • рдЕрдВрдд рдореЗрдВ, рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ рд░реИрдо рд╕реЗ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рднреА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдмрд╛рдж рдореЗрдВ рдкреВрдЫреЗрдВ, рдпрд╣ рдЯреАрдИрдИ рдПрдХ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдпрд╛ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ? !!!

рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХреА рдЫрд╡рд┐ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЙрд╕рдХрд╛ рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЯреАрдИрдИ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдЯреНрд░рд╕реНрдЯ рдЙрд╕ рдкрд╛рд░реНрдЯреА рджреНрд╡рд╛рд░рд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд╣реИ рдЬрд┐рд╕реЗ рдЯреАрдИрдИ рдЯреНрд░рд╕реНрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреБрдЫ рдореИрд▓рд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЦрд░рд╛рдм рд╣реЛ рдЪреБрдХреЗ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

рдЬрдм рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдЫрд╡рд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИ рдФрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ TEE MMU рдореЗрдВ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЗ рд▓рд┐рдП рдкрддрд╛ рд╕реНрдерд╛рди рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рд▓рд┐рдВрдХрд░ рдХреЛрдб рдХреНрд╖реЗрддреНрд░ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХреЗ рдкрддреЗ рд╕реНрдерд╛рди рдкрд░ рдореИрдк рдХрд░рддрд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЙрд▓рд┐рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ - рдпрд╣ рд╕рддреНрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реИред

рд╕рддреНрд░ рдмрдирдиреЗ рдХреЗ рдмрд╛рдж, рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдкреВрд░реА рддрддреНрдкрд░рддрд╛ рдореЗрдВ рд╣реИ рдФрд░ рдХреЙрд▓рд┐рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдЕрдиреБрд░реЛрдз рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред OS рд╕реЗ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 TEEC_Result TEEC_InvokeCommand (
	 TEEC_Session * рд╕рддреНрд░,
	 uint32_t рдХрдорд╛рдВрдбрд┐рдб,
	 TEEC_Operation * рдСрдкрд░реЗрд╢рди,
	 uint32_t * returnOrigin) 

рдпрд╣рд╛рдВ, "рд╕рддреНрд░" рд╣рдорд╛рд░реЗ рд╕рддреНрд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдЯреАрдИрдИ рдЙрджрд╛рд╣рд░рдг рдФрд░ рд╣рдо рдЬрд┐рд╕ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

"рдХрдорд╛рдВрдб" рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХреЗ рддрдерд╛рдХрдерд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЯреНрд░рд╕реНрдЯреА рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдЯреАрдИрдИ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВред рд╕рднреА рдЯреАрдИрдИ рдкрд░рд╡рд╛рд╣ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдХрдорд╛рдВрдб рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдФрд░ рдЬреЛ рдХрдорд╛рдВрдбрдб рдирдВрдмрд░ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ, рдХреЛрдИ рдирд┐рдпрдо рдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреА рд╡реИрд╢реНрд╡рд┐рдХ рд╕реВрдЪреА рдирд╣реАрдВ рд╣реИред

рдпрджрд┐ рдЖрдкрдХреЛ рдмреБрд▓рд╛рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдСрдкрд░реЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдпрд╣ TEEC_Operation рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣реИред рд╣рдо рдЕрдм рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЧрд╣рд░рд╛рдИ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдПрдВрдЧреЗ, рдмрд╕ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ 4 рдлрд╝рдВрдХреНрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ (рдЯрд╛рдЗрдк TEEC_Parameter) рддрдХ рд╣реИрдВред рдкреИрд░рд╛рдореАрдЯрд░ рд╕реНрдореГрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг TEEC_Value рдпрд╛ рдПрдХ рд╕реВрдЪрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдкреИрд░рд╛рдореАрдЯрд░ рднреА рджрд┐рд╢рд╛ рдореЗрдВ рдЯрдВрдХрдг рд╣реИ: TEEC_VALUE_INPUT (рдЗрдирдкреБрдЯ), TEEC_VALUE_OUTPUT (рдЖрдЙрдЯрдкреБрдЯ), рдпрд╛ TEEC_VALUE_INOUT (рджреНрд╡рд┐рджрд┐рд╢)ред

рдпрджрд┐ рд╣рдо TEEC_Operation рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛ рд╣реЛрдЧрд╛: рд╕рднреА рдорд╛рди рдФрд░ рджрд┐рд╢рд╛рдПрдВ рд╕реЗрдЯ рдХрд░реЗрдВред рдХреЙрд▓ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░, рд╣рдо рдЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рджрд┐рдП рдЧрдП рдорд╛рдиреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (TEEC_VALUE_OUTPUT рдФрд░ TEEC_VALUE_INOUT рдХреЗ рд▓рд┐рдП)ред

рд╕рддреНрд░ рдХреЗ рджреМрд░рд╛рди, рд╣рдо рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рдЬрд┐рддрдиреА рдмрд╛рд░ рдЬрд╝рд░реВрд░рдд рд╣реЛ, рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрд╛рдо рдХреЗ рдЕрдВрдд рдореЗрдВ, рдЖрдкрдХреЛ рд╕рддреНрд░ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ TEEC_CloseSession рдФрд░ TEEC_FinalizeContext рдкрд░ рдХреЙрд▓ рдХрд░рдХреЗ рд╕рдВрджрд░реНрдн рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдпрд╣ рд╕рдм рдЖрд░рдкреАрд╕реА рдХреА рдмрд╣реБрдд рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИ, рд╣реИ рдирд╛? рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЯреАрдИрдИ рдХреЗ рд╕рд╛рде рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЖрд░рдкреАрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯреАрдИрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдЯреНрд░рд╕реНрдЯрдЬреЛрди рдореЗрдВ, рдПрдХ рдЕрд▓рдЧ рдХреЛрд░ рдореЗрдВ, рдПрдХ рдЕрд▓рдЧ рдЪрд┐рдк рдореЗрдВред

рдирд┐рд╡реЗрджрдХ


рдКрдкрд░, рд╣рдордиреЗ рдЦреБрдж рд╕реЗ рдкреВрдЫрд╛: рдЯреАрдИрдИ рдПрдХ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдпрд╛ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ?
рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рддреЛ TEE рдореЗрдВ OS рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рддрдХ рдкрд╣реБрдБрдЪ рдирд╣реАрдВ рд╣реИред рдпрд╣реА рд╣реИ, рдЯреНрд░рд╕реНрдЯрдЬреЛрди рдореЗрдВ рд▓рд╛рдЧреВ рдЯреАрдИрдИ рдЗрд╕ рддрд░рд╣ рдХреА рдкрд╣реБрдВрдЪ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдпрд╣ рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓рд┐рдирдХреНрд╕ рд▓рдЧрд╛рддрд╛рд░ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЗрд╡рд▓ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдореЗрдореЛрд░реА рдореЗрдВ рд╣реИ, рдФрд░ рдбрд┐рд╕реНрдХ рдкрд░ рдирд╣реАрдВред рдпрджрд┐ рдЯреАрдИрдИ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред рдиреЗрдЯрд╡рд░реНрдХ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╣реАред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЯреАрдИрдИ рдПрдХ рдЫреЛрдЯрд╛ рдУрдПрд╕ рд╣реИ, рдФрд░ рдореАрдбрд┐рдпрд╛ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд╕рд╛рде рдиреЗрдЯрд╡рд░реНрдХ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдЯреИрдХ рдпрд╛ рдПрдлрдПрд╕ рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рд╕реНрддрд░ рдХреЗ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд▓рд╛рднрд╣реАрди рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╣рдорд▓реЗ рдХреА рд╕рддрд╣ рдХреЛ рдмрд╣реБрдд рдмрдврд╝рд╛рддрд╛ рд╣реИ - рдПрдХреНрд╕ 2 рдкрд░ рдПрдХ рдЕрд╕рд╛рдорд╛рдиреНрдп рдЗрдиреЛрдб рдлрд┐рд╕рд▓рдиреЗ рд╕реЗ рдЯреАрдИрдИ рдХреЛ рдХреНрд░реИрдХ рдХрд░рдиреЗ рдХрд╛ рдореМрдХрд╛ рд╣реЛрдЧрд╛ рдпрд╛ рдЗрд╕рдХреЗ рдмрд╛рдж рдХреБрдЫ рд╣реЛрдЧрд╛ред рд╣рдо рдРрд╕рд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
рдЗрд╕рд▓рд┐рдП, рдЬрдм рдУрдПрд╕ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рддрдерд╛рдХрдерд┐рдд рд╕рдкреНрд▓реАрдореЗрдВрдЯ рдХреЛ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдПрдХ рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдпрдХреНрд░рдоред рдпрд╣ рд╣рдореЗрд╢рд╛ рдЯреАрдИрдИ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЯреАрдИрдИ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╢реНрд╡ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ TEE рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдЫрд╡рд┐ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ Supplicant рдХрд╣рддреЗ рд╣реИрдВ:

TEE: рдРрд╕реА UUID рд╡рд╛рд▓реА рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рд╕рдкреНрд▓реАрдореЗрдВрдЯ: (рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ) рд╕реЙрд░реА, рд╕рд░!

рдмреЗрд╢рдХ, рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдРрд╕реЗ рдХреЙрд▓ рдХреА рдЬрд╛рдВрдЪ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдореЗрдВ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд▓рдЧрднрдЧ рдХреЛрдИ рдЬреЛрдЦрд┐рдо рдирд╣реАрдВ рд▓реЗрддреЗ рд╣реИрдВ - рдпрд╛ рддреЛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╕рд╣реА рд╣реИ рдФрд░ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЧрд▓рдд рд╣реИред рдпрд╣реА рд╣реИ, рд╣рдо рдЗрд╕реЗ рдЬреЛрдЦрд┐рдо рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ - рдПрдХ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╕рдкреНрд▓реАрдореЗрдВрдЯ рд▓реЙрдиреНрдЪ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЦрддрд░реЗ рдХреЗ рдореЙрдбрд▓ рдХрд╛ рдПрдХ рдФрд░ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рд╕реНрдкреЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп


рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (TEEC_OpenSession, рдЖрджрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ) рдПрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрддрд░ рд╕реЗ рдХреЙрд▓ рдХреЛ TEE рддрдХ рдкрд╣реБрдВрдЪрд╛рддрд╛ рд╣реИред

рдЯреНрд░рд╕реНрдЯрдЬреЛрди рдореЗрдВ рдЯреАрдИрдИ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, рдЗрд╕рдХреЗ рд▓рд┐рдП, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдкрд╣рд▓реЗ рдХреЙрд▓ рдХреЛ рдУрдПрд╕ рдХрд░реНрдиреЗрд▓ рд╕реНрддрд░ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ рдУрдПрд╕ рдХрд░реНрдиреЗрд▓ рдХреЛ рдПрд╕рдПрдорд╕реА (рд╕рд┐рдХреНрдпреЛрд░ рдореЙрдирд┐рдЯрд░ рдХреЙрд▓) рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред
рд▓рд┐рдирдХреНрд╕ + рдУрдкреА-рдЯреАрдИрдИ рдмрдВрдбрд▓ рдореЗрдВ, рдпреВрдЬрд░реНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓рд╛рдЗрдмреЗрдЯреЗрдХ рд╣реИред рдпрд╣ GlobalPlatform TEE Client API рдХреА рдХреЙрд▓ рдХреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдлрд╛рдЗрд▓ рдкрд░ ioctl рдСрдкрд░реЗрд╢рдВрд╕ рдХреЗ рдЬрд░рд┐рдП рдХрд░реНрдиреЗрд▓ рдбреНрд░рд╛рдЗрд╡рд░ рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рд▓реЗрдЯ рдХрд░рддрд╛ рд╣реИ: рдЬрдм OS рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХрд░реНрдиреЗрд▓ рдореЙрдбреНрдпреВрд▓ (рдбреНрд░рд╛рдЗрд╡рд░) рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рдбреНрд░рд╛рдЗрд╡рд░ рдбрд┐рд╡рд╛рдЗрд╕ рдлрд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реИред рдбрд┐рд╡рд╛рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ libteec рдХреЗ рд╕рд╛рде рдЦреЛрд▓рдХрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо TEE рдХреНрд▓рд╛рдЗрдВрдЯ API рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣реА рд╣реИ, рдпрд╣ рдбрд┐рдЬрд╛рдЗрди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
рдЕрдиреБрдкреНрд░рдпреЛрдЧ> libteec> рдбрд┐рд╡рд╛рдЗрд╕ рдлрд╝рд╛рдЗрд▓> рдХрд░реНрдиреЗрд▓ рдбреНрд░рд╛рдЗрд╡рд░> SMC> TEE> рд╡рд┐рд╢реНрд╡рд╛рд╕ред

рдПрдХ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг


рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
рдЫрд╡рд┐
рдпрд╣рд╛рдВ, рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд░реВрдк рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓рд┐рдирдХреНрд╕ рд╕реЗ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреАрдИрдИ рд╕рдВрджрд░реНрдн рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рддреНрд░, рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдордиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдХрд┐ TEE рдФрд░ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯреНрд╕ рдХреНрдпрд╛ рд╣реИрдВред рд╣рдордиреЗ рдЯреАрдИрдИ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдореБрд▓рд╛рдХрд╛рдд рдХреА рдФрд░ рд╕реАрдЦрд╛ рдХрд┐ рдХреИрд╕реЗ рдЯреНрд░рд╕реНрдЯрд▓реЗрдЯреНрд╕ рдХрд╣рд▓рд╛рддреЗ рд╣реИрдВред

рд╣рдордиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рдХрдИ рдЪреАрдЬреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдФрд░ рдЯреНрд░реИрд╕реНрдЯрд▓реЗрдЯ рд▓рд┐рдЦрдирд╛, рдХреНрдпреЛрдВрдХрд┐ рд▓реЗрдЦ рдПрдХ рд╕рдВрдкреВрд░реНрдг рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рд╣реЛрдиреЗ рдХрд╛ рдвреЛрдВрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдЯреАрдИрдИ рдХреЗ рд╡рд┐рд╖рдп рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЕрдкрдиреЗ рджрдо рдкрд░ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВ: рдЖрдк GlobalPlatform рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдХреЗ рдпрд╛ OP-TEE рдХреА рдЦреЛрдЬ рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рд╣рдореЗрдВ "рдЯреНрд░рд╕реНрдЯрдЬрд╝реЛрди" рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рднреА рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред

Source: https://habr.com/ru/post/hi428311/


All Articles