Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Forhindre at sluttbrukersystem laster opp data til datatype som skal inneholde signaturobjektet #656

Open
veronikaandersen opened this issue May 23, 2024 · 3 comments
Labels

Comments

@veronikaandersen
Copy link
Contributor

veronikaandersen commented May 23, 2024

Description

https://docs.altinn.studio//nb/app/development/process/tasks/signing/#konfigurere-hvor-signaturobjektet-skal-lagres
Hvis man har en signerings task, må man ha en datatype hvor signaturobjektet skal lagres. Denne datatypen skiller seg ikke fra andre datatyper, så sluttbrukersystem har mulighet til å laste opp data på denne datatypen. Det feiler om man prøver å laste opp noe annet en det som er tillatt i allowedContentTypes, men man kan lett komme seg rundt det om man sier at det man laster opp er av en type som er tillatt i header - content-type og content-disposition. Da kan man lastet opp hva man vi…

Om signering task er siste prosessteg før task end:

TT02 instans: https://dibk.apps.tt02.altinn.no/dibk/ig-v3/instances/50293843/1482152c-80ac-4a35-8e91-e1d402b25b0f

Steg for steg - fra sluttbrukersystem sin side..

  • Opprett instans
  • Last opp data til datatypen Signatur
    • Datainnhold xml, eller hva som helst..
    • Content-type: application/json
    • Content-Disposition: attachment; filename=signatur.json
  • Lastet opp andre data som er påkrevd for appen
  • Process next, uten action sign → 403 forbidden.
  • Process next med action sign → Ok, Appen går til process end.

Resultat av dette er at jeg har en instans som har gått til process end med to signaturobjekter, selv om det bare skal være tillatt med et. Det ene signaturobjektet inneholder i tillegg en xml...

image

image

image

image

Ønsker om endring

  1. Vi må forhindre at sluttbruker har skrive-tilgang til signatur datatypen.

Hva vi kan gjøre:

... Men dette er kanskje noe Altinn bør ta seg av, så vi slipper å måtte konfigurere dette for alle apper som har signering?

  1. Ved opplasting av data må det sjekkes at innholdet er i henhold til det man angir i header content-type. Her har vi forslag til løsning: MIME-type validering - Uploaded file extension samme som filename extension fileanalyzers-lib-dotnet#19

En ting jeg ikke har testet, men som jeg mistenker går, er om man har et signering task og neste steg ikke er end. Da vil man kanskje kunne gjøre en PUT på datatypen signering og erstatte signaturen med noe annet?....

Additional Information

No response

@veronikaandersen
Copy link
Contributor Author

veronikaandersen commented May 27, 2024

Har dere en arkitekturskisse eller funksjonell beskrivelse av hvordan Altinn tenker seg at signering skal virke, også hvilken rettsvirkning en signering er tenkt å skulle ha og hvordan det sikres?
Den eneste dokumentasjon av signering jeg finner er denne: Signerings task – Altinn

@veronikaandersen veronikaandersen changed the title Forhindre at sluttbrukersystem laster opp signatur til datatype som skal inneholde signaturobjektet Forhindre at sluttbrukersystem laster opp data til datatype som skal inneholde signaturobjektet May 27, 2024
@veronikaandersen
Copy link
Contributor Author

@RonnyB71 , er dette noe dere har sett på ?
For vår del er det løst ved å sette "allowedContributers": [ "org:dibk" ] på datatypen for signatur, men om det er det vi må/bør gjøre er det kanskje greit å tipse om det i dokumentasjonen om konfigurasjon av datatype for signatur. https://docs.altinn.studio//nb/app/development/process/tasks/signing/#konfigurere-hvor-signaturobjektet-skal-lagres

@martinothamar
Copy link
Contributor

Vi skal starte på en del forbedringer rundt signering ila de neste sprintene, deriblant denne issuen. Vi har snakket noe om løsning, men vi kommer tilbake når vi har noe konkret

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: No status
Development

No branches or pull requests

2 participants