CDOC 2.0

Riigi Infosüsteemi Amet alustas 2024. aastal üleminekut failide salastamise uuele failivormingule CDOC 2.0, mida nimetatakse tinglikult CDOC2ks.

CDOC on failivorming, mis on ette nähtud andmete salastamiseks (krüpteerimiseks) sellisel viisil, et need on kättesaadavad (dekrüpteeritavad) konkreetsele kasutajale või kasutajate rühmale.

CDOC vorming toetub avaliku võtme infrastruktuurile (PKI – publik key infrastructure), kus avaliku võtmega krüpteeritud andmeid saab dekrüpteerida privaatvõtmega ja vastupidi: privaatvõtmega krüpteeritud andmeid saab dekrüpteerida avaliku võtmega. 

CDOC1 on CDOC2 spetsifikatsioonile eelnev XML-ENC põhinev CDOC vorming.

CDOC2 on koodnimetus Eesti uuele failide krüpteerimise standardile.

Krüpteerimislahendust kasutavates e-teenustes tuleb CDOC2 kasutusele võtmiseks teha täiendavaid muudatusi. E-teenustele on praeguseks loodud Java teek ning C++ teek. Tavakasutajad saavad CDOC2 vormingus krüpteerida ja dekrüpteerida rakenduste DigiDoc4 ja RIA DigiDoc vahendusel. Kasutuselevõtu täpsem plaan on välja toodud ajakavas.

CDOC2 analüüs: https://installer.id.ee/media/cdoc/2020-03-26-cdoc20aruanne.pdf

CDOC2 dokumentatsioon: https://open-eid.github.io/CDOC2/

CDOC1 lahendus
CDOC2 lahendus

  • Hetkel kasutusel olev digitaalsel kujul failide salastamise ja dekrüpteerimise lahendus CDOC1 loodi 2002. aastal koos ID-kaardi juurutamisega. Tänaseks on selgunud CDOC1 vorminguga mitmeid probleeme - näiteks ei ole see kasutatav salastatud info pikaajaliseks hoidmiseks, kuna pärast vahendi (ID-kaardi, Digi-ID) riknemist või kaotamist muutub krüpteeritud info kättesaamatuks. Samuti võib pikemas perspektiivis probleemiks kujuneda pilveteenuste pakkujate ja e-posti teenuste pakkujate tagavarakoopiatesse kogunenud salastatud failide krüptograafiliste algoritmide nõrgemaks muutumine. Nende probleemide lahendamiseks töötati välja CDOC2 krüpteerimise standard.

    CDOC2 lahendab järgnevad CDOC1 spetsifikatsioonide ja realisatsioonidega seotud probleemid:

    • CDOC1 ei paku tulevikuturvalisust. Ründaja, kes on salvestanud CDOC konteineri, saab selle tulevikus avada, kui kompromiteeruvad konteineri loomisel kasutatud võtmed või krüptoalgoritmid.
    • CDOC1 vorming ja selle töötluseks loodud tarkvara ei erista faili krüpteerimist osapooltevaheliseks transpordiks ning faili krüpteerimist ühe osapoole poolt säilitamiseks.
    • CDOC1 vorming ei võimalda saata krüpteeritud faili vastuvõtjale, kes kasutab vaid mobiilset eID vahendit (Mobiil-ID või Smart-ID).

    CDOC2 vormingu tuge luuakse etapiti:

    • Esimeses etapis töötati välja ja realiseeriti transpordikrüptograafia lahendus ning säilituskrüptograafia pikaajaliseks krüpteerimiseks Java ja C++ teegis ning DigiDoc rakenduses. Samuti loodi võtmeedastusserveri tarkvara. 
    • Järgmises etapis töötatakse välja võimalus krüpteerida mobiilse eID vahendiga (Mobiil-ID või Smart-ID).

  • Transpordikrüptograafia on mõeldud andmete lühiajaliseks kaitsmiseks faili edastamisel ühelt osapoolelt teisele.

    Nii CDOC1 vorming kui ka CDOC2 vorming toetavad transpordikrüptograafiat. CDOC2 vormingus on transpordikrüptograafia täiendavaks turvalisuseks võetud kasutusele võtmeedastusserver, mille ülesanne on edastada CDOC ümbriku dekrüpteerimiseks vajalik võtmekapsel saatjalt vastuvõtjale.

  • Säilituskrüptograafia on salastamist vajava faili krüpteerimine isiklikuks tarbeks, et kaitsta faili välise ebavajaliku huvi ja rünnete eest.

    CDOC1 vorming on oma olemuselt mõeldud andmete lühiajaliseks kaitsmiseks faili edastamise ajal ühelt osapoolelt teisele ja ei ole mõeldud faili pikaajaliseks säilitamiseks ühe osapoole poolt.

    CDOC2 vorming võimaldab pakkuda ka failide pikemaajalist salastatult säilitamist, kuna senine krüptograafia kasutamine näitab, et kasutajatel on soov infot krüpteeritud kujul säilitada (transpordiks mõeldud krüptokonteinereid hakati muutmata kujul kasutama ka säilitamiseks).

  • CDOC1 vorming ei võimalda saata krüpteeritud faili vastuvõtjale, kes kasutab vaid mobiilset eID vahendit (Mobiil-ID või Smart-ID).

    CDOC2 vorming hakkab võimaldama ka mobiilse eID vahendiga (Mobiil-ID või Smart-ID) krüpteerimist ja dekrüpteerimist. 

    Mobiilse eID vahendiga krüpteerimise ja dekrüpteerimise lahendus on hetkel väljatöötamisel. Tavakasutajad saavad tulevikus mobiilse eID vahendiga infot krüpteerida ja dekrüpteerida rakenduste DigiDoc4 ja RIA DigiDoc vahendusel. E-teenused saavad tulevikus mobiilse eID vahendiga krüpteerimiseks ja dekrüpteerimiseks kasutada Java ja C++ teeke. Täpsem informatsioon on toodud ajakavas.

  • Võtmekapsel on CDOC2 vormingu osa, mis sisaldab krüpteeritud andmekogumi dekrüpteerimiseks vajaliku võtit, selle võtme osa või selle võtme vastuvõtja poolt arvutamiseks vajalike andmeid. Saatja võib võtmekapsli lisada ümbrikule või edastada võtmeedastusserverite kaudu, kuid CDOC2 poolt pakutavad täiendavad turvaomadused kehtivad ainult sellisel juhul, kui võtmekapsel edastatakse võtmeedastusserverite kaudu. Saatja poolt edastatud võtmekapslit talletatakse võtmeedastusserveris kapslis määratud kehtivusaja lõpuni ning määratud aja möödumisel kustutab võtmeedastusserver võtmekapsli, et vähendada võtmeserveri võimalikul kompromiteerumisel tekkivat kahju.

    Võtmeedastusserver on CDOC2 süsteemi komponent, mis edastab CDOC konteineri dekrüpteerimiseks vajaliku võtmekapsli läbi turvatud sidekanali saatjalt saajale. Võtmeedastusserver pakub saatjale teenust võtmeedastuskapsli üleslaadimiseks ning vastuvõtjale teenust võtmeedastuskapsli allalaadimiseks. Saatjale mõeldud teenus ei nõua saatja autentimist - seda teenust saavad kasutada kõik. Vastuvõtjale mõeldud teenus nõuab vastuvõtja autentimist TLS kliendi autentimise abil - seda teenust saavad kasutada vaid toetatud eID vahendit (näiteks ID-kaart, edaspidi ka Mobiil-ID või Smart-ID) omavad kasutajad.

    Võtmeedastusserver on avatud lähtekoodiga, seega on võimalik see igal soovijal alla laadida ja enda serverisse ülesse seadistada.

    Võtmeedastusserveri lähtekood: https://github.com/open-eid/cdoc2-capsule-server/tree/master

    Korraga võib kasutusel olla mitmeid võtmeedastusservereid, seejuures võivad neid käitada erinevad organisatsioonid. Juurutuse käigus kehtestatud turvanõuded võivad kohustada iga üksiku võtmeedastusserveri käitamist üksteisest sõltumatute organisatsioonide poolt.

Mida tuleb teha selleks, et võtta CDOC2 kasutusele oma e-teenuses või rakenduses?

Praegu on e-teenustes CDOC1 vormingus krüpteerimise ja dekrüpteerimise toe loomiseks võimalik kasutada Java teeki cdoc4j.

CDOC2 vormingus kasutuselevõtt eeldab arendustöid ning vastavate teekide integreerimist süsteemi. Praegu on saadaval CDOC2 toega järgmised teegid:

  • Tavakasutajad saavad andmeid krüpteerida ja dekrüpteerida rakenduste DigiDoc4 ja RIA DigiDoc vahendusel. Hetkel kasutatakse nendes rakendustes krüpteerimiseks ja dekrüpteerimiseks vaikimisi CDOC1 vormingut. Rakendustesse on lisatud ka CDOC2 vormingu tugi, mille kasutamiseks tuleb see seadete alt eraldi aktiveerida.

    Mobiilse eID vahendiga krüpteerimise toe loomine DigiDoc rakendustes on hetkel töös ning see tugi lisatakse DigiDoc rakendustesse hiljem. Täpsema informatsiooni leiab ajakavast.

  • Praegu on CDOC1 krüpteerimise ja dekrüpteerimise tugi olemas tavakasutajatele mõeldud rakendustes DigiDoc4 ja RIA DigiDoc. E-teenustele on CDOC1 vormingus krüpteerimiseks ja dekrüpteerimiseks cdoc4j teek.

    Rakendustest DigiDoc4 ja RIA DigiDoc on plaanitud CDOC1 krüpteerimise tugi eemaldada 2027. aastal. CDOC1 vormingus ümbrikute dekrüpteerimise tugi esialgu säilitatakse, et kasutajad saaksid oma olemasolevaid CDOC1 vormingus ümbrikud dekrüpteerida.

    Lähtuvalt konkreetse e-teenuse poolt pakutavast funktsionaalsusest võib olla vajalik CDOC1 toe säilitamine ka peale CDOC2 üleminekut. Seetõttu jätkub esialgu ka cdoc4j teegi ajakohastamine.

    Täpsema informatsiooni CDOC1 toeperioodi lõpetamise ajakava kohta DigiDoc rakendustes ja teegis leiab ajakavast.

Ajakava

  • CDOC2 dekrüpteerimise toega DigiDoc4 rakenduse avalikustatud – 09.08.2023

    CDOC2 Java platvormi teegi avalikustamine - avalikustatud 22.01.2024

    CDOC2 võtmeedastusserveri koodi avalikustamine - avalikustatud 30.05.2024

    Riigi Infosüsteemi Ameti võtmeedastusserveri avalikustamine - avalikustatud 27.11.2024

    CDOC2 krüpteerimise toega DigiDoc4 rakenduse avalikustamine – avalikustatud 30.12.2024

    • Vaikimisi jääb kasutusele CDOC1 vorming.

    CDOC2 krüpteerimise ja dekrüpteerimise toega RIA DigiDoc Android mobiilirakenduse avalikustamine - avalikustatud 17.12.2025 

    • Vaikimisi jääb kasutusele CDOC1 vorming. 

    CDOC2 krüpteerimise ja dekrüpteerimise toega RIA DigiDoc iOS mobiilirakenduse avalikustamine – avalikustatud 30.03.2026

    • Vaikimisi jääb kasutusele CDOC1 vorming. 

    CDOC2 C++ platvormi teegi avalikustamine - avalikustatud 08.04.2026

  • CDOC2 säilituskrüptograafia ajaplaan

    CDOC2 säilituskrüptograafia toega DigiDoc4 rakenduse avalikustamine – avalikustatud 13.05.2026 

    CDOC2 säilituskrüptograafia toega RIA DigiDoc iOS mobiilirakenduse avalikustamine – august 2026 

    CDOC2 säilituskrüptograafia toega RIA DigiDoc Android mobiilirakenduse avalikustamine – august 2026 

    Mobiilse eID vahendi krüpteerimise toe ajaplaan  

    Ajaplaan täpsustamisel 

  • DigiDoc4 rakenduses muutub CDOC2 vaikimisi vorminguks – november 2026 

    RIA DigiDoc Android mobiilirakenduses muutub CDOC2 vaikimisi vorminguks – november 2026 

    RIA DigiDoc iOS mobiilirakenduses muutub CDOC2 vaikimisi vorminguks – november 2026 

    CDOC1 krüpteerimise toe eemaldamine rakendusest DigiDoc4 - 2027 I poolaasta (kuupäev täpsustamisel)

    CDOC1 krüpteerimise toe eemaldamine RIA DigiDoc iOS ja Androidi mobiilirakendusest - 2027 I poolaasta (kuupäev täpsustamisel)

    CDOC1 toe lõpp, st rakendustest DigiDoc4, RIA DigiDoc iOS ja Androidi mobiilirakendustest ning C++ krüpteerimisteegist eemaldatakse CDOC1 dekrüpteerimise tugi ning cdoc4j teeki edasi ei arendata:

    • CDOC1 dekrüpteerimise toe eemaldamine rakendusest DigiDoc4 - 2029/2030 (kuupäev täpsustamisel)
    • CDOC1 dekrüpteerimise toe eemaldamine RIA DigiDoc iOS ja Androidi mobiilirakendusest - 2029/2030 (kuupäev täpsustamisel)
    • CDOC1 dekrüpteerimise toe eemaldamine C++ krüpteerimisteegist - 2029/2030 (kuupäev täpsustamisel)
    • cdoc4j EOL - 2029/2030 (kuupäev täpsustamisel)

Testimine

Krüpteerimislahenduste testimiseks soovitame tellida testkaardi.

Rohkem infot testkaardi tellimise kohta leiab siit.

Millised testid tuleks teha?

Kui CDOC2 lahendus on enda infosüsteemi integreeritud, siis tuleks lahendust ka testida.

Krüpteerimislahendused

Infosüsteemides, mis kasutavad krüpteerimist ID-kaardi sertifikaadile, tuleks teha läbi vähemalt järgnev test:

  • Andmete krüpteerimine infosüsteemis ID-kaardi omanikule ning andmete dekrüpteerimine ID-kaardiga CDOC2 toega DigiDoc4 rakenduses.

Lähtuvalt konkreetse e-teenuse poolt pakutavast funktsionaalsusest võib olla vajalik veel täiendavate testide tegemine.

KKK

Kuidas saavad kasutajad CDOC2 vormingus olevaid ümbrikke krüpteerida ja dekrüpteerida?

Tavakasutajad saavad andmeid krüpteerida ja dekrüpteerida rakenduste DigiDoc4 ja RIA DigiDoc vahendusel.

Hetkel kasutatakse nendes rakendustes krüpteerimiseks ja dekrüpteerimiseks vaikimisi CDOC1 vormingut. Rakendustesse on lisatud ka CDOC2 vormingu tugi, mille kasutamiseks tuleb see seadete alt eraldi aktiveerida.

Kas CDOC2 vormingus olevaid ümbrikuid saab krüpteerida ja dekrüpteerida ka ilma internetiühenduseta?

DigiDoc rakendused ja krüpteerimisteegid võimaldavad CDOC2 vormingus olevate ümbrikute krüpteerimist ja dekrüpteerimist ka ilma internetiühenduseta, kuid sellisel juhul ei kasutata võtmeedastusserverit, mis on täiendavaks turvatud sidekanaliks saatja ja saaja vahel. Vaikimisi seadistustega DigiDoc rakendustes krüpteerides ja dekrüpteerides kasutatakse võtmeedastusserverit.

Soovin anda tagasisidet, kuhu pean teada andma?

Tagasisidet ja arendusettepanekuid saab saata - [email protected].