ð æå·ã®äžçãžããããïŒ ïœé庫ãšéµäŸ¿ãã¹ãã®ã»ãã¥ãªãã£é²åè«ïœ ð
ãããã·ã§ããã³ã°ã§ã¯ã¬ãžããã«ãŒãæ å ±ãå ¥åãããšããçèŽãããŠãªããäžå®ã«ãªã£ãããšã¯ãããŸãããïŒ
ãLINEã®ã¡ãã»ãŒãžã¯æ¬åœã«çžæã«ã ãå±ããŠããã®ïŒèª°ã«ãèŠãããŠããªããå¿é âŠã
ãããªäžå®ã解æ¶ããŠãããã®ãããæå·ãð ãšããæè¡ã§ãã
ã€ã³ã¿ãŒããã瀟äŒã®ä»ãããªãã®å€§åãªæ å ±ã¯ãç®ã«ã¯èŠããªããšããã§æå·ã«ãã£ãŠå®ãããŠããã®ã§ãã
ðïž æ°å幎ã®éãæå·ã¯ãé庫ãã ã£ã ð
æã ãæå·ãšããã°ãé庫ãã®ãããªãã®ã§ããã
éä¿¡è ãšåä¿¡è ã ãããåãéµðãæã£ãé庫ã䜿ã£ãŠãç§å¯ã®ã¡ãã»ãŒãžãå®ã£ãŠããã®ã§ãã
ãããããå ±ééµæå·ã ãšåŒã°ããæ¹åŒã§ãã
ðïž å ±ééµæå·ã¯ã·ã³ãã«ã§åãããããä»çµã¿ã§ãããã倧ããªåŒ±ç¹ããããŸããã
ããã¯ããéµã®åãæž¡ãããå®å šã«è¡ãããšãéåžžã«é£ããããšããããšã§ãã
ãããé庫ã®éµðãéäžã§çãŸããŠããŸã£ããâŠïŒ ç§å¯ã®ã¡ãã»ãŒãžã¯ç°¡åã«è§£èªãããŠããŸããŸãããã
âïž ãããŠããéµäŸ¿ãã¹ããã®çºæ³ãžïŒð®
ããã§ç»å Žããã®ãããå ¬ééµæå·ããšããç»æçãªæè¡ã§ãã
å ¬ééµæå·ã¯ã誰ã§ãæçŽãå ¥ãããããéµäŸ¿ãã¹ããã®ããã«ã誰ã§ãæå·åã§ããä»çµã¿ãæäŸããŸãã
- ð® 誰ã§ãæçŽãå ¥ãããããã©ãåãåºããã®ã¯éµäŸ¿é éå¡ã ãïŒ
éµäŸ¿ãã¹ãã£ãŠã誰ã§ãæçŽãå ¥ããããŸãããïŒ ã§ããéµäŸ¿ç©ãåãåºããã®ã¯ãç¹å¥ãªéµãæã£ãéµäŸ¿é éå¡ã ãã§ãã
å ¬ééµæå·ãåãããã«ããå ¬ééµãðã䜿ã£ãŠèª°ã§ãæå·åã§ããŸããã埩å·åã§ããã®ã¯ãç§å¯éµãðãæã£ã人ã ãã§ãã
ð€ã ãããéµã®åãæž¡ãã¯äžèŠïŒ
ð¡ ã³ã©ã ïŒå ¬ééµæå·ã¯ãããªãã ãã®ç§æžç®± âïž
å ¬ééµæå·ã®ã€ã¡ãŒãžã¯ããéµäŸ¿ãã¹ããð®ãšãããããããªãå°çšã®ãç§æžç®±ãã«è¿ããããããŸããã
ãã®ç§æžç®±ã«ã¯ã誰ã§ãæçŽ ð ãæåœã§ãããæå ¥å£ããã€ããŠããŸãã ãã®æå ¥å£ããå ¬ééµãð ã§ãã
ããªãã¯ãããªãã®ååãæžãããç§æžç®±ããSNSã®ãããã£ãŒã«æ¬ã«ã¡ãŒã«ã¢ãã¬ã¹ãå ¬éããã®ãšåããããªæèŠã§ã誰ã§ãã¢ã¯ã»ã¹ã§ããå Žæã«èšçœ®ã§ããŸãã ãããŠã誰ã§ãããªãã®å ¬ééµã䜿ã£ãŠãç§æžç®±ã«æçŽãæåœããããšãã§ããŸãã
ãããã¯ãç§æžç®±ãå ¬ééµã¯ã¡ãŒã«ã¢ãã¬ã¹ãšåãããã«ãããªããäŒãããçžæã«ã ãæããŠãæ§ããŸãããäžäžãã®éä¿¡ã誰ãã«çèŽããããšããŠããããªãã«ãšã£ãŠã¯èªåã®ã¡ãŒã«ã¢ãã¬ã¹ããã¬ãã®ãšåããã¡ãŒãžãããªãã§ããããïŒ
ç§æžç®±ãéããŠæçŽãèªãããã«ã¯ãããªãã ããæã£ãŠããç¹å¥ãªãéµãïŒç§å¯éµïŒ ðïž ãå¿ èŠã§ãããã®ç§æžç®±ã®éµã¯ãéµäŸ¿ãã¹ãã®éµãæã£ãŠããéµäŸ¿å±å¡ã§ã¯ãªããŠãããªãèªèº«ãä¿ç®¡ããŠç®¡çããŠããã®ã§ãã
ãã ããç§æžç®±ãèšçœ®ããéã«ã¯ããªãããŸãæ»æã«ã¯æ³šæãå¿ èŠã§ããð æªæã®ãã人ããããªãã®ååãåæã«äœ¿ã£ãŠåœç©ã®ç§æžç®±ãèšçœ®ãããã©ããªãã§ããããïŒ ãã®åœç©ã®ç§æžç®±ã«æåœãããæçŽã¯ãããªãã§ã¯ãªããæªæã®ãã人ããã£ããèªãã§ããŸããããããŸããã
ãã®ãããªåœé ãé²ãããã«ã¯ãããžã¿ã«èšŒææž ð¡ïž ã®ããã«ãç§æžç®±ãæ¬åœã«ããªãã®ãã®ã§ããããšã蚌æããä»çµã¿ãå¿ èŠã«ãªããŸãã
ð€ ã¡ãã£ãšåŸ ã£ãŠïŒãã®ç§æžç®±ãæ¬åœã«ããªãïŒ
å ¬ééµæå·ã¯äŸ¿å©ã§ãããããã®å ¬ééµïŒç§æžç®±ïŒãæ¬åœã«æ£ãã人ã®ãã®ïŒããšããåé¡ãåºãŠããŸãã
å ¬ééµã¯èª°ã§ãç¥ã£ãŠããã£ãŠããªãã ãäžæè°ã§ãããïŒ
ããã§ç»å Žããã®ããããžã¿ã«çœ²åãPKIã蚌ææžã§ãã
âïž ããžã¿ã«çœ²åïŒæ¹ããé²æ¢ã®é»åå°éð¡ïž
ããžã¿ã«çœ²åã¯ãé»åããŒã¿ã«æ¬äººç¢ºèªãšæ¹ããé²æ¢ãæœãæè¡ã§ãã
ð åŸæ¥ã®çœ²åã»å°éã¯ãåœé ã®ãªã¹ã¯ããã
ð¡ïž ããžã¿ã«çœ²åã¯ãç§å¯éµã§äœæããå ¬ééµã§æ€èšŒ
- ç§å¯éµã§äœæãããé»åå°éããããŒã¿ã«æŒãã
- å ¬ééµã§ãé»åå°éããæ¬ç©ãã©ããã確èªã
â ããŒã¿ã®ä¿¡é Œæ§ãä¿èšŒïŒ
ããžã¿ã«çœ²åãããã°ããããã³ã³ã¯å¿ èŠãªããªããšæããŸããïŒ ð€ð
ð¢ PKIïŒç§æžç®±ã®ç®¡çå± ð¢
PKIã¯ãå ¬ééµæå·ãå®å šã«å©çšããããã®ä»çµã¿ã§ãã
ð¢ PKIã¯ãä¿¡é Œã§ããæ©é¢ãèªèšŒå±ãð
- èªèšŒå±ã¯ãããã®ç§æžç®±ã¯ééããªãããããã®ãã®ã§ãããšèšŒææžãçºè¡ããŠãããã
ð 蚌ææžïŒå ¬ééµã®ä¿¡é Œæ§ãä¿èšŒããæžé¡ ð
- 蚌ææžã¯ãç§æžç®±ã®ãè³è²žå¥çŽæžãã®ãããªãã®ã
- 蚌ææžãèŠãããšã§ãåãåã£ãå ¬ééµãæ¬åœã«æ£ãã人ç©ã®ãã®ãªã®ãã確èªã§ããã
ð ä¿¡é Œã§ããç§æžç®±ãã©ããã確èªã§ããïŒ
ð¡ ã³ã©ã ïŒæå·ã«äœ¿ãããå°éçšèª
- æå·å: ããŒã¿ã第äžè ã«è§£èªã§ããªã圢ã«å€æããããšãðð
- 埩å·å: æå·åãããããŒã¿ããå ã®åœ¢ã«æ»ãããšãðð
- ããã·ã¥é¢æ°: ããŒã¿ãå ¥åãããšãåžžã«åãé·ãã®ãããã·ã¥å€ããšåŒã°ããå€ãåºåããé¢æ°ãæ¹ããæ€ç¥ãªã©ã«å©çšãããŸãã
ð€ ãã€ããªããæå·ïŒå®å šããšéãã®äž¡ç« ð
å ¬ééµæå·ã¯å®å šã§ãããåŠçãéãã®ãæ¬ ç¹ã§ããããã§ããã€ããªããæå·ãç»å ŽïŒ ððð
ð ãã€ããªããæå·ã¯ãäž¡æ¹ã®ãããšãã©ã
- å ¬ééµæå·ã§ãå ±ééµãå®å šã«å ±æã(ç§æžç®±ã«ãå¥ã®é庫ã®éµãå ¥ããã€ã¡ãŒãž)
- å ±ééµæå·ã§ãé«éãªããŒã¿éä¿¡ãå®çŸã(é庫ã®äžèº«ã¯ãåŸæ¥éãããåã)
ð å®å šã§ã¹ããŒãã£ãŒãªéä¿¡ãå®çŸïŒ
ðâ¡ïžâïžâ¡ïžð æå·æè¡ã®é²åã¯ããããããç¶ãïŒ
å ±ééµæå·ããå ¬ééµæå·ããããŠãã€ããªããæå·ãžâŠ
æå·æè¡ã¯ãç§ãã¡ã®å®å šãå®ãããã«ãæ¥ã é²åãç¶ããŠããŸãã
ããã§ãããªããæå·ãã¹ã¿ãŒïŒ ðâš
æŽå²ãéèŠããŠæå·æè¡ãç¥ã
ããªãããããŸã§å ¬ééµæå·ãç解ã§ããªãã£ãçç±
ãã®çç±ã¯ ãæšãèŠãŠæ£®ãèŠããã«ãªã£ãŠããŸã£ãŠããããã§ãã
ããããæšãã¯ç°¡åãªè©±ã§ããªãã®ã§ãããã§è«ŠããŠããŸãã
ãŸããã森ããèŠãããšããå§ãããç©äºãã¡ãããšç解ããããšãã«ã¯ããªããã森ãããå§ããŸãããããã®ååã¯ããã®æå·ã®ãããã¯ã«éã£ã話ã§ã¯ãããŸããã
ããã¯ãããŠãæŽå²ã§ãã
æå·ã®æŽå²ïŒç§å¯ãå®ã人é¡ã®æŠããå ±ééµæå·ããå ¬ééµæå·ãž
æå·ã®æŽå²ã¯ã人é¡ã®ç§å¯ãå®ãé·ãæŠãã®èšé²ã§ããå€ä»£ããçŸä»£ãŸã§ããã®æ¬è³ªã¯å€ãã£ãŠããŸãããããã¯ãããã«å®å šã«æ å ±ãäŒãããããšããæ°žé ã®èª²é¡ã§ãã
å ±ééµæå·
å€ä»£ãšãžããã®ç¥å®ãã¡ãããšãã°ãªããçšããæ代ããã20äžçŽåã°ãŸã§ãæå·æè¡ã®åºæ¬ã¯ãå ±ééµæå·ãã§ãããããã¯ãé庫ã®ã¢ãããžãŒã§èãããšããããããã§ãããã
å ±ééµæå·ã¯ããŸãã§é äžãªé庫ã®ãããªãã®ã§ããã¡ãã»ãŒãžãé庫ã«å ¥ããéµããããŠéããŸããåãåãåŽã¯åãéµã§éããŸãã
é庫ã¯å®å šã«èŠããŸãããèŽåœçãªåŒ±ç¹ããããŸããããã¯ãéµã®é éåé¡ãã§ãã é庫ã®éµã誰ãã«æž¡ãã«ã¯ãçŽæ¥äŒãããä¿¡é Œã§ãã䜿è ãéããããããŸãããæµã®ç®ãããããã£ãŠããã®å€§åãªéµãå®å šã«å±ãããããã¯ããŸãã§ã¹ãã€æ ç»ã®ãããªç·åŒµæã«æºã¡ãä»»åã§ããã
第äºæ¬¡äžç倧æŠäžã®ãã€ãè»ãæ¡çšãããšãã°ãæå·æ©ãè¯ãäŸã§ãããšãã°ãæå·æ©ã¯ãæ¥ã å€æŽãããè€éãªæå·åèšå®ãçšããŠããŸããããã®èšå®æ å ±ã¯ãå³éã«ç®¡çãããã³ãŒãããã¯ãä»ããŠãåéšéã«ç©ççã«é åžãããŠããŸããããããã®ã³ãŒãããã¯ãæµã«å¥ªãããã°ããã®æ¥ã®ãã¡ã«ãã€ãè»ã®éä¿¡å 容ã¯ãã¹ãŠè§£èªãããŠããŸããšããã極ããŠé倧ãªãªã¹ã¯ãæ±ããŠããã®ã§ãã
ãããŠã1960幎代åŸåãã1970幎代ã«ãããŠãç¶æ³ã¯åçã«å€åããŸãã1969幎ã®ARPANETç»å Žãç®åãã«ãããžã¿ã«éä¿¡ã®æ代ãå¹ãéããã®ã§ããéä¿¡ã®èŠæš¡ãšé »åºŠãé£èºçã«å¢å€§ããäºåã«ä¿¡é Œé¢ä¿ãç¯ããŠããªãäžç¹å®å€æ°ã®çžæãšã®éä¿¡ãå¿ èŠã«ãªããŸãããããã«ããªã¢ã«ã¿ã€ã ã®éä¿¡èŠæ±ã«ãããéµã®äºåå ±æãå°é£ã«ãªããŸãããç©ççãªéµã®åãæž¡ãã«é Œã£ãŠããå ±ééµæå·ã¯ããã¯ãéçãè¿ããŠããã®ã§ãã
å ¬ééµæå·
ãã®æ°ããªèª²é¡ã«å¿ããã¹ãã1976幎ã«ãã£ãã£ãŒãšãã«ãã³ããæ°ããæå·ã®æ¹åæ§ããçºè¡šããç»æçãªãå ¬ééµæå·ãã®æŠå¿µãæå±ããŸãããããã¯ãéµäŸ¿ãã¹ãã®ã¢ãããžãŒã§èãããšããã§ãããã誰ã§ãæçŽãæåœã§ããããç¹å¥ãªéµãæã€éµäŸ¿å±ã®æ åœè·å¡ã ããéµäŸ¿ç©ãåãåºããããããªãã¹ãã®ãããªä»çµã¿ã§ãã
ãã¹ãã®éµã¯éµäŸ¿å±å¡ã ããå³éã«ç®¡çããŠããã°è¯ããæã äžè¬åžæ°ã¯ãã®éµãããããå ±æããŠããå¿ èŠãªã©ãããŸãããã€ãŸãã ãå ¬ééµæå·ãã«ãã£ãŠäººé¡ãæ°å幎ã«æž¡ã£ãŠæ±ããŠããããå ±ééµæå·ãããåãé¢ããªãã£ããéµã®é éåé¡ããéã«è§£æ±ºãããã®ã§ãã
ãã®éµäŸ¿ãã¹ãã®ã¢ãããžãŒã§ã¯ãéµäŸ¿å±å¡ã管çããŠããã®ããç§å¯éµããšããŠãããå ¬ééµæå·ããªããã®ã®ãå ¬ééµãšã¯ãã£ããäœãªã®ãïŒããšããçåãã§ãã§ãããã
éµäŸ¿ãã¹ãã®æåœå£ãã®ãã®ããå ¬ééµãã«ãªããšç解ããŠãã ãããã€ãŸãã誰ã§ãéµäŸ¿ãã¹ãã®äžã«éµäŸ¿ç©ãæåœããããšãå¯èœã§ãããéµäŸ¿ç©ã¯å¿ ããã¹ãã®æåœå£ãééãããå¿ èŠã¯ããããšç解ããã°è¯ãã§ãã
ãããããã®é©åœçãªã¢ã€ãã¢ã«ã¯å€§ããªèª²é¡ããããŸãããããã¯ããã®æŠå¿µãå®éã«å®è£ ããæ¹æ³ãèŠã€ãããªãã£ãã®ã§ããå ¬ééµæå·ãå®çŸããããã«ã¯ãéµäŸ¿ç©ã®æåœãäžæ¹åã§ãããªãéã«åãåºããªãäºãšåãããã«ããäžæ¹åé¢æ°ããšåŒã°ããç¹æ®ãªæ°åŠçæ§è³ªãæã€é¢æ°ãå¿ èŠã§ããã
äžæ¹åé¢æ°ãšã¯ãããå ¥åããåºåãèšç®ããã®ã¯ç°¡åã§ããããã®éãã€ãŸãåºåããå ã®å ¥åãæ±ããã®ã極ããŠå°é£ãªé¢æ°ã§ãããŸãã§ãåµãå²ã£ãŠäœã£ããªã ã¬ãããå ã®åµã®åœ¢ã埩å ãããããªãã®ã§ãã
ãã®äžæ¹åé¢æ°ã®æ¢çŽ¢ã¯ãæå·åŠè ãã¡ã«ãšã£ãŠå€§ããªææŠãšãªããŸãããçè«çã«ã¯ååšãåŸããã®ã®ãå®çšçã§å®å šãªäžæ¹åé¢æ°ãèŠã€ããããšã¯å®¹æã§ã¯ãããŸããã§ããããã£ãã£ãŒãšãã«ãã³èªèº«ãã圌ãã®è«æã§ããã€ãã®åè£ãææ¡ããŸããããå®å šãªå ¬ééµæå·ã·ã¹ãã ãæ§ç¯ããã«ã¯è³ããŸããã§ããã
ãã®ç¶æ³ã¯ããŸãã§å®ã®å°å³ãæã«å ¥ãããã®ã®ããã®å®ã®ãããã瀺ãéèŠãªæããããæ¬ ããŠãããããªãã®ã§ãããå ¬ééµæå·ãšããé©åœçãªã¢ã€ãã¢ãããã«ããããããããããå®çŸããå ·äœçãªæ¹æ³ããªã - ããã¯æå·åŠçã«ãšã£ãŠå€§ããªèª²é¡ã§ããã
ãããããã®é£åã«å¯Ÿãã解çã¯ãäºæ³ä»¥äžã«æ©ãèŠã€ãããŸããã1977幎ãMITã®ç 究è ãã¡ããªãã¹ããã·ã£ãã¢ããšãŒãã«ãã³ã«ãã£ãŠRSAæå·ãçºè¡šãããã®ã§ããRSAæå·ã¯ã倧ããªçŽ æ°ã®ç©ã®å æ°å解ã®å°é£ããå©çšããäžæ¹åé¢æ°ãå®çŸããŸãããããã«ãããå ¬ééµæå·ã¯åãªãæŠå¿µããå®çšçãªæè¡ãžãšé²åããã®ã§ãã
RSAã®çºæã¯ãæ°å幎ã«ãããæå·ã®æŽå²ã«ãããé©åœã§ãããããã«ãããã€ã³ã¿ãŒããããä»ããå®å šãªéä¿¡ãé»ååååŒãå¯èœãšãªããçŸä»£ã®ããžã¿ã«ç€ŸäŒã®åºç€ãç¯ãããŸããã
ä»æ¥ãç§ãã¡ããªã³ã©ã€ã³ãã³ãã³ã°ãã»ãã¥ã¢ãªã¡ãã»ãŒãžã³ã°ãå©çšã§ããã®ã¯ããã®é·ãæå·ã®æŽå²ãšãéµé éåé¡ã解決ããå ¬ééµæå·ã®ãããã§ãããããŠãæå·æè¡ã®é²åã¯ä»ãç¶ããŠããŸããéåã³ã³ãã¥ãŒã¿ã®æ代ã«åããŠãæ°ããªæå·æ¹åŒã®ç 究ãé²ããããŠããã®ã§ãã
æå·ã®æŽå²ã¯ã人é¡ã®ç¥æµãšåµé åã®èšŒã§ããå€ä»£ã®ç¥å®ããçŸä»£ã®æ°åŠè ãŸã§ãç§å¯ãå®ãããããŠè§£ãæããããšãã人ã ã®é£œããªãæ¢æ±ã¯ããããããç¶ããŠããã§ããããæè¡ãé²æ©ãã瀟äŒãå€åããŠããå®å šã«æ å ±ãäŒãããšããæ ¹æ¬çãªèª²é¡ã¯å€ãããŸãããæå·æè¡ã¯ããã®æ°žé ã®èª²é¡ã«ææŠãç¶ãã人é¡ã®ç¥æµã®çµæ¶ãªã®ã§ãã
å ¬ééµæå·ã®å€æ§ãªæ°åŠçåºç€
ããã§ã ã倧ããªçŽ æ°ã®ç©ã®å æ°å解ã®å°é£ããå©çšããäžæ¹åé¢æ°ãå©çšããRSAæå·ããšããã®ã¯ããå ¬ééµæå·ãã®åãªãã²ãšã€ã®å®è£ æ¹æ³ã«éããªã ããšããããšã«æ³šæãå¿ èŠã§ãã
ãããã«æŽå²çã«ã¯å€§ããªè»¢æç¹ã§ããçŸåšã®äž»æµã®æå·æ¹åŒã§ã¯ãããŸããããããŸã§ããã¯ã²ãšã€ã®å®è£ æ¹æ³ã«ããããå ¬ééµæå·æ¹åŒã¯ãçŽ å æ°å解åé¡ä»¥å€ã«ããæ§ã ãªæ°åŠçãªåé¡ã®å°é£æ§ãå©çšããŠå®å šæ§ãæ ä¿ããŠããŸãã
以äžã«ãçŽ å æ°å解åé¡ä»¥å€ã®æ°åŠçåé¡ã«åºã¥ãå ¬ééµæå·æ¹åŒã®äŸãããã€ã玹ä»ããŸãã
1. é¢æ£å¯Ÿæ°åé¡ã«åºã¥ãæ¹åŒ
- ElGamalæå·: æ¥åæ²ç·äžã®é¢æ£å¯Ÿæ°åé¡ã®å°é£æ§ãå©çšããŠããŸããéµçæãæå·åã埩å·åã®åéçšã§ãæ¥åæ²ç·äžã®ç¹ã®å ç®ãã¹ã«ã©ãŒåç®ãè¡ããŸãã
- DSA (Digital Signature Algorithm): ããžã¿ã«çœ²åãäœæã»æ€èšŒããããã®ã¢ã«ãŽãªãºã ã§ãElGamalæå·ãšåæ§ã«é¢æ£å¯Ÿæ°åé¡ã®å°é£æ§ãå©çšããŠããŸãã
- ECDSA (Elliptic Curve Digital Signature Algorithm): æ¥åæ²ç·DSAãšãåŒã°ããDSAãæ¥åæ²ç·äžã§é©çšãããã®ã§ããDSAãããçãéµé·ã§åçã®å®å šæ§ãæäŸã§ããŸãã
2. ãã®ä»ã®æ°åŠçåé¡ã«åºã¥ãæ¹åŒ
- RSAæå·: çŽ å æ°å解åé¡ã®å°é£æ§ãå©çšããŠããŸããéµçæã«ã¯2ã€ã®å€§ããªçŽ æ°ã䜿çšããæå·åã»åŸ©å·åã«ã¯ã¢ãžã¥ãæŒç®ãçšããŸãã
- NTRUæå·: æ Œåæå·ã®äžçš®ã§ãæ Œåäžã®æçãã¯ãã«åé¡ïŒSVPïŒãæè¿ãã¯ãã«åé¡ïŒCVPïŒã®å°é£æ§ãå©çšããŠããŸãã
- McElieceæå·: 笊å·çè«ã«åºã¥ãæå·ã§ãç·åœ¢ç¬Šå·ã®åŸ©å·ååé¡ã®å°é£æ§ãå©çšããŠããŸãã
å ¬ééµæå·çè«ããããããé©åœïŒããžã¿ã«çœ²åããçŸä»£ã®ã»ãã¥ã¢éä¿¡åºç€ãž
1976幎ã®ãã£ãã£ãŒãšãã«ãã³ã«ãããæ°ããæå·ã®æ¹åæ§ãã¯ãå ¬ééµæå·ãšããç»æçãªæŠå¿µãçã¿åºããå ±ééµã®é éåé¡ã解決ããéçã瀺ããŸãããç¶ã1977幎ããªãã¹ããã·ã£ãã¢ããšãŒãã«ãã³ãçºè¡šããRSAæå·ã¯ããã®æŠå¿µãå ·äœçãªã¢ã«ãŽãªãºã ãšããŠå®è£ ããå ¬ééµæå·ãçŸå®ã®ãã®ãšããŸããã
RSAæå·ã®ç»å Žã¯ãåã«æå·åæè¡ãå®çŸããã ãã§ã¯ãããŸããã§ãããå ¬ééµãšç§å¯éµã®ç¹æ§ãé転ãããããšã§ãããžã¿ã«çœ²åãšããæ°ããªæŠå¿µãæ確ã«ãªããŸããã
- æå·å/埩å·å: å ¬ééµã§æå·åãããã¡ãã»ãŒãžã¯ã察å¿ããç§å¯éµã§ã®ã¿åŸ©å·åã§ããŸãã
- 眲å/æ€èšŒ: ç§å¯éµã§äœæãããããžã¿ã«çœ²åã¯ã察å¿ããå ¬ééµã§ã®ã¿æ€èšŒã§ããŸãã
ãã®æå·åãšçœ²åã®ãã¢ã¯ãRSAæå·ã«éå®ããããããããå ¬ééµæå·ã¢ã«ãŽãªãºã ã«é©çšã§ããæ®éçãªæŠå¿µã§ããããšãå€æããŸãããããã¯ãå ¬ééµæå·çè«ãåãªãæå·åæè¡ã§ã¯ãªããããžã¿ã«çœ²åæè¡ãå«ãå æ¬çãªã»ãã¥ãªãã£åºç€ã«ãªãããããšã瀺åããŠããŸããã
ããžã¿ã«çœ²åãPKIã蚌ææžã¯ãçžäºã«é£æºããŠãæ å ±ã®ä¿¡é Œæ§ã確ä¿ãã圹å²ãæ ã£ãŠããŸããããžã¿ã«çœ²åã¯ãããŒã¿ã®ä¿¡é Œæ§ã蚌æããPKIã¯å ¬ééµãšç§å¯éµã®ãã¢ã®ä¿¡é Œæ§ãä¿èšŒãã蚌ææžã¯å ¬ééµã®ä¿¡é Œæ§ã蚌æããŸãããããã®æè¡ã¯ãã»ãã¥ã¢ãªéä¿¡ãé»ååååŒãªã©ãæ§ã ãªåéã§æŽ»çšãããçŸä»£ç€ŸäŒã«ãããŠæ¬ ãããªãååšãšãªã£ãŠããŸãã
ããžã¿ã«çœ²åïŒããŒã¿ã®ä¿¡é Œæ§ãæ ä¿ããæè¡
ããžã¿ã«çœ²åã¯ãç§å¯éµã䜿ã£ãŠããŒã¿ã«çœ²åãããã®ããŒã¿ãéä¿¡è ã«ãã£ãŠäœæãããæ¹ãããããŠããªãããšã蚌æããæè¡ã§ãã
ããžã¿ã«çœ²åã®ä»çµã¿ïŒ
- ããã·ã¥é¢æ°: éä¿¡è ã¯ãããŒã¿ã®ããã·ã¥å€ãèšç®ããŸããããã·ã¥å€ã¯ãããŒã¿ã®æçŽã®ãããªãã®ã§ãããŒã¿ã®å 容ãå€ãããšããã·ã¥å€ãå€åããŸãã
- ç§å¯éµã«ãã眲å: éä¿¡è ã¯ãç§å¯éµã䜿ã£ãŠããã·ã¥å€ã«çœ²åããŸããããã¯ãããžã¿ã«çœ²åãšåŒã°ããé»åçãªãµã€ã³ã§ãã
- 眲åä»ãããŒã¿ã®éä¿¡: éä¿¡è ã¯ã眲åä»ãããŒã¿ãšå ¬ééµãäžç·ã«åä¿¡è ã«éä¿¡ããŸãã
- å ¬ééµã«ããæ€èšŒ: åä¿¡è ã¯ãå ¬ééµã䜿ã£ãŠçœ²åã確èªããŸãã眲åãæ£ããå ŽåãããŒã¿ãéä¿¡è ã«ãã£ãŠäœæãããæ¹ãããããŠããªãããšã蚌æããŸãã
ããžã¿ã«çœ²åã®å©ç¹ïŒ
- æ¹ããé²æ¢: ããŒã¿ã®æ¹ãããæ€ç¥ããããšãã§ããŸãã
- èªèšŒ: ããŒã¿ãç¹å®ã®éä¿¡è ã«ãã£ãŠäœæãããããšã確èªã§ããŸãã
- åŠèªé²æ¢: éä¿¡è ã¯ãããŒã¿ãéä¿¡ããããšãåŠèªã§ããŸããã
PKIïŒä¿¡é Œã®åºç€ãç¯ãä»çµã¿
PKI (Public Key Infrastructure) ã¯ãå ¬ééµãšç§å¯éµã®ãã¢ãçºè¡ã»ç®¡çãããã®ãã¢ã®ä¿¡é Œæ§ãä¿èšŒããä»çµã¿ã§ããããžã¿ã«çœ²åãæå·åãèªèšŒãªã©ãæ§ã ãªã»ãã¥ãªãã£æ©èœã®åºç€ãšãªããŸãã
PKIã®åœ¹å²ïŒ
- éµã®çºè¡: PKIã¯ãä¿¡é Œã§ããæ©é¢ (èªèšŒå±) ã«ãã£ãŠçºè¡ãããå ¬ééµãšç§å¯éµã®ãã¢ãçºè¡ããŸãã
- éµã®ç®¡ç: PKIã¯ãéµã®æå¹æéãéµã®ææè ãéµã®äœ¿çšçšéãªã©ã管çããŸãã
- ä¿¡é Œã®ä¿èšŒ: PKIã¯ãèªèšŒå±ã®ä¿¡é Œæ§ãæ ä¿ããããšã§ãå ¬ééµãšç§å¯éµã®ãã¢ãä¿¡é Œã§ãããã®ã§ããããšãä¿èšŒããŸãã
PKIã®æ§æèŠçŽ :
- èªèšŒå± (CA): å ¬ééµãšç§å¯éµã®ãã¢ãçºè¡ãã蚌ææžãçºè¡ããæ©é¢ã§ãã
- ç»é²æ©é¢ (RA): éµã®ç³è«ã蚌ææžã®çºè¡ãæ¯æŽããæ©é¢ã§ãã
- 蚌ææžç®¡çã·ã¹ãã : 蚌ææžã®çºè¡ãæŽæ°ã倱å¹ãªã©ã管çããã·ã¹ãã ã§ãã
蚌ææžïŒå ¬ééµã®ä¿¡é Œæ§ã蚌æããé»åçãªèº«å蚌ææž
蚌ææžã¯ãPKIã«ãã£ãŠçºè¡ãããé»åçãªèº«å蚌ææžã®ãããªãã®ã§ãå人ã®ååãçµç¹åãå ¬ééµãªã©ãèšèŒãããŠããŸãã蚌ææžã¯ããã®æ å ±ãä¿¡é Œã§ãããã®ã§ããããšã蚌æããããžã¿ã«çœ²åãæå·åãªã©ã®ã»ãã¥ãªãã£æ©èœã«ãããŠãå ¬ééµã®ä¿¡é Œæ§ãæ ä¿ãã圹å²ãæãããŸãã
蚌ææžã®å 容:
- çºè¡è : 蚌ææžãçºè¡ããèªèšŒå±ã®åå
- æå¹æé: 蚌ææžã®æå¹æé
- 察象è : 蚌ææžãçºè¡ãããå人ãŸãã¯çµç¹ã®åå
- å ¬ééµ: 察象è ã®å ¬ééµ
- 眲å: èªèšŒå±ã®ç§å¯éµã§çœ²åãããããžã¿ã«çœ²å
蚌ææžã¯ãããžã¿ã«çœ²åã«ãããŠãåä¿¡è ãéä¿¡è ã®å ¬ééµãä¿¡é Œããæ ¹æ ãšãªããŸãã
RSAæå·ã®ä»çµã¿
äžå¿ãæšãã«ã€ããŠèª¬æããŸãã
å®éããã¯åå¥ã®å®è£ æ¹åŒã«ã€ããŠã®Advancedã®è©±ã§ãããã森ããç解ãããšãã«ã¯ãŸã£ããå¿ èŠã§ã¯ãããŸããã
ããããå®éã®RSAã®å°äœæŒç®ã®åŒãçºããããšã§ã å ¬ééµæå·çè«ããæå·åã埩å·åã眲åãæ€èšŒã®4ã€ã®æè¡ã«åŒ·ãæ°åŠçãªå¯Ÿç§°æ§ãããéåžžã«çŸããçè«ã§ããããš ãæãåãããšæããŸãã
ç¹°ãè¿ãã«ãªããŸãããããã¯RSAæå·ã«ç¹æã®æ°åŠçãªå¯Ÿç§°æ§ã§ã¯ãªããå ¬ééµæå·çè«ã®ãã¹ãŠã®å®è£ ã«ã€ããŠäžè¬åãããç¹æ§ã§ãã
RSAæå·ã®äžæ¹åæ§ãå®çŸããäžã§ãå°äœæŒç®ãéåžžã«éèŠãªåœ¹å²ãæãããŠããŸãã
å°äœæŒç® (mod) ãšã¯
å°äœæŒç® (modulo operation) ã¯ãããæ°ãå¥ã®æ°ã§å²ã£ããšãã®äœããæ±ããæŒç®ã§ããäŸãã°ã13 ã 5 ã§å²ããšãå㯠2 ã§äœã㯠3 ã§ãããããã
13 mod 5 = 3
ãšè¡šããŸãã
RSAæå·ã«ãããå°äœæŒç®
RSAæå·ã§ã¯ããã®å°äœæŒç®ãæå·åã埩å·åã眲åãæ€èšŒã®å šãŠã«ãããŠå©çšãããŸãã
- æå·å: å¹³æ m ãå ¬ééµ e ã§ã¹ãä¹ããå ¬ééµ n ã§å²ã£ãäœããèšç®ããããšã§ãæå·æ c ãåŸãŸãã
c = m^e mod n
- 埩å·å: æå·æ c ãç§å¯éµ d ã§ã¹ãä¹ããå ¬ééµ n ã§å²ã£ãäœããèšç®ããããšã§ãå ã®å¹³æ m ãåŸãŸãã
m = c^d mod n
- 眲å: ã¡ãã»ãŒãž m ãç§å¯éµ d ã§ã¹ãä¹ããå ¬ééµ n ã§å²ã£ãäœããèšç®ããããšã§ã眲å s ãåŸãŸãã
s = m^d mod n
- æ€èšŒ: 眲å s ãå ¬ééµ e ã§ã¹ãä¹ããå ¬ééµ n ã§å²ã£ãäœããèšç®ããããšã§ãå ã®ã¡ãã»ãŒãž m ãåŸãŸãããããèšç®çµæãšå ã®ã¡ãã»ãŒãžãäžèŽããã°ã眲åãæ£ããããšã蚌æã§ããŸãã
m = s^e mod n
ãªãå°äœæŒç®ãäžæ¹åæ§ãããããã®ã
å°äœæŒç®ãçšããããšã§ãèšç®çµæãåžžã«äžå®ã®ç¯å²å ã«åãŸãããã«ãªããŸãããã®æ§è³ªã«ãããæå·åãšçœ²åã¯å®¹æã«è¡ããŸããã埩å·åãšæ€èšŒã¯éåžžã«å°é£ã«ãªããŸãã
å ·äœçã«ã¯ãå ¬ééµ (n, e) ããç§å¯éµ (d) ãæ±ããã«ã¯ãn ãçŽ å æ°å解ããå¿ èŠããããŸããããããn ãéåžžã«å€§ããªæ°ã§ãããããçŽ å æ°å解ã¯éåžžã«å°é£ã§ãã
äžæ¹ãæå·åã®èšç® m^e mod n
ã眲åã®èšç® s = m^d mod n
ã¯ãå
¬ééµãŸãã¯ç§å¯éµãçšããããšã§æ¯èŒçç°¡åã«å®è¡ã§ããŸããããã¯ãå°äœæŒç®ã®æ§è³ªã«ãããèšç®éäžã®å€ã n ããã倧ãããªãããšã¯ãããŸããããã®ãããããšã m ã e, d ã倧ããªæ°ã§ãã£ãŠããèšç®ã¯çŸå®çãªæéå
ã§å®äºããŸãã
ãããã埩å·åã®èšç® m = c^d mod n
ãæ€èšŒã®èšç® m = s^e mod n
ã¯ãç§å¯éµ d ãç¥ããªããšéåžžã«å°é£ã§ããd ã¯ãn ãçŽ å æ°å解ããªããã°èšç®ã§ããªããããæ»æè
ã¯äºå®äžãç·åœããæ»æãªã©ã®éå¹ççãªæ¹æ³ã§ãã m ãæ±ããããšãã§ããŸããã
ãã®ããã«ãRSAæå·ã§ã¯ãå°äœæŒç®ã®ç¹æ§ãå©çšããããšã§ãæå·åãšçœ²åã¯å®¹æã«ã埩å·åãšæ€èšŒã¯å°é£ã«ãããšããäžæ¹åæ§ãå®çŸããŠããŸããããã«ãããå ¬ééµãå ¬éããŠãç§å¯éµãæŒæŽ©ãããªã¹ã¯ãäœæžããå®å šãªéä¿¡ãå¯èœã«ããŠããŸãã
RSAæå·ã«ãããéµãã¢ã®çæ
- 2ã€ã®å€§ããªçŽ æ° p, q ãéžã³ãŸãã
- n = p * q ãèšç®ããŸãã
- Ï(n) = (p - 1) * (q - 1) ãèšç®ããŸããïŒÏã¯ãªã€ã©ãŒã®ããŒã·ã§ã³ãé¢æ°ïŒ
- Ï(n) ãšäºãã«çŽ ãªæŽæ° e ãéžã³ãŸããïŒéåžžã65537 ãçšããããŸãïŒ
- e * d â¡ 1 (mod Ï(n)) ãšãªãæŽæ° d ãèšç®ããŸããïŒd ãç§å¯éµãšãªããŸãïŒ
RSAæå·ã®äŸïŒå¹³æãHIãã®æå·åã埩å·åã眲åãæ€èšŒ
-
ç§å¯éµãšå ¬ééµã®äœæ:
- 2ã€ã®çŽ æ°ãšããŠãp=17, q=23 ãéžã³ãŸãã
- å ¬ééµ n = p * q = 17 * 23 = 391
- å ¬ééµ e = 5 (391ããå°ããã352ãšäºãã«çŽ ãªæ°)
- ç§å¯éµ d = 281 ((e * d) ÷ 352 ã®äœãã 1 ãšãªãæ°)
-
æå·å:
- å¹³æãHIããæ°å€ã«å€æïŒ H=8, I=9
- åæ°å€ãå
¬ééµ(e=5, n=391)ã§æå·åïŒ
- H: 8^5 mod 391 = 32768 mod 391 = 160
- I: 9^5 mod 391 = 59049 mod 391 = 232
- æå·æ㯠(160, 232) ãšãªããŸãã
-
埩å·å:
- æå·æ (160, 232) ãç§å¯éµ(d=281, n=391)ã§åŸ©å·åïŒ
- 160^281 mod 391 = (éåžžã«å€§ããªæ°) mod 391 = 8 (H)
- 232^281 mod 391 = (éåžžã«å€§ããªæ°) mod 391 = 9 (I)
- 埩å·åãããæ°åãæåã«æ»ããšãHIãã«ãªããŸãã
- æå·æ (160, 232) ãç§å¯éµ(d=281, n=391)ã§åŸ©å·åïŒ
-
眲å:
- æ°å€ 8, 9 ãç§å¯éµ(d=281, n=391)ã§çœ²åïŒ
- H: 8^281 mod 391 = (éåžžã«å€§ããªæ°) mod 391 = 278
- I: 9^281 mod 391 = (éåžžã«å€§ããªæ°) mod 391 = 104
- 眲å㯠(278, 104) ãšãªããŸãã
- æ°å€ 8, 9 ãç§å¯éµ(d=281, n=391)ã§çœ²åïŒ
-
æ€èšŒ:
- 眲å (278, 104) ãå
¬ééµ(e=5, n=391)ã§æ€èšŒïŒ
- 278^5 mod 391 = (éåžžã«å€§ããªæ°) mod 391 = 8 (H)
- 104^5 mod 391 = (éåžžã«å€§ããªæ°) mod 391 = 9 (I)
- æ€èšŒã®çµæãå ã®ã¡ãã»ãŒãžãHIããšäžèŽããããã眲åã¯æ£ãããšèšŒæãããŸãã
- 眲å (278, 104) ãå
¬ééµ(e=5, n=391)ã§æ€èšŒïŒ
泚æç¹
- æ£ç¢ºæ§: ãã®äŸã¯æè²ç®çã§ç°¡ç¥åãããŠããŸããå®éã®RSAå®è£ ã§ã¯ãã¯ããã«å€§ããªçŽ æ°ãšéµã䜿çšããŸãã
- ã»ãã¥ãªãã£: åæ§ã«ããã®äŸã§äœ¿çšãããŠããå°ããªæ°å€ã¯ãæè²ç®çã«ã¯é©ããŠããŸãããå®éã®äœ¿çšã«ã¯å®å šã§ã¯ãããŸãã
- ã¢ãžã¥ã©ãŒææ°: èšç®ïŒç¹ã«ãéåžžã«å€§ããªæ°ããšèšè¿°ãããŠããéšåïŒã¯ãå¹ççãªã¢ã«ãŽãªãºã ïŒäŸïŒã¢ã³ãŽã¡ãªä¹ç®ïŒã䜿çšããŠè¡ãããŸã
- 眲åããã»ã¹: 眲åã¯ç¢ºãã«æå·åãšäŒŒãããã»ã¹ã䜿çšããŸãããéåžžã¯ã¡ãã»ãŒãžå šäœã§ã¯ãªããã¡ãã»ãŒãžã®ããã·ã¥ã«å¯ŸããŠè¡ãããŸããããã¯å¹çæ§ãšã»ãã¥ãªãã£ã®ããã§ãã
- ã¡ãã»ãŒãžãšã³ã³ãŒãã£ã³ã°: ãHIããçŽæ¥æ°å€ã«å€æããæ¹æ³ã¯åçŽåãããŠããŸããå®éã®ã·ã¹ãã ã§ã¯ãããè€éãªãšã³ã³ãŒãã£ã³ã°æ¹åŒã䜿çšããŸãã
- ããã£ã³ã°: å®éã®å®è£ ã§ã¯ãäºæž¬å¯èœæ§ãæžããããã«ããã£ã³ã°ã¹ããŒã ã䜿çšããŸãããã®äŸã§ã¯çç¥ãããŠããŸãã
èŠçŽãããšããã®èª¬æã¯åºæ¬çãªæŠå¿µãæ£ç¢ºã«è¡šçŸããŠããŸãããæè²çãªç®çã§æ倧éåçŽåãããŠããŸããå®éçšã«èãããã»ãã¥ãªãã£ã·ã¹ãã ã®èšèšã«ã¯é©ããŠããŸãããå®éã®RSAå®è£ ã«ã¯ããã«å€ãã®è€éããããã»ãã¥ã¢ãªèšèšã«ãªã£ãŠããŸãã
å ¬ééµæå·ãšãã€ããªããæå·ïŒå®å šãšé床ã®ãã©ã³ã¹
å ¬ééµæå·ã¯ãRSAæå·ãªã©ãèšç®ã³ã¹ããé«ãããšã§ç¥ãããŠããŸãããããããã®ç䟡ã¯ãéµã®é éåé¡ã解決ããç¹ã«ãããŸãã
åŸæ¥ã®å ±ééµæå·ã§ã¯ãéµã®é éã倧ããªåé¡ã§ãããå®å šã«éµãé éããã«ã¯ãç©ççãªæ段ïŒç¹äœ¿ãªã©ïŒãå¿ èŠãšãªããå¹çãæªããã»ãã¥ãªãã£ãªã¹ã¯ãé«ãŸããšãã課é¡ããããŸããã
å ¬ééµæå·ã¯ããã®éµã®é éåé¡ã解決ããç»æçãªæè¡ã§ããããããå ¬ééµæå·ã¯èšç®ã³ã¹ããé«ããããã¡ãã»ãŒãžå šäœãæå·åãããšããã©ãŒãã³ã¹ãäœäžããŠããŸããŸãã
ããã§ããããè³¢æãªããã°ã©ããªã以äžã®ããã«èãå®è£ ããããšã§ãããã
ããã¯èšç®ã³ã¹ããé«ãããŠãŸã£ããããã©ãŒãã³ã¹ãåºãªãæéãªå®è£ ã ãª
å ±ééµã ããå ¬ééµæå·æ¹åŒã®éµäŸ¿ãã¹ãã«æåœããŠéãã°äºè¶³ãã
ããã§æ¢ã«ãå ±ééµã®é éåé¡ãã¯è§£æ±ºæžã¿ã
åŸã¯å šéšãã®å ±ééµã§åŸæ¥ã©ããã®éä¿¡ãªã®ã ããããã©ãŒãã³ã¹åºãã ãã
ãããŠãããå®éã«è¡ãããŠããããšã§ãããã®æ¹åŒã¯ãã€ããªããæå·ãšåŒã°ããŠããŸãã
ãã€ããªããæå·ã¯ãå ¬ééµæå·ã§å ±ééµãå®å šã«é éãããã®åŸã¯å ±ééµæå·ã§ã¡ãã»ãŒãžãé«éã«éä¿¡ããæ¹åŒã§ããããã¯ãå ¬ééµæå·ã®å©ç¹ïŒå®å šãªéµé éïŒãšå ±ééµæå·ã®å©ç¹ïŒé«éãªéä¿¡ïŒãçµã¿åããããçæ³çãªæ¹æ³ã§ãã
çŸåšãSSHéä¿¡ãªã©å€ãã®éä¿¡ã·ã¹ãã ã§ã¯ããã®ãã€ããªããæå·æ¹åŒãæ¡çšãããŠããŸããã€ãŸããç§ãã¡ãæ¥åžžçã«å©çšããŠããå€ãã®éä¿¡ã·ã¹ãã ã§ã¯ãå ¬ééµæå·ã¯å ±ééµã®é éã«ã®ã¿çšããããã¡ãã»ãŒãžèªäœã®éä¿¡ã¯é«éãªå ±ééµæå·ã§è¡ãããŠããŸãã
ãã®ããã«ãå ¬ééµæå·ã¯ãå®å šãªéµé éãšããéèŠãªåœ¹å²ãæ ãããã€ããªããæå·ãšãã圢ã§ãçŸä»£ã®éä¿¡ã·ã¹ãã ã®å®å šãšé床ãæ¯ããŠããŸãã
ã森ããèŠãããšã®éèŠæ§
ãã®ããã«ãå ±ééµæå·ãå ¬ééµæå·ããã€ããªããæå·ãäžèŠç¡æ©è³ªãªçšèªãé£è§£ã«èŠããæŠå¿µã§ãã£ãŠãããã®æŽå²çæèãšåå°ããäžå¯§ã«è¿œè·¡ãç解ããŠããããšã§ãããã¯ãããªããšãããèå³æ·±ãæ·±ãç解ããããšãå¯èœã«ãªããŸãã
Discussion