NGINX¸¦ Kyber Áö¿øÇÏ°Ô ÄÄÆÄÀÏ ¼º°øÇϽźР°è½Ã³ª¿ä?

dateno1   
   Á¶È¸ 2083   Ãßõ 0    

성공할 사용한 본체랑 TLS 라1060;브러리1032; 1333;류0143; 버1204;, 특별Ȣ16;,172; 소스 수122116;,144;나 컴파1068; Ꮢ1;션 1480;야한다면 해NJ17; ǥ12;ǥ16;1012; 1328; 알/140;1452;세요


Chrome Stable도 X25519Kyber768Draft00를 1648;원Ȣ16;lj16;,163;보고 현1228; 운영1473;1064; 서버에 추가해볼/140;니 ኧ1;시간 컴파1068; 다 실패Ȣ16;고 1080;습니다 (다른 0169;식1008; 아1649; 1648;원 안.104;고, Kyber Hybrid만 1648;원.121;니다)


Chrome://flags에서 수1221;후 1116;실행Ȣ16;고, 1060;0120; 도1077;.108; 서버에 1217;속해보면 개0156;1088; 도구 Security에 1228;대/196; 1201;용.104;었다고 뜹니다


Wold, Libre, Boring1008; 물른1060;고, 심1648;Ǻ12;lj16; OpenSSL1032; 패치 버1204;1064; https://github.com/open-quantum-safe/openssl 1312;차 컴파1068; 실패Ȣ16;네요


사용한 NGINX1032; 버1204;1008; Mainline1064; 1.25.21077;니다


보안1012; 위해 매번 소스 수ᇼ1;1004;/196; 패치(1089;ᇼ1;에lj16; 영향 안 1452;lj16; 문1088;열 수1221;)Ȣ16;고, 모듈까1648; 추가해서 컴파1068;해서 Ǹ16;다보니 유포.104;lj16; 0148;1060;너리/196;lj16; 해NJ17;1060; 없Ǻ12;서 1649;1217; 컴파1068;해야 합니다


OpenSSL처/100; 위1109;Ȣ16;기 위해 심벌릭 링크0143; 파1068; 복사Ȣ16;,144;나, 아에 Make파1068;1012; 수122116;,144;나, 컴파1068;러 Ꮢ1;션1004;/196; 라1060;브러리 ᅆ1;/196; 1648;122116;,144;나 해봐도 또 다른 에러에 시달릴1104;1060;네요


심1648;Ǻ12;lj16; Docker 생성할ǐ12; Ǹ16;lj16; 파1068;1012; 참1312;해서 ᇼ1;1068;한 0169;식1004;/196; 1652;행해봐도 에러 나네요


목표lj16; 호환성 문1228;를 피Ȣ16;기 위해 시스템1032; TLS 라1060;브러리lj16; 손.104;1648; 않고, NGINX1032; 0148;1060;너리에 Kyber를 1648;원Ȣ16;lj16; TLS 라1060;브러리를 Ȣ16;드코딩해서 1089;ᇼ1;시Ȗ12;lj16;,161;니다




추신 1 :

https://test.openquantumsafe.org

https://github.com/open-quantum-safe/oqs-provider/blob/main/oqs-template/oqs-kem-info.md

https://github.com/open-quantum-safe/oqs-provider

를 보시면 다른 Ȗ12; 교환 0169;식1060;나 ǹ16;호화 0169;식도 연구lj16; .104;고 1080;lj16;데, 아1649;까1648; 도1077;.108;,148; Kyber0150;에 없Ǻ12;보1077;니다


추신 2 : 1201;용Ȣ16;실/140;면 NGINX1032; conf를 수1221;해서 ssl_ecdh_curve1032; 1236; 앞에 X25519Kyber768Draft00를 붙1060;면 -149;1077;니다 (0120;1648;원 버1204;1004;/196; Ȣ16;면 에러나니 Ȣ16;1648;마세요)


맨날 삽질만 하고 삽니다

http://www.2cpu.co.kr/hardware_2014/44147
컴 케이스 작다고 불타거나 하지 않아요

ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
gnatsflame 2023-10
¾Æ·¡¿Í °°ÀÌ ÇØ°áÇÏ½Ã¸é µÉ µí ÇÕ´Ï´Ù...

1. nginx µð·ºÅ丮 ³»¿¡¼­ boringssl clone ÁøÇà
mkdir lib && git clone https://github.com/google/boringssl lib/boringssl

2. boringssl ºôµå
cd lib/boringssl && \
mkdir build && \
cd build && \
cmake .. && \
make
-> ÆÐÅ°Áö´Â cmake, golang, gcc-c++, libunwind-dev µîµî ÇÊ¿ä.
-> make ÇÒ ¶§ ¿À·ù³ª´Â °Íµé¿¡ ´ëÇØ ÀÇÁ¸¼º ÇØ°á

3. nginx ¿¡¼­ configure ¿É¼Ç Ãß°¡ (--with-openssl ¿É¼ÇÀº ÇÊ¿ä ¾ø½À´Ï´Ù.)
cd ../../..
auto/configure \
--with-cc-opt="-I./lib/boringssl/include" \
--with-ld-opt="-L./lib/boringssl/build/ssl -L./lib/boringssl/build/crypto" \
... (±âŸ ¿É¼Ç - with-http_ssl_module µîµî)

4. ºôµå°¡ ¿Ï·áµÇ¸é nginx µð·ºÅ丮·Î º¹±Í ÈÄ ºôµå

5. X25519Kyber768Draft00 Å×½ºÆ®
cd lib/boringssl/build
./bssl s_client -connect [domain] -server-name [domain] -curves X25519Kyber768Draft00
(Connected. °¡ ¶ß¸é ¼º°ø)
     
dateno1 2023-10
µµ¿ÍÁּż­ °¨»çÇÕ´Ï´Ù

´öºÐ¿¡ 1¹æ¿¡ ¼º°øÇ߳׿ä

openssl ÁöÁ¤ ¿É¼ÇÀ» Á¦°ÅÇÏ°í ¶óÀ̺귯¸®µî¸¸ ¼öµ¿À¸·Î ÁöÁ¤ÇØÁÖ´Ï ³Ñ¾î°¡³×¿ä (system openssl »ç¿ëÀ̶ó ¶ß´Â°Å ¸·À»·Á°í µ¿½Ã »ç¿ëµµ ½ÃµµÇغÃÀ¸´Ï ¿ª½Ã ¿¡·¯)

°á±¹ ¿øÈäÀº openssl ÁöÁ¤ ¿É¼ÇÀ̾ú³×¿ä



ÀÏ´Ü confµµ Á» ¸¸Á®¼­ ÀϺΠ¿É¼Ç ¼öÁ¤ÇؾßÇß½À´Ï´Ù

¸ÕÀú X25519Kyber768Draft00¸¦ Áö¿øÇÏ´Â ´ë½Å X448À» Áö¿øÇÏÁö ¾Ê³×¿ä

ÀÌ¿Ü¿¡ ssl_staplingµµ ¹ÌÁö¿øÀÎÁö °æ°í ¶ß³×¿ä (¿¡·¯°¡ ¾Æ´Ï´Ï ³Ñ¾î°¡±ä ÇÔ)

ÀÌ°Ô Á» ¿ô±â´Â°Ô Ŭ¶ó·Î Á¢¼ÓÇÒ¶§´Â OCSP stapling Áö¿øÇϴµ¥ (Ç׸ñÀÌ ÀÖÀ½), ¼­¹ö·Î´Â Áö¿ø ¾È ÇÏ´ÂÁö ssl_ocsp is not supported on this platformÀ̶ó°í ¶°¹ö¸®³×¿ä
          
gnatsflame 2023-10
Á¤È®È÷´Â OCSP Stapling À» Áö¿øÇÏ·Á¸é ´Ù¸¥ ¹æ½ÄÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
±×¸®°í X448 º¸´Ù´Â X25519 »ç¿ëÀÌ »ç½Ç»ó ±ÇÀåµÇ°í À־ ±»ÀÌ »ó°üÀº ¾ø½À´Ï´Ù.
-> Á¤È®È÷´Â Chrome ÃֽŹöÀü¿¡¼­´Â X448 À» Áö¿øÇÏÁö ¾Ê°í X25519, P-256, P-384 ¸¸ Áö¿øÇÕ´Ï´Ù.

OCSP Stapling Àº ¿Ü±¹¿¡¼­ ÀÌ¹Ì ¾î´ÀºÐÀÌ ¸¸µå½Å°Ô ÀÖÀ¸´Ï ±×°ÍÀ» Âü°íÇغ¸½Ã¸é µÉ µí ÇÕ´Ï´Ù.
https://github.com/kn007/patch/issues/4

ocsp ÆÄÀÏÀ» ¹Þ¾Æ¿Í¼­ Á÷Á¢ ¾Æ·¡¿Í °°ÀÌ nginx ¿¡¼­ ¼³Á¤ÇÏ¼Å¾ß Çϱ¸¿ä..
https://stackoverflow.com/questions/56292411/how-to-verify-certificate-with-ocsp-using-openssl
ssl_stapling_file xxx.ocsp;
               
dateno1 2023-10
µ¡±Û ´Þ°í Àִµ¥ Ãß°¡Çϼ̳׿ä

ÀÌ¹Ì https://github.com/kn007/patch/blob/master/Enable_BoringSSL_OCSP.patch ÆÐÄ¡ ¸Ô¿´½À´Ï´Ù

Àû¿ëÈÄ SSLlab µ¹·Áº¸´Ï OCSP Stampling µÈ´Ù°í ³ª¿É´Ï´Ù

Á» ¿ô±â´Â°Ç Ŭ¶ó·Î ½ÃÇèÇÒ¶§ Ç׸ñÀº Àִµ¥µµ Áö¿ø ¾È µÇ´ÂÁö ¿©ÀüÈ÷ ÇØ´ç Ç׸ñÀº no¶ó°í ¶°¹ö¸®³×¿ä (OpenSSLÀº Á¤»óÀûÀ¸·Î OCSP °á°ú »Ì¾ÆÁÝ´Ï´Ù)

ÀÌ¹Ì OCSP ¸ÔÀÌ´Â »óÅ¿¡¼­ TLS ¶óÀ̺귯¸®¸¸ ¹Ù²Û°Å¶ó ³ª¸ÓÁø ¼Õ µÉ ÇÊ¿ä ¾ø³×¿ä (cronÀ¸·Î ÀÚµ¿ °»½ÅµÇ°Ô Çسù½À´Ï´Ù)

OpenSSL ½Å±â¼ú µµÀÔ¿¡ ÀÇ¿Ü·Î ¼Ò±ØÀûÀ̶ö±î ´ÊÀºÆíÀ̶ó ÀÌ·²‹ž Á» ±ÍÂú³×¿ä

X448 ȣȯ¼º¶«¿¡ »óÀ§¿¡ ³Ö¾îµÐ°ÅÁö »ç½Ç ±×°Å ¾È ½áµµ µÉ¸¸Å­ ¼­¹ö CPU ¼º´É ½â¾î³ÑÄ¡´ÂÁö¶ó »ó°ü¾ø±äÇÕ´Ï´Ù

ȣȯ¼ºµûÀ§ ´Ù ±ø±×·¯´Ï ¹«½ÃÇعö¸®¸é SSLLab 100Á¡ ¹Þ´Â°Íµµ Àϵµ ¾Æ´Ñµ¥, ¾à°£ ±¸¹öÀü Ŭ¶ó±îÁö ì±â´Ùº¸´Ï ÀϺΠ90Á¡À̳׿ä (100/100/90/90)

10¿¡¼­ Trident·Î À¥ºä ±¸ÇöÇϰųª, ÆÄÀÏ ´Ù¿î ¹ÞÀ»¶§³ª ±¸¹öÀü Android ȣȯÀÌ µÉÁ¤µµ·Î ÇÏÀ§ ȣȯ¼ºÀ» º¸ÀåÇϸ鼭 HTTP/3°°Àº ÃֽŠ±â¼ú±îÁö Áö¿øÀÌ µ¿½Ã¿¡ º¸ÀåµÇ´Â º¯Å ¼³Á¤ÀÔ´Ï´Ù

Âü°í·Î KasperskyµîÀÇ ÀϺΠ¹é½Å ¾²¸é TLS µðÄÚµùÈÄ ´Ù½Ã ÀÎÄÚµùÇÏ´Ùº¸´Ï Å©·ë¿¡¼­ kyber ¾È µÈ´Ù°í ¶°¹ö¸®±äÇϳ׿ä



À̰Ŷ«¿¡ »ðÁúÇÏ´À¶ó ÁÖ¸»¿¡ ÇÑ 4½Ã°£ ƒÊ°Å°°Àºµ¥ ´öºÐ¿¡ ÇØ°áµÇ¾ú½À´Ï´Ù

https://blog.dateno1.com/?p=6119
°£´ÜÇÏ°Ô °Ô½Ã¹° ÀÛ¼ºÇغýÀ´Ï´Ù (»ðÁúÇÏ´À¶ó ½Ã°£ ³¶ºñÇÏ´Â°Ç Àú 1¸íÀ̸é ÃæºÐÇÕ´Ï´Ù)

ÇØ´ç °Ô½Ã¹° ÇÊ¿äÇϽźеéÀº ¸¶À½´ë·Î ÆÛ°¡¼Åµµ µÇ°í, Çã°¡ ¾È ¹ÞÀ¸¼Åµµ µÇ°í, ¼öÁ¤Çϼŵµ µË´Ï´Ù (Ãâó Ç¥±âÁ¶Â÷ ºÒÇÊ¿ä) (´Ù¸¸ ºÒÇÊ¿äÇÑ ½ºÆÔ À¯ÀÔ ¹æÁö¸¦ À§ÇØ ¸µÅ© À¯Æ÷´Â ÇÏÁö¸»¾ÆÁÖ¼¼¿ä)


QnA
Á¦¸ñPage 162/440
2023-11   2089   È£¹Ú°í±¸¸¶
2023-11   1858   seoulmetro
2023-11   1512   ·Îº§¸®¾Æ
2023-11   1257   ±×¾Æ¾Æ¾Æ
2023-11   1565   ÆÄÇÇǪÆä
2023-11   5328   ¿µ»êȸ»ó
2023-11   1191   ¾îÄg
2023-11   976   ¾îÄg
2023-11   1258   À̹ÌÁ¸ÀçÇÏ¡¦
2023-11   1078   dreamer74
2023-11   1464   Nicoffeine
2023-11   1928   À̸ŸÁ·®2
2023-11   1217   ¹Ú¹®Çü
2023-11   1883   ¼­¿ïI±èµ¿¼ö
2023-11   1364   ±â¾ïÀ»¸Ó±Ý¡¦
2023-11   1031   galaxyfamily
2023-11   1489   ¾îÄg
2023-11   2170   ü½ºÅÍ
2023-11   1312   pumkin
2023-11   1520   ÀϹÝÀ¯Àú