МекПЌЌеÑÑеÑкаÑПÑгаМОзаÑОÑ
RISC-V áááá¯áá¬ááá¯á¡ááŒá±áá¶á OpenTitan ááẠáá±áá¬á ááºáá¬áá»á¬ážááŸá áá¬áá¬áá»á¬ážááŸáá·áº á¡ááŒá¬ážá ááºáá á¹á ááºážáá»á¬ážááœáẠáááºáááºáááºá¡ááœáẠá¡áá°ážáááºááœááºáá»ááºááŸááá»á áºááºáá áºáá¯ááŒá áºááŒá®áž boot á á áºááŸááºááŒá±á¬ááºážáá±áá»á¬á á±áááºá firmware ááá¯ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááŸáá¬ááœááºáááºááŸáá·áº rootkits ááŒá áºááá¯ááºáá»á±áá»á¬ážááá¯áááºááŸá¬ážáá áºáááº- áááºážááá¯á·ááẠáá¬ážáá¬ážáá¯ááºáá»á¬ážá ááœááºáááºáááºáá»á¬ážá áá±á¬ááºáá¬áá»á¬ážá IoT á ááºáá á¹á ááºážáá»á¬ážá ááá¯ááá¯ááºážáááºáá»ááºáá»á¬áž á áááºááá¯á·á
áá¯ááºáá«áááºá áá±ááºáá
áºáááá¯áááºáá¬ááœá±ááŸá¬ á¡áá¬ážáá° module ááœá±ááŸááá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá Intel Hardware Boot Guard module ááẠIntel áááá¯áááºáá¬áá»á¬ážááœáẠáá¯á¶ááŒááºááŸá¯áá¡áááºážáá¶ááŒá
áºáááºá áááºážááẠOS ááá¯ááááºáá®áá¯á¶ááŒááºááŸá¯ááœááºážáááºáá
áºáá¯ááŸáá
áºááá·áº UEFI BIOS áá
á
áºááŸááºááŸá¯ááá¯á
á
áºáá±ážáááºá ááá¯á·áá±á¬áº áá±ážááœááºážááŸá¬á áá®ááá¯ááºážááœáẠáá»áá¯á·ááœááºážáá»ááºáááŸááᯠá¡á¬ááá¶áá»ááºáááŸááááŒáá·áº áááºážááᯠá
á
áºáá±ážááẠáááºážáááºážáááŸááá±á¬ááŒá±á¬áá·áº áá°ááá¯ááºáá¯á¶ááŒááºááŸá¯áá¡ááŒá
áºáá»á¬ážááᯠáááºáá»áŸáá¯á¶ááŒááºááá¯ááºáááºáááºážá áá±á¬ááºážáá«ážááá¯ááŒáá·áºáá«á
áá±á¬ááºáá¶á·áá±ážááœááºážáááºááœáẠá
ááºáá
á¹á
ááºážá¡áá±ážá¡áá°áá¯ááºááŒááºážáááŒáááºážááŒá±á¬ááºááŸá¯ááẠá¡á¶á·á¡á¬ážááá·áºááœááºá¡ááŸááºááŒá
áºáááº- áááºááŸá¬ážáááºááŸá¬á á¡áá»á±á¬áºáááºážá¡á®áááºáááœááºáá
áºá¡ááºáá»ááºáá®áá¬ááá¯ááºážá
"áá¬á·ááºáá² bootloader ááᯠááá¯á¶ááẠááááºážááŒá®ážááœá¬ážáá«ááŒá®"
áá°ááŒá±á¬áá±á¬ LowRISC á áá«ááá¯ááºáá¬áá¯ááºá¡ááœá²á·ááẠGavin Ferrisá - Operating System á áá¬á¡áá¯ááºáá¯ááºáááºááá¯áᬠá¡áá±ážáááŒá®ážáá«áá°áž - Operating System á áááºážááᯠá¡áá±ážá¡áá°áá¯ááºáá²á·á¡áá»áááºáá»ááẠáá»ááºáá¬ááœá±á áááºážááá¬ááá¯ááºážááá¯ááºáá¬ááá á¹á áá«á áááºáž ááŒá®ážááœá¬ážááŒá®á"
á€ááŒá¿áá¬ááᯠáááºážáááááá¯á¶ážáá±á¬ áá¬á·ááºáá²ááááºáá±á¬ááºáž OpenTitan á ááŒá±ááŸááºážááá·áºááẠ(
Google ááá¯ááºááá¯ááºá Intel Management Engine (ME) áá»á
áºááºáá»á¬ážááœáẠáááºáá±á¬ááºáá¬ážáá±á¬ Minix áááºáááºááŸá¯á
áá
áºááᯠááŸá¬ááœá±ááœá±á·ááŸáááŒá®ážáá±á¬áẠTitan ááᯠá
áááºáá®ááœááºáá²á·áááºá á€ááŸá¯ááºááœá±ážáá±á¬ OS ááẠááá¯ááºááá¯ááºááŸá¯áá»ááºááŸá¬ááŒááºááᯠááŒáá¯áááºááá·áºááŸááºážááááá±á¬ áááºážáááºážáá»á¬ážááŒáá·áº áá»á²á·ááœááºáá²á·áááºá Google
áá¯á¶ááŒááºááŸá¯áá²á· á¡áááºážáá¶á áá¬áá²á
á áá Ạboot áá¯ááºáááºážá ááºá á¡ááá·áºááá¯ááºážááẠáá±á¬ááºá¡ááá·áºá á á áºááŸááºááŸá¯ááᯠá á áºáá±ážááŒá®áž áá¯ááºáá±ážáá«áááºá áá¯á¶ááŒááºááŸá¯ááœááºážáááº.
Root of Trust (RoT) ááẠáá¬á·ááºáá²á¡ááŒá±áᶠá á áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážááŒááŒááºážááŒá áºááŒá®áž áá¯á¶ááŒááºááŸá¯ááœááºážáááºááŸá ááááá¯á¶ážáá¯ááºáá±á¬ááºááá¯ááºáá±á¬ áááºážááœáŸááºáá»ááºááááºážááŒá áºááᯠááŒá±á¬ááºážáá²áááááŒá±á¬ááºáž áá±áá»á¬á á±áááºá RoT ááẠrootkits áá»á¬ážá¡áá±á«áºá¡ááŒá±áá¶áá¬ááœááºááŸá¯ááŒá áºáááºá áááºážááẠá áá áºá áá±á¬ááºáááºááœá² á áááºááŒááºážááœáẠáá«áááºááá·áº boot áá¯ááºáááºážá ááºá á¡áááá¡ááá·áºááŒá áºááẠ- BIOS á០OS ááŸáá·áº á¡ááá®áá±ážááŸááºážáá»á¬ážá¡ááá áááºážááẠáá±á¬ááºáááºááœá²áá±á«ááºážáá¯ááºá¡ááá·áºáá áºáá¯á á®á á á áºááŸááºááŸá¯ááᯠá á áºáá±ážááá«áááºá áááºážááá¯áá¯ááºáá±á¬ááºáááºá¡ááœáẠá¡ááá·áºáá áºáá¯á á®ááœáẠáá áºáá»á áºáááºá áá áºááŒáá·áº áá±ážááá¯ážáá¬ážáá±á¬ áá±á¬á·á¡á á¯á¶ááᯠá¡áá¯á¶ážááŒá¯áááºá áá¬á·ááºáá²áá±á¬á·áá¬ááœááºáá±ážá¡ááœáẠáá±áááºážá¡á á¬ážáá¯á¶ážá á¶ááŸá¯ááºážáá áºáá¯ááŸá¬ TPM (Trusted Platform Module) ááŒá áºáááºá
áá¯á¶ááŒááºááŸá¯á á¡áááºážáá¶ááᯠáá°áá±á¬ááºááŒááºážá á¡áááºáá±á¬áºááŒáá« áá¯ááºáááºážá
ááºááẠáááŒá±á¬ááºážáá²ááá¯ááºáá±á¬ááŸááºáá¬ááºááœáẠbootloader ááŸá
áááºááŒá®áž áá¯á¶ááŒááºááŒááºážááœááºážáááºáá
áºáá¯ááᯠáááºáá®ážáá±ážááá·áº á¡ááá·áºáá«ážááá·áºáá« boot process áá
áºáá¯ááŒá
áºáááºá á¡ááá·áºáá
áºáá¯á
á®ááẠáááºááá·áºáá±á¬ááºáááºá¡á
áááºá¡ááá¯ááºážáá¡áá±á¬ááºá¡áá¬ážááá¯á¡áááºááŒá¯ááẠá¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááá¯á¡áá¯á¶ážááŒá¯áááºá Perry Lee á á
á¬á¡á¯ááºá០ááá¯ááºáá±á¬áºáá¯á¶
RoT ááᯠáááºážáááºážá¡áá»áá¯ážáá»áá¯ážááŒáá·áº á áááºááá¯ááºáááº-
- áá¯á¶ááŸáá·áº root key ááᯠfirmware ááá¯á·ááá¯áẠáááŒá±á¬ááºážáá²ááá¯ááºáá±á¬ memory á០loading;
- fuse bits ááᯠá¡áá¯á¶ážááŒá¯á áá áºááŒáááºáááºáž programmable memory ááœáẠroot key ááᯠááááºážáááºážááŒááºážá
- áá¬ááœááºáá¬ážáá±á¬ áááºááá¯áá®á§áááá¬á០áá¯ááºááᯠáá¬ááœááºáá¬ážááá·áº ááá¯ááŸá±á¬ááºáááºážááá¯á· áááºáá±áááºá
ááá°áá®áá±á¬ áááá¯áááºáá¬áá»á¬ážááẠáá¯á¶ááŒááºááŸá¯á á¡ááŒá
áºááᯠááœá²ááŒá¬ážá
áœá¬ á¡áá±á¬ááºá¡áááºáá±á¬áºááŒáááºá Intel ááŸáá·áº ARM
á¡á±á¬ááºáá«áááºážááá¬áá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáááº-
- ARM TrustZone. ARM ááẠáá¯á¶ááŒááºáá»ááºá á¡áááºážáá¶ááŸáá·áº á¡ááŒá¬ážáá±á¬ áá¯á¶ááŒá¯á¶áá±áž ááá¹ááá¬ážáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážááá·áº á á®áá®ááœááºááá±á¬ááºááᯠáá®ážááá·áºá á®áá®ááœááºáá¯á¶ážááᯠáá±á¬ááºážáá»áááºá áááºážááẠmicroprocessor á¡á¬áž ááá¯á¶ááŒá¯á¶áá±á¬ core ááŸáá·áº ááá¯ááºážááŒá¬ážáá¬ážáááºá áááºážááẠáá¯á¶ááŒá¯á¶ááŸá¯áááŸááá±á¬ á¡á áááºá¡ááá¯ááºážáá»á¬ážááŸáá·áº á¡ááŒááºá¡ááŸááºáá¯á¶á·ááŒááºáááºá¡ááœáẠáá±á¬ááºážááœááºá áœá¬áááºááŸááºáá¬ážáá±á¬ á¡ááºáá¬áá±á·á áºáá«ááŸááá±á¬ áá¯á¶ááŒá¯á¶áá±á¬áááºáááºááŸá¯á áá áºááŒá áºááá·áº Trusted OS ááᯠá¡áá¯á¶ážááŒá¯áá¬ážáááºá áá¬ááœááºáá¬ážáá±á¬ á¡áááºážá¡ááŒá áºáá»á¬ážááẠáá¯á¶ááŒááºá áááºáá»ááá±á¬ á¡á°ááá¯ááºááœáẠáááºááŸáááŒá®áž áááºááá¯ááºááá»áŸ áá±á«á·áá«ážááá·áºáááºá ááá°áá®áá±á¬á¡áá»áá¯ážá¡á á¬ážáá»á¬ážá á¡á áááºá¡ááá¯ááºážáá»á¬ážá¡ááŒá¬áž áá°ážááŒá±á¬ááºážááŒááºážááᯠáá¯á¶ááŒá¯á¶áá±á¬á á±á¬áá·áºááŒáá·áºáá±ážáá±á¬á·ááºáá²ááºááá¯á¡ááºááŸá¯ááᯠáááºááŸá¬ážáᬠáá¬á·ááºáá²áááºá ááºááŒá±á¬ááºážáá²ááŸá¯ááᯠá¡áá¯á¶ážááŒá¯á áá¯ááºáá±á¬ááºáááºá
- Intel Boot Guard áá¬á·ááºáá²ááá¹ááá¬ážááẠáá¯ááºááŸááºáááºážááŒáá·áº ááá¯á·ááá¯áẠááá¯ááºážáá¬ááŒááºážáá¯ááºáááºážá ááºáá áºáá¯á¡á¬ážááŒáá·áº áááŠáž boot ááááºááá¯á·ááŒááºážá á á áºááŸááºááŒá±á¬ááºáž á¡áááºááŒá¯ááẠáá¬á·ááºáá²ááá¹ááá¬ážáá áºáá¯ááŒá áºáááºá áááŠážááááºááá¯á·ááŒááºážááᯠá¡áááºááŒá¯áááºá áá¯ááºáá¯ááºáá°ááẠá¡ááá¯ááºážááŸá áºááá¯ááºážáá«áááºáááº- á¡áá»á¬ážáá°ááŸá¬ááŸáá·áº áá¯áá¹ááááááá¯áẠ2048-bit áá±á¬á·ááᯠáá¯ááºáá¯ááºááá«áááºá áá¯ááºáá¯ááºáá±á ááºá¡ááœááºáž á¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááᯠ"áá±á«ááºááœá²ááŒááºáž" fuse bits ááŒáá·áº áá¯ááºáá±á«áºááœáẠááá¯ááºááŸáááºáá¬ážáááºá á€áá áºáá»á¬ážááẠáá áºááŒáááºá¡áá¯á¶ážááŒá¯ááŒá®áž ááŒá±á¬ááºážáá²ááááá«á áá±á¬á·ááá®ážááá·áºá¡á áááºá¡ááá¯ááºážááẠáá±á«ááºážáá¯ááºá¡ááá·áºá áá±á¬ááºáááºááœá²á á áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážá¡ááœáẠáá áºáá»á áºáááºáááºááŸááºáá¯ááºáá±ážáááºá
OpenTitan ááááºáá±á¬ááºážááẠá¡á±á¬ááºáá±á¬áºááŒáá« áá¯á¶ááœááºááŒáá¬ážááá·áºá¡ááá¯ááºáž áá¬á·ááºáá²/áá±á¬á·ááºáá²ááºá áá áºá á¡áááá¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠáá±á¬áºáá¯ááºáá±ážáá«áááºá
OpenTitan ááááºáá±á¬ááºáž
OpenTitan ááááºáá±á¬ááºážáááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááᯠá¡áá»áá¯ážá¡ááŒááºááá°áá±á¬á¡ááœá²á·á¡á ááºáž lowRISC á០á á®áá¶ááá·áºááœá²áá«áááºá á¡ááºáá»ááºáá®áá¬á¡ááœá²á·ááẠCambridge (UK) ááœáẠá¡ááŒá±á áá¯ááºááŒá®áž á¡ááá áá¶á·ááá¯ážáá°áá®áá°ááŸá¬ Google ááŒá áºáááºá ETH Zurichá G+D Mobile Securityá Nuvoton Technology ááŸáá·áº Western Digital ááá¯á· áá«áááºáá«áááºá
Google
áá¯á¶ááŒááºááŸá¯áá¡áááºážáá¶ááẠá áá áºá á¡ááŒá²áááºážá¡ááŒáá·áºá¡ááá¯á¶ááŒááºáá¬ážááá·áº áá¯á¶ááŒááºá áááºáá»ááá±á¬ ááœááºáá»á°áᬠmodule áá áºáá¯ááŸá á¡áááá·áºáá¯á¶ážá¡ááá·áºááŸá áá¯á¶ááŒááºááŸá¯ááœááºážáááºááœáẠááááá¯á¶ážáá±á¬ááá·áºááºááŒá áºáááºá
RoT ááẠá¡áá»á¬ážáá°ááŸá¬áá±á¬á·á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠáá»á¬áž (PKIs) á¡áá«á¡ááẠá¡ááá®áá±ážááŸááºážáá»á¬ážá¡ááœáẠá¡áá±ážááŒá®ážáá«áááºá áááºážááẠIoT á¡ááá®áá±ážááŸááºáž ááá¯á·ááá¯áẠáá±áá¬á ááºáá¬áá²á·ááá¯á· ááŸá¯ááºááœá±ážáá±á¬á áá áºáá áºáá¯ááᯠá¡ááŒá±áá¶ááá·áº áá¯á¶ááŒá¯á¶áá±ážá áá áºá á¡ááŒá±áá¶á¡á¯ááºááŒá áºááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áº Google ááẠá€ááá±á¬áá»ááºááᯠá¡áááºááŒá±á¬áá·áº áá¶á·ááá¯ážáááºááᯠááŸááºážáá«áááºá ááá¯á¡áá« ááá¯ááºááŒá®ážáá«ážáá¯ááœáẠáá±áá¬á ááºáᬠáá áá¯ááŸááááºá áá±áá¬á ááºáá¬áá»á¬ážá ááá¯ááŸá±á¬ááºááŸá¯ááŸáá·áº áá áºááŸááºá¡áá±ážáá«áá±á¬ á¡ááá®áá±ážááŸááºážáá»á¬ážááẠááŒá®ážáá¬ážáá»ááºááŒáá·áºáá±á¬ ááá¯ááºááá¯ááºááŸá¯áá»ááºááŸá¬ááŒááºááᯠááŒááá¬ážááŒá®áž á€á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááᯠáá¬ááœááºáááºá¡ááœááºá Google ááẠTitan áá»á áºááºáá±á«áºááœáẠáááºážáááá¯ááºááá¯ááºáá¯á¶ááŒááºááŸá¯áá¡áááºážáá¶ááᯠá áááºáá®ááœááºáá²á·áááºá
Google áá¬áá¬ááŸá Titan áá»á
áºááº
Titan áááá¯áá¬áááºáá¬ááᯠááááºá Google á ááá¯ááºááá¯ááºáá²á·áá±á¬áºáááºáž ááá¯á¡áá«ááœáẠopen source ááá±á¬áá»ááºáá áºáá¯á¡ááŒá Ạá¡áá»á¬ážááá¯ááºááá¯ááááºážá¡ááŒá ẠááŒá¯áá¯ááºáá»ááºááŸááááºá
ááá±á¬áá»ááºááááá¡ááá·áºááŸá¬ open source ááá¯ááºáááá¯áááá¯áááºáá¬á¡áá«á¡ááẠáá»á
áºááºá¡ááá·áºááœáẠáá¯áá¹áááá»áá±á¬ RoT áá®ááá¯ááºážááᯠáááºáá®ážááŒááºážááŒá
áºáááºá
Google á OpenTitan ááẠá¡ááááá»áá±á¬ á¡ááŒá±áá¶áá° (á) áááºá¡áá±á«áº á¡ááŒá±áá¶áááºáᯠááá¯áááºá
- áá°ááá¯ááºážááẠplatform ááá¯á á áºáá±ážááŒá®ážáá«áááºáá°áá®áááºá¡ááœáá·áºá¡áá±ážááŸááááºá
- áá áºáŠážáááºážáá±á¬ááºážáá»áá° ááá·áºáááºáá»ááºáá»á¬ážááŒáá·áº ááááºááá¯á·ááŒááºážáááŒá¯áá±á¬ áá¯áá¹áááááºáá±á¬ áá¯á¶ááŒá¯á¶áá±á¬ áá®ááá¯ááºážááᯠááœáá·áºááŸá áºááŒááºážááŒáá·áº áá»á±á¬á·ááŒá±á¬ááºážááŸá¯ááᯠááá¯ážááŒáá·áºá á±áá«áááºá
- á¡áááºá¡ááœá±ážááᯠáá®ááá¯ááºážááá¯ááºááá¯ááºáá¬áá á¡ááá¯ážá¡áá¬áž Firmware ááŸáá·áº á á¬ááœááºá á¬áááºážáá»á¬ážááŒáá·áºáááºáž á¡á¬ááá¶áá«áááºá
âáá¯á¶ááŒááºááŸá¯á¡ááŒá áºáá»á¬ážáá«ááŸááá±á¬ áááºááŸááá»á áºááºáá»á¬ážááẠá¡ááœááºáá áºáŠážáááºážááá¯ááºááŒá áºáááºá áááºážááá¯á·ááẠáá¯á¶ááŒá¯á¶áááºáᯠááá¯ááŒáá±á¬áºáááºáž áááºááœá±á·ááœáẠáááºááẠáááºážááᯠááœáá·áºááœááºá áááºááá¯ááºááá¯áẠá¡áááºááŒá¯á ááááá¯ááºááŒá±á¬ááºáž Google Titan ááá±á¬áá»ááºá¡ááœáẠáá¯á¶ááŒá¯á¶áá±ážáá»áœááºážáá»ááºáá° Dominic Rizzo á ááŒá±á¬ááŒá¬ážáá²á·áááºá âááᯠááááá¯á¶ážá¡ááŒáááºá¡ááŒá áºá áá®ážááá·áºáá¯á¶ááŒááºááŸá¯ áá®ááá¯ááºážá á¡áááºážáᶠdeveloper áá»á¬ážááᯠáá»ááºáááºážáá¯á¶ááŒááºááŒááºážáááŸááá² áá¯á¶ááŒá¯á¶áá±áž áá±ážá áœááºážááá¯ááºáááºááŒá áºáááºá áá«ááŒá±á¬áá·áº á¡ááŒá±áá¶á¡á¯ááºááŒá áºá ááá¯ááºáá¬áá¯á¶áááºáááá°ážá á á áºáá±ážááá¯á·ááááºáâ
Rizzo á OpenTitan ááᯠ"áááºááŸáá¡ááŒá±á¡áá±áá²á· ááŸááºááẠá¡ááœááºááœáá·áºáááºážáá²á· áá®ááá¯ááºážáá áºáá¯ááá¯á· áá°áááá¯ááºáá«áááºá"
developer áá»á¬ážá¡ááá¯á¡á OpenTitan ááẠááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áááŒá®ážáá±ážáá±á¬ááŒá±á¬áá·áºá OpenTitan ááᯠá¡ááŒá®ážáááºáá¯ááºáá¯ááºá¡ááŒá ẠááááºááŸááºááá·áºáá«á áááºážááá¯á·ááẠáá¯ááºáá¯ááºááŸá¯áá áááºáá®ááœáẠáá°ááá¯ááºážááŒááºáááºáá¯á¶ážáááºááá¯ááºá á±áááºá ááá·áºááœááºážááŸá¯ááŸáá·áº á áá áºááᯠááŒáŸáá·áºáááºááá¯ááºá á±ááẠáááºááŸááºáá»ááºáá»á¬ážááŸáá·áº á¡áááºá¡áááºááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ áá®ááá¯ááºážááᯠááááºááᬠááœáá·áºááá²á·áááºá
OpenTitan áá»á
áºááºáá»á¬áž á
áááºáá¯ááºáá¯ááºáááºá áááºáá»áŸá±á¬ááºáá¬ážááŒá®áž á¡ááá¡ááŸááºááŒá¯áááºááŸááºááá°ááẠááá¯á¡ááºáááºá áá»á±á¬áºááŒá±ážááœá± áááá¯á¡ááºááŒá±á¬ááºáž áááºááŸá¬ážáááºá
source: www.habr.com