æ¬è¨äºã¯ æå·å¦ä¸äººã¢ããã³ãã«ã¬ã³ã㼠第2æ¥ç®ã®è¨äºã§ãã風éªå¼ãã¦æ稿é ãã¦ã¾ããä»é±çµããã«ã¯ãã£ããã¢ãããã¾ãâ¦ï¼ï¼
ä»åã®å 容ã¯ãä»äºã§æå·ã使ãå¿ è¦ãåºã¦ããã¨ãã«ãã®ã¸ãã¯æãã¦ããã¦ãã¨ããå 容ã§ããã¨ã¯ããããããããã¾ã使ãåéã§ã¯ãªãã®ã§ããã ãç¥ã£ã¦ããã ãã§ãã¡ãã£ã¨ã¯å·®ãã¤ãâ¦ã®ããªï¼
大åæãã®1: æå·ã¢ã«ã´ãªãºã ãèªåå®è£ ãã¦ã¯ãããªã
æå·ã®æ¬ãèªãã ããã¨ãããããªã¬ãªã¬æå·æ¹å¼ãä½ããï¼ã£ã¦ããã®ã¯çµ¶å¯¾ã«åã§ããã¨ããã大æµã®æå·ã®æ¬ã«ã¯ã¡ããã¨ãããã注æãæ¸ãã¦ããã¨æãã¾ãããã¤ã¦é·ããæ¨æºã®æå·æ¹å¼ã¨ãã¦ä½¿ããã¦ããDESã§ãããç·å½¢ã«ãªããªãããã«æ°ãã¤ãã¦è¨è¨ããããºããªã®ã«ãç¹å®ã®s-blockã«å¾®å¦ã«ç·å½¢æ§ã£ã½ãæåãè¦ããããããã§å¹çã®ãã解èªæ¹æ³ãç·¨ã¿åºããããã¿ãããªãã¨ãããããããæå·ã¢ã«ã´ãªãºã ã®è¨è¨ã¯é常ã«ç¹ç´°ãªæè¡ãè¦æ±ããã¾ããå¼ç¤¾ç¬èªã®æå·åæ¹å¼ã ããå®å ¨ã¿ããã«ããã®ã¯çµ¶å¯¾ã«å°é·ã§ããéãã¾ãããã
ãã®ãããªSecurity by Obscurityï¼ã¢ã¼ããã¯ãã£ãªã©ã®ç§å¿æ§ãã»ãã¥ãªãã£ã®æ ¹æ ã«ç½®ããã¨ï¼ãå¦å®ããååã¨ãã¦ã±ã«ã¯ããã¹ã®åçã¨ããã®ãããã¾ããã¯ãã¼ãã»ã·ã£ãã³ã«ããè¨ãæãã§ã¯ãæµã¯ã·ã¹ãã ãç¥ã£ã¦ãããã¨è¡¨ç¾ããã¦ãã¦ãä¾ãã¦ãããªãã°ãæå·æ©ãã®ãã®ãæµã®æã«è½ã¡ã¦è§£æãããã¨ãã¦ãå®å ¨ã§ããå¿ è¦ããããã¨ãããã¨ãè¨ã£ã¦ãã¾ãã
大åæãã®2: æå·ã¢ã«ã´ãªãºã ãå ¬éã®ãã¤ã§ãèªåå®è£ ãããã®ãproductionã§ä½¿ã£ã¦ã¯ãããªã
ãã¨ãªããã©ã¤ãã©ãªã使ã£ã¦ãã ãããããã¯ãå ¬éããã¦ããæ¨æºã¢ã«ã´ãªãºã ãå¤æ°ã®ç®ã®æ¤è¨¼ãçµã¦ããããã«ããªã¼ãã³ã½ã¼ã¹ã®æå·ã©ã¤ãã©ãªã¯å¤æ°ã®ç 究è ãããã«ã¼ã«æ»æã試ã¿ããã¦ãã¾ããOSæ¨æºã§ä½¿ãããOpenSSLãããã»ãã¥ã¢ãªã©ã¤ãã©ãªãå®è£ ã§ããèªä¿¡ãããã¾ããï¼ã§ããã°ãé¡ããªã®ã§ãªã¼ãã³ã½ã¼ã¹ã®æå·ã©ã¤ãã©ãªã«ã³ããããã¦ãã ããã
è¦æ ¼ã©ããã«å®è£ ããã®ã«ä½ã§ã»ãã¥ã¢ãããªããã®ãã§ãã¦ãã¾ããã¨ããã¨ãä¾ãã°GCã®å¶å¾¡ãä¸éå端ã§ã¡ã¢ãªã®ä¸éç¶æ ãæ¼æ´©ãã¦ãã¾ãã±ã¼ã¹ã ã£ããã復å·ã«æåããå ´åã¨ããªãå ´åã¨ã§å¾®å¦ã«å®è¡æéãéããããªã±ã¼ã¹ã ã£ããã§ãã¢ã«ã´ãªãºã ã®å ¥åºåã¨ãã¦ã¯æ£ããããã©æ å ±ãæ¼ããã¦ãã¾ããããªã±ã¼ã¹ï¼ãµã¤ããã£ãã«æ»æã¨ããã¾ãï¼ãåå¨ãã¾ãããµã¤ããã£ãã«æ»æããé©åã«å®è£ ãä¿è·ããã®ã¯é常ã«é£æ度ã®é«ãæè¡ã§ãã
ãã®é ç®ã¯ç¹è¨±ã®é¢ä¿ãããªã¼ãã³ã½ã¼ã¹ä½¿ããã¨ãã§ããªãå ´åã¯ãã¦ã¯ã¾ãã¾ããããããã°ã£ã¦ãã ãããã¨ããè¨ããªãã§ããâ¦ã
è¨èªçµã¿è¾¼ã¿ã®æå·APIãããªããã£ããªæä½ããæä¾ãã¦ããªãå ´åã¯é¿ããã»ããããå ´åããã
ãã®ããã§ãå¯è½ã§ããã°ãã¨ã³ãã¦ã¼ã¶ã¼ã«ã¨ã£ã¦ä½¿ããããæå·APIãæä¾ããã¦ãã¦ããä¿¡é ¼ã®ãããçºè¡è ã«ãããã®ããããã¯æ¤è¨¼ãããã¦ãããã®ãã§ããã©ã¤ãã©ãªã使ã£ãã»ããããã§ããå¾ã®é ç®ã§ã説æãã¾ãããæå·ã¢ã«ã´ãªãºã ã®é¸æã¾ã§ã¯ãã¾ããã£ãã¨ãã¦ããã©ã¡ã¼ã¿ã®èª¤ç¨ã«ãã£ã¦ã»ãã¥ãªãã£ãä¿ãããªããªãã±ã¼ã¹ãåå¨ãã¾ãããªã®ã§ããå¹³æã¨éµãå ¥ããã ãã§æå·åãã¦ãããAPIããããã®ç°¡ä¾¿æ§ãããAPIã¾ã§ã©ããã³ã°ãã¦ããããã®ã使ã£ãã»ããæå·ãæ·±ãç¥ããããªã人ã«ã¯ããã§ãã
ãã®ããã§ãã©ã®ã¢ã«ã´ãªãºã ãé¸ã¹ã°ããã
- ããã·ã¥ã¢ã«ã´ãªãºã ï¼ãã¹ã¯ã¼ãã¹ãã¢ãªã©ã§ä½¿ãï¼ï¼ SHA-2(SHA256, SHA512)ãå¯è½ãªãã°SHA-3(Keccak)
- 対称éµæå·ï¼AESãæå·å©ç¨ã¢ã¼ãã¯CTRã¢ã¼ããããã¯GCMã¢ã¼ã
- DES, Triple-DESã¯ï¼å°ã ï¼å¹çã®ãã解èªæ³ãåå¨ãããã¨ã«å ããéµé·ã®é·ãããåççã«å®å ¨æ§ãè½ã¡ã¾ã
- ãªããã©ã®æå·å©ç¨ã¢ã¼ãã§ãåæåãã¯ãã«ã®ä½¿ãåãã¯å³ç¦
- å
¬ééµæå·ï¼ããããèªåã§æå·æ¹å¼ãé¸æãããã¨ã¯å²ã¨ç¨ã¨ããã°ç¨
- RSAæå·ã®éµé·2048bitãä¸è¬ç
- ç½²åæ¤è¨¼ã«ECDSAï¼æ¥åæ²ç·DSAï¼ã使ããããã¨ãããã対å¿ãã¦ãç°å¢ãªãã°éµé·ãçãã¦æ¸ãã®ã§æ§è³ªããã
- åæ§ã«ãç´ ã®Diffie-Hellmanã®ä»£ããã«ECDHã®ã»ããããè¦ãããã«ãªã£ã¦ãã¦ãã
次åã¯Historical Cryptoã®äºå®ã§ãããã»ãã¥ãªãã£å®ç¾©ããå ¥ãäºå®ã§ãã