ã¯ããã«
æ å ±ã·ã¹ãã ãžã®é»å眲åã®å°å ¥ïŒæå·ã¢ã«ãŽãªãºã ãšãè³æ Œãã®åºæºãæ³åŸ63-FZ ã第5æ¡ãåç §ããã«ïŒã®å°å ¥ã¯ãéåžžãã·ã¹ãã ã§çæãããæ å ±ãããŒãšããã¥ã¡ã³ãã®æŽåæ§ãšäœæè ãå¶åŸ¡ããå¿ èŠããããŸãã
ã«ãã¿ãŒã®äžã§ã¯ãé»å眲åãæäœããããã®ã€ã³ã¿ãŒãã§ã€ã¹ãšãé»å眲åã®äžè¬çãªåœ¢åŒã説æãããŠããŸãã
äžè¬ã«åãå ¥ããããŠããçšèªã«ãããšãé»å眲åã¯é»åææžã®å¿ èŠæ¡ä»¶ã§ãããé»åææžã®å®å šæ§ã®äºå®ã確ç«ãã眲åãå ¬é眲åããŒã®ææè ã«å±ããŠããããšã確èªã§ããŸãã é»å眲åã¯æ å ±ã®æ©å¯æ§ãšã¯ãŸã£ããé¢ä¿ããªãããšã«æ³šæããŠãã ããã ã€ãŸãã眲åãããææžã¯ãŸã èªç±ã«èªãããšãã§ããŸãã
é»å眲åã¯ã é察称æå·æ¹åŒãŸãã¯å ¬ééµæå·æ¹åŒã«åºã¥ããŠå®è£ ãããŸãã é察称æå·åã¢ã«ãŽãªãºã ã¯ããããªãã¯ãšãã©ã€ããŒãã®ããŒãã¢ã䜿çšããŸãã ç§å¯éµã¯ãé»å眲åïŒå ¬éïŒã®çæã«äœ¿çšãããæ€èšŒãããŸãã
é»å眲åã§ã®äœæ¥ã®åé¡ã§ã¯ã眲åã®å ¬ééµãšãããçŽæ¥å±ãã人ãšã®éã®éä¿¡ã確ç«ããããšã«ç¹å¥ãªæ³šæãæãå¿ èŠããããŸãã ãã®åé¡ã解決ããã«ã¯ãã é»å眲åçšã®å ¬ééµã®èšŒææž ãïŒãŸãã¯åã«ãããžã¿ã«èšŒææžãïŒãªã©ããããŸãã 蚌ææžãçºè¡ãæ€èšŒã倱å¹ã管çããã«ã¯ãå ¬éããŒåºç€ãå¿ èŠã§ãã å ¬ééµã¯é»å眲åã®æ€èšŒã«åœ¹ç«ã€èå¥å¯èœãªå ¬éæ å ±ã®ã»ããã§ã¯ãªããããå ¬ééµãšãã®ææè ãæ¯èŒããåé¡ã¯ãé察称æå·åã䜿çšããå Žåã«æãéèŠãã€å°é£ãªåé¡ã®1ã€ã§ãã ãŸããææè ãšçŽæ¥ãã®æ å ±ãžã®ãªã³ã¯ããªãå Žåãæ»æè ã¯ãã€ã§ãå€æŽããããšãã§ããŸããããã«ãããæ»æè ã¯é»å眲åãçæããä»ã®äººã®é»å眲åãšããŠãããæž¡ãããšãã§ããŸãã
ã¢ããªã±ãŒã·ã§ã³ã·ã¹ãã ã«é»å眲åãåã蟌ã
åœå®¶æšæºãŸãã¯äžçæšæºãšããŠåãå ¥ããããŠããæå·åã¢ã«ãŽãªãºã ã¯ãå ¬éãããŠããŸãã ãããã®æå·åŒ·åºŠã¯ã蚱容ã§ããæéå ã«è§£æ±ºã§ããªãæ°åŠçåé¡ã«åºã¥ããŠããŸãã
ããããæå·åã¢ã«ãŽãªãºã ã®å®è£ ã¯ãé«éæ§ããšã©ãŒããªãããšãããã³æ°åŠçå€æã®èŠä»¶ã確å®ã«æºããããšãèæ ®ããŠãè³æ Œã®ããéçºè ãé¢äžããç°¡åãªã¿ã¹ã¯ã§ã¯ãããŸããã
éèŠãªã¢ããªã±ãŒã·ã§ã³ã§é»å眲åã䜿çšãããå ŽåïŒããšãã°ãæ³çã«éèŠãªã¢ã¯ã·ã§ã³ãå®è¡ããããïŒãæå·åã¢ã«ãŽãªãºã ã®å®è£ ã¯ãã»ãã¥ãªãã£èŠä»¶ãžã®æºæ ã®ããã«èªèšŒããã»ã¹ã«å¿ ãåæ ŒããŸãã
ã西åŽãäžçã§ã¯ãCommon Criteriaã«æºæ ãããœãªã¥ãŒã·ã§ã³ã®èªèšŒãåºã䜿çšãããŠããŸããããã·ã¢ã§ã¯ãæå·åæ段ã®èªèšŒããã»ã¹ããã·ã¢ã®FSBã«ãã£ãŠå®è¡ãããŠããŸãã
ããã«ãæå·æ å ±ä¿è·ã®æ段ïŒCPSIããã®çšèªã¯ãã·ã¢é£éŠã§åºã䜿çšãããŠããŸãïŒã¯ããœãããŠã§ã¢ã©ã€ãã©ãªããé«æ§èœã®ç¹æ®ãªè ºïŒHardware Security ModuleãHSMïŒãŸã§ããŸã£ããç°ãªãèããæã€ããšãã§ããŸãã
ãã®ã¿ã€ãã®è£œåã®å®è£ ãšèŠå¶ãè€éã§ãããããããŸããŸãªãã¬ãŒã€ãŒã䜿çšããæå·åæ å ±ä¿è·ãœãªã¥ãŒã·ã§ã³ã®åžå ŽãååšããŸãã
ããŸããŸãªå®è£ éã®äºææ§ãããã³ã¢ããªã±ãŒã·ã§ã³ãœãããŠã§ã¢ãžã®çµ±åãç°¡çŽ åããããšãç®çãšããŠãæå·æ å ±ä¿è·ããŒã«ããã³é»å眲åãšçŽæ¥é£æºããããŸããŸãªåŽé¢ã«é¢é£ããããã€ãã®æšæºãéçºãããŸããã
æå·æ å ±ä¿è·ã«ã¢ã¯ã»ã¹ããããã®ã€ã³ã¿ãŒãã§ãŒã¹
çŸåšãŸã§ãæå·æ å ±ä¿è·ãæ±ãããã®1ã€ã®æ¥çæšæºãšããã¹ãŠã®æ¢ç¥ã®MicrosoftäŒæ¥ã«ãã1ã€ã®ïŒå®é2ã€ã®ïŒç¬èªã®ã€ã³ã¿ãŒãã§ã€ã¹ãåºã䜿çšãããŠããŸãã
PKCSïŒ11
PKCSïŒ11ïŒPublic-Key Cryptography StandardïŒ11ïŒã¯ãããŒããŠã§ã¢ã«å®è£ ãããæå·æ å ±ä¿è·ããã€ã¹ïŒã¹ããŒãã«ãŒããHSMãæå·ããŒã¯ã³ïŒãæäœããããã®ãã©ãããã©ãŒã ã«äŸåããªããœãããŠã§ã¢ã€ã³ã¿ãŒãã§ã€ã¹ã§ãã PKCSïŒ11ã¯ããœãããŠã§ã¢ã§å®è£ ãããæå·åã©ã€ãã©ãªã«ã¢ã¯ã»ã¹ããããã«äœ¿çšãããå ŽåããããŸãã
PKCSïŒ11ã¯ãRSA Laboratoriesã«ãã£ãŠå ¬éãããããªãåºç¯ãªããã¥ã¡ã³ãã§ãæå·åããã€ã¹ãŸãã¯ã©ã€ãã©ãªãæäœããããã®äžé£ã®æ©èœãã¡ã«ããºã ãã¢ã«ãŽãªãºã ãããã³ãããã®ãã©ã¡ãŒã¿ãŒã«ã€ããŠèª¬æããŠããŸãã ãã®ããã¥ã¡ã³ãã§ã¯ãæå·åé¢æ°ãåŒã³åºããšãã«ã¢ããªã±ãŒã·ã§ã³ãœãããŠã§ã¢ãåäœããã«ãŒã«ãæ確ã«èª¬æããŠããŸãã
ãã®æšæºã¯ãæå·åã䜿çšããå€ãã®ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã§ãµããŒããããŠããŸãã ããšãã°ãMozilla Firefoxã§ã¯ãããŒã¯ã³äžã®SSL / TLSãä»ããèªèšŒçšã®èšŒææžãšç§å¯ããŒãä¿åããPKCSïŒ11ã§ããããæäœã§ããŸãã
ã¢ããªã±ãŒã·ã§ã³ãœãããŠã§ã¢ãPKCSïŒ11ã䜿çšããæ¹æ³ããç¥ã£ãŠãããå ŽåãSKZIã®è£œé å ã¯ãå€éšã®æšæºã§èª¬æãããŠããã€ã³ã¿ãŒãã§ã€ã¹ãå ¬éãããœãããŠã§ã¢ã©ã€ãã©ãªãå®è£ ããå¿ èŠãªSKZIããžãã¯ãå éšã§å®è£ ããå¿ èŠããããŸããæå·åããã€ã¹ãçŽæ¥äœ¿çšããããããã°ã©ã ã§å¿ èŠãªæå·åã¢ã«ãŽãªãºã ãå®è£ ããŸãã ãã®å Žåãã¢ããªã±ãŒã·ã§ã³ãœãããŠã§ã¢ã¯ãå¿ èŠãªã©ã€ãã©ãªããããã¯ã¢ãããããæšæºã®æšå¥šäºé ã«åŸã£ãŠå¿ èŠãªã¢ã¯ã·ã§ã³ãå®è¡ããå¿ èŠããããŸãã ããã«ãããã¢ããªã±ãŒã·ã§ã³ãœãããŠã§ã¢ã®ããŸããŸãªããã€ã¹ãšã©ã€ãã©ãªã®äºææ§ãšãããŸããŸãªã·ã¹ãã ã§ã®æå·æ å ±ä¿è·ã·ã¹ãã ã®ééçãªäœ¿çšãä¿èšŒãããŸãã

PKCSïŒ11ã®å¯äžã®é倧ãªæ¬ ç¹ã¯ãå ¬éããŒèšŒææžã䜿çšããããã®æšå¥šäºé ããªãããšã§ããããã«ã¯ãæšæºã«å¯Ÿããç¬èªã®æ¡åŒµã®äœ¿çšããŸãã¯èšŒææžã䜿çšããããã®ä»ã®ããŒã«ã®äœ¿çšãå«ãŸããŸãã
Microsoft Crypto API 2.0
Microsoft Windowsãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã¯ãããŒãžã§ã³ã«é¢ä¿ãªããç¹ã«ãŠãŒã¶ãŒããŒã¿ãšäŒæ¥ããŒã¿ã®ã»ãã¥ãªãã£ãæ±ãããªãè€éãªã·ã¹ãã ã§ãã ãããã®ã¿ã¹ã¯ã§ã¯ãæå·åãäŒçµ±çã«åºã䜿çšãããŠããŸãã
æå·åæ©èœãžã®ã¢ã¯ã»ã¹ãçµ±äžããããã«ãMicrosoftã¯ç¬èªã®APIã§ããMicrosoft Crypto APIãéçºããŸããã Crypto API 2.0ããŒãžã§ã³ãåºãæ®åããŠããŸãã Microsoft Crypto APIãã©ãã€ã ã¯ãããããæå·åãããã€ããŒããŸãã¯ãã·ã¢èªã§ã¯æå·åãããã€ããŒã®äœ¿çšã«åºã¥ããŠããŸãã

Crypto APIä»æ§ã§ã¯ãæå·åãããã€ããŒã©ã€ãã©ãªããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«æäŸããå¿ èŠãããäžé£ã®é¢æ°ããããšã®çµ±åæ¹æ³ãããã³ä»æ§ã®åŒã³åºãã«ã€ããŠèª¬æããŠããŸãã ãããã£ãŠãCrypto APIã«ãŒã«ã«æºæ ããæå·æ å ±ä¿è·ãã³ããŒã¯ãMicrosoft Windowsãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ãœãªã¥ãŒã·ã§ã³ãçµ±åããããšãã§ããã¢ããªã±ãŒã·ã§ã³ãœãããŠã§ã¢ã¯ãçµ±äžãããã€ã³ã¿ãŒãã§ã€ã¹ãä»ããŠæå·æ©èœã«ã¢ã¯ã»ã¹ã§ããŸãã
ããã«ãMicrosoftã¯Crypto APIãä»ããŠã蚌ææžã®æäœãããŸããŸãªçš®é¡ã®çœ²åã®çæãããŒæ å ±ã®æäœãªã©ãã¢ããªã±ãŒã·ã§ã³ã¿ã¹ã¯ã®å®è¡ãæ åœããããªãå€æ°ã®æ©èœãå®è£ ããŠããŸãããŸããCrypto APIã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšãã®å éšã¡ã«ããºã ã
ããããå©äŸ¿æ§ã«å¯ŸããèŠè¿ãã¯ãã©ãããã©ãŒã ã«äŸåãããœãªã¥ãŒã·ã§ã³ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ç·å¯ã«çµ±åããå¿ èŠããããŸãã
Windows Vistaã§ã¯ãMicrosoftã¯æå·åããã°ã©ãã³ã°ã€ã³ã¿ãŒãã§ã€ã¹ã®æ°ããããŒãžã§ã³ã§ããMicrosoft CNGïŒCryptography APIïŒNext GenerationïŒãå°å ¥ããŸããã ãã®ã€ã³ã¿ãŒãã§ã€ã¹ã¯ãæå·åãããã€ããŒã§ã¯ãªããã¢ã«ãŽãªãºã ãããã€ããŒããã³ããŒæ å ±ã¹ãã¬ãŒãžãããã€ããŒã«åºã¥ããŠããŸãã Windows XPã®æ®åçã¯äŸç¶ãšããŠéåžžã«é«ããããã¢ããªã±ãŒã·ã§ã³ã·ã¹ãã ã§äœ¿çšãããCNGã¯ã»ãšãã©ãããŸããã
ç¬èªã®ã€ã³ã¿ãŒãã§ãŒã¹
æšæºåãããã€ã³ã¿ãŒãã§ã€ã¹ã®ååšã¯ãç¬èªã®ã€ã³ã¿ãŒãã§ã€ã¹ãåããç¬èªã®ã©ã€ãã©ãªã®ååšã劚ãããã®ã§ã¯ãããŸããã§ããã ãã®äŸã¯ãç¬èªã®ã«ãŒã«ã«åŸã£ãŠåäœããOpenSSLã©ã€ãã©ãªã§ãã
PKCSïŒ11æšæºã§ã¯ãç¬èªã®æ¡åŒµæ©èœã䜿çšã§ããŸãã å®éããããã¯ã¡ãŒã«ãŒã«ãã£ãŠè¿œå ãããæ©èœã§ãããæšæºã«ã¯èšèŒãããŠããŸããã éåžžã補é æ¥è ã«ãããšãããã€ã¹ã䜿çšããŠç¹å®ã®æäœãå®è¡ããããå¿ èŠãªæ©èœãå®è£ ãããããŸãã
é»å眲å圢åŒ
æå·åæ©èœã«ã¢ã¯ã»ã¹ããããã®äžèšã®ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšãããšãMicrosoftããæå·åãããã€ããŒããšããææããŠããããã«ãããŸããŸãªæ°åŠçå€æã®å®è£ ã«é©çšã§ããŸãã
ããããé»å眲åãçæããã³æ€èšŒããããã®å€ãã®ã¢ã«ãŽãªãºã ããããŸãã ãããã®åã¢ã«ãŽãªãºã ã«ã¯ãéçºããã³æ€èšŒäžã«åæããå¿ èŠãããäžé£ã®ãã©ã¡ãŒã¿ãŒããããŸãã ããã«ã眲åãé©åãªæ¹æ³ã§æ€èšŒããã«ã¯ã蚌ææžãå¿ èŠã§ãã ãããã®ãã©ã¡ãŒã¿ã¯ãã¹ãŠãã¢ããªã±ãŒã·ã§ã³ã·ã¹ãã ã§åæãããã眲åãšãšãã«è»¢éããå¿ èŠããããŸãã
ãã®åé¡ã解決ããããã«ãããã€ãã®æšæºãææ¡ãããŠããŸãã
PKCSïŒ7
PKCSïŒ7ïŒå ¬ééµæå·åæšæºïŒ7ïŒããŸãã¯CMSïŒæå·åã¡ãã»ãŒãžæ§æïŒã¯ãåãRSA Laboratoriesã«ãã£ãŠå ¬éããã³ãµããŒããããŠããæšæºã§ãããæå·åã¡ãã»ãŒãžã®æ§æã説æããŠããŸãã
PKCSïŒ7ãRFCçªå·2315ãšããŠå ¬éãããŠããŸãã
CMSæ§æã¯ãæå·åã¡ãã»ãŒãžãçæããæ¹æ³ãèšè¿°ããŸãããã®çµæãã¡ãã»ãŒãžã¯ã¡ãã»ãŒãžãéããå¿ èŠãªãã¹ãŠã®æäœãå®è¡ããããã«å®å šã«èªçµŠèªè¶³ã«ãªããŸãã
ãã®ç®çã®ããã«ãPKCSïŒ7ã«ã¯å ã®ã¡ãã»ãŒãžïŒãªãã·ã§ã³ïŒãããã·ã¥ããã³çœ²åã¢ã«ãŽãªãºã ãæå·åã¢ã«ãŽãªãºã ãã©ã¡ãŒã¿ãŒã眲åæéãé»åããŒçœ²å蚌ææžã蚌ææžãã§ãŒã³ãªã©ã«é¢ããæ å ±ãå«ãŸããŠããŸãã
ã»ãšãã©ã®PKCSïŒ7å±æ§ã¯ãªãã·ã§ã³ã§ããããããã®ãã€ã³ãã£ã³ã°ã¯ã¢ããªã±ãŒã·ã§ã³ã·ã¹ãã ã«ãã£ãŠæ±ºå®ã§ããŸãã
ãããšã¯å¥ã«ãPKCSïŒ7ã䜿çšãããšã1ã€ã®ããã¥ã¡ã³ãã®äžã«è€æ°ã®çœ²åãå ¥ããŠãã¡ãã»ãŒãžã«å¿ èŠãªæ å ±ããã¹ãŠä¿æã§ããããšã«æ³šæããŠãã ããã
PKCSïŒ7ã®åœ¢æãšæ€èšŒã¯ãäžèšã§èª¬æããMicrosoft Crypto APIã®æå·åãã¢ããªã³ãã«å®è£ ãããŠããŸãã ãããããã©ãŒãããèªäœã¯ããªãç¹æ®åãããŠããããã®ãµããŒãã¯ãã€ãã£ãã«å®è£ ã§ããŸãã
XML-DSig
W3Cã¯ã眲åãããXMLã¡ãã»ãŒãžãäœæããããã®ã¬ã€ãã©ã€ã³ãéçºããã³å ¬éããŠããŸãã
å®éãXML-DSigã¯PKCSïŒ7ãšåãåé¡ã解決ããŸãã äž»ãªéãã¯ãPKCSïŒ7ã§ã¯ãããŒã¿ã¯ANS.1ããŒã¯ã¢ããã«åŸã£ãŠåœ¢æãããæ§é ïŒå®éã«ã¯ãã€ããªããŒã¿ïŒã«æ ŒçŽãããXML-DSigããŒã¿ã¯XML眲åæ§æã®èŠåã«åŸã£ãŠããã¹ã圢åŒã§æ ŒçŽãããããšã§ããåŠçäžã
XML-DSigã®ç¯å²ã¯ãWebã¢ããªã±ãŒã·ã§ã³ãšWebãµãŒãã¹ã§ãã
çã®çœ²å
眲åãããã¡ãã»ãŒãžã®éä¿¡è ã«é¢ããæ å ±ãæå°éã§ãããšãã«ç°çš®ã·ã¹ãã ãçžäºäœçšããå Žåãäžèšã®é»å眲å圢åŒãå¿ èŠã§ãã
åäžã®æ å ±ã·ã¹ãã ã®ãã¬ãŒã ã¯ãŒã¯å ã§ããåãããå Žåãéä¿¡è ã䜿çšããæå·åã¢ã«ãŽãªãºã ãããã³ãããã®ãã©ã¡ãŒã¿ãŒã«é¢ããæ å ±ãåä¿¡è ã«ç¥ãããŠããå Žåããçã®ãé»å眲åã䜿çšããæ¹ãåççã§ãã
ãã®å Žåãå®éã«ã¯ãé»å眲åã®æå³ã®ã¿ãããã¥ã¡ã³ããšãšãã«éä¿¡ãããŸãã æ€èšŒã®ããã®æ å ±ã¯ãäžå€®ããŒã¿ããŒã¹ããåä¿¡è ã«ãã£ãŠååŸãããŸãã
ããã«ãããä»»æã®åœ¢åŒã«åŸã£ãŠã¡ãã»ãŒãžãçæããã³è§£æããæé ããªãããã眲åã®çæããã³æ€èšŒããã»ã¹ãå€§å¹ ã«ç°¡çŽ åã§ããŸãã
ãããã«
çµè«ãšããŠããœãããŠã§ã¢ã€ã³ã¿ãŒãã§ã€ã¹ãšé»å眲å圢åŒã®ããããã®ã¢ããªã±ãŒã·ã§ã³ãœãããŠã§ã¢ã®äœ¿çšã¯ããŠãŒã¶ãŒã«å¶éãè¿œå èŠä»¶ã課ãããšãªãããã®ãœãããŠã§ã¢ã®æ©èœãšã¿ã¹ã¯ã«å¯Ÿå¿ããå¿ èŠãããããšã«æ³šæããŠãã ããã
åç §è³æ
PKCSïŒ11ïŒæå·åããŒã¯ã³ã€ã³ã¿ãŒãã§ãŒã¹æšæº
æå·åãªãã¡ã¬ã³ã¹ã MSDN
æå·åAPIïŒæ¬¡äžä»£ã MSDN
PKCSïŒ7ïŒæå·ã¡ãã»ãŒãžæ§ææšæº
XML眲åã®æ§æãšåŠçïŒç¬¬2çïŒ