Праблема састарэлых каранёвых сертыфікатаў. На чарзе Let's Encrypt і разумныя тэлевізары

Праблема састарэлых каранёвых сертыфікатаў. На чарзе Let's Encrypt і разумныя тэлевізары

Каб браўзэр мог аўтэнтыфікаваць вэб-сайт, той уяўляе сябе сапраўдным ланцужком сертыфікатаў. Тыповы ланцужок паказаны зверху, у ім можа быць больш за адзін прамежкавы сертыфікат. Мінімальная колькасць сертыфікатаў у сапраўдным ланцужку роўна тром.

Каранёвы сертыфікат - сэрца цэнтра сертыфікацыі. Ён літаральна ўбудаваны ў вашу АС ці браўзэр, ён фізічна прысутнічае на вашым прыладзе. Яго не памяняеш са боку сервера. Трэба прымусовае абнаўленне АС ці ўбудаванага ПЗ на прыладзе.

Спецыяліст па бяспецы Скот Хельме (Scott Helme) піша, Што асноўныя праблемы ўзнікнуць у цэнтра сертыфікацыі Let's Encrypt, таму што сёння гэта самы папулярны ЦС у інтэрнэце, а яго каранёвы сертыфікат хутка "пратухне". Змена кораня Let's Encrypt прызначаная на 8 ліпеня 2020 года.

Канчатковыя і прамежкавыя сертыфікаты які сведчыць цэнтра (CA) дастаўляюцца кліенту з сервера, а каранёвы сертыфікат у кліента ўжо ёсць, таму з дапамогай гэтай калекцыі сертыфікатаў можна пабудаваць ланцужок і аўтэнтыфікаваць вэб-сайт.

Праблема заключаецца ў тым, што ў кожнага сертыфіката ёсць тэрмін дзеяння, пасля чаго ён мае патрэбу ў замене. Напрыклад, з 1 верасня 2020 гады ў браўзэры Safari плануюць увесці абмежаванне на тэрмін дзеяння серверных TLS-сертыфікатаў. максімум 398 дзён.

Гэта значыць, што ўсім нам давядзецца замяняць серверныя сертыфікаты прынамсі кожныя 12 месяцаў. Гэтае абмежаванне распаўсюджваецца толькі на сертыфікаты сервера, яно ня распаўсюджваецца на каранёвыя сертыфікаты CA.

Сертыфікаты CA рэгулююцца іншым наборам правіл, таму маюць розныя абмежаванні на тэрмін дзеяння. Вельмі часта сустракаюцца прамежкавыя сертыфікаты са тэрмінам дзеяння 5 гадоў і каранёвыя сертыфікаты са тэрмінам службы нават 25 гадоў!

З прамежкавымі сертыфікатамі звычайна няма праблем, таму што яны пастаўляюцца кліенту серверам, які сам значна часцей мяняе свой уласны сертыфікат, так што проста падчас гэтай працэдуры замяняе і прамежкавы. Яго даволі лёгка замяніць разам з сертыфікатам сервера, у адрозненне ад каранёвага сертыфіката CA.

Як мы ўжо казалі, каранёвы CA убудаваны непасрэдна ў саму кліенцкую прыладу, у АС, у браўзэр ці іншае праграмнае забеспячэнне. Змяненне каранёвага CA вэб-сайт не можа кантраляваць. Тут патрабуецца абнаўленне на кліенце, няхай гэта будзе абнаўленне АС або софту.

Некаторыя каранёвыя CA існуюць ужо вельмі даўно, прамова аб 20-25 гадах. Хутка некаторыя з самых старых каранёвых CA наблізяцца да канца свайго натуральнага жыцця, іх час амаль скончыўся. Для большасці з нас гэта ўвогуле не будзе праблемай, таму што CA стварылі новыя каранёвыя сертыфікаты, і яны ўжо шмат гадоў распаўсюджваюцца па ўсім свеце ў абнаўленнях АС і браўзэраў. Але калі хтосьці вельмі даўно не абнаўляў АС ці браўзэр, гэта свайго роду праблема.

Такая сітуацыя ўзнікла 30 мая 2020 года ў 10:48:38 GMT. Гэта дакладны час, калі пратух каранёвай сертыфікат AddTrust ад цэнтра сертыфікацыі Comodo (Sectigo).

Ён выкарыстоўваўся для перакрыжаванага подпісу, каб забяспечыць сумяшчальнасць з састарэлымі прыладамі, у сховішча якіх няма новага каранёвага сертыфіката USERTrust.

Нажаль, праблемы паўсталі не толькі ў састарэлых браўзэрах, але і ў небраузерных кліентах на базе OpenSSL 1.0.x, LibreSSL і gnuTLS. Напрыклад, у тэлевізійных прыстаўках год, сэрвісе Heroku, у прыкладаннях Fortinet, Chargify, на платформе. NET Core 2.0 пад Linux і многіх іншых.

Меркавалася, што праблема закране толькі састарэлыя сістэмы (Android 2.3, Windows XP, Mac OS X 10.11, iOS 9 і да т.п.), паколькі сучасныя браўзэры могуць задзейнічаць другі каранёвы сертыфікат USERTRust. Але па факце пачаліся збоі ў сотнях вэб-сэрвісаў, якія выкарыстоўвалі вольныя бібліятэкі OpenSSL 1.0.x і GnuTLS. Бяспечнае злучэнне перастала ўсталёўвацца з высновай памылкі аб састарэнні сертыфіката.

Наступны - Let's Encrypt

Яшчэ адзін добры прыклад маючай адбыцца змены каранёвага CA - цэнтр сертыфікацыі Let's Encrypt. Яшчэ у красавіку 2019 года яны планавалі перайсці з ланцужка Identrust на ўласны ланцужок ISRG Root, але гэтага не адбылося.

Праблема састарэлых каранёвых сертыфікатаў. На чарзе Let's Encrypt і разумныя тэлевізары

"З-за асцярог з нагоды недастатковага распаўсюджвання кораня ISRG на прыладах Android мы вырашылі перанесці дату пераходу да ўласнага кораня з 8 ліпеня 2019 года на 8 ліпеня 2020 года", – сказана ў афіцыйным паведамленні Let's Encrypt.

Дату прыйшлося перанесці з-за праблемы, якую завуць "распаўсюджваннем кораня" (root propagation), а дакладней, адсутнасцю распаўсюджвання кораня, калі каранёвы CA не занадта шырока распаўсюджаны на ўсіх кліентах.

Цяпер Let's Encrypt выкарыстоўвае перакрыжавана падпісаны прамежкавы сертыфікат з ланцужком да кораня IdenTrust DST Root CA X3. Гэты каранёвы сертыфікат быў выдадзены яшчэ ў верасні 2000 года і заканчваецца 30 верасня 2021 года. Да гэтага часу Let's Encrypt плануе перайсці на ўласны самападпісаны корань ISRG Root X1.

Праблема састарэлых каранёвых сертыфікатаў. На чарзе Let's Encrypt і разумныя тэлевізары

Корань ISRG выпушчаны 4 чэрвеня 2015 года. Пасля гэтага пачаўся працэс яго зацвярджэння ў якасці цэнтра сертыфікацыі, які завяршыўся. 6 жніўня 2018 года. З гэтага моманту каранёвай CA быў даступны ўсім кліентам праз абнаўленне аперацыйнай сістэмы ці праграмнага забеспячэння. Усё, што трэба было зрабіць, - гэта ўсталяваць абнаўленне.

Але ў гэтым праблема.

Калі ваш мабільны тэлефон, тэлевізар ці іншая прылада не абнаўлялася два гады – як яна даведаецца аб новым каранёвым сертыфікаце ISRG Root X1? А калі яго не ўсталяваць у сістэме, то ўсе серверныя сертыфікаты Let's Encrypt ваша прылада прызнае несапраўднымі, як толькі Let's Encrypt пяройдзе на новы корань. А ў экасістэме Android шмат састарэлых прылад, якія даўно не абнаўляліся.

Праблема састарэлых каранёвых сертыфікатаў. На чарзе Let's Encrypt і разумныя тэлевізары
Экасістэма Android

Вось чаму Let's Encrypt адклаў пераход да ўласнага кораня ISRG і ўсё яшчэ выкарыстоўвае прамежкавае звяно, якое спускаецца да кораня IdenTrust. Але пераход у любым выпадку давядзецца зрабіць. І датай змены кораня прызначанае 8 ліпеня 2020 года.

Для праверкі, што на вашай прыладзе (тэлевізар, прыстаўка ці іншы кліент) усталяваны корань ISRG X1, адкрыйце тэставы сайт https://valid-isrgrootx1.letsencrypt.org/. Калі не з'яўляецца папярэджанне бяспекі, тое звычайна ўсё ў парадку.

Let's Encrypt не адзіны, каму трэба будзе вырашыць праблему з пераходам на новы корань. Крыптаграфію ў інтэрнэце пачалі выкарыстоўваць крыху больш за 20 гадоў таму, так што якраз зараз надыходзіць момант заканчэння дзеяння многіх каранёвых сертыфікатаў.

З такой праблемай могуць сутыкнуцца ўладальнікі разумных тэлевізараў, якія шмат гадоў не абнаўлялі праграмнае забеспячэнне Smart TV. Напрыклад, новы корань GlobalSign R5 Root выпушчаны ў 2012 годзе, і пасля некаторыя старыя Smart TV не могуць пабудаваць ланцужок да яго, таму што гэты каранёвы CA у іх проста адсутнічае. У прыватнасці, гэтыя кліенты не маглі ўстанавіць абароненае злучэнне з сайтам bbc.co.uk. Каб вырашыць праблему, адмінам BBC прыйшлося пайсці на хітрасць: яны пабудавалі для гэтых кліентаў альтэрнатыўны ланцужок праз дадатковыя прамежкавыя сертыфікаты, задзейнічаючы старыя карані R3 Root и R1 Root, якія яшчэ не пратухлі.

www.bbc.co.uk (Leaf) GlobalSign ECC OV SSL CA 2018 (Intermediate) GlobalSign Root CA - R5 (Intermediate) GlobalSign Root CA - R3 (Intermediate)

Гэтае часовае рашэнне. Праблема нікуды не сыдзе, калі не абнавіць кліенцкае ПЗ. Разумны тэлевізар - гэта па ісце абмежаваны ў функцыянальнасці кампутар пад Linux. І без абнаўленняў яго каранёвыя сертыфікаты непазбежна пратухнуць.

Гэта датычыцца ўсіх прылад, не толькі тэлевізараў. Калі ў вас любая прылада, якое падлучанае да інтэрнэту і якое рэкламавалі як «разумны» девайс, то праблема з пратухлымі сертыфікатамі амаль напэўна дакранаецца яго. Калі прылада не абнаўляецца, тое каранёвае сховішча CA са часам састарэе, і ў канчатковым выніку праблема ўсплыве на паверхню. Калі паўстане праблема, залежыць ад часу апошняга абнаўлення каранёвага сховішча. Гэта можа быць за некалькі гадоў да даты рэальнага выпуску прылады.

Дарэчы, у гэтым праблема, чаму некаторыя буйныя медыяплатформы не могуць выкарыстоўваць сучасныя аўтаматызаваныя цэнтры сертыфікацыі тыпу Let's Encrypt, піша Скот Хельме. Для разумных ТБ яны не падыходзяць, і колькасць каранёў занадта мала, каб гарантаваць падтрымку сертыфіката на састарэлых прыладах. У адваротным выпадку ТБ проста не зможа запусціць сучасныя стрымінгавыя сэрвісы.

Апошні інцыдэнт з AddTrust паказаў, што нават буйныя IT-кампаніі бываюць не гатовы да таго, што ў каранёвага сертыфіката заканчваецца тэрмін дзеяння.

Рашэнне праблемы толькі адно - абнаўленне. Распрацоўнікі разумных прылад павінны загадзя забяспечыць механізм абнаўлення праграмнага забеспячэння і каранёвых сертыфікатаў. З іншага боку, вытворцам нявыгадна забяспечваць працу сваіх прылад пасля заканчэння тэрміну гарантыі.

Праблема састарэлых каранёвых сертыфікатаў. На чарзе Let's Encrypt і разумныя тэлевізары


Крыніца: habr.com

Дадаць каментар