DEFCON 21.ãã¹ã¯ãŒãã ãã§ã¯ååã§ã¯ãªãããŸãã¯ãã£ã¹ã¯æå·åããå£ãããçç±ãããã³ä¿®æ£æ¹æ³ã ããŒã1
å調ã«å¢å ããã«ãŠã³ã¿ãªã©ãTMPã®ã¢ã¯ãã£ããã£ãç£èŠããåä¿¡ããå€ã確èªã§ããé¢çœããã®ããããŸãã ããŒãºã«äœ¿çšã§ããäžæ®çºæ§ã¡ã¢ãªã®ç¯å²ã¯å°ããããããã€ãã»ã©ã§ã¯ãããŸãããã圹ã«ç«ã€å ŽåããããŸãã ååã®èµ·å以éã«ã·ã¹ãã ãåäœããŠããæéã確èªã§ããã¯ããã¯ã«ãŠã³ã¿ãŒããããŸãã å¿
èŠã«å¿ããŠèªåã®ã¡ã¢ãªãã¯ãªã¢ãããªã©ããŠãŒã¶ãŒã«ä»£ãã£ãŠç©äºãå®è¡ãããããã«TMPã«æå®ã§ããã³ãã³ãããããŸãã
次ã«ãã³ã³ãã¥ãŒã¿ãŒã§èªèšŒããŠäœ¿çšãéå§ããåã«ããŠãŒã¶ãŒãã³ã³ãã¥ãŒã¿ãŒã§å®è¡ã§ãããããã³ã«ãéçºããŠãã³ã³ãã¥ãŒã¿ãŒããããã³ã°ãããŠããªãããšã確èªããŸãã ãã®ãããªãããã³ã«ã«åœ¹ç«ã€ãã®ã¯äœã§ããããã©ãããã©ãŒã æ§æã¬ãžã¹ã¿ã«ãå°å°ãããããšããããšãã§ããŸããïŒ
ããã€ãã®ææ¡ããããŸãããããã¯ãã¯ã³ã¿ã€ã ãŠãŒã¶ãŒãã¹ã¯ãŒãããŠããŒã¯ãªç»åãã¢ãã¡ãŒã·ã§ã³ãããšãã°åçãªã©ãä»ã§ã¯èŠã€ãã«ãããªãªãžãã«ã®ãã®ã®ããŒã¯ã³ã§ãã èªèšŒèŠæ±ããã³èªèšŒã¢ãŒãã®ãšãã¯ãã³ã³ãã¥ãŒã¿ãŒã§ããããªåºåããç¡å¹ã«ããããšãã§ããŸãã
ãã£ã¹ã¯ããŒã®äžéšããå°å°ãããããšãã§ããŸãããããè¡ãçç±ã¯ããã€ããããŸãã ç¹å®ã®ã»ãã¥ãªãã£ã®åæã®äžã§ã¯ãããã«ãããã³ã³ãã¥ãŒã¿ãŒã®ææè
ãšããŠç®¡çããæ¿èªæžã¿ã®ãœãããŠã§ã¢æ§æã®ã¿ã§ã·ã¹ãã ãèµ·åããããšãä¿èšŒãããŸãã æçµçã«ãããã¯ãã·ã¹ãã ãæ»æããã人ã¯èª°ã§ããTMPããããã³ã°ããããããªããäœæãããµã³ãããã¯ã¹ã§ãããè¡ãå¿
èŠãããããšãæå³ããŸãã ãã¡ãããããã¯ç¹ã«åŒ·åãªæå·ä¿è·ã§ã¯ãããŸãããããšãã°ãAESãæäŸããã®ãšåãã¬ãã«ã®ã»ãã¥ãªãã£ã§ãŠãŒã¶ãŒãå®å
šã«èªèšŒã§ãããããã³ã«ããªãããã§ãã ããããèªåã®é ã®äžã§RSAæå·åã®ãããªãã®ãæŽçã§ããªãå Žåãå®ç§ã«ãªãããšã¯ãããŸããã
TPMã«ã¯ããœãããŠã§ã¢ãä»ããŠå®è¡ã§ããèªå·±æ¶å»ã³ãã³ãããããšè¿°ã¹ãŸããã TPMã¯ç¹å®ã®ã·ã¹ãã æ§æãå¿
èŠãšããããããç§å¯ããæäŸããåã«ãèªå·±ç Žå£ãªã©ã®èå³æ·±ãããšãè¡ãããšãã§ããŸãã ãœãããŠã§ã¢ãéçºããç¬èªã®ãããã³ã«ãäœæããŠã倱æããã³ã³ãã¥ãŒã¿ãŒã®èµ·ååæ°ãå¶éãããããã¹ã¯ãŒããäžå®æéç»é¢ã«è¡šç€ºãããåŸã«ã¿ã€ã ã¢ãŠããèšå®ããããééã£ããã¹ã¯ãŒããå
¥åããåæ°ãå¶éãããã§ããŸãã
åã®äœæ¥ãµã€ã¯ã«åŸã«ã³ã³ãã¥ãŒã¿ãŒãåèµ·åããããã®æéå¶éãèšå®ã§ããŸããã³ã³ãã¥ãŒã¿ãŒã1ã2é±éãåçµç¶æ
ãã ã£ãå Žåãæµ·å€æ
è¡ãèšç»ããŠããæéã¯ã³ã³ãã¥ãŒã¿ãŒãžã®ã¢ã¯ã»ã¹ãå¶éããŸããããã«ã«å°çããåã«ããã¯ã解é€ããããã®éã
ãŸããã»ãã¥ãªãã£ã®èŠ³ç¹ããéèŠãªããŒã¿ãå«ããã£ã¹ã¯ã«å°ããªãã«ããªã¢ããæ®ããªã©ãããã€ãã®é¢çœãããšãè¡ãããšãã§ããŸãã å®éããããã¯åã«ãã¹ãã¬ããããŒã¯ãã§ããããã®æäœã«ãã£ãŠTPMå
ã®å調ãªã«ãŠã³ã¿ãŒã®å€ãå€åããŸãã
èªå·±ç Žå£ãã¹ã¯ãŒããŸãã¯åŒ·å¶ã³ãŒããäœæããŠããªã»ããã³ãã³ããèªåçã«å®è¡ããããšãã§ããŸãã æ»æè
ã¯ãä¿¡é Œã§ãããã©ãããã©ãŒã ã¢ãžã¥ãŒã«ããããã³ã°ããããæªæã®ãããœãããŠã§ã¢ãå®è¡ãããšãã2ã€ã®æ¹æ³ã§æ»æããããšãã§ããããããããã®ã«ãŒã«ã§åŒ·å¶çã«ãã¬ã€ããå®éã«å¹æçãªèªå·±ç Žå£ãå®è¡ã§ããŸãã
ãã©ã¹ããããã©ãããã©ãŒã ã¢ãžã¥ãŒã«ã¯ãã³ããŒãéåžžã«å°é£ã«ãªãããã«ç¹å¥ã«èšèšãããŠãããããåã«è€è£œããããšã¯ã§ããŸããã ããã«ãããå調ãªã«ãŠã³ã¿ãŒãªã©ã䜿çšããŠãå埩æ»æããã£ã¹ã¯åçæ»æãæ€åºã§ããŸãã ãŸããTPMã§ãclearãã³ãã³ããå®è¡ããããšãããŒã¿ã«ã¢ã¯ã»ã¹ãããæ»æè
ã®ããã«ãã²ãŒã ã¯çµäºããŸãã
Jacob Appelbaumãé·å¹Žåã®2005幎ã«Chaos Communication Congressã§è°è«ããã·ã¹ãã ã«ã¯ããã€ãã®é¡äŒŒç¹ããããŸãã圌ã¯ãªã¢ãŒããããã¯ãŒã¯ãµãŒããŒã䜿çšããŠãããã®ãªãã·ã§ã³ã®å€ããå®è£
ããããšãææ¡ããŸããããå®éã«äœ¿çšããããšã¯é£ããããšãèªããŸããã TPMã¯ã·ã¹ãã ã®çµ±åã³ã³ããŒãã³ãã§ããããããªã¢ãŒããµãŒããŒã«ããã¢ãžã¥ãŒã«ã§ã¯ãªããçµã¿èŸŒã¿ã®TPMã¢ãžã¥ãŒã«ã§ã®ã¿å€ãã®å©ç¹ãåŸãããšãã§ããŸãã ãã€ããªããã¢ãããŒããæœåšçã«å¯èœã§ãã ããšãã°ãITéšéã®ããã«ãã·ã¹ãã ãäžæçã«ãããã¯ãããšãã«ã·ã¹ãã ãã»ããã¢ããã§ããŸãããããã¯ãŒã¯ã«æ¥ç¶ããŠããIT管çè
ã«é£çµ¡ãããšãã·ã¹ãã ãããã¯è§£é€ãããŸãã ããŒãããã»ã¹ã®éå§æã«ãããã¯ãŒã¯ã¹ã¿ãã¯ãããã·ã¥ããããšãããããã®ã¯ããããæ»æ察象ã倧å¹
ã«å¢å ãããããã§ãã ããããããã¯ãŸã å¯èœã§ãã
æ»æè
ã¯TPMãç°¡åã«ç Žãããšãã§ããªããšä»®å®ããŠããããè¡ãããšãã§ããããšãæ確ã«ããããšæããŸãã 次ã®ã¹ã©ã€ãã¯ãã¯ãªã¹ã»ã¿ã«ããã¹ããŒãé¡åŸ®é¡ã§äœæããTPMãããã®èšèšåçã§ãã Chrisã¯æšå¹ŽDefConã§è¬æŒããæ°å¹Žåã«BlackHatã«ã³ãã¡ã¬ã³ã¹ã§TPMã»ãã¥ãªãã£ã«é¢ãããã¬ãŒã³ããŒã·ã§ã³ãè¡ããŸããã
圌ã¯æ¬åœã«ãã®ããšãç Žãããšãããã«é£ããããç解ããããã«çŽ æŽãããä»äºãããŸããã 圌ã¯å¯Ÿçããªã¹ãã¢ããããå®éã«ãã®ããšãç Žãã®ã«äœãå¿
èŠããèãåºãããããå
šäœããã¹ãããŸããã å
æ€åºåšãTPMããŒãäžã®ã¢ã¯ãã£ãã°ãªãããããŸããŸãªå®å
šã«ã¯ã¬ã€ãžãŒãªã¹ããŒã ãå®è£
ãããŠããããã®ã¢ãžã¥ãŒã«ãå®éã«è¡ãããšã«ã€ããŠæ»æè
ã誀解ãããŸãã
ããããååãªæéãšãªãœãŒã¹ãè²»ãããååã«æ³šæããã°ãã»ãšãã©ã®ä¿è·å¯Ÿçãåé¿ã§ããŸãã ããããåãå€ããé»åé¡åŸ®é¡ã§ã¯ãŒã¯ã¹ããŒã·ã§ã³ã«çœ®ããæå·åãããŠããªãããŒã¿ã®ãããã¹ãã©ãã«ããããèŠã€ãããããããã¹ãŠã®ç§å¯ãæœåºã§ããŸãã ããã§ãããã®ãããªæ»æã¯ãæ
éã«æºåããé«äŸ¡ãªé¡åŸ®é¡ã䜿çšããŠãã®å Žæãçªãæ¢ãããšããŠãããããã®ç©ççãªä¿è·ã解é€ããæéãšåŽåãå¿
èŠã§ããã解äœäžã«èª€ã£ãŠãæãããããšã¯ãããŸããã
åèµ·åæ»æãæ€èšããŠãã ããã ã»ãŒãã¹ãŠã®å ŽåãTPMã¯ãã¶ãŒããŒãäžã®ç¬ç«ãããããã§ãããšåè¿°ããŸããã ããã¯ãã·ã¹ãã éå±€å
ã®éåžžã«äœããªã³ã¯ã§ãã ãããªã³ã³ãœãŒã«ã®DRMã§è¡ãããŠããããã«ãCPUã®äžéšã§ã¯ãããŸããã ãã®ãããããã«ãŒãTPMãåèµ·åããå Žåãã·ã¹ãã ã«äžå¯éçãªåœ±é¿ã¯ãããŸããã ãã®ãããªæ»æã¯æ°ä»ããªãå Žåããããããããã¯æªãããšã§ãã
éåžžãããã¯LPCã³ã³ãã¥ãŒã¿ãã¹ã®å€åŽã«ãããããã§ããLPCã³ã³ãã¥ãŒã¿ãã¹èªäœã¯å»æ¢ããããã¹ã§ããããã¶ãŒããŒãã®ãµãŠã¹ããªããžã®å€åŽã«ãããŸãã æè¿ã®ã·ã¹ãã ã§ã¯ããã¶ãŒããŒãã®è¡šé¢ã«ããã®ã¯TPMãBIOSã¢ãžã¥ãŒã«ãããŒããŒãã³ã³ãããŒã©ãŒã ãã§ãããå®éã«ã¯ãã¬ãã·ãã«ã³ã³ãããŒã©ãŒã¯ããã䜿çšããªããªã£ããšæããŸãã ãŸããå°æ°ã®é£çµ¡å
ã§ãã¹ãåèµ·åããæ¹æ³ãèŠã€ããå ŽåãTPMããæ°ãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãã®ããŒãç¶æ
ã«ãªã»ããããŸãã PS / 2ã³ãã¯ã¿ãä»ããŠããŒããŒãã«ã¢ã¯ã»ã¹ã§ããªããªãå¯èœæ§ããããŸãããããã¯å€§ããªåé¡ã§ã¯ãããŸããããå®éã«å®å
šãªã·ãŒã±ã³ã¹ãå®è¡ããã«ç§å¯ããŒã¿ããã·ãŒã«ããããTPMããŒãã·ãŒã±ã³ã¹ãåçããããã䜿çšããŠããŒã¿ãæœåºã§ããŸãã
ãã®æ¹æ³ã䜿çšããããšããæ»æãããã€ããããŸãã TPMãéç枬å®ã®ä¿¡é Œã®ã«ãŒãïŒSRTMïŒãšåŒã°ããå€ãã¢ãŒãã䜿çšããŠããå Žåãããã¯éåžžã«ç°¡åã«è¡ããŸãã Intelã¢ãžã¥ãŒã«ã¢ã¯ãã£ããŒã·ã§ã³ãªãã·ã§ã³ãå®è£
ããããã®æ°ããä¿¡é Œã§ãããã¯ãããžãŒã«å¯Ÿããæ»æã®æåã«é¢ããç 究ãèŠãããšã¯ãããŸããã LPCãã¹ããã£ããã£ããããšã¯ãããããŸã å¯èœã§ãããCPUã«æž¡ãã®ã¯ããã«ç 究ãå¿
èŠãªé åã§ãã ããã¯ãä¿¡é Œã§ãããã©ãããã©ãŒã ã¢ãžã¥ãŒã«ãæ»æããå¥ã®æ¹æ³ã§ãã
ããã§ãä¿¡é Œæ§ã®é«ãæ§æã®ã³ãŒã«ãããŒãã·ã¹ãã ã«å¿
èŠãªãã®ã®å³ãèŠãŠã¿ãŸãããã PCã¢ãŒããã¯ãã£ã«ã¯ãããªãè匱ãªã³ã³ããŒãã³ããå€æ°ãããŸãã
ããšãã°ãBIOSã§ã¯ãå²ã蟌ã¿ãã¯ãã«ã®ããŒãã«ããã£ããã£ãããã£ã¹ã¯ã®èªã¿åãæš©éãå€æŽããããããŒããŒãå
¥åãã€ã³ã¿ãŒã»ããããããCPUã¬ãžã¹ã¿ã®ãã¹ãŠã®æ©èœããã¹ã¯ãããã§ããŸã-å€ãã®æ»æãªãã·ã§ã³ããããŸãã ç§ã®æèŠã§ã¯ãå®éã®ããŒãBIOSã¢ãŒãã§ã»ãã¥ãªãã£ãã§ãã¯ãè¡ãå¿
èŠã¯ãªããããŒãããã»ã¹ã®ããã©ãŒãã³ã¹ã枬å®ããã ãã§ãã
Linuxã®åæRAMãã£ã¹ã¯ãªã©ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ããããã¬ããŒããã¢ãŒãã«å
¥ããšããã«ããããã³ã«ã®å®è¡ãéå§ãããããã®ããšãè¡ããŸãã ã€ãŸãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ãªãœãŒã¹ã䜿çšãå§ããŠãã誰ããBIOSã¬ãã«ã§å²ã蟌ã¿ããŒãã«ãæäœããŠããäœã®åœ±é¿ããããŸããã ããªãã¯æ¬åœã«æ°ã«ããŸããã
ã¬ãžã¹ã¿ã®ããã©ãŒãã³ã¹ã確èªã§ããŸãã ããšãã°ãCore i5ããã»ããµã䜿çšããŠããå Žåãå®è¡çŠæ¢ãããããããã°ã¬ãžã¹ã¿ããã®ä»ã®ã¬ãžã¹ã¿æ©èœããã¹ã¯ããããšãããã®ãªã©ããµããŒãããããšãããããŸãã
ãã®ã¹ã©ã€ãã¯ãå®éã®æ§æã§èµ·åãããšãã«ã·ã¹ãã å³ãã©ã®ããã«èŠãããã瀺ããŠããŸãã
ã¡ã€ã³ã¡ã¢ãªã®ããã»ããµã¬ãžã¹ã¿ãšIOMMUä¿è·ã䜿çšããŠããã£ã¹ã¯æå·åã»ãã¥ãªãã£ã®å€ãã®åŽé¢ãå®è£
ããBitVisorãšãããããžã§ã¯ãããããŸããã åé¡ã¯ãBitVisorã¯ããªãå
·äœçã§ãã£ãã«äœ¿çšãããªãããã°ã©ã ã§ãããšããããšã§ãã
Xenã¯ãå€ãã®ã»ãã¥ãªãã£ç 究ã«åå ããäžçš®ã®æšæºçãªãªãŒãã³ãœãŒã¹ãã€ããŒãã€ã¶ãŒã§ããããã®éãXenã¯åäœãããšç¢ºä¿¡ããŠããŸãã ç§ã®æèŠã§ã¯ãXenãã€ããŒãã€ã¶ãŒããã¢ã¡ã¿ã«ããŒããŠã§ã¢ã€ã³ã¿ãŒãã§ã€ã¹ãšããŠäœ¿çšããLinux dom0管çãã¡ã€ã³ãè¿œå ããŠããŒããŠã§ã¢ãåæåããå¿
èŠããããŸãã
ç¹°ãè¿ããŸãããXenã§ã¯ããã¹ãŠã®ä»®æ³åãã¡ã€ã³ãéç¹æš©ã¢ãŒãã§åäœãããããå®éã«ã¯ãããã°ã¬ãžã¹ã¿ã«çŽæ¥ã¢ã¯ã»ã¹ã§ããŸãããããã¯æ¢ã«è¡ãããŠããããšã®1ã€ã§ãã Xenã¯ãã®ãããªãã®ã«ã¢ã¯ã»ã¹ã§ãããã€ããŒã³ãŒã«ãäœæããŸããããœãããŠã§ã¢ã§ãã®æ©èœãç¡å¹ã«ããããšãã§ããŸãã
ãããã£ãŠãç§ã䜿çšããã¢ãããŒãã¯ããã¹ã¿ãŒã¬ãžã¹ã¿ããããã°ã¬ãžã¹ã¿ã«é
眮ããããšã§ãã ãã¹ã¿ãŒããŒã§ãã128ãããAESããŒãæ ŒçŽããããã®æåã®2ã€ã®ãããã°ã¬ãžã¹ã¿ãåºå¥ããŸãã
ãã®ããšã¯ããŠãŒã¶ãŒè³æ Œæ
å ±ãåãå
¥ããããã»ã¹ã«ãã£ãŠå
¥åãããåŸãCPUã¬ãžã¹ã¿ããé¢ããããšã¯ãããŸããã 次ã«ã2ã€ã®2çªç®ã®ã¬ãžã¹ã¿ãä»®æ³ãã·ã³ã®ç¹å®ã®ã¬ãžã¹ã¿ãšããŠäœ¿çšããŸãããããã¯éåžžã®ãããã°ã¬ãžã¹ã¿ãšããŠäœ¿çšã§ããŸãããã®å Žåãã¡ã€ã³ã¡ã¢ãªãæå·åããããã«äœ¿çšã§ããŸãã ãã®ç¹å®ã®ã±ãŒã¹ã§ã¯ã管çãã¡ã€ã³ã«çŽæ¥æ¥ç¶ãããŠããããã€ãã®ããã€ã¹ãå¿
èŠã§ãã ããã¯ãPCIããã€ã¹ãããŒããŒããTPMã§ããã°ã©ãã£ãã¯ããã»ããµã§ãããããã¯ãã¹ãŠãçŽæ¥ã¢ã¯ã»ã¹ã§ããå¿
èŠããããŸãã
ãããã«å¯ŸããŠIOMMUä¿è·ã䜿çšããããšã¯ã§ããŸãããããããã¯ãŒã¯ã³ã³ãããŒã©ãŒãã¹ãã¬ãŒãžã³ã³ãããŒã©ãŒãPCIãã¹äžã®ä»»æã®ããã€ã¹ãã€ãŸãã管çãã¡ã€ã³ãŸãã¯ãã€ããŒãã€ã¶ãŒã®ã¡ã¢ãªã¹ããŒã¹ã«ã¢ã¯ã»ã¹ã§ããªãã³ã³ããŒãã³ãã«å¯ŸããŠããã®ä¿è·ãæ§æã§ããŸãã ãããã¯ãŒã¯ã³ã³ãããŒã©ãŒãå®éã«å°çšã®Net VMã«é
眮ããããšã§ããããã¯ãŒã¯ãªã©ã«ã¢ã¯ã»ã¹ã§ããŸãã ãããã®ãã®ã¯ãIOMMUã»ãã¥ãªãã£ãæ§æãããŠããç¹å®ã®ããã€ã¹ã«ããããããããããã®ãããªããã€ã¹ã¯ãã®ä»®æ³ãã·ã³ã®ã¡ã¢ãªé åã«ã®ã¿ã¢ã¯ã»ã¹ã§ããŸãã
ã¹ãã¬ãŒãžã³ã³ãããŒã©ãŒã§ãåãããšãã§ããAPP VMä»®æ³ãã·ã³äžã§ãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããæ©åšãžã®çŽæ¥ã¢ã¯ã»ã¹ããŸã£ãããŒãã«ããããšãã§ããŸãã ãããã£ãŠã誰ããWebãã©ãŠã¶ãå¶åŸ¡ããããæªæã®ããPDFãã¡ã€ã«ãéä¿¡ãããšããŠãããã£ã¹ã¯æå·åãæ·±å»ã«æãªããããªãã®ã¯åãåããŸããã
å®éãããã¯Qubes OSãšåŒã°ããåªãããããžã§ã¯ãã®åºç€ã§ããããããã®ã¢ãŒããã¯ãã£èšèšã«è²¬ä»»ãè² ãããšã¯ã§ããŸããã
ãã®éçºè
ã¯ããã®ãããžã§ã¯ãããXenãLinuxãããã³å
ã»ã©èª¬æããå€ãã®ããšãå®è£
ããããã®ããã€ãã®ã«ã¹ã¿ã ããŒã«ã®å®çšçãªæ§æãšããŠèª¬æããŠããŸãã Qubes OSã¯ãç¹æš©ã®ãªãã²ã¹ãã®ããªã·ãŒãå®è£
ããçµ±åã·ã¹ãã ç°å¢ãäœæããŸãããã®ãããåãã·ã¹ãã ã§äœæ¥ããŠããããã«èŠããŸãããå®éã«ã¯ã1ã€ã®ããŒãã®äžãã«ããç°ãªãä»®æ³ãã·ã³ã®æã§ãã ãã®ã¢ã€ãã¢ã䜿çšããŠãã³ãŒãããŒã¹ãå®è£
ããŸãã
ãããã£ãŠãç§ãéçºããŠããããŒã«ã¯ããã®æŠå¿µã確èªããå®éšçãªã³ãŒãã§ãããPhalanxãšåŒã°ããŠããŸãã ããã¯ããããé©çšããXenã§ãããããã§èª¬æãããã¯ãããžãŒã䜿çšããŠãã£ã¹ã¯æå·åãå®è£
ã§ããŸãã
ãã¹ã¿ãŒããŒã¯æåã®2ã€ã®ãããã°ã¬ãžã¹ã¿DR1-2ã«ããã2çªç®ã®2ã€ã®DR2-3ãããã°ã¬ãžã¹ã¿ã¯domUã«ãã£ãŠå®å
šã«ç¡å¶éã§ãã ã»ãã¥ãªãã£äžã®çç±ãããXMMã¯åäœã¡ã¢ãªãšããŠäœ¿çšããã0ã12ã®ã¬ãžã¹ã¿ãDR2ã3ãããã³ä»®æ³ãã·ã³ãã³ã³ããã¹ããåãæ¿ãããšãã«ããŒãæå·åãããŸãã ãŸããLinux zRAMã«ãŒãã«ã¢ãžã¥ãŒã«ã䜿çšããŠéåžžã«åçŽãªæå·åã®å®è£
ãè¡ããŸãããããã¯ãæå·å以å€ã®ã»ãšãã©ãã¹ãŠãå®è¡ããçµã¿èŸŒã¿èŠçŽ ã§ãããããæå·åã®ããã«éåžžã«å°ããªã³ãŒããè¿œå ããã ãã§ãã ãåãã®ãšãããæãå®å
šãªã³ãŒãã¯ãèšè¿°ããå¿
èŠã®ãªãã³ãŒãã§ãã zRAMã®åªããæ©èœã¯ãAES Counter-Modeãªã©ãå®å
šã«å®è£
ããããã«å¿
èŠãªããããæäŸããããšã§ãã
ããã€ãã®ããŒããŠã§ã¢èŠä»¶ããããŸãã æ°ããAESåœä»€ããµããŒãããã·ã¹ãã ãå¿
èŠã§ããããã¯éåžžã«äžè¬çã§ããããã¹ãŠã®ã·ã¹ãã ã«åœä»€ãããããã§ã¯ãããŸããã ã»ãšãã©ã®å ŽåãIntel i5ãŸãã¯i7ããã»ããµã䜿çšããŠããå Žåããããã®æé ããµããŒããããŠããŸãã
ãã ããæ®ãã®ãããŒããŠã§ã¢ãããã§ãã¯ããŠãå¿
èŠãªãã¹ãŠã®æ©èœããµããŒãããŠããããšã確èªããå¿
èŠããããŸãã HVEä»®æ³åããŒããŠã§ã¢æ¡åŒµæ©èœã¯ã2006幎é ã«æ®åããŸããã IOMMUãæèŒããã³ã³ãã¥ãŒã¿ãŒãèŠã€ããã®ã¯å°ãé£ãããªããŸãã ããã¯ã·ã¹ãã ãŠãããã®ä»æ§ã«ã¯ç€ºãããŠããªãããããã®ç¹æ§ã詳ãã調ã¹ãVTXãšVTDãªã©ã®éãã調ã¹ãå¿
èŠããããŸãã ãã®ããããããããµããŒãããã·ã¹ãã ãæ¢ãå¿
èŠããããããããŸããã ãããŠããã¡ãããä¿¡é Œã§ããTPMãã©ãããã©ãŒã ã¢ãžã¥ãŒã«ãåããã·ã¹ãã ãå¿
èŠã§ããããããªããšãè² è·ã¡ããªãã¯ããŸã£ãã枬å®ã§ããªããªãããã§ãã éåžžãå¿
èŠãªã³ã³ããŒãã³ãã®å¯çšæ§ã確èªã§ããããžãã¹ã¯ã©ã¹ã®ã³ã³ãã¥ãŒã¿ãŒã確èªããŸãã Trusted Executionãã¯ãããžãæèŒããIntel TXTãèŠã€ããå Žåãå¿
èŠãªãã®ã¯ã»ãŒãã¹ãŠæã£ãŠããŸãã Wikiã®QubesããŒã ã¯ããã®ãããªããšãå®è£
ããå€ãã®ã·ã¹ãã ã®è©³çŽ°ããªã¹ãããããŒããŠã§ã¢äºææ§ã®åªãããªã¹ããæ瀺ããŠããŸãã
ãã®ãããã»ãã¥ãªãã£ã確ä¿ããããã«ãã·ã¹ãã ã®äžéšã®ã³ã³ããŒãã³ãã«ã€ããŠããã€ãã®ä»®å®ããããŸãã TPMã¯ããã¡ãããããŒãã®æŽåæ§ã確ä¿ããããã®éåžžã«éèŠãªã³ã³ããŒãã³ãã§ãã NVRAMããªã»ããããããå調ãªã«ãŠã³ã¿ãŒãæäœããããå®éã«ã¯ã·ã¹ãã ãä¿¡é Œç¶æ
ã䜿çšããŠãããšã·ã¹ãã ã«èªèãããããšãã§ããããã¯ãã¢ããªãããšã確èªããå¿
èŠããããŸãã ãããã®ãããã®ãªããŒã¹ãšã³ãžãã¢ãªã³ã°ãè¡ã£ãTarnovskyã®ã³ã¡ã³ãã«åºã¥ããŠããã¹ãŠã®ç§å¯ãååŸããããã«TPMæ»æãéå§ãããå Žåã«å¿
èŠãªãã³ã³ãã¥ãŒã¿ãŒãžã®çŽ12æéã®æä»çã¢ã¯ã»ã¹ã®å¶éãèšå®ããŸããã
\
ããã»ããµãã¡ã¢ãªã³ã³ãããŒã©ãããã³IOMMUã«é¢ããŠã¯ããããã³ã°ãããŠãããããããã®æ©èœãæ£ããå®è£
ããŠãããšããäºå®ãäžå¿ã«ãããã€ãã®ä»®å®ããããŸãã Intelã¯ãããã®ããã€ããç°¡åã«åé¿ã§ããããããããã®ä»®å®ã®ããã€ãã¯ããã»ã©å³å¯ã§ããå¿
èŠã¯ãããŸããã
ã»ãã¥ãªãã£ã®åæã®äžéšã¯Xenã«é¢ä¿ããŠããŸãã ããã¯å®éã«ã¯éåžžã«åŒ·åãªã»ãã¥ãªãã£ã·ã¹ãã ãåãããœãããŠã§ã¢ã§ãããå®ç§ãªãã®ã¯ãªããå®å
šãªã·ã¹ãã ã§ãè匱æ§ãçºçããå ŽåããããŸãã Xenãã·ã¹ãã å
ã§ç¹æš©çãªå°äœã«ããããšãèãããšãXenãå®å
šãªç¶æ
ã«ããããšã確èªããããšã¯éåžžã«éèŠã§ãã
ãããã£ãŠããã®ãããªã»ãã¥ãªãã£ã®ä»®å®ã«ãããè
åšã¢ãã«ã®äžçš®ã®åºç€ãã§ããŸãã , , , , - . , . , .
, â . , , , , .
, , , . , , , â , , , .
â , . FDE , RAM.
, IOMMU, . TPM NVRAM, , â , , .
, , , 12 . , .
, , . , .
TPM â NVRAM, / LPC. TPM , , , , .
RAM . , RAM RAM, , , . , , Sony PS3.
, . , . , , , , , TPM . , , , , , RIPA â , .
. , , , . .
-, . OpenSSL , API, .
Qubes OS.
: , . .
â .
, , -. , , , . ãæž
èŽããããšãããããŸããïŒ
ãæ»åšããã ãããããšãããããŸãã ç§ãã¡ã®èšäºã奜ãã§ããïŒ ããèå³æ·±ãè³æãèŠããã§ããïŒ æ³šæããããå人ã«æšèŠããããšã§ãç§ãã¡ããµããŒãããŸããç§ãã¡ãããªãã®ããã«çºæãããšã³ããªãŒã¬ãã«ã®ãµãŒããŒã®ãŠããŒã¯ãªã¢ããã°ã®HabrãŠãŒã¶ãŒã®ããã«30ïŒ
ã®å²åŒïŒ VPSïŒKVMïŒE5-2650 v4ïŒ6ã³ã¢ïŒã«ã€ããŠã®çå®20ãã«ãŸãã¯ãµãŒããŒãåå²ããæ¹æ³ïŒ ïŒãªãã·ã§ã³ã¯RAID1ããã³RAID10ãæ倧24ã³ã¢ãæ倧40GB DDR4ã§å©çšå¯èœã§ãïŒã
VPSïŒKVMïŒE5-2650 v4ïŒ6ã³ã¢ïŒ10GB DDR4 240GB SSD 1GbpsãŸã§ 6ãæã®æéãæ¯æãå Žåã æ¥ãŸã§ç¡æ㧠ã ããã§æ³šæã§ããŸã ã
Dell R730xdã¯2åå®ãã§ããïŒ ãªã©ã³ããšç±³åœã§249ãã«ããIntel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TVã2å°æã£ãŠããã ãã§ãïŒ ã€ã³ãã©ã¹ãã©ã¯ãã£ãã«ã®æ§ç¯æ¹æ³ã«ã€ããŠèªãã§ãã ããã ã¯ã©ã¹Rã¯ã1ç±³ãã«ã§9,000ãŠãŒãã®Dell R730xd E5-2650 v4ãµãŒããŒã䜿çšããŠããŸããïŒ