ã覧ããã ããããã¨ããããã¾ãã 涼ãããªã£ã¦ãã¾ããããçæ§ããããéããã§ããããï¼
åºåãé¢ä¿ãªãã·ã¹ãã ã¯ãµã¼ããã¼ãã£ã¯ããã¼ã¸ã®å½±é¿ã¯ãªãã¨æã£ã¦ããã®ã§å¯è³ã«æ°´ã ã£ãã®ã§ããã 社å ã·ã¹ãã ã«ã¦ããµã¼ããã¼ãã£ã¯ããã¼è¦å¶å½±é¿ããã±ã¼ã¹ãå¤æãã¾ããã
ã·ã¹ãã ã¸ã®å½±é¿ã大ãããã¨ãåãã£ãã®ã§ãç¾è±¡ããã³å½±é¿ã«ã¤ãã¦ã¾ã¨ãã¾ãã
ã¿ãªãã¾ã®å¯¾å¿ç¶æ³ã誤ã£ãè¨è¿°ã®ææãªã©ãã³ã¡ã³ããSNSã³ã¡ã³ããªã©ã§æãã¦ããã ãã¾ãã¨å¤§å¤åèã«ãªãã¾ãã
ãµã¼ããã¼ãã£ã¼ã¯ããã¼æ¦èª¬ãè¦å¶ã®çµç·¯ã¯ã¤ã³ã¿ã¼ãããä¸ã«è©³ããæ¸ããããã®ãããã®ã§ãã¡ããåç §ãã¦ãã ããã
æ¬æ ¼åãããµã¼ããã¼ãã£ã»ã¯ããã¼è¦å¶
Firefoxã§ã¯ãµã¼ããã¼ãã£ã¯ããã¼è¦å¶ãããã©ã«ãã§ãã¼ã«ã¢ã¦ãããã¦ãã¾ãã Safariã¯ä»¥åãããµã¼ããã¼ãã£ã¯ããã¼ãè¦å¶ãã¦ãã¾ãããChrome, Edgeã§ãè¦å¶ãã¢ãã¦ã³ã¹ããã¦ãã¾ãã
Chrome, Edge, Firefox, Safariã®è¦å¶ç¶æ³ãã¾ã¨ããã¨æ¬¡ã®ããã«ãªãã¾ãã
- Chrome: 2024 Q1ããè¦å¶éå§ãã¢ãã¦ã³ã¹ ãµã¼ããã¼ã㣠Cookie ã®æ®µéçå»æ¢ã¸ã®æºå
- Edge: Chromeã«åãï¼
- Firefox: è¦å¶æ¸ã¿ Firefox rolls out Total Cookie Protection by default to more users worldwide
- Safari: è¦å¶æ¸ã¿
ã©ãããç¾è±¡ãå ±åãããã®ï¼
ä»åã社å ã§å ±åãããå 容ã¯æ¬¡ã®ãããªãã®ã§ãããã©ã¦ã¶ã¯Firefoxã§ããã
ãµã¼ããã¼ãã£ã¯ããã¼è¦å¶åã¯ãSAMLã§ã®IdPâAã®éã§SSOãè¡ãã¨ãiframeã§åãè¾¼ã¾ããBã®ãµã¤ãã¸ãSSOãèªåçã«è¡ããã¦ãã¾ããã
ãµã¼ããã¼ãã£ã¯ããã¼è¦å¶å¾ã¯ãBã®ãµã¤ãã¸ã®èªåçSSOã失æããX-Frame-Options: deny
ã¨ã©ã¼ãåºã¦ãã¾ãã¾ãã
Bã§ã¯iframeã§åãè¾¼ã¾ãããã¨ãæ³å®ãã¦X-Frame-Optionsã¯åºåãã¦ãã¾ããã
ä½ãèµ·ãã£ãã®ã§ããããï¼
ããã説æããããã«Cookies Having Independent Partitioned State (CHIPS) ãç´¹ä»ãã¾ãã
CHIPSã¨ã¯ä½ãï¼
CHIPSã¯ããµã¼ããã¼ãã£ã¯ããã¼è¦å¶ã®ä»æ§ã§ãã
CHIPS以åã¯ãã¯ããã¼ã¯Domain, HttpOnly, Secureãªã©ã®å±æ§ã«å¾ã£ã¦èªã¿æ¸ãã®è¨±å¯ãè¡ããã¾ãã ãã®ä»æ§ã¯iframeã§åãè¾¼ã¾ãã¦ãã¦ãåæ§ã«èªã¿æ¸ãã®è¨±å¯ãå¾ãããã°åãããã«æ±ããã¦ãã¾ããã
CHIPS以å¾ã¯åãè¾¼ã¿å ã®æ å ±ãèªã¿æ¸ãã®è¨±å¯ã®å¤æã«å©ç¨ããã¾ãã ãã©ã¦ã¶ã§iframeãå©ç¨ããã«è¡¨ç¤ºããã¨ãã«è¨å®ãããã¯ããã¼ã¨iframeã§åãè¾¼ã¾ãããµã¤ãããè¨å®ãããã¯ããã¼ã¯å¥ç©ã¨ãã¦æ±ããã¾ãã ãã®åãè¾¼ã¿å ã®æ å ±ãç°ãªãã¯ããã¼ã®å¤ã¯èªã¿åããã¨ãã§ãã¾ãããæåéãCookies Having Independent Partitioned Stateã¨ããããã§ãã
å ±åãããç¾è±¡ãèµ·ããã¨ãã¯ããã¼ã¯æ¬¡ã®ããã«æ±ãããããã§ãï¼
- Aããã©ã¦ã¶ã§ç´æ¥éããæã«è¨å®ãããã¯ããã¼ã¯ (
https
,A
) ã¨ããåãè¾¼ã¿æ å ±ãæã¡ã¾ãã - iframeã使ã£ã¦Aã«åãè¾¼ã¾ããBã«è¨å®ãããã¯ããã¼ã¯(
https
,B
,A
) ã¨ããæ å ±ãæã¡åºå¥ããã¾ãã(https
,A
)ã®ã¯ããã¼ã®èªã¿æ¸ããè¡ãã¾ããã
å ±åãããç¾è±¡ã¯æ¬¡ã®ããã«èª¬æã§ãã¾ãï¼
- Aã«ãã°ã¤ã³ããããã«IdPã¨Aã®ãã°ã¤ã³ã¯ããã¼ãçæ
- Aã®ã¯ããã¼ (
https
,A
), IdPã®ã¯ããã¼ã (https
,IdP
) ã¨ãã¾ã
- Aã®ã¯ããã¼ (
- iframeã§åãè¾¼ã¾ããBã¯ãã°ã¤ã³ã»ãã·ã§ã³ããããªãã®ã§IdPã«SAMLã®ãªã¯ã¨ã¹ããå®è¡
- CHIPS以åã¯SAMLå¦çã®æã«Idpãªãã¤ã¬ã¯ãã§(
https
,IdP
)ãèªããã¨ãã§ãã - CHIPS以å¾ã¯iframeã§åãè¾¼ã¾ããã®ã§IdPã®ã¯ããã¼(
https
,Idp
)ãèªããªãã(https
,Idp
,A
) ã¨ãã¦å¥ã®ã¯ããã¼ã¨ãã¦æ±ããã
- CHIPS以åã¯SAMLå¦çã®æã«Idpãªãã¤ã¬ã¯ãã§(
- Idpã®ãã°ã¤ã³ã¯ããã¼ã¯åå¨ããªãã®ã§SAMLå¦çãç¶ç¶ããããã«ããã°ã¤ã³ç»é¢ã«ãªãã¤ã¬ã¯ããã¾ãã
- IdPã®ãã°ã¤ã³ç»é¢ã¯ã
X-Frame-Options: deny
ãåºåãã¦ããã®ã§X-Frameãªãã·ã§ã³ã¨ã©ã¼ãçºçããã
CHIPSãé©ç¨ãããã¨åé¡è¦ããã¦ãããµã¼ããã¼ãã£ã¯ããã¼ã«ããå人æ å ±ã®ãã©ããã³ã°ãé²ããã¨ãã§ãã¾ãã
ãµã¼ããã¼ãã£ã»ã¯ããã¼å»æ¢ã¯é¢ä¿ããã®ããï¼ãªãã®ããï¼ã©ã£ã¡ãªãã ãï¼
çµè«ï¼åºåãé¢ä¿ãªãã·ã¹ãã ãå½±é¿ãããã
ã¯ããã¼ãå©ç¨ããã·ã¹ãã é£æºã¯SSOã®å¸¸å¥æ段ãªã®ã§ãå½±é¿ã¯ããã¨èããã¹ãã§ãã ä¾ãã°æ¬¡ã®ãããªã±ã¼ã¹ã§ã:
- ã¯ãã¹ãã¡ã¤ã³ã®ãµã¤ããiframeã§åãè¾¼ã¿ã¯ããã¼ãå©ç¨ãã¦SSO
- Auth0ã®ãµã¤ã¬ã³ãèªè¨¼ã«ä¼¼ãèªè¨¼ã®ä»çµã¿ãå°å ¥ãã¦ããã·ã¹ãã Configure Silent Authentication
é£æºãã¦ããªãããã«è¦ãããµã¤ã¬ã³ãé£æºãè¦è½ã¨ãã¦ãã¾ãã¨ããµã¼ããã¼ãã£ã¯ããã¼ã®è¦å¶ãæ¬æ ¼åããã¨ãã« ãã©ãã«ã«ãªããããªã®ã§ãChrome, Edgeã§æ©è½ãã©ã°ãON/OFFãã¦ãã¹ããè¡ããã¨ããå§ããã¾ãã
Chrome, Edgeã§æ©è½ãã©ã°ã§æä¾ããã¦ãã
Edge, Chromeã¯Test Third Party Cookie Phaseoutã®æ©è½ãã©ã°ãæä¾ããã¦ãã¾ãã ãã¡ããå©ç¨ãã¦äºåã«æè¡æ¤è¨¼ãè¡ãã¨ããã§ãããã
URLãã¼ã«æ¬¡ãå ¥åããã¨æ©è½ãã©ã°ã®ONã»OFFãå¶å¾¡ã§ãã¾ãã
- (Edgeç¨) edge://flags/#test-third-party-cookie-phaseout
- (Google Chromeç¨) chrome://flags/#test-third-party-cookie-phaseout
ãµã¼ããã¼ãã£ã¯ããã¼è¦å¶ã§åããªããã¨ãå¤æãããã©ãããã°...?
åå¥ã«ãµã¼ããã¼ãã£ã¯ããã¼ã許å¯ããä¾å¤ãè¨å®ãã¦ããã ãä»ããã¾ããã
ããã¤ã¹ç®¡çã½ãªã¥ã¼ã·ã§ã³ãæ¡ç¨ãã¦ããå ´åã¯è¨å®ãã³ãã¬ã¼ããå©ç¨ããã®ãè¯ãããã§ãã
- mozilla > policy-templates
- Windows ããã¤ã¹ã§ Microsoft Edge ããªã·ã¼è¨å®ãæ§æãã
- The Chromium Projects > Policy Templates
ã¯ããã¼ã®Partitioned å±æ§ã«ã¤ãã¦
CHIPSã®ä»æ§ã§ã¯Partitioned å±æ§ãå°å ¥ããã¦ãã¾ããããã¯å°æ¥çã«iframeãªã©ã®åãè¾¼ã¿ã§ã¯ããã¼ãè¨å®ããããã° Partitionedå±æ§ããªããã¤ã³ããªããã°ãªããªãã¨ãããã®ã§ãã
Firefoxã¯iframeãªã©ã§åãè¾¼ã¾ãããµã¤ãããè¨å®ãããã¯ããã¼ã¯Partitioned å±æ§ä»ãã¨ãã¦å¦çãããã¨ãã¦ãã¾ãã Introducing State Partitioning
å°æ¥çã«Partitionedå±æ§ãã¤ãã¦ããªãã¯ããã¼ã®å ´åãiframeããã¯ããã¼ã®è¨å®ã¯ç¡è¦ãããããããã¾ããã å®éã«ãChrome, Edgeã§Partitionedå±æ§ãæ©è½ãã©ã°ã§æå¹åããã¨ãiframeããPartitionedå±æ§ããªãã¯ããã¼ã¯ç¡è¦ããã¾ãã
ãã¡ããåæ§ã«æ©è½ãã©ã°ã§ãã¹ããè¡ããã¨ãã§ãã¾ãã
- (Edgeç¨) edge://flags/#partitioned-cookies
- (Google Chromeç¨) chrome://flags/#partitioned-cookies
iframeã§å¤é¨ãµã¤ãããåãè¾¼ãããµã¼ãã¹ã¯å®è£ ã®ä¿®æ£ãå¿ è¦ã«ãªãå¯è½æ§ã¯æ³å®ãã¦ãããæ¹ãããã§ãããã
æ¯è¼çæ°ããä»æ§ã¨ãã¦æ¬¡ã®ãããªãã®ãããã¾ãã
åIdpãã³ãã¼ã®å¯¾å¿ç¶æ³ããã©ã¦ã¶ã®å¯¾å¿ç¶æ³ã«ãã£ã¦ã§ãã対çã«å·®ãçã¾ãããã§ãã ãµã¼ããã¼ãã£ã¯ããã¼è¦å¶ã®ãã©ã¦ã¶å´ã®å¯¾å¿ãè¦å®ã£ã¦ããã¾ãããã
æ責 @yokotaso