Hvad er kodesignering?
Hackere tager ofte software - uanset om det er offline eller online - omarrangerer og ændrer koden for at gøre det ondsindet, og upload det derefter online, så brugerne downloader det gratis program og den ondsindede kode, den indeholder. For at sikre, at brugerne ikke løber op med dette problem, bruges kodesignering. Kodesignering er en metode, hvorpå den oprindelige programmør eller virksomhed, der lavede programmet, underskriver programmet, og når programmet er installeret, godkendes det for at sikre, at programmet ikke har tilføjet eller ændret nogen kodning. Dette kræver ingen speciel software på brugerens side, og brugeren er i stand til at verificere programmørens identitet. Selvom dette er ment som en form for sikkerhed, kan en hacker, der opretter et program eller finder væk omkring en signering, skabe kunstig og forkert placeret tillid.
Programmer sælges konstant både online og offline. Når nogen køber et program offline fra en betroet leverandør eller forhandler, har brugeren meget lidt grund til at bekymre sig om hackere, der indsprøjter ondsindet kode i programmet. Dette skyldes, at medmindre softwareudvikleren med vilje har lavet et farligt program, der ikke er nogen måde for nogen at manipulere med softwaren og gøre det ondsindet. Når en bruger downloader et program fra Internettet, er der ingen sådan garanti.
For at beskytte brugere, der køber eller downloader programmer online, implementeres kodesignering. Kodesignering er opdelt i to dele: udvikleren og slutbrugeren. Udvikleren bruger en kryptografisk hash, en envejsoperation, der forklarer programkoden og derefter kombinerer hans eller hendes private nøgle med hasjen. Dette skaber en signatur, der er implanteret på programmet.
Når brugeren modtager programmet, forekommer den anden del af kodesigneringsprocessen. Programmet undersøger certifikatet og en offentlig nøgle, som programmereren placerede i programmet. Ved hjælp af den offentlige nøgle kan programmet køre den samme hash på den aktuelle programmering, og derefter kontrollerer den originalen mod den aktuelle version, der installeres. Hvis både det installerede program og den originale synkronisering vises, viser dette brugeren, at intet er ændret. Denne proces udføres automatisk, og de programmer, der er nødvendige til denne godkendelse, skal forinstalleres på computerens operativsystem (OS).
Selvom kodesignering er en effektiv metode til at sikre sikkerhed, har den dog mangler. Hvis brugeren downloader et program fra en hacker, viser godkendelsen, at det originale program er intakt. Dette ville føre en bruger til en falsk følelse af sikkerhed; programmet er lavet til at være ondsindet, så sikkerhed opnås ikke i denne forstand. Sofistikerede hackere kan også komme rundt i hash for at injicere kodning, hvilket gør kodesignering ubrugelig.