Red Hat kaj Guglo prezentis Sigstore, servon por kripta koda konfirmo

Red Hat kaj Google, kune kun Purdue University, fondis la Sigstore-projekton, celitan krei ilojn kaj servojn por kontroli programaron uzante ciferecajn subskribojn kaj konservi publikan protokolon por konfirmi aŭtentecon (travidebleco-protokolo). La projekto estos disvolvita sub la aŭspicioj de la neprofitcela organizaĵo Linux Foundation.

La proponita projekto plibonigos la sekurecon de programaraj distribuaj kanaloj kaj protektos kontraŭ atakoj celantaj anstataŭigi programajn komponantojn kaj dependecojn (provizoĉeno). Unu el la ŝlosilaj sekurecproblemoj en malfermkoda programaro estas la malfacileco kontroli la fonton de la programo kaj kontroli la konstruprocezon. Ekzemple, la plej multaj projektoj uzas haŝojn por kontroli la integrecon de eldono, sed ofte la informoj necesaj por aŭtentikigo estas stokitaj sur senprotektitaj sistemoj kaj en komunaj kodaj deponejoj, kiel rezulto de kiuj atakantoj povas endanĝerigi la dosierojn necesajn por konfirmo kaj enkonduki malicajn ŝanĝojn. sen levi suspekton.

Nur malgranda proporcio de projektoj uzas ciferecajn subskribojn dum distribuado de eldonoj pro la malfacilaĵoj en administrado de ŝlosiloj, distribuado de publikaj ŝlosiloj kaj revokado de kompromititaj ŝlosiloj. Por ke konfirmo havu sencon, ankaŭ necesas organizi fidindan kaj sekuran procezon por distribuado de publikaj ŝlosiloj kaj ĉeksumoj. Eĉ kun cifereca subskribo, multaj uzantoj ignoras konfirmon ĉar ili bezonas pasigi tempon por studi la kontrolan procezon kaj kompreni kiu ŝlosilo estas fidinda.

Sigstore estas prezentita kiel la ekvivalento de Let's Encrypt por kodo, provizante atestojn por ciferece subskribi kodon kaj ilojn por aŭtomatigi konfirmon. Kun Sigstore, programistoj povas cifere subskribi aplikaĵ-rilatajn artefaktojn kiel ekzemple eldondosieroj, ujbildoj, manifestoj kaj ruligeblaj. Speciala trajto de Sigstore estas, ke la materialo uzata por subskribo estas reflektita en traktata publika protokolo, kiu povas esti uzata por kontroli kaj revizii.

Anstataŭ konstantaj ŝlosiloj, Sigstore uzas mallongdaŭrajn efemerajn ŝlosilojn, kiuj estas generitaj surbaze de akreditaĵoj konfirmitaj de OpenID Connect-provizantoj (dum generado de ŝlosiloj por cifereca subskribo, la programisto identigas sin per OpenID-provizanto ligita al retpoŝto). La aŭtentikeco de la ŝlosiloj estas kontrolita per publika centralizita protokolo, kiu ebligas kontroli, ke la aŭtoro de la subskribo estas ĝuste kiu li asertas esti kaj la subskribo estis formita de la sama partoprenanto, kiu respondecis pri pasintaj eldonoj.

Sigstore provizas kaj pretan servon, kiun vi jam povas uzi, kaj aron da iloj, kiuj ebligas al vi disfaldi similajn servojn sur via propra ekipaĵo. La servo estas senpaga por ĉiuj programistoj kaj programprovizantoj, kaj estas deplojita sur neŭtrala platformo - la Linukso-Fondaĵo. Ĉiuj komponantoj de la servo estas malfermfontaj, skribitaj en Go kaj distribuitaj sub la licenco Apache 2.0.

Inter la evoluintaj komponantoj ni povas noti:

  • Rekor estas protokolo-efektivigo por stoki ciferece subskribitajn metadatenojn reflektantajn informojn pri projektoj. Por certigi integrecon kaj protekti kontraŭ datuma korupto post la fakto, estas uzata arb-simila strukturo "Merkle Tree", en kiu ĉiu branĉo kontrolas ĉiujn subestajn branĉojn kaj nodojn, danke al komuna (arba) hashing. Havante la finan haŝon, la uzanto povas kontroli la ĝustecon de la tuta historio de operacioj, same kiel la ĝustecon de la pasintaj statoj de la datumbazo (la radika kontrola hash de la nova stato de la datumbazo estas kalkulita konsiderante la pasintan staton. ). Por kontroli kaj aldoni novajn rekordojn, Restful API estas provizita, same kiel cli-interfaco.
  • Fulcio (SigStore WebPKI) estas sistemo por krei atestadaŭtoritatojn (Root-CAs) kiuj emisias mallongdaŭrajn atestilojn bazitajn sur retpoŝto aŭtentikigita per OpenID Connect. La vivdaŭro de la atestilo estas 20 minutoj, dum kiuj la programisto devas havi tempon por generi ciferecan subskribon (se la atestilo poste falas en la manojn de atakanto, ĝi jam eksvalidiĝos).
  • Сosign (Container Signing) estas ilaro por generi subskribojn por ujoj, kontroli subskribojn kaj meti subskribitajn ujojn en deponejojn kongruajn kun OCI (Open Container Initiative).

fonto: opennet.ru

Aldoni komenton