ã¯ããã«
ä»æ¥ãå€ãã®ã€ã³ã¿ãŒããããµãŒãã¹ãã€ã³ã¿ãŒããããä»ããŠçžäºã«ããåãããŠããŸãã çžäºäœçšã®ç¹å¥ãªã¯ã©ã¹ã¯ãæ©å¯æ å ±ãéä¿¡ããããã®ïŒå人ããŒã¿ãç§å¯ã¡ãã»ãŒãžïŒãŸãã¯èª°ããå®è¡ãæ確ã«ç¢ºèªããå¿ èŠãããããŒã ïŒããšãã°ãééã誰ãã«ä»£ãã£ãŠã¡ãã»ãŒãžãå ¬éããïŒã§ãã æããã«ããã®ãããªãµãŒãã¹ã¯äŸµå ¥è ãã確å®ã«ä¿è·ãããã¹ãã§ãã
æ®å¿µãªããããã¹ãŠã®éçºè ãã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ã®çšåºŠã«ã€ããŠèããããã§ã¯ãããŸããã ãã®åé¡ã¯ãå€ãã®eããžãã¹æ åœè ããšã³ããµãŒãã¹ã«å®è£ ãããå Žåãé©åã«ç解ããã«äœ¿çšãããšæ·±å»ãªè匱æ§ãåŒãèµ·ããå¯èœæ§ã®ãããããã³ã«ãéçºããŠãããšããäºå®ã«ãã£ãŠããã«è€éã«ãªããŸãã
ãã®èšäºã®ç®çã¯ãæ¢è£œã®ãããã³ã«ãããæ éã«äœ¿çšããŠç¬èªã®ãããã³ã«ãéçºããããã«ããããžã§ã¯ãéïŒã€ãŸãããµãŒããŒãšãµãŒããŒïŒã®çžäºäœçšäžã«çºçããå¯èœæ§ã®ããã¿ã€ãã®æ»æãšãããã«å¯Ÿããä¿è·æ段ãç°¡åã«èª¬æããããšã§ãã å€ãã®å Žåããã®åéã®ãšã³ãéçºè ã®ç¥èã¯ããæççã§ãããããæ å ±ã»ãã¥ãªãã£ã®åºæ¬ãäºåã«æ€èšããŸãã
ããŸããŸãªã¿ã€ãã®æ»æããã®ä¿è·ïŒãŸãã¯ä¿è·ã®æ¬ åŠïŒã¯ãä»æ¥ã®äžè¬çãªã·ã¹ãã ã®ãããã³ã«ã®äŸã§å®èšŒãããŠããŸãïŒ Assist ã Cyberââplat ã WebMoney ã ChronoPay ã Robokassaããã³PayPal ïŒæ¯æãã·ã¹ãã ïŒãããã³OpenID ã OpenAuth ã OAuth ïŒåæ£èªèšŒïŒã
å®å šãªçžäºäœçš
ããã§ã¯ãã å®å šãªçžäºäœçš ããšããèšèã®æå³ãå®çŸ©ããŸãããã
1. èªèšŒ ã ãµãŒããŒAããµãŒããŒBã«ã¡ãã»ãŒãžãéä¿¡ããããã«ããŸããBã¯ãã¡ãã»ãŒãžãAããéä¿¡ãããããšã確èªã§ããã¯ãã§ãããã®ãã§ãã¯ã¯ããµãŒããŒBäžã®ãµãŒããŒAã®èªèšŒãšåŒã°ããŸãã
2. ããŒã¿ã®æŽåæ§ ã 転éäžã«ã¡ãã»ãŒãžãå€æŽãããŠããªãããšã確èªããå¿ èŠããããŸãïŒããšãã°ã50ãã«ãæ¯æããã500ãã«ã®ç¢ºèªãåä¿¡ãããŸããïŒã
3. çžäºäœçšã®æ©å¯æ§ ã ãã®æ¡é ã¯ãã¡ãã»ãŒãžãåä¿¡ããè³æ Œãããåœäºè ã®ã¿ãæå³ããŸãã ååãšããŠããã®å¥ã¯éä¿¡äžã®æ å ±ã®æå·åãæå³ããŸã ã
å Žåã«ãã£ãŠã¯ãããã«2ã€ã®ãã€ã³ããæ€èšã§ããŸããã¢ã¯ã»ã¹æš©ã®æ€èšŒãšåŠèªé²æ¢ã®äžå¯èœæ§ã§ãããä»ã®ãšããã¯ãããç¡èŠããŸãã
æå·ããªããã£ã
ããã§ã¯ãçè«ã«äœè«ãããå¿ èŠããããŸãã æå·ã®åºç€ã«ã€ããŠã¯è©³ãã説æããŸããïŒãããªããã°ãèšäºã®éã¯åŠ¥åœãªç¯å²ãè¶ ããŸãïŒããèšäºã®ãããªãéšåãç解ããããã«å¿ èŠãªç¥èã瀺ãããã«ãäž»èŠãªã æå·ããªããã£ã ãã«ã€ããŠç°¡åã«èšåããŸãã èå³ã®ããæ¹ã¯ããŠã£ãããã£ã¢ãžã®ãªã³ã¯ããã©ã£ãŠè©³çŽ°ãã芧ãã ããã
- ããŸããŸãªå¯Ÿç§°æå·åã·ã¹ãã ããããŸãã ãããã®ã·ã¹ãã ã®åºç€ã¯ãäž¡åœäºè ã«ç¥ãããŠãã1ã€ã®ããŒKã§ãã ãã®ããŒã¯ãã¡ãã»ãŒãžã®æå·åãšåŸ©å·åã®äž¡æ¹ã«äœ¿çšãããŸãã æšæºã®äŸïŒ RC2 ã RC4 ã RC5 ã DES ã 3-DES ã AES ã Blowfish ã GOST 28147-89ãªã©
- é察称æå·åã·ã¹ãã ãååšããŸãã ããã§ã¯ãããããã®åŽã«ç§å¯éµãšå ¬ééµããããŸãã ãªãŒãã³ã¯èª°ã«ãç¥ãããŠããŸãïŒã·ã¹ãã ãããã¯ãããæå·è§£èªè ãå«ãïŒãç§å¯-çæ¹ã ãã«ã 誰ã§ããµã€ãAã®å ¬ééµã䜿çšããŠããµã€ãAã®ã¡ãã»ãŒãžãæå·åã§ããŸããç§å¯éµã®ææè ã®ã¿ããã®ã¡ãã»ãŒãžã解èªã§ããŸããããã¯Aã§ããæšæºã®äŸïŒ RSA
- ååãšããŠãå ¬ééµã¯ãããã圢åŒã§é åžãããŸãã 蚌ææž äžè¬çã«ãå ¬ééµã¯èšŒææžã®äžéšã«ãããŸããããå°æ¥çã«ã¯ãããã®çšèªãå矩èªãšããŠäœ¿çšããŸãã
- éåžžãç§å¯éµãšå ¬ééµã®åããã¢ã䜿çšããŠã ããžã¿ã«çœ²å ïŒCPUïŒãçæã§ããŸãã ãã®å ŽåãçŽã®ææžã«äººã®çœ²åãååšããããã«ãã¡ãã»ãŒãžãšç§å¯éµã«åºã¥ããŠçæãããé»åã¡ãã»ãŒãžã®æ¬æã«ããžã¿ã«çœ²åãçæãããŸãã ç§å¯éµã䜿çšããã«çœ²åãçæããããšã¯ã§ããŸãããã誰ã§ã察å¿ããå ¬ééµã䜿çšããŠçœ²åãæ€èšŒã§ããŸãã ãã®ããã«ããŠãã¡ãã»ãŒãžãå¿ èŠãªãµãŒããŒãŸãã¯äººã«ãã£ãŠæ£ç¢ºã«éä¿¡ããããåœç©ãã§ã¯ãªãããšã確èªã§ããŸãã ãããã³ã«ïŒ RSA ã DSA ã ECDSA ã GOST R 34.10-2001
- 2ã€ã®ããŒãã£ãŒãããããã£ã³ãã«ã®äžã«äŒããªãã§å ±éã®ããŒKãçæã§ãããããã³ã«ããããŸã ã ãããã³ã«ã®äŸã¯ã Diffie-Hellman Key Exchange Protocol ïŒä»¥éãç°¡æœã«ããããã«åã«Diffie-HellmanïŒã SRPã§ãã ããšãã°ãæåã®ãã®ã¯çŸåšäººæ°ã®ããOpenIDã·ã¹ãã ã§äœ¿çšãããŠããŸãã
- ããã¹ããåºå®é·ã®ãããã»ããã«ãããã³ã°ããããã·ã¥é¢æ°ããããŸãã åãããã·ã¥ãæã€2ã€ã®ããã¹ããèŠã€ããäœæ¥ã¯ãéåžžã«é£ããããšèããããŠããŸãã äŸïŒ MD5 ïŒãã§ã«ãå£ããŠãããïŒã SHA-1 ã SHA-256 ã GOST R 34.11-94
- ããã·ã¥ã¡ãã»ãŒãžèªèšŒã³ãŒã ïŒHMACïŒã³ãŒããååšããŸãã ããã¯ã¡ãã»ãŒãžãšããŒã®é¢æ°ã§ãããåºåã§åºå®é·ã®ããã·ã¥æååãæäŸããŸãã äž¡åŽã«ç§å¯éµKãããå Žåã¯ã察称æå·ã·ã¹ãã ã§ããžã¿ã«çœ²åãçæããæ¹æ³ãšããŠHMACæ©èœã䜿çšã§ããŸããããã¯ãéµãæã€2è ã®ã¿ãã¡ãã»ãŒãžã®çœ²åãçæããã³æ€èšŒã§ããããã§ãã
SSL / TLSããã³HTTPS
ãçžäºäœçšã®ã»ãã¥ãªãã£ãã«ã€ããŠèšãã°ãåççãªïŒããïŒè³ªåãããããšãã§ããŸãããã®ãã¹ãŠïŒèªèšŒãæŽåæ§ãµããŒããæå·åã¯SSL / TLSïŒHTTPSïŒã«ãããŸãã ãªãä»ã®äœããå¿ èŠãªã®ã§ããïŒ
ãããã£ãŠãçè«ãžã®2çªç®ã®äœè«ã¯ãSSL / TLSããã³HTTPSãäœã§ããããç°¡åã«æãåºãããããšã§ãã
SSL ïŒ Secure Socket Layer ïŒ ãããã³ã«ãšãã®ãåå«ã TLS ïŒ Transport Layer Security ïŒã¯ãå®å šãªã¯ã©ã€ã¢ã³ããµãŒããŒéä¿¡ã®å¿ èŠæ§ã«å¿ããŠéçºãããŸããã ãããã³ã«ã¯OSIã¢ãã«ãã©ã³ã¹ããŒãå±€ã§åããŸãã é©åã«äœ¿çšããã°ãã¯ã©ã€ã¢ã³ããšãµãŒããŒéã®æå·åãããæ¥ç¶ã確ç«ã§ããŸãã ãããã³ã«ã¯ãäž¡æ¹åã«éä¿¡ãããã¡ãã»ãŒãžã®å€æŽããã³èªã¿åãããä¿è·ãããŸãã ãŸãããã®ãããã³ã«ã«ãããã¯ã©ã€ã¢ã³ãïŒç§ã¯ç¹°ãè¿ã䜿çšããŠããŸãïŒããäžæ£ãªãµãŒããŒã§ã¯ãªãé©åãªãµãŒããŒãšã®æ¥ç¶ã確ç«ããããšã確èªã§ããŸãïŒèšãæãããšãã¯ã©ã€ã¢ã³ãã¯ãµãŒããŒãèªèšŒã§ããŸãïŒã ã¯ã©ã€ã¢ã³ããžã®èªèšŒãèš±å¯ãããã€ãŸãåæ¹åèªèšŒãæäŸããå€æŽããããŸãã
HTTPS ïŒ HTTP Secure ïŒã¯åãHTTPã§ãããSSL / TLSã§ä¿è·ããããã£ãã«ãä»ããŠéä¿¡ãããŸãã
äžå®å šãªå®è£ ã«SSL / TLSãã£ãã«ãååšãããšããããšã¯ããã€ã³ããšãªã¢ãŒããµãŒããŒéã®æ¥ç¶ããæ å ±ã®ãªãã¹ã³ãšçœ®æã®èŠ³ç¹ããååã«ä¿è·ããããããã³ã«ãééããããšãæå³ããã ãã§ããããšãç解ããããšã¯éåžžã«éèŠã§ãã ããããããã¯ãªã¢ãŒãåŽããŸãã«ããªããé£çµ¡ãããã£ããã®ã§ãããšç¢ºä¿¡ãããŸã§äœãæå³ããŸããã ããã¯ããªã¢ãŒãããŒãã£ã®èšŒææžãäºåã«ç¥ãããŠããŠä¿¡é ŒããŠããå ŽåããŸãã¯ã»ãã¥ãªãã£ã§ä¿è·ãããŠããªããã£ãã«ãä»ããŠããµãŒãããŒãã£ããšåŒã°ããåã蚌ææžãåãåã£ãå Žåã«ã®ã¿ç¢ºèªã§ããŸã 蚌ææ©é¢ãŸãã¯CA åæã«ã眲åãæ€èšŒããããã«äœ¿çšãããCAå ¬éããŒã¯ãå®å šã§ãªããã£ãã«ãä»ããŠéä¿¡ãããå¿ èŠããªãããã«ãäºåã«ç¥ã£ãŠããå¿ èŠããããŸãã ããšãã°ããã©ãŠã¶ã§ãã®ã»ãã¥ãªãã£ãã©ã®ããã«ç¢ºä¿ããŠããŸããïŒ ã¡ã€ã³CAã®èšŒææžïŒæãæåãªãã®-COMODOãVeriSignãGo DaddyãThawteãªã©ãæ°ååãããªãïŒã¯äºåã«ãã©ãŠã¶ã«çµã¿èŸŒãŸããŠããŸãã
ãããŠãããªãã®ãµãŒãã¹ã®ã³ãŒãã§èšŒææžãæ€èšŒããæ¹æ³ã¯ïŒ äºåã«èšŒææžããæã¡ã®å Žåããããè¡ãã®ã¯éåžžã«ç°¡åã§ãïŒããšãã°ãPHPããã°ã©ããŒã¯curl_setopt ïŒïŒããªãã·ã§ã³CURLOPT_CAINFOããã³CURLOPT_CAPATHã®æ¹åãèŠãããšãã§ããŸãïŒã ãã®ããã«ããŠãWebMoneyãµãŒããŒãšã®çžäºäœçšã³ãŒãã§æ¥ç¶ãä¿è·ãããŸãã äºåã«CAãµãŒããŒãç¥ããªãå ŽåãããŸããŸãªCAã®èšŒææžã®ã³ã¬ã¯ã·ã§ã³ãèªåã§éžæããŠç¶æããå¿ èŠããããããå®éã«ãã®ãããªãã§ãã¯ãè¡ãããšã¯ããå°é£ã§ãã
å®éã«ã¯ãã³ãŒãã§ã®èšŒææžã®æ€èšŒã¯å®è¡ãããªãããšãå€ãã ãµãŒããŒã®ãªãããŸã æ»æãŸãã¯äžéè ïŒMITMïŒæ»æãšãã2ã€ã®æ»æã®ããããã«ã€ãªããå¯èœæ§ããããŸã ã åŸè ã¯ããŠãŒã¶ãŒïŒAïŒãšå®å ãµãŒããŒïŒBïŒã®éã«å¥ã®ãµãŒããŒïŒMïŒãããããšãæå³ããŸãã ããªãïŒAïŒã¯ãBãšã®æ¥ç¶ã確ç«ãããšèããŠãMãšã®å®å šã«å®å šãªæ¥ç¶ã確ç«ããŸãããã®åŸãMã¯Bãšã®å®å šãªæ¥ç¶ã確ç«ããèŠæ±ã圌ãšããªãã«è¿ããŸãã ãããã£ãŠãMã¯ã€ã³ã¿ã©ã¯ã·ã§ã³A-Bããªãã¹ã³ããéä¿¡ãããã¡ãã»ãŒãžãä¿®æ£ããããšããã§ããŸãã
è«ççãªåé¡ã¯ããµãŒããŒã¹ããŒãã£ã³ã°ãšãäžéè ãã®æ»æãå®éã«ã©ãã ãå®è¡å¯èœããšããããšã§ãã
ãããããçžäºäœçšãããµãŒããŒãäž¡æ¹ãšãæ·±å»ãªããŒã¿ã»ã³ã¿ãŒã«ããå ŽåïŒãããŠãã¡ãããµãŒããŒèªäœããããã³ã°ãããŠããªãå ŽåïŒããã®ãããªæ»æã®å®è£ ã¯éåžžã«å°é£ã§ãã ãµãŒããŒãäŒæ¥ã倧åŠããŸãã¯ããŒã ãããã¯ãŒã¯ïŒæé©ãªæ¹æ³ã§èšèšãããŠããªãïŒã«ããå Žåã ARPæ»æã«ãããæ»æè ã¯ãããã¯ãŒã¯ãåºå ¥ããããã¹ãŠã®ãã©ãã£ãã¯ãèªåèªèº«ã§å®å šã«èªå°ã§ãããããã®æ»æã¯ãã¹ãŠéåžžã«ãªããŸããã å®è¡å¯èœã
ããã§ããªãSSL / TLSã«å¿ ãããæºè¶³ããŠããªãã®ãã
- ã¢ããªã±ãŒã·ã§ã³ã³ãŒãã§ã®ã©ã³ãã ãµãŒããŒèªèšŒã®è€éãã ãã®çµæããMan in the Middleãæ»æã«å¯Ÿããä¿è·ãªãã§ããããã³ã«ãéšåçã«äœ¿çšããŸãã
- äžæ¹åèªèšŒïŒã¯ããåæ¹åèªèšŒã®ããã®ãããã³ã«å€æŽããããŸãããããã¯ããŸã䜿çšãããããã¹ãŠã®ããã°ã©ãã³ã°èšèªãæ¢è£œã®ãœãªã¥ãŒã·ã§ã³ãç°¡åã«èŠã€ããããšãã§ããããã§ã¯ãããŸããïŒã
- ããã«ãSSL / TLSã¢ãŒããã¯ãã£ã§ã¯ãéä¿¡è ã®ããžã¿ã«çœ²åä»ãã®ã¡ãã»ãŒãžãä¿åããããšã¯èš±å¯ãããŠããªããããåŸã§ããã䜿çšããŠãã¡ãã»ãŒãžãå®éã«äœæè ã«ãã£ãŠéä¿¡ãããããšã蚌æã§ããŸãïŒã€ãŸããéäœæè ã«å¯Ÿããä¿è·ãæ©èœããŸããïŒã
ã»ãã¥ãªãã£ãå®è·µãã
ããã§ã¯ãå°ãã®éã å®å šãªçžäºäœçš ãã«æ»ãã瀺ãããã€ã³ããå®éã«ã©ã®ããã«å®è£ ãããŠããããèŠãŠã¿ãŸãããã
1. èªèšŒã«ã¯ãéåžžãããã°ã€ã³-ãã¹ã¯ãŒãããã¢ããŸãã¯äœããã®æ¹æ³ã§çæãããããžã¿ã«çœ²åã䜿çšããŸãã
2.ã¢ããªã±ãŒã·ã§ã³ã«ãã£ãŠçæãããSSL / TLSããã³ããžã¿ã«çœ²åã¯ã ããŒã¿ã®æŽåæ§ãæ€èšŒããããã«äœ¿çšãããŸã ã
3.ããŒã¿ãæå·åãããããã€ãŸãæ©å¯æ§ã確ä¿ããããã«ãã»ãšãã©ã®ã·ã¹ãã ã¯SSL / TLSã䜿çšããŸãïŒèªå·±æå·åããŒã®äŸããããŸãããããŒã¿ã¯ãç¬èªã®ãæ¹æ³ã§æå·åãããããšã¯æ¯èŒçãŸãã§ãïŒã
WebãµãŒãã¹ãšããã°ãã»ãšãã©ã®å ŽåSSL / TLSãHTTPSãšããŠäœ¿çšãããŸãã
ä¿è·ãããã¢ããªã±ãŒã·ã§ã³ã®çš®é¡
æçµçã«ãããã³ã«ãžã®æ»æã«ç§»ãåã«ãèšèšãããã·ã¹ãã ãæ©èœããå¶éã«ã€ããŠè©±ãå¿ èŠããããŸãã å®å šãªçžäºäœçšã®åé¡ãèæ ®ã§ãã3ã€ã®äž»èŠãªã¿ã€ãã®ã¢ããªã±ãŒã·ã§ã³ã«èšåããããšæããŸãã
1. çžäºäœçšãã2ã€ã®åœäºè ã¯ãä¿èšŒãããå®å šãªãã£ãã«ã§å¿ èŠãªæ å ±ãäºå亀æããæ©äŒããããŸã ãå ±æããŒã蚌ææžããã¹ã¯ãŒããªã©ã§ãã ãã®ãããªãã£ãã«ã¯ã人ã ã®éã§å¿ èŠãªæ å ±ãçŽæ¥éä¿¡ããããšïŒäœãããïŒã代æ¿éä¿¡ãã£ãã«ïŒã¢ãã€ã«éä¿¡ãé»è©±ïŒãããã«ã¯ã€ã³ã¿ãŒãããã§ããäž¡åœäºè ããäžéè ããŸãã¯ã¡ãã»ãŒãžãååãŸãã¯å€æŽããå¥ã®æ¹æ³ããªããšç¢ºä¿¡ããŠããå Žåã§ãã
2. éäžåã¢ãŒããã¯ã㣠ã 2è ããšã«äºåã«åæããæ©äŒã¯ãããŸãããããããã¯ãŒã¯ã¡ã³ããŒã¯ãçžäºäœçšããåœäºè ã®èšŒææžã«çœ²åãããã®æå¹æ§ãä¿èšŒãã第äžè ãä¿¡é ŒããŸãã äŸãšããŠã¯ãå ¬éããŒåºç€ïŒPKIïŒããŸãã¯ããã€ãã®æ³šæäºé ããããŸããããã©ãŠã¶ãŒãæéæ°ã®èšŒææ©é¢ïŒCAïŒãä¿¡é Œããã®ãšåãã€ã³ã¿ãŒãããã§ãããããã«åºã¥ããŠãé©åãªãµã€ããšå¯Ÿè©±ããããšã確èªã§ããŸãã
3. åæ£ã¢ãŒããã¯ã㣠ã ãã®ãããªã¢ããªã±ãŒã·ã§ã³ã§ã¯ãåäžã®ãµãŒãããŒãã£ã¯ãããŸããã ãã®ãããªã¢ãŒããã¯ãã£ã®äž»ãªã¿ã¹ã¯ã¯ãåã人ã2åç®ã«æ¥ãããšã確èªããããšã§ããããšãç解ããããšãéèŠã§ãã ã€ãŸãã誰ããæåã«èªèšŒã§ããããã«ãããšãïŒããšãã°ãOpenIDããµããŒããããµã€ãã§ã¯ã誰ã§ãèªèšŒã§ããŸãïŒã ããã«ãã·ã¹ãã ã«äœããã®è²¢ç®ããããšããŸããããšãã°ãã¡ãã»ãŒãžãæžãããšããŸãã 次åããã«æ¥ããšãããµã€ãã¯ãã®ã¡ãã»ãŒãžãç·šéããããã®ã¢ã¯ã»ã¹æš©ãããªãïŒãããŠããªãã ãïŒã«äžããå¿ èŠããããŸãã ãããã³ã«ã®äŸïŒOpenIDãOAuthããã¢ããŒãã¢ãããã³ã«ã
æ»æãšé²åŸ¡
ãããŠæåŸã«ããããã³ã«ã§å®è¡ãããäž»ãªçš®é¡ã®æ»æãšããããããããã³ã«ããã©ã®ããã«ä¿è·ãããããèŠãŠã¿ãŸãããã
1.ã¡ãã»ãŒãžã®äœæè ãŸãã¯ä¿¡é Œæ§ã®æ€èšŒã®æ¬ åŠ
å€ãåè«ãæãåºãããŠãã ããã ããã°ã©ãã³ã°ã«ã¯ã2çš®é¡ã®ãšã©ãŒããããŸããå ¥åããŒã¿ã®æ€èšŒäžè¶³ãšãã®ä»ã®ãšã©ãŒã§ãã
ãµã€ãAããã¡ãã»ãŒãžMãåä¿¡ããå Žåã次ã®ããšã確èªããå¿ èŠããããŸããaïŒã¡ãã»ãŒãžãå®éã«Aããéä¿¡ããããã®ã bïŒAãã¡ãã»ãŒãžMãæ£ç¢ºã«éä¿¡ããéäžã§å€æŽãããªãã£ãããšã
éèåè åãã«èšèšããããããã³ã«ã®äŸã¯ã Assistæ¯æãã·ã¹ãã ãšãªã³ã©ã€ã³ã¹ãã¢ãšã®çžäºäœçšã®ããã®ãããã³ã«ã§ã ã Assistã®ãµãŒããŒã§è³Œå ¥ä»£éãæ¯æã£ãåŸããŠãŒã¶ãŒã¯URL_RETURN_OKã¢ãã¬ã¹ã«æ»ããŸãããã®ã¢ãã¬ã¹ã¯å¹³æã§éä¿¡ããããŠãŒã¶ãŒè³Œå ¥è ãå€æŽã§ããŸãã ã€ãŸãããŠãŒã¶ãŒã¯ãªã³ã©ã€ã³ã¹ãã¢ãžã®è³Œå ¥ä»£éãæ¯æã£ãåŸã«æ»ã£ãŠããŠããããããšãã$ 1000ã®æ¯æããããã ãã§ãããšèšããŸãããã¹ãã¢ã¯ãããæ£ããããšã確èªããæ¹æ³ããŸã£ãããããŸããã åŸã«ãªã£ãŠããããŒãžã£ãŒã®æã«ãã£ãŠããŸãã¯èªåçã«ïŒãã ãã10åéã«1åãè¶ ããªãããã«ïŒïŒãæ¯æããæ¬åœã«ééããããšã確èªã§ããŸãã ã¡ãªã¿ã«ãAssistã®ãããã³ã«ã¯4幎以äžå€æŽãããŠããŸããã ãããŠãããžã¿ã«çœ²åãè¿œå ããã ãã§ãã
ãããã£ãŠãã¡ãã»ãŒãžã®äœæè ãšæŽåæ§ãæ€èšŒããæ¹æ³ã
- ç§å¯éµãšå ¬ééµã®ãã¢ã«åºã¥ããããžã¿ã«çœ²åã䜿çšããŸãã ããã¯ããããæãä¿¡é Œæ§ãé«ããæ±çšæ§ã®é«ãïŒã€ãŸããããããæ¡ä»¶ã§åäœããïŒæ¹æ³ã§ãã å ¬ééµã¯ãäºåã«åä¿¡åŽã«éä¿¡ã§ããŸãïŒä»æ¥ã®WebMoney ã Cyberââplat ã OAuthãªã©ãå€ãã®äººããã®æ¹æ³ã䜿çšããŠããŸãïŒã ãŸããå ¬éããŒã¯åŸã§å®å šã§ãªãæ¥ç¶ãä»ããŠååŸãã蚌ææ©é¢ïŒCAïŒèšŒææžã䜿çšããŠæ€èšŒã§ããŸãã ãã®æ¹æ³ã¯ã倧äŒæ¥ã§äœ¿çšãããå ¬éããŒåºç€ïŒPKIïŒã®æ©èœã®åºç€ãšãªããŸãã
- å ±ééµKãçæãããŸããããšãã°ã Diffie-Hellmanãããã³ã«ãªã©ã«åºã¥ããŠãã¡ãã»ãŒãžã®çœ²åã«äœ¿çšãããŸãïŒããšãã°ã HMAC-SHA1ã䜿çšïŒã OpenIDã§äœ¿çšãããŸãã
- ã¡ãã»ãŒãžã®æŽåæ§ãéèŠã§ã¯ãªããäœæè ã®ç¢ºèªã®ã¿ãéèŠãªå Žåãããã°ã€ã³-ãã¹ã¯ãŒãããŸãã¯ã·ãŒã¯ã¬ããè¡ã®ãã¢ã䜿çšããŠãä¿è·ããããªãœãŒã¹ã«ã¢ã¯ã»ã¹ããããšããããŸãã ããšãã°ã Flickr㯠ããŠãŒã¶ãŒåãšãã¹ã¯ãŒããå«ãèŠæ±ã«å¿ããŠãXML-RPCãããã³ã«ã䜿çšããŠåçãéä¿¡ããŸãã reCAPTCHAã·ã¹ãã ã§ã¯ããŠãŒã¶ãŒãå ¥åããCAPTCHAã³ãŒããæ€èšŒããç§å¯ã®æååã§æ€èšŒè ãèªèšŒã§ããŸãã ãã®æ¹æ³ã¯ãåçŽã§ã¯ãããŸãããã¡ãã»ãŒãžã®ååã«ãããã¹ã¯ãŒããæããã«ãªããå°æ¥ãæ»æè ãããªãã«ä»£ãã£ãŠèªç±ã«ãªã¯ãšã¹ããéä¿¡ã§ãããšããç¹ã§éåžžã«æªãããšãç解ããå¿ èŠããããŸãã ããžã¿ã«çœ²åã䜿çšããå Žåãã¡ãã»ãŒãžãååããŠãæ»æè ã¯äœãã§ããŸããã
- ã¡ãã»ãŒãžèªèšŒã«ã¯ãããç°¡åãªïŒãµãŒããŒã®ãªãããŸããäžéè ã«å¯Ÿããä¿è·ã¯ãããŸãããïŒæ¹æ³ããããŸãã ããšãã°ã PayPalã® å³ææ¯æãéç¥ ïŒIPNïŒãããã³ã«ã§ã¯ããµãŒããŒãæ¯æã確èªãåãå ¥ããŠãã æ¬åœã«éä¿¡ããŸãããïŒããšãã質åãšãšãã«ã¡ãã»ãŒãžã®ã³ããŒããµãŒããŒã«éä¿¡ããå¿ èŠããããŸããïŒ åæ§ã®æ¹æ³ãOpenIDãããã³ã«ã§äœ¿çšãããŸããïŒéæšå¥šã¢ãŒãã§äœæ¥ããŠããå ŽåïŒãã¡ãã»ãŒãžãè¿ãããã ãã§ãªããããžã¿ã«çœ²åä»ãã®ã¡ãã»ãŒãžãè¿ããããªã¯ãšã¹ãã¯æ¢ã«ã ãã®ããžã¿ã«çœ²åãå ¥ãããã©ãããç¢ºèª ãã®ããã«èŠããŸã ã åæ§ã®ã¹ããŒã ãOpenAuthã§æ©èœããŸã ã ãã®ã¢ãããŒãã®å©ç¹ã¯ãçåŽãŸãã¯äž¡åŽã«æå·åã¢ã«ãŽãªãºã ãå®è£ ããå¿ èŠããªãããšã§ãã
- ããã«ã㵠㯠ãããžã¿ã«çœ²åãçæããç¬èªã®æ¹æ³ãèæ¡ ããŸãããããžã¿ã«çœ²åã¯ãã¡ãã»ãŒãžãšç§å¯ãã¹ã¯ãŒãã®MD5ããã·ã¥é¢æ°ãšããŠåœ¢æãããŸãã ãã®æ¹æ³ã¯ããã¹ã¯ãŒããååã«åŒ·åã§ãªããã°ãªããªããšããçç±ã ãã§ãæ éã«æ±ãå¿ èŠããããŸãã ãã¹ã¯ãŒããçãå Žåãããã«ãã¹ã¯ãŒãã人ã«ãã£ãŠéžæãããå Žåããã¹ã¯ãŒãã解èªããããšã¯ããã«ãŒã«ãšã£ãŠç°¡åãªäœæ¥ã§ãã
2. HTTPSã®ä¿¡é Œæ§ãé¡ã£ãŠããŸãã
åè¿°ã®ããã«ãã¢ããªã±ãŒã·ã§ã³ãæ¥ç¶ããä»»æã®ãµãŒããŒã®HTTPSãããã³ã«å ã§ã®èªèšŒã®å®è£ ã¯ãããªãé£ããã¿ã¹ã¯ã§ãã äžèšã§è©³çŽ°ãæ€èšŒããŸããããç°¡åãªçµè«ã¯ç°¡åã§ãããµãŒããŒèšŒææžã®èªèšŒãªãã§ãHTTPSã®æå³ããŒãã«æžããããšãã§ããŸãã
åæ£åã®èªèšŒãããã³ã«ã¯ãããŸãã-OpenIDãOpenAuthãOAuthã¯ããµãŒããŒã®ãªãããŸãæ»æãäžéè ããä¿è·ãããŠããŸãã å Žåã«ãã£ãŠã¯ãæ¯æãã·ã¹ãã ïŒPayPalãAssistïŒãåæ§ã®æ¹æ³ã§æ»æãããå¯èœæ§ããããŸãã ãã®çµæãå®éã«ã¯çºçããŠããŸããããæ¯æããçºçããããšããªã³ã©ã€ã³ã¹ãã¢ã¢ããªã±ãŒã·ã§ã³ã«çŽåŸãããããšãã§ããŸãã
HTTPSæ¥ç¶ã確ç«ãããµãŒããŒã«äž»èŠãªã€ã³ã¿ãŒãããCAïŒVeriSignãCOMODOãªã©ïŒã®ååãªæ°ã®èšŒææžãããã°ããã®æ»æãä¿è·ã§ããããšãå床匷調ããŸãããå®éã«ã¯å®è£ ãé£ããå ŽåããããŸãã
ãããŠç§ã¯ã åæ£ã·ã¹ãã ã®å Žåãããã¯æ ¹æ¬çã«äžæº¶æ§ã®åé¡ã§ããããšã匷調ããŸã ã ç§ãã¡ã®åé¡ïŒäžèšãåç §ïŒã«å±ããåçšæ¯æãã·ã¹ãã ã§ã¯ãåœäºè ãã äºåã«åæããã ããšãã§ããã·ã¹ãã ã«å¯Ÿå¿ããŠããŸããããã®æ»æã¯é©åãªãããã³ã«èšèšã«ããé²æ¢ãããŠããŸãã ãã®ãããªå®è£ ã®äŸã¯WebMoneyã§ã ãããã¯ãHTTPSæ¥ç¶ãèªèšŒããããã®èšŒææžãæäŸããŸãã ïŒ ã¯ãããã€ããããè¡ãããã§ã -ç§ãä¿®æ£ããŠãã ããïŒã
3.ãMan in the Middleããæ»æããŸãïŒMan in the MiddleãMITMïŒã
HTTPSãããã³ã«ã®MITMæ»æã調ã¹ãŸããã ãã ããä»ã®ãããã³ã«ããã®ã¿ã€ãã®æ»æã«å¯ŸããŠè匱ã§ãã
ãã®äŸã¯ãOpenIDã§äœ¿çšãããDiffie-Hellmanã§ãã äžèšã®ããã«ããã®æ¬è³ªã¯ãAãšBã®2ã€ã®ããŒãã£ã«ããå ±æããŒKã®çæã«ãããŸãããããããã©ãã£ãã¯ãå€æŽã§ããäžéïŒMïŒãããå ŽåãAãMã§ããŒãçæããããšãããããŸãã K1ãããã³B-Mãšå ±æãããããŒK2 ãã®çµæããThe Man in the Middleãã¯ãããããæ¹åã«åããããããããŒã¿ã«çœ²åããŠèªã¿åãããšãã§ããŸãã
ãã¡ãããã¯ã©ã€ã¢ã³ããšãµãŒããŒïŒOpenIDãããã€ããŒãšèšŒææžå©çšè ïŒãå®å šãªèšŒææžæ€èšŒã䜿çšããŠHTTPSçµç±ã§éä¿¡ããå ŽåãOpenIDã§ã¯ãã®ãããªæ»æã¯æ©èœããŸããã
4.ãªãŒãã³ãã£ãã«ãä»ããç§å¯éµã®éä¿¡ã
å€ãã®éçºè ã¯ãç§å¯éµã®æ¬è³ªãç解ããŠããŸããã å ¬ééµã䜿çšããã€ã³ãã©ã¹ãã©ã¯ãã£ã®ãã¹ãŠã®ã»ãã¥ãªãã£ã¯ãçžäºäœçšããåœäºè ãç¡æ¡ä»¶ã«èª°ããä¿¡é Œã§ãããšããäºå®ã«åºã¥ããŠããŸãã 2çªç®ã®ãµãŒããŒããµãŒãããŒãã£-ããã¯éèŠã§ã¯ãããŸããã ååãšããŠããä¿¡é Œãã®åé¡ã¯ãã¡ãã»ãŒãžå å ¥è ã®å ¬ééµã䜿çšããããžã¿ã«çœ²åã®æ€èšŒã«ããã£ãŠããŸãã ãã®å ¬éããŒïŒèšŒææžïŒãå®å šã§ãªããã£ãã«ãä»ããŠéä¿¡ãããéäžã§å€æŽãããå Žåããã¹ãŠã®ã»ãã¥ãªãã£ãã¯ã©ãã·ã¥ããå¯èœæ§ããããŸãã
ãæ·±å»ãªãäŒæ¥ã«ã¯ããã®ããŒã®è»¢éãä¿ç®¡ãæŽæ°ãæ åœããç¹å¥ãªäººãããŸãã 転éã¯éåžžãä¿¡é Œã§ããå® é æ¥è ãéããŠãªãã©ã€ã³ã§è¡ãããŸãã
æ¯æãã·ã¹ãã çšã®ãããã³ã«ãäœæããŠããå Žåããªãã£ã¹ã§å¥çŽæžã«çœ²åãããšãã«ããµãŒããŒã®å ¬ééµããªã³ã©ã€ã³ã¹ãã¢ã®ææè ïŒãã£ã¹ã±ãããŸãã¯ãã©ãã·ã¥ãã©ã€ãïŒã«å人çã«è»¢éããããšãçæ³çã§ãã ã¯ããäœããã®çç±ã§ãããã¯åžžã«å®è¡å¯èœã§ã¯ãããŸããã ãããã£ãŠãå€ãã®å Žåã蚌ææžã¯ã€ã³ã¿ãŒãããçµç±ã§é åžãããŸãã ãã ãããã®å ŽåãããŒã®ãªãããŸããé²ãããã«ãèãããããã¹ãŠã®å¯Ÿçãè¬ããå¿ èŠããããŸãã é»åã¡ãŒã«ã§ããŒãéä¿¡ããããšã¯ã§ããŸããã HTTPçµç±ã§ããŠã³ããŒãããããšã¯ã§ããŸãã-HTTPSã®ã¿ã ãµã€ãã«ã¯ãããŠã³ããŒããããæ å ±ã®ç¢ºèªã«é¢ããæ å ±ïŒããšãã°ãããŒããã®ããã·ã¥ã䜿çšããŠãã®ä¿¡é Œæ§ãæ€èšŒããïŒãå«ããå¿ èŠããããŸãã
5.ãªã¯ãšã¹ããåéä¿¡ããŸãã
2ã€ã®äŸã䜿çšããŠããã®ã¿ã€ãã®æ»æãæ€èšããŸãã
äŸ1ïŒæ¯æãã·ã¹ãã ã ç«æŽŸãªãµãŒããŒã§ããç§ããæ¯æã·ã¹ãã ãéããŠ10ãã«ãééããããšããŸãã åæã«ãHTTPãŸãã¯ãäžæ£ãªãHTTPSïŒèšŒææžã®æ€èšŒãªãïŒã䜿çšããŠãæ¯æãã·ã¹ãã ãµãŒããŒã«æ¥ç¶ããŸãã æ£çŽã«ãªã¯ãšã¹ããäœæãã蚌ææžã§çœ²åããŸãã å察åŽããªã¯ãšã¹ããåãåããç§ã®10ãã«ãåå人ã«éãããŸãã ããããç§ã¯ãªãŒãã³ãããã³ã«ã䜿çšããŠãããããæ»æè ã¯ãµãŒããŒãžã®ãªã¯ãšã¹ããèªã¿åãããšãã§ããŸããã ãã®æ»æè ãç§ãå°ç¡ãã«ãããå Žåã圌ã¯åããªã¯ãšã¹ããæ¯æãã·ã¹ãã ãµãŒããŒã«å床éä¿¡ããŸãã ãµãŒããŒã¯çœ²åãæ€èšŒãïŒãæ£ããããµãŒããŒã«ãã£ãŠåœ¢æãããããæ£ããïŒãä»ã®$ 10ãã¢ã«ãŠã³ãããåŒãèœãšãããŸãã
äŸ2ïŒOpenIDãããã³ã«ã OpenID Authentication 1.1ãããã³ã«ã«ã¯ã次ã®è匱æ§ããããŸããã æ»æè ãOpenIDã¯ã©ã€ã¢ã³ãïŒRelying PartyïŒãšãšã³ããŠãŒã¶ãŒã®çžäºäœçšãèããå Žåããã°ãããããšãOpenIDã䜿çšããŠRelying Partyã§ãã®ãŠãŒã¶ãŒã®åèªèšŒãéå§ã§ããŸãã ãã®å ŽåããŠãŒã¶ãŒããµã€ãã蚪åãããšããèšé²ãäŸåããŒãã£ã®ãã°ã«è¡šç€ºãããŸãã ç¹ã«è»œçãªå®è£ ã®å Žåãæ»æè ã¯ãã®ãŠãŒã¶ãŒãšããŠèªèšŒããããå¯èœæ§ããããŸãã ã¯ããããã«å¯Ÿããä¿è·æ¹æ³ããããŸããããããã³ã«ã§å¿ é ãšå®£èšãããŠããŸããã
ãã®è匱æ§ã¯OpenID Authentication 2.0ã§ä¿®æ£ããããµãŒããŒïŒOpenIDãããã€ããŒïŒãšã¯ã©ã€ã¢ã³ãïŒäŸåããŒãã£ïŒã®äž¡æ¹ã®åäœã«å€æŽãå ããããŸããã OpenIDèªèšŒãããã³ã«ã«ç²ŸéããŠããèªè ã«ã¯ãç解ããããã®ã¿ã¹ã¯ãææ¡ããŸãããµãŒããŒãå€æŽã§ããªãå Žåã«ãOpenIDã¯ã©ã€ã¢ã³ãããŒãžã§ã³1.1ã§ãã®ãããªä¿è·ãå®è£ ããæ¹æ³ãæããŠãã ããã
ãã®ã¿ã€ãã®æ»æããä¿è·ããã«ã¯ãããã€ãã®æ¹æ³ããããŸãã
- ããšãã°ã Cyberââplatã§ã¯ãåãªã¯ãšã¹ãã«äžæã®ã»ãã·ã§ã³çªå·ãæ¿å ¥ãããã顧客ã«èŠæ±ããŠããŸãã ãã®äžæã®çªå·ã¯ãåèªnonce ïŒNumber used ONCEïŒãšãåŒã°ããŸãã åãã»ãã·ã§ã³çªå·ãæã€2ã€ã®èŠæ±ãæ¯æãã·ã¹ãã ã¯åŠçãæåŠããŸãã ãŸããæ»æè ã¯ã»ãã·ã§ã³çªå·ãå€æŽã§ããŸãããããã¯ãå€æŽãããã¡ãã»ãŒãžã«å¯ŸããŠæ£ããããžã¿ã«çœ²åãçæããæ©äŒããªãããã§ãã
- ãŸãããªã¯ãšã¹ãã«çŸåšã®æå»ã®ã©ãã«ãæ¿å ¥ããããšã«ãããæéä¿è·ã䜿çšããããšãã§ããŸãã ãå€ãããªã¯ãšã¹ãã¯åæãããŸãã
- OpenID 2.0ã¯ããããã®äž¡æ¹ã®æ¹æ³ã䜿çšããŠããã®ã¿ã€ãã®æ»æããä¿è·ããŸãããã³ã¹ã«ã¯ãçŸåšã®æå»ãšïŒãªãã·ã§ã³ã§ïŒã©ã³ãã ãªæååãå«ãŸããŸãã
6.説æãå®å šãªãã®ã«ããããã«ïŒæã«ã¯å¿ããããããšããããŸãïŒãåœããåã®ããšãèšåãã䟡å€ããããŸãã ã·ã¹ãã ããã¹ã¯ãŒããŸãã¯ããŒã®ã»ãã¥ãªãã£ã«åºã¥ããŠæ§ç¯ãããŠããå Žåããã®ããŒã¿ã¯ç¢ºå®ã«ä¿è·ããå¿ èŠããããŸãã å ±æãã¹ãã£ã³ã°äžã®ãã¹ãŠã®ãã¡ã€ã«ã«ã¢ã¯ã»ã¹ããããã®UNIXæš©é07XXãèšå®ãããšãããµãŒããŒãã€ããŒãã«ãã£ãŠèªã¿åããããã·ãŒã¯ã¬ããããä¿åãããŠããããŒã¿ããŒã¹ãžã®èšŒææžãã¡ã€ã«ãŸãã¯ãã¹ã¯ãŒããäœæãããå¯èœæ§ããããŸãã ãã¹ã¯ãŒããæš©éãã¢ã¯ã»ã¹å¶éã®èšå®ãå¿ããªãã§ãã ããã ãããã誰ãããããç¥ã£ãŠããã®ã§ïŒèª°ããç¥ã£ãŠããããã§ã¯ãããŸãããïŒãç§ã¯é·ãéåºããŸããã
7.å¥ã®ã¿ã€ãã®è匱æ§ã¯ããããã³ã«ãå®è£ ãããšãã«ããã°ã©ããŒã«ãã£ãŠäœæããããã®ã§ãã ç°¡åãªäŸãæããŸãããïŒå¹žããªããšã«ãæ·±å»ãªè匱æ§ã§ã¯ãããŸããïŒïŒ2幎åãOpenIDãµãŒããŒã®5ã€ã®æã人æ°ã®ããå®è£ ã®2ã€ã§ãéçºè ã¯life_timeïŒç§åäœã®ããŒã®æå¹æéïŒãšexpires_timeïŒç§åäœã®ããŒã®æå¹æéïŒã®æŠå¿µãæ··åããŸãã1970幎1æ1æ¥ïŒã ã³ãŒãã®ç¹ã«éèŠãªã»ã¯ã·ã§ã³ããããžã§ã¯ãã®ä»ã®åå è ãèŠãããšãã§ããããã«ããããšãæãŸããã§ãïŒOKãããããããµãããã®ã§ããïŒ-ãã®åŸãçµè«ã«é²ã¿ãŸãïŒã
çµè«
ãã®èšäºã§äŒãããã£ãäž»ãªã¢ã€ãã¢ã¯ãèè ãæåäŒæ¥ã§ãã£ãŠããç¹å®ã®ãããã³ã«ã®éçºè ã«äŸåããªãããšã§ãã èªåã§èããèªåã§æ±ºããŠãã ããã
å®è·µã«ã€ããŠå°ãã ãã§ãªããèšäºã®ç¯å²ãè¶ ãããã®ã«ã€ããŠãã
- å ¬éããŒåºç€ïŒPKIïŒã¯ããã®èŠæš¡ïŒç¹ã«ããããã³ã«ã®æ°ïŒã§é¡èãªãœãªã¥ãŒã·ã§ã³ã§ãã ããã¯ãããããTwitterã®ããã°èŠåºãçšã®èªåã¯ãã¹ãã¹ããµãŒãã¹ãäœæããããšãåŠã¶ã¹ããã®ã§ã¯ãããŸããã ãŸããåæ£ã·ã¹ãã ã«é¢ããŠã¯ãããããããã«ããªãã§ãããã ãã ãããã®å Žåã§ããäžè¬çãªçšèªãç¥ã£ãŠãããšäŸ¿å©ã§ãã ã€ã³ã¿ãŒãããX.509å ¬ééµã€ã³ãã©ã¹ãã©ã¯ãã£ïŒããŒããããããéå§ã§ããŸãã
- ãŸããä»æ¥ã§ã¯ãWebãµãŒãã¹ïŒäž»ã«SOAPäžã«ââæ§ç¯ïŒã®ã»ãã¥ãªãã£ã確ä¿ããããã«ãå€æ°ã®æšæºãéçºãããŠããŸãã ããã«ã€ããŠã¯å€ãã®èšäºãåãäžããããŠããŸãã ïŒããšãã°ã ã»ãã¥ãªãã£ã§ä¿è·ãããWebãµãŒãã¹ã¯å€ãã®é¢é£ãªã³ã¯ãåéããŸãããïŒãããã£ãŠããœãªã¥ãŒã·ã§ã³ãéçºããåã«ãæ¢åã®éçºã«æ £ãã䟡å€ããããããããŸããã