SE535797C2 - Optimerade förfaranden för integritetsverifiering - Google Patents

Optimerade förfaranden för integritetsverifiering Download PDF

Info

Publication number
SE535797C2
SE535797C2 SE1150067A SE1150067A SE535797C2 SE 535797 C2 SE535797 C2 SE 535797C2 SE 1150067 A SE1150067 A SE 1150067A SE 1150067 A SE1150067 A SE 1150067A SE 535797 C2 SE535797 C2 SE 535797C2
Authority
SE
Sweden
Prior art keywords
information
digital signature
particular information
sections
readable medium
Prior art date
Application number
SE1150067A
Other languages
English (en)
Other versions
SE1150067A1 (sv
Inventor
Augustin J Farrugia
Jean-Francois Riendeau
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of SE1150067A1 publication Critical patent/SE1150067A1/sv
Publication of SE535797C2 publication Critical patent/SE535797C2/sv

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

En del utföringsformer av uppfinningen tillhandahåller en metod för verifiering avintegriteten för digital information. Vid en källa till den digitala informationen genererarmetoden en signatur för den digitala informationen genom att applicera en hashing~funktion till en speciell del av den digitala informationen, varvid den speciella delen ärmindre än den totala digitala informationen, Metoden förser en enhet med signaturenoch den digitala informationen. I enheten applicerar metoden hashing-funktionen på denspeciella delen av den digitala informationen för att verifiera den överförda signaturen och därmed verifiera integriteten för den överförda digitala informationen.

Description

535 797 fundamental egenskap för alla “hash-funktioner” är att om två “hasher” är olika så var de två ingångsdata olika i något avseende. När två “hasher” är identiska för två olika ingångsdata, föreligger en hash-kollision. Det är viktigt i ett kiypteringssystem att hash- fiinktionen har mycket låg kollisionssannolikhet.
Traditionella förfaranden för integritetsverifiering är beräkningsintensiva, speciellt för portabla enheter med begränsade beräkningsresurser. Det finns av den anledningen ett behov inom denna teknik av ett förfarande för integritetsverifiering, som är mindre beräkningsintensivt. Det vore idealiskt om en sådan process tillät en portabel enhet att snabbt verifiera integriteten av en digital information som den mottager.
SAMMANFATTNING AV UPPFINNINGEN Några utföringsfonner av uppfinningen tillhandahåller en metod för verifiering av integriteten hos en digital information. Vid en källa till den digitala informationen genererar metoden en signatur för den digitala informationen genom att applicera en hashing-funktion till en speciell del av den digitala informationen, varvid den speciella delen är mindre än den totala digitala informationen. Metoden förser en enhet med signaturen och den digitala informationen. I enheten applicerar metoden hashing- funktionen på den speciella delen av den digitala informationen för att verifiera integriteten för den överförda signaturen och dänned verifiera integriteten för den överförda digitala informationen.
- Den speciella delen av den digitala informationen inkluderar flera olika sektioner av den digitala informationen. I några utföringsformer konfigurerar metoden källan och enheten för att utvälja en förutbestämd uppsättning av sektioner av den digitala informationen som den speciella delen av den digitala informationen. Enheten inkluderar i några utföringsformer ett read-only minne som (1) lagrar kod för identifiering av den speciella delen, och (2) lagrar hashing-funktionen.
I några utföringsfornier genererar metoden en signatur för den digitala informationen vid källan genomatt (1) applicera hashing-funktionen på den speciella delen för att generera en hash digest, och sedan (2) generera signaturen från hash digesten. Metoden kan implementeras i antingen ett asymmetriskt eller symmetriskt förfarande för iritegritetsverifiering. I några utföringsexempel applicerar metoden till exempel hashing funktionen vid enheten genom att (1) applicera hashing funktionen på den speciella delen för att generera en hash digest, och (2) överföra digesten och den mottagna signaturen till en signaturverifierande process som bestämmer autenticiteten för 10 15 20 25 30 35 535 797 signaturen baserat på den tillhandahållna digesten. I några utföringsexempel applicerar metoden alternativt hashing funktionen vid enheten genom att (l) generera en andra signatur baserad på hash digesten, och (2) jämföra de första och andra signaturerna för att bestämma integriteten för den överförda digitala informationen.
Källan till den digitala informationen kan vara olika i olika utföringsexempel. Till exempel kan källan vara informationens upphovsman, distributör, etc. Enheten som mottager den digitala informationen kan också vara olika i olika utföringsfonner.
Exempel på en sådan enhet inkluderar en portabel audio/video spelare (t.ex. iPod), en laptop, en mobiltelefon, etc. Den digitala informationen kan också vara olika i olika utföringsformer. Den digitala informationen kan Lex. vara firmware-updatcringar till operativsystemet för enheten, tredje-part applicationer för att köras på enheten, audio/video filer för att spelas på enheten etc.
F IGURBESKRIVNING Uppfinningens nya egenskaper framgår av de bifogade kraven. För en närmare förklaring beskrives emellertid ett flertal utföringsformer i de följande figurema.
Figur l visar ett system för integritetsverifiering enligt några utföringsformer av i uppfinningen.
Figur 2 visar ett annat system för integritetsverifiering enligt några utföringsforrner av uppfinningen.
Figur 3 visar ett DRM system som implementerar systemet för integritetsverifieriiig enligt några utröringsformer av uppfinningen.
Figur 4 visar ett förfarande för integritetsverifiering som utföres med hjälp av en eller flera DRM servrar i några utföringsforrner av uppfinningen.
Figur 5 visar ett förfarande för integritetsverifiering som utföres med hjälp av en portabel multimediaenhet i några utföringsforrnerav uppfinningen.
Figur 6 visar ett diagram för ett datorsystem som konceptuellt illustrerar komponenterna i en typisk DRM server, användardator eller portabel enhet implementerande några utföringsforiner av uppfinningen. 10 15 20 25 30 35 535 797 DETALJERAD BESKRIVNING AV UPPFINNINGEN Iden följande beskrivningen kommer ett antal detaljer att tas med för att underlätta förklaringen. F ackmannen inser emellertid att uppfinningen kan utföras utan användning av dessa speciella detaljer. I andra fall visas välkända strukturer och enheter i form av blockdiagrarn för att inte belasta beskrivningen av uppfinningen med onödiga detaljer.
I. ÖVERSIKT Några utföringsforrner av uppfinningen tillhandahåller en metod för verifiering av integriteten hos en digital information. Vid en källa till den digitala informationen genererar metoden en signatur för den digitala informationen genom att applicera en hashing-funktion till en speciell del av den digitala informationen, varvid den speciella delen är mindre än den totala digitala informationen. Metoden förser en enhet med signaturen och den digitala informationen. I enheten applicerar metoden hashing- funktionen på den speciella delen» av den digitala informationen för att verifiera integriteten för den överförda signaturen och därmed verifiera integriteten för den överförda digitala informationen.
Den speciella delen av den digitala informationen inkluderar flera olika sektioner av den digitala informationen. I några utföringsfoirner konfigurerar metoden källan och enheten för att utvälja en förutbestämd uppsättning av sektioner av den digitala informationen som den speciella delen av den digitala informationen. Enheten inkluderar i några utföringsforrner ett read-only minne som (1) lagrar kod för identifiering av den speciella delen, och (2) lagrar hashing-funktionen.
I några utföringsfornier genererar metoden en signatur för den digitala informationen vid källan genom att (l) applicera hashing-funktionen på den speciella delen för att generera en hash digest, och sedan (2) generera signaturen från hash digesten. Metoden kan implementeras i antingen ett asymmetriskt eller symmetriskt förfarande för integritetsverifiering. I några utföringsexempel applicerar metoden till exempel hashing funktionen vid enheten genom att (l) applicera hashing funktionen på den speciella delen för att generera en hash digest, och (2) överföra digesten och den mottagna signaturen till en signaturverifierande process som bestämmer autenticiteten för signaturen baserat på den tillhandahållna digesten. I några utföringsexempel”applicerar metoden alternativt hashing funktionen vid enheten genom att (1) generera en andra signatur baserad på hash digesten, och (2) jämföra de första och andra signaturema för att bestämma integriteten för den överförda digitala informationen. 10 15 20 25 30 ' 35 535 797 Källan till den digitala informationen kan vara olika i olika utföringsexempel. Till exempel kan källan vara infonnationens upphovsman, distributör, etc. Enheten som mottager den digitala informationen kan också vara olika i olika utföringsforrner.
Exempel på en sådan enhet inkluderar en portabel audio/video spelare (Lex. iPod), en laptop, en mobiltelefon, etc. Den digitala informationen kan också vara olika i olika utföringsformer. Den digitala informationen kan t.ex. vara firmware-updateringar till operativsystemet för enheten, tredje-part applikationer för att' köras på enheten, audio/video filer för att spelas på enheten etc.
II. SYSTEM FÖR INTEGRITETSVERIFIERTNG ENLIGT NÅGRA UTFÖRINGSFORMER Figur 1 visar konceptuellt en mer detaljerad version av ett system för integritets- verifiering 100 för någon utföringsforrn av uppfinningen. Som visas i denna figur innehåller detta system en källenhet för digital information 1 10 och en informations- mottagande enhet 115. Som visas i figur 1 överför källenheten för digital infonnation 110 åtminstone ett block av digital information 105 till den informationsmottagande enheten 115. En infonnationskälla är varje part inblandad i skapandet av informationen, dess försäljning eller distribution. Exempel på en sådan part inkluderar informationens upphovsman, försäljare, distributör etc. Källenheten för digital information 110 kan bestå av en eller flera stationära eller portabla enheter, datorer, servrar, etc. Som visas i figur 1 utför källenheten för digital infonnation 110 en hashing-procedur 120 och en signaturgenereringsprocedurj130. Hashing-proceduren 120 applicerar en hash-funktion på en del av den digitala informationen 105. Denna del är ett speciellt mönster av bitar . 125 vilket visas konceptuellt som svärtade sektioner av den digitala informationen 105 i figur 1.
I några utföringsforrner är detta bitrnönster specificerat på ett sätt som (till exempel av källenheten för digital information 1 10, av en DRM-server som styr enheten 110, etc.) säkerställer att tillräcklig digital information hashas för att uppnå tre mål. För det första måste bitmönstret specificeras så att manipulering med den digitala informationen kräver manipulering med en av sektionerna som hashas, vilket skulle avslöja manipuleringen eftersom manipuleringen skulle ändra den följande signaturen. För det andra måste bitmönstret specificeras så att två olika delar av digital infonnation som hashas av proceduren 120 inte kolliderar (det vill säga, inte producerar samma hash).
.För det tredje, eftersom den informationsmottagande enheten 115 kommer att utnyttja samma bitmönster fór sin hashing-procedur, så bör bitmönstret utnyttja minsta antalet 10 15 20 25 30 35 535 797 bitar som behövs för att uppfylla de tvåtörsta målen, så att hashing-proceduren kommer att minimalt utnyttja beräkningsresurserna för den inforrnationsmottagande enheten 1 15.
Hashing-proceduren 120 är i några utföringsformer konfigurerad att välja bitmönstret 125 kvasi-slumpartat, eller systematiskt (t.ex. baserat på ett ordnat mönster av bitar) i andra utlöringsforrner. I några utföringsforrner kan t.ex. den digitala informationen bestå av objektkod till ett program (som t.ex. operativsystemet för den informations- mottagande enheten 115, en tredj eparts-applikation som körs på den informations- mottagande enheten 115, etc.) I en del av dessa utföringsforrner inkluderar koden en uppsättning op-koder (det vill säga instruktionskoder) och ingen eller flera operander (det vill säga ingen eller flera databitar) för varje op-kod. En del av dessa utföringsforrner applicerar således hash- funktionen på så stor del av op-koderna och operanderna som behövs för att maximera detekteringen av manipulering, minimera hash-kollisioner och minimera användningen av beräkningsresurser.
I en del utföringsforrner utnyttjar t.ex. den infonnationsmottagande enheten en ARM mikroprocessor. I en sådan mikroprocessor kallas varje rad av objektkod (som . inkluderar en op-kod och dess tillhörande operand) en mikroprocessor-operationsenhet (MOU), vilken har en statistisk längd av fyra bytes. En del utföringsforrner använder därför fyra-bytes avståndet för att identifiera gränsen mellan varje kodrad, och använder sedan denna information för att utvälja en eller flera bytes från varje MOU. Valet av byte från varje MOU kan utföras på olika sätt i olika utföringsfonner. En del t utföringsforrner inkluderar en kvasi-slumpartad blandning av op-koder och operander i bitmönstret, som skall hashas. Andra utföringsformer kanske endast inkluderar op-koder (till exempel de flesta eller alla op-koder) i en koddel, som hashas och signeras.
Ytterligare andra utföringsfonner kan utvälja en bestämd byte (till exempel alltid den första) i varje instruktionsiad. En del utfóringsfonner utnyttjar en hemlig funktion, vilken för. varje MOU producerar en heltalsmodul för MOU-längden och sedan utväljer sektionen eller sektionerna i MOUn som svarar mot denna modul. Andra .utförings- former kan utnyttja andra mikroprocessorer som till exempel mikroprocessorer tillhandahållna av Motorola Corporation, Intel Corporation, AMD Corporation, IBM i Corporation, etc.
I olika utföringsforrner applicerar hashirig-proceduren 120 olika hashing-funktioner på den speciella delen av den digitala informationen. Exempel på hashing-funktioner som 10 15 20 25 30 35 535 797 utnyttjas i olika utföringsforrner inkluderar MDS, SHA-1, etc. Hashing-funlctioner kan 1 utnyttjas med eller utan en nyckel (det vill säga hashing-funktioner kan vara nycklade hashing-funktioner).
Som ovan nämnts är en hashing-funktion en transformation som typiskt tar en form av data (t.ex. en textform) och överför den till en förvrängd output som kallas digest eller hash. Digesten har typiskt ett bestämt antal bits, som tjänar som ett unikt “fingeravtryck” för den ursprungliga informationen. Om det ursprungliga meddelandet ändras och hashas igen produceras med mycket hög sannolikhet en annan digest. Hash- funktioner kan således användas för att detektera ändrade och förfalskade dokument. De tillhandahåller meddelande-integritet, vilken försäkrar informationsmottagaren att informationen inte har ändrats eller fórvanskats.
Som visas i figur l mottager signaturgeneratorn 130 digesten, som hashing-funktioneni hashing-proceduren 120 producerar. Signaturgeneratorn 130 producerar en signatur 147 för informationen 105 utifrån den mottagna digesten 145. För att producera en sådan signatur kan generatorn 130 använda vilken som helst av ett antal kända tekniker som till exempel: SHA-l, MD5 MAC.
I systemet 100 överföres den digitala informationen 105 och den genererade signaturen 147 till den informationsmottagande enheten 115, såsom visas i figur 1. Olika utföringsforrner överför dessa data till den mottagande enheten 115 på olika sätt. En del utföringsforrner distribuerar till exempel dessa data via ett kommunikationsnätverk som till exempel ett LAN, WAN eller ett nätverk av nätverk (till exempel Intemet). Den inforrnationsmottagande enheten 115 kan dessutom via ett nätverk mottaga dessa data direkt från upphovsmannen, försäljaren eller distributören av informationen eller indirekt via en eller flera mellankopplade servers, som en eller flera DRM servers, informations-caching servers, etc.
En infonnationsmottagare är varje part inblandad i användandet eller distributionen av informationen. Exempel på en sådan part inkluderar inforrnationcns användare, distributör, etc. Den infonnationsmottagande enheten 1,15 kan vara en stationär eller portabel enhet, dator, server, audio/video spelare, en kommunikationsenhet (till exempel telefon, pager, textmeddelare, etc.), fickdator, etc.
I systemet 100 utnyttjar källenheten för digital information 110 och den infonnationsmottagande enheten 115 ett asymmetriskt förfarande för 10 15 20 25 30 35 535 797 integritetsverifiering. Den informationsmottagande enheten 115 utför således två förfaranden, en hashing-procedur 135 och en signatur-verifierande procedur 140.
Hashing-proceduren 135 applicerar samma hash-funktion på samma sektioner av den digitala informationen 105 som hashing-proceduren 120 i källenheten för digital information 110. Speciellt i en del utföringsforrner är hashing-proceduren 135 i den mottagande enheten 115 konfigurerad att utvälja samma bitmönstcr i den digitala informationen 105 som hashing-proceduren 120 i källenheten för digital information 110. Figur 1 illustrerar detta konceptuellt genom att visa att hashing-procedurerna 120 och 135 utnyttjar identiska svärtade bitmönster 125 i den digitala informationen 105.
Valet iihashíng-proceduren' 135 avisamma bitmönster 125 kan göras på ett kvasi- slumpartat eller systematiskt sätt vilket leder till valet av samma bitmönster som i hashing-proceduren 120. ~ Appliceringen av hashing-funktionen i hashing-proceduren 135 på informationen 105 åstadkommer en digest 149. Denna digest bör vara identisk med digesten 145 genererad av hashing-funktionen i hashing-proceduren 120 då den digitala informationen som mottages av procedurerna 120 och 135 är densamma, eftersom båda procedurerna utvälj er samma uppsättning av sektioner i den digitala informationen.
Som visas i figur 1 mottager signaturgeneratorn 140 digesten 149, som hashing- funktionen i hashing-proceduren 135 producerar. Signaturverifieraren 140 mottager också signaturen 147 genererad av signaturgeneratorn 130 i källenheten för digital information 110. Verifierarcn 140 bestämmer sedan om den mottagna signaturen 147 är den korrekta signaturen för den mottagna digitala informationen 105 genom att bestämma om signaturen 147 är korrekt för digesten 149. För att bestämma om signaturen 147 är korrekt för digesten 149 kan verifieraren 140 använda sig av vilken som helst av ett antal kändatekniker som till exempel SHA-l or MDS.
Baserat på jämförelsen mellan digesten 149 och signaturen 147 levererar sedan verifieraren 140 ett integritetskontrollvärde 151. Detta värde specificerar huruvida den mottagna signaturen 147 är den korrekta signaturen för den mottagna digitala infonnationen 105. I en del utföringsformer är t.ex. integritetskontrollvärdet ett Boolskt värde, som är sant då den digitala inforrnationens integritet has verifierats (det vill säga den mottagna signaturen motsvarar den mottagna digitala informationen),loch är falskt då den digitala informationens integritet inte har verifierats. I andra utföringsformer är _ integritetskontrollvärdet vilken som helst annan typ av binärt värde, med ett värde indikerande att den digitala informationens integritet har verifierats och det andra värdet 10 15 20 25 30 35 535 797 indikerande att den digitala infonnationens integritet inte har verifierats. Integritets- kontrollen kommer att specificera att integriteten för informationen inte är verifierad då en eller flera delar av den digitala informationen manipulerats efter det att signaturen 147 har genererats och dessa delar inkluderar en eller flera informationssektioner som användes för att generera hash-digesten 145 och 149.
Andra utföringsfoimer kan implementeras i andra system för integritetsverifiering. Figur 2 visar till exempel en utföringsform av uppfinningen i ett symmetriskt system för integritetsverifiering 200. Systemet 200 liknar systemet 100 så när som på att dess inforrnationsrnottagande enhet 1 15 inte inkluderar den asymmetriska signatur- verifieraren 140 utan inkluderar en signaturgenerator 240 och en symmetrisk signaturverifierare 250. i Liksom signaturgeneratorn 130 i källenheten för digital information 110 genererar signaturgeneratorn 240 en signatur 253 ur hash-digesten 149, som den mottager. Den genererade signaturen 253 överföres sedan till signaturverifieraren 250 tillsammans med den mottagna signaturen 147. Verifieraren 250 jämför sedan de två signaturerna för att specificera integritetskontrollvärdet 151. Integritetskontrollvärdet 151 indikerar att den mottagna digitala informationen inte har manipulerats då de två signaturema 147 och 253 motsvarar varandra. Då dessa två signaturer inte motsvarar varandra indikerar integritetskontrollvärdet att informationen har manipulerats (det vill säga den mottagna signaturen 147 motsvarar inte den mottagna digitala informationen).
För att konceptuellt illustrera att olika delar av den digitala informationen kan hashas i olika utföringsforrner eller för olika delar av informationen, visar figur 2 ett annat svärtat bitmönster 225 i informationen 105 än mönstret visat i figur 1. De sväitade sektionerna i figur 2 har olika längder för att konceptuellt illustrera att sektioner av olika storlek kan hashas i en del utföringsformer av uppfinningen.
III. DRM SYSTEM IMPLEMENTERANDE SYSTEMET FÖR INTEGRITETSVERIFIERING ENLIKT NÅGRA UTFÖRINGSFORMER Systemet för integritetsverifiering enligt några utföringsforrner är implementerat i ett DRM system, som distribuerar information på ett sätt som säkerställer den legala användningen av informationen. Såsom visas i figur 3 inkluderar DRM systemet 300 en uppsättning DRM servers 310 som distribuerar information till en uppsättning av N användardatorer 315. Uppsättningen av servrar 310 är ansluten till användardatorema 315 via ett datomätverk 320, som till exempel ett LAN, WAN, ett nätverk av nätverk 10 15 20 25 30 35 535 797 10 (till exempel Internet), etc. Varje användardator 315 är ansluten till en uppsättning av en eller flera portabla multimedia enheter 330.
Genom nätverksanslutningen kommunicerar användardatorema 315 med-uppsättningen DRM servrar 310 för att köpa, erhålla en licens för, uppdatera eller på- annat sätt mottaga information i vissa utfóringsforrner. Under det att i en del utföringsforrner ' uppsättningen av DRM servrar 310 således säljer eller licensierar information till användardatorerna så sälj er eller licensierar denna uppsättning inte informationen i andra utfóringsformer. I en del utföringsforrner verkställer uppsättningen av DRM servrar 310 bara distributionen av information till auktoriserade datorer utan något finansiellt intresse.
I en del utfóringsfonner inkluderar uppsättningen av DRM servrar 310 en informations- caching server som levererar krypterad information till en användardator 310 via nätverket 320 efter det att en annan DRM server 310 bestämt att datorn 310 har rätt till informationen. I en del utfóringsforrner utnyttjar systemet .300 ett antal caching-servrar för att lagra information på olika ställen i nätverket för att öka hastigheten och effektiviteten vid nedladdning av information över nätverket; Som ovan nämnts kommunicerar en användardator 315 med uppsättningen av DRM servrar 310 for att köpa, erhålla en licens för, uppdatera eller på annat sätt mottaga information via nätverket 320. I en del uttöringsforrner överför uppsättningen av DRM servrar 310 en signatur för en informationsmängd som distribueras till en användardator 315, varvid signaturen genereras genom hashning av endast en del av informationen, enligt en del utföringsfonner av uppfinningen.
Figur 3 visar speciellt en användardator 3 l5a som sänder en begäran om en informationsmängd “A” till uppsättningen av DRM servrar 310. Denna begäran kan vara en begäran om köp, om att erhålla en licens för, eller på annat sätt få tillgång till informationen. Altemativt, då informationen är en applikation eller ett operativsystem, som körs på användardatom eller en av dess associerade multimedia enheter 330, kan begäran vara en begäran om en uppdatering till applikationen eller operativsystemet.
Denna begäran kan vara en explicit begäran eller en implicit begäran i en procedur för uppdateringskontroll utförd på användardatorn 315, vilken med eller utan ingripande från användarenletar efter uppdateringar till applikationen eller operativsystemet. 15 20 25 30 35 535 797 ll Såsom visas i flgur 3 mottager uppsättningen av DRM servrar 310 begäran om informationen A från användardatorn 3 1 Sa. En ellerflera av DRM datorerna utför sedan i proceduren 400 illustrerad i figur 4 för att generera en signatur för den begärda informationen A. Såsom visas i figur 4 genererar proceduren 400 till att börja med (vid 405) en digest genom att applicera en hash-funktion på endast en del av den begärda informationen A. Applicering aven hash-funktion på endast en del av en informations- ' mängd har beskrivits i sektionema I och II ovan. Såsom ovan nämnts och ytterligare beskrivet nedan applicerar proceduren 400 hash-funktionen på samma del av informa- tionen A som hashing-funktionema i användardatorn 3lSa och dess associerade multimedia enhet 330a.
Efter applicering av hashing-funktionen vid 405 genererar proceduren 410 (vid 410) en signatur baserad på hash-digesten genererad vid 405. Generering av en signatur baserat på hash-digesten har beskrivits ovan i sektionerna l och ll. Efter generering av signaturen vid 410, överför proceduren den begärda informationen A och dess associerade signatur till användardatorn 3l5a, och avslutas därefter.
I en del utföringsformer utnyttjar användardatorn 3 l Sa den överförda signaturen för att verifiera integriteten för den mottagna informationen A. För att göra detta genererar användardatorn 31 Sa en hash-di gest för informationen A genom att applicera hashing- funktionen på samma del av informationen A som hashing-funktioneni uppsättningen av DRM servrar 310. Den utnyttjar sedan denna digest för att veriñera integriteten för signaturen genom att utnyttja en asymmetrisk signaturverifierande metod (såsom den ivisad i figur 1) eller en symmetrisk signaturverifierande metod (såsom den visad i figur 2).
I en del utförlngsformer mottager en multimedia enhet 330a ansluten till användardatom 3 1 Sa också informationen A och signaturen A för denna information då den synkroniseras med datorn 3 1 Sa. När således informationen A är information avsedd för multimedia enheten 330a registrerar i en del utfóringsformer användardatorn 315a (till exempel i ett dataminne) behovet att ladda ned informationen A och dess signatur till enheten 330a då enheten 33 0a synkroniserar nästa gång med datorn 3l5a.
På samma sätt som användardatorn 3 1 Sa genererar multimedia enheten 330a en hash- digest för informationen A genom att applicera hashing-funktionen på samma del av informationen A som hashing-funktionen i uppsättningen av DRM servrar 310. Den utnyttjar sedan denna hash-digest för' att verifiera integriteten för informationen genom l0 20 25 30 35 535 797 att utnyttja en asymmetrisk signaturverifierande metod (såsom den visad i figur 1) eller en symmetrisk signaturverifierande metod (såsom den visad i figur 2). Figur 5 illustrerar ett mera detaljerat exempel på förfarandet för integritetsverifiering500, som multimedia enheten 330a utför i en del utfóringsexempel. Denna procedur utföres under en synkroniseringsoperation som laddar exekverbar information (det villsäga kod för uppdatering av operativsystemet, för uppdatering av existerande applikationer, för nya applikationer, etc.) på multimedia enheten 330a. Såsom visas i denna figur mottager till att börja med proceduren 500 (vid 505) exekverbar information och signatur för denna information under en synkroniseringsoperation som säkerställer att enheten har all information, som användardatorii indikerar att den skall ha.
Efter synkroniseringen återstartar proceduren (vid 510), eftersom i en del utförings- exempel den integritetsverifierande proceduren utgör en del av boot-sekvensen vid start.
Speciellt utför i en del utföringsforrner boot-sekvensen vid start en procedur för integritetsverifikation för varje del av nyss mottagen kod även om i exemplet visat i figur 5 det antages att endast en informationsmängd laddas ner i enheten vid 505. I en del utfóringsfonner är boot-sekvensen (inkluderande förfarandet för integritets- verifiering) lagrad i ett permanent read-only minne i enheten 31 Sa. Detta säkerställer att förfarandet för integritetsverifiering inte kan manipuleras efter försäljning av enheten.
Således genererar proceduren 500 (vid 515) under boot-sekvensen vid start en hash- digest för den mottagna informationen genom att applicera hashing-funktionen på samma del av informationen som hashing-funktionen i uppsättningen av DRM servrar 310. Den utnyttjar sedan (vid 520) denna hash-digest för att verifiera integriteten för signaturen. Proceduren 500 kan till exempel utnyttja en asymmetrisk signatur- verifierande metod (såsom den visad i figur 1) eller en symmetrisk signaturverifierande metod (såsom den visad i figur 2).
Då proceduren inte kan verifiera (vid 520) integriteten av den nyss mottagna koden (det vill säga då den nyss mottagna signaturen inte motsvarar digesten genererad av enheten för den nyss mottagna informationen) stoppar proceduren utan att specificera att informationen kan laddas i det exekverbara minnet. Alternativt, då proceduren verifierat (vid 520) integriteten för den nyss mottagna koden, så specificerar proceduren (vid 525) att koden är exekverbar. I en del utfóringsforrner laddar proceduren (vid 525) koden i ett exekverbart minne och exekverar koden. DRM systemet 300 i figur 3 har mer än en användardator som mottager digital information och signaturer för sådan information enligt förfarandena för integritetsverifiering i en del utföringsformer av uppfinningen. 10 20 25 30 35 535 797 Figur 3 visar speciellt en användardator 3 15n, som begär om en inforrnationsmängd (det vill säga mängden B) från uppsättningen av DRM servrar 310. Såsom visas i denna figur mottager användardatorn 31 Sn den begärda informationen B och en signatur för 'denna information från uppsättningen av DRM servrar 310. Enligt uppfinningen genereras signaturen för informationen B genom hashning av endast en del av_ informationen B. Användardatorn 3 1 Sn och dess associerade uppsättning av portabla enheter 330 verifierar sedan integriteten för informationen B genom hashning av samma del av informationen B som uppsättningen av DRM servrar ungefär på samma sätt som beskrivits ovan för användardatorn 315a och dess associerade enheter 330a.
IV. SYSTEMDIAGRAM Figur 6 visar ett diagram för ett datorsystem som konceptuellt illustrerar komponenterna i en typisk DRM server, användardator eller portabel enhet implementerande några utföringsforrner av uppfinningen. Datorsystemet 600 inkluderar en buss 605, en processor 610, ett systemminne 615, ett read-only minne 620, ett permanent minne 625, input enheter 630 och output enheter 3035.
Bussen 605 representerar kollektivt alla system-, perifera- och chipsetbussar som sköter kommunikationen mellan interna enheter i datorsystemet 600. Bussen 605 samman- binder till exempel kommunikativt processorn 610 med read-only minnet 620, systemminnet 615 och den permanenta lagringsenheten 625. Från dessa olika minnesenheter hämtar processorn 610 instruktioner att exekvera och data att behandla för att exekvera proceduren enligt uppfinningen. Read-only minnet (ROM) 620 lagrar statiska data och instruktioner som behövs för processorn 610 och andra moduler i datorsystemet. I fallet med en portabel enhet som implementerar uppfinningen lagrar read-only minnet boot-sekvensen och hashing-proceduren i en del utföringsfonner, såsom nämnts ovan.
Den permanenta lagringsenheten 625 å andra sidan är en read-and-write minnesenhet.
Denna enhet är en permanentminnesenhet, som lagrar instruktioner och data även då datorsystemet inte är i drift. En del utföringsformer av uppfinningen utnyttjar en massminnesenhet (som en magnetisk eller optisk skiva med tillhörande diskdrive) som den permanenta minnesenheten 625. Andra utföringsforrner utnyttjar en extem - minnesenhet (som ett minneskort eller minnessticka) som pennanent minnesenhet.
Liksom den pennanenta lagringsenheten 625 är systemminnet 615 en read-and-Write minnesenhet. Till skillnad från lagringsenheten 625 är emellertid systemminnet ett 10 15 20 25 30 35 535 797 l4 flyktigt read-and-write minne, som ett random access minne. Systemminnet lagrar en del av de instruktioner och data som processorn behöver då den arbetar. I en del utföringsformer är uppfinningens procedurer lagrade i systemminnet 615, den permanenta lagringsenheten 625 och/eller read-only minnet 620.
Bussen 605 är också förbunden med input och output enheterna 630 och 635.
Inputenhetema gör det möjligt för användaren att överföra information och välja kommandon för datorsystemet. Inputenheterna 630 inkluderar alfanumeriska tangentbord och styrenheter för pekare. Outputenhetema 635 visar bilder genererade av datorsystemet. Outputenhetema inkluderar printrar och displayenheter såsom displayenheter med katodstrålerör (CRT) eller flytande kristaller (LCD). Slutligen, som visas i figur 6, inkluderar också vissa konfigurationer av datorn 600 en nätverksadapter 640 ansluten till bussen 605.. Via nätverksadaptem 640 kan datorn vara en del av ett nätverk av datorer (som ett lokalt nätverk (“LAN”), ett vidsträckt nätverk (“WAN”) eller ett lntranet) eller ett nätverk av nätverk (som Intemet). Vilken som helst eller alla komponenterna i datorsystemet 600 kan användas tillsammans med uppfinningen.
Fackmannen inser emellertid att vilken som helst annan systemkonfiguration också kan användas tillsammans med uppfinningen.
V. FÖRDELAR Fackmartnen förstår att de ovan beskrivna förfarandena för integritetsverifiering har flera fördelar. Då man laddar ned ny exekverbar kod till en enhet, till exempel, är det - viktigt att verifiera integriteten för koden eftersom sådan kod ger ett lämpligt tillfälle att utsätta enheten för en attack. Integritetsprocedurerna, som ovan beskrivits, anvisar ett enkelt sätt att kontrollera integriteten för koden även på portabla enheter med begränsade beräkningsresurser.
En del utföringsformer inkorporerar också procedurerna för integritetsverifiering under boot-sekvensen vid start av enheten för att minimera möjligheten till manipulering av integritetsproceduren. För att ytterligare (minimera denna möjlighet har en del utföringsfornier integritetsprocedurerna lagrade i ett read-only minne i enheten. Även om uppfinningen har beskrivits med referens till ett stort antal specifika detaljer så inser fackmannen att uppfinningen kan realiseras i andra specifika former utan att man därvid lämnar uppfinningens ide. Som nämnts ovan, till exempel, kan en del utförings- former utnyttja en nycklad hashing-funktion. Om en nyckel användes kan både synimetriska (en enda hemlig nyckel) och asymmetriska nycklar (publika/privata 10 535 797 nyckelpar) användas. Ett exempel på en nycklad hash-funktion är en nycklad MDS teknik. En sändare lägger till en slumpartat genererad nyckel vid slutet på ett meddelande och hashar sedan meddelande-nyckel kombinationen under användande av en MDS hash för att åstadkomma en digest. Därefter tages nyckeln bort från meddelandet och krypteras med sändarens privata nyckel. Meddelandet, meddelande- digesten och den krypterade nyckeln skickas till mottagaren som öppnar nyckeln med t sändarens publika nyckel (validerande på så sätt att meddelandet verkligen är från sändaren). Mottagaren lägger sedan till nyckeln till meddelandet och applicerar samma hash som sändaren. Meddelande-digesten bör motsvara meddelande-digesten som sänts med meddelandet.
Flera av de ovan beskrivna utföringsfonnerna utväljer också bitmönster i objektkod- formatet för en information. Andra utforingsfonner kan utvälja andra mönster av sektioner då informationen har ett annat format (till exempel är i källkod eller XML- format). F ackrnannen inser således att uppfinningen inte är begränsad av de beskrivna illustrativa detalj ema utan istället skall definieras av de bifogade patentkraven.

Claims (29)

10 15 20 535 797 Ib NYA PATENTKRAV FÖR AvnELAn ANSÖKAN
1. Ett datorläsbart medium lagrande ett datorprogram som är exekverbart med åtminstone en processor varvid datorprogrammet innefattar uppsättningar av instruktioner för: mottagning av en speciell information, vilken innefattar ett flertal rader med objektkod, varvid varje rad innefattar en op-kod och dess tillhörande uppsättning av operander; mottagning av en digital signatur genererad med användning av åtminstone en byte från varje rad av objektkod; och verifiering av autenticiteten för den speciella informationen genom att applicera en hashing-funktion på byte-arna av objektkod använda för att generera den digitala signaturen.
2. Datorläsbart medium enligt patentkrav l, varvid uppsättningen instruktioner tör verifiering av autenticiteten för den speciella informationen dessutom innefattar: jämförelse av resultatet av appliceringen av hashing-funktionen på byte-arna av objektkod mot den digitala signaturen mottagen tillsammans med den speciella informationen.
3. Datorläsbart medium enligt patentkrav 2, varvid den mottagna digitala signaturen genereras av en uppsättning DRM servrar, vilka distribuerar den speciella informationen. 10 15 20 535 797 i?
4. Datorläsbart medium enligt patentkrav 1, varvid den mottagna digitala signaturen är genererad från kvasi-slumpartat valda bytes av objektkod från varje rad av objektkod.
5. Datorläsbart medium enligt patentkrav 1, varvid varje rad innefattar en mikroprocessor-operationsenhet med en fyra bytes statistisk längd.
6. Ett datorläsbart medium lagrande ett datorprogram för exekvering med åtminstone en processor, varvid datorprogrammet innefattar uppsättningar av instruktioner för: mottagning av en speciell information, vilken innefattar ett flertal uppsättningar av op-koder och operander, varvid varje uppsättning innefattar en op-kod och dess tillhörande uppsättning av operander, tillsammans med en digital signatur härledd från endast en del av den speciella informationen, baserad på ett ordnat mönster av bits i den speciella informationen, varvid delen innefattar en del av var och en av ett flertal av uppsättningarna av op-koder och operander; och verifiering av autenticiteten for den speciella informationen genom återberäkning av en digest använd vid härledningen av den digitala signaturen, varvid den återberäknade digesten är härledd från endast samma del av den speciella informationen.
7. Datorläsbart medium enligt patentkrav 6, varvid uppsättningen av instruktioner för verifiering av autenticiteten för den speciella informationen innefattar en uppsättning instruktioner för verifiering av den återberäknade digesten med användning av en asymmetrisk integritetskontroll, som inte återberäknar den digitala signaturen. 10 15 20 535 797
8. Datorläsbart medium enligt patentkrav 6, varvid uppsättningen instruktioner för verifiering av autenticiteten för den speciella infonnationen innefattar uppsättningar av instruktioner för: härledning av en ny digital signatur från den återberälmade digesten; och jämförelse av den nya digitala signaturen med den mottagna digitala signaturen.
9. Datorläsbart medium enligt patentkrav 6, varvid den speciella informationen innefattar en uppdatering för firmware till en enhet.
10. Datorläsbart medium enligt patentkrav 6, varvid den speciella informationen innefattar mediainforrnation.
11. Metod för verifiering av en speciell information på en användarenhet, varvid metoden innefattar: mottagning (i) av en speciell information, vilken innefattar ett flertal sektioner och (ii) en digital signatur genererad från en deluppsättning av nämnda flertal sektioner av den speciella informationen, varvid deluppsättningen är vald för att minska användningen av beräkningsresurser för verifiering av den digitala signaturen utan att öka sannolikheten för att digitala signaturer för tvâ olika infonnationer blir desamma; återberäkning av en digest från deluppsättningen av nämnda flertal sektioner av den speciella informationen; och verifiering av autenticiteten för den speciella informationen med användning av den återberäknade digesten och den mottagna digitala signaturen.
12. Metod enligt patentkrav 11, varvid deluppsâttningen också väljs för att förbättra detektering av manipulering av den speciella informationen.
13. Metod enligt patentkrav ll, varvid mottagningen, återberäkriingen och verifiering av autenticiteten utförs av en första enhet, varvid metoden dessutom l0 15 20 535 797 lit innefattar synkronisering med en andra enhet för överföring av den speciella informationen och mottagna digitala signaturen till den andra enheten.
14. Metod innefattande: för en speciell information som innefattar ett flertal sektioner, val av en uppsättning sektioner av den speciella informationen; generering av en digital signatur för den speciella infonnationen från endast den valda uppsättningen av "sektioner från den speciella informationen, varvid uppsättningen sektioner väljs för att förbättra detektering av manipulering av den speciella informationen och minska användningen av beräkningsresurser för generering av den digitala signaturen; och distribution av den digitala signaturen.
15. Metod enligt patentkrav 14, varvid uppsättningen sektioner väljes för att undvika en ökning av sannolikheten för att digitala signaturer för två olika informationer blir desamma.
16. Metod enligt patentkrav l4, dessutom innefattande distribution av den speciella informationen med den digitala signaturen.
17. Metod enligt patentkrav 14, varvid uppsättningen sektioner väljes kvasi- slumpartat.
18. Ett datorläsbart medium lagrande ett datorprogram som är exekverbart med åtminstone en processor varvid datorprogrammet innefattar uppsättningar av instruktioner för: identifiering för en speciell information, ett flertal rader med objektkod i den speciella informationen, varvid varje rad innefattar en op-kod och dess tillhörande uppsättning av operander; 10 15 20 535 797 [lb val av åtminstone en byte från varje rad av objektkod, varvid mindre än hela raden väljes for ett flertal av raderna; generering av en digital signatur for hela den speciella informationen genom applicering av en hashing-funktion på endast de valda byte-arna från radema med objektkod; och distribution av den digitala signaturen.
19. Datorläsbart medium enligt patentkrav 18, varvid den digitala signaturen distribueras med den speciella informationen till en användarenhet.
20. Datorläsbart medium enligt patentkrav 18, varvid användarenheten verifierar den digitala signaturen under användande av endast en op-kod från varje uppsättning av den speciella informationen.
21. Ett datorläsbart medium lagrande ett datorprogram som är exekverbart med åtminstone en processor varvid datorprogrammet innefattar uppsättningar av instruktioner fór: identifiering for en speciell information, av ett flertal rader med objektkod i den speciella informationen, varvid varje rad innefattar en op-kod och dess tillhörande uppsättning av operander, val av åtminstone en byte från varje rad av objektkod, varvid mindre än hela raden väljes for nämnda flertal rader; generering av en digital signatur för den speciella informationen utifrån endast de valda byte-arna från radema med objektkod; och distribution av den digitala signaturen och den speciella informationen till en enhet. 10 15 20 535 797 &\
22. Datorläsbart medium enligt patentkrav 21, varvid uppsättningen instruktioner for generering av den digitala signaturen innefattar en uppsättning instruktioner för generering av en hash digest från de valda byte-arna från raderna med objektkod.
23. Datorläsbart medium enligt patentkrav 21, varvid den speciella informationen innefattar en applikation för exekvering på en enhet.
24. Metod for generering av en digital signatur fór en speciell information som innefattar en uppsättning sektioner, varvid metoden innefattar: i en uppsättning av digitala rättsfórvaltande (DRM) datorer, utvälja en delsektion från var och en av ett flertal sektioner i uppsättningen av sektioner baserat på ett ordnat mönster av bits i den speciella informationen, varvid var och en av nämnda flertal sektioner innefattar en första vald delsektion och en andra icke-vald delsektion; generering av en enda digital signatur för den speciella infonnationen utifrån endast de valda delsektionema av den speciella informationen; och från uppsättningen av DRM datorer tillhandahålla den enda digitala signaturen for verifikation av hela den speciella informationen.
25. Metod enligt patentkrav 24, varvid var och en av sektionerna innefattar en fyra bytes microprocessor operationsenhet (MOU), och den valda delsektionen från var och en av nämnda flertal sektioner är en forsta byte från MOU.
26. Metod enligt patentkrav 24, varvid var och en av sektionerna innefattar en op-kod och associerade operander och den valda delsektionen från var och en av nämnda flertal sektioner innefattar op-koden.
27. Metod for verifiering av en information, som innefattar en uppsättning sektioner, varvid metoden innefattar: 535 797 51A, mottagning av informationen och en enda digital signatur härledd från en del av informationen, varvid delen innefattar, för var och en av ett flertal sektioner, en första vald delsektion och en andra icke-vald delsektion; verifiering av hela informationen med användning av den enda digitala signaturen.
28. Metod enligt patentkrav 27, varvid de valda delsektionema väljes kvasi- slumpartat.
29. Metod enligt patentkrav 27, varvid de valda delsektionema väljes utifrån ett ordnat mönster av bits.
SE1150067A 2006-03-15 2007-03-13 Optimerade förfaranden för integritetsverifiering SE535797C2 (sv)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/377,082 US8364965B2 (en) 2006-03-15 2006-03-15 Optimized integrity verification procedures

Publications (2)

Publication Number Publication Date
SE1150067A1 SE1150067A1 (sv) 2011-02-01
SE535797C2 true SE535797C2 (sv) 2012-12-27

Family

ID=38226566

Family Applications (2)

Application Number Title Priority Date Filing Date
SE1150067A SE535797C2 (sv) 2006-03-15 2007-03-13 Optimerade förfaranden för integritetsverifiering
SE0700601A SE534208C2 (sv) 2006-03-15 2007-03-13 Optimerade förfaranden för integritetsverifiering

Family Applications After (1)

Application Number Title Priority Date Filing Date
SE0700601A SE534208C2 (sv) 2006-03-15 2007-03-13 Optimerade förfaranden för integritetsverifiering

Country Status (7)

Country Link
US (2) US8364965B2 (sv)
EP (4) EP2284754A1 (sv)
CN (1) CN101443774B (sv)
DE (1) DE102007012490A1 (sv)
FR (1) FR2911419B1 (sv)
SE (2) SE535797C2 (sv)
WO (1) WO2007106831A1 (sv)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9678967B2 (en) * 2003-05-22 2017-06-13 Callahan Cellular L.L.C. Information source agent systems and methods for distributed data storage and management using content signatures
US7103779B2 (en) 2003-09-18 2006-09-05 Apple Computer, Inc. Method and apparatus for incremental code signing
US8364965B2 (en) 2006-03-15 2013-01-29 Apple Inc. Optimized integrity verification procedures
JP4305481B2 (ja) * 2006-08-29 2009-07-29 ブラザー工業株式会社 通信システムと管理装置と情報処理装置
JP4479703B2 (ja) * 2006-08-29 2010-06-09 ブラザー工業株式会社 通信システムと管理装置
US9443068B2 (en) 2008-02-20 2016-09-13 Micheal Bleahen System and method for preventing unauthorized access to information
US20090235083A1 (en) * 2008-02-20 2009-09-17 Micheal Bleahen System and method for preventing unauthorized access to information
GB0811210D0 (en) * 2008-06-18 2008-07-23 Isis Innovation Improvements related to the authentication of messages
KR101205716B1 (ko) * 2008-12-19 2012-11-28 한국전자통신연구원 프로그램 정보에 포함된 시그너처를 이용하여 방송 프로그램의 사용을 제어하는 방송 신호 수신 장치 및 그 방법
CN101739522B (zh) * 2009-12-31 2013-01-02 中兴通讯股份有限公司 Drm文件完整性的保护方法及装置
CN102004879B (zh) * 2010-11-22 2012-12-26 北京北信源软件股份有限公司 一种识别可信任进程的方法
US9852143B2 (en) 2010-12-17 2017-12-26 Microsoft Technology Licensing, Llc Enabling random access within objects in zip archives
US8839446B2 (en) 2011-09-12 2014-09-16 Microsoft Corporation Protecting archive structure with directory verifiers
US8819361B2 (en) 2011-09-12 2014-08-26 Microsoft Corporation Retaining verifiability of extracted data from signed archives
US8972967B2 (en) 2011-09-12 2015-03-03 Microsoft Corporation Application packages using block maps
US9148478B2 (en) * 2011-10-25 2015-09-29 Alcatel Lucent Verification of integrity of peer-received content in a peer-to-peer content distribution system
US8930354B2 (en) * 2012-01-09 2015-01-06 James Lewin System and method for organizing content
US9369467B1 (en) * 2013-05-08 2016-06-14 Amdocs Software Systems Limited System, method, and computer program for providing generic access to web content on a mobile device
US20150302400A1 (en) * 2014-04-18 2015-10-22 Ebay Inc. Distributed crypto currency reputation system
US9367690B2 (en) * 2014-07-01 2016-06-14 Moxa Inc. Encryption and decryption methods applied on operating system
KR20170103750A (ko) * 2014-10-17 2017-09-13 아베론 유에스, 인크. 대역 외 데이터로부터 도출되는 디지털 핑거프린트 신호에 기초하는 사용자 검증
FR3044124B1 (fr) * 2015-11-20 2018-09-21 Sagemcom Energy & Telecom Sas Procede de verification d'integrite d'un ensemble de donnees
US11386067B2 (en) * 2015-12-15 2022-07-12 Red Hat, Inc. Data integrity checking in a distributed filesystem using object versioning
CN106685653B (zh) * 2016-12-29 2020-07-07 同济大学 一种基于信息安全技术的车辆远程固件更新方法及装置
JP6959155B2 (ja) * 2017-05-15 2021-11-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 検証方法、検証装置およびプログラム
EP3710974B1 (en) 2017-11-17 2023-07-26 Telefonaktiebolaget LM Ericsson (publ) Method and arrangement for detecting digital content tampering
CN108900472B (zh) * 2018-05-31 2021-11-30 北京五八信息技术有限公司 信息的传输方法和装置
CN108920971A (zh) * 2018-07-06 2018-11-30 北京京东金融科技控股有限公司 数据加密的方法、校验的方法、加密的装置和校验的装置
US11210413B2 (en) * 2018-08-17 2021-12-28 Microchip Technology Incorporated Authentication of files
US11144375B2 (en) 2018-10-09 2021-10-12 Argo AI, LLC Execution sequence integrity parameter monitoring system
US11138085B2 (en) 2018-10-09 2021-10-05 Argo AI, LLC Execution sequence integrity monitoring system
CN109949889B (zh) * 2019-03-29 2020-09-11 镇江市第一人民医院 一种电子护理病历系统
US11443048B2 (en) * 2019-05-06 2022-09-13 Microsoft Technology Licensing, Llc Install-time procedural content generation for encrypted packages
US11487819B2 (en) 2019-06-19 2022-11-01 Amazon Technologies, Inc. Threaded leaf nodes in database journal
US11418345B2 (en) 2019-06-19 2022-08-16 Amazon Technologies, Inc. Digest proofs in a journaled database
US11310054B2 (en) 2019-06-19 2022-04-19 Amazon Technologies, Inc. Symmetric function for journaled database proof
US11487733B2 (en) * 2019-06-19 2022-11-01 Amazon Technologies, Inc. Database journal redaction
US20220261505A1 (en) * 2019-07-23 2022-08-18 Sony Interactive Entertainment Inc. Access control apparatus, access control method, and program
CA3146035A1 (en) 2019-08-12 2021-02-18 Audio Visual Preservation Solutions, Inc. Source identifying forensics system, device, and method for multimedia files
CN111866554B (zh) * 2020-07-09 2022-05-17 郑州信大捷安信息技术股份有限公司 多媒体安全播放方法和系统
US20220391791A1 (en) * 2021-03-25 2022-12-08 Certinal Software Private Limited System and method for modification of future recipients in an electronic signature workflow
US11711555B1 (en) * 2021-03-31 2023-07-25 Amazon Technologies, Inc. Protecting media content integrity across untrusted networks

Family Cites Families (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4868877A (en) 1988-02-12 1989-09-19 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5113444A (en) * 1990-09-05 1992-05-12 Arnold Vobach Random choice cipher system and method
US5313576A (en) * 1990-11-23 1994-05-17 Network Computing Devices, Inc. Bit aligned data block transfer method and apparatus
US5454000A (en) * 1992-07-13 1995-09-26 International Business Machines Corporation Method and system for authenticating files
US6367013B1 (en) * 1995-01-17 2002-04-02 Eoriginal Inc. System and method for electronic transmission, storage, and retrieval of authenticated electronic original documents
FR2731163B1 (fr) 1995-03-03 1997-06-20 Air Liquide Procede et installation de separation d'un melange gazeux par permeation
US5625693A (en) 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
US7770013B2 (en) * 1995-07-27 2010-08-03 Digimarc Corporation Digital authentication with digital and analog documents
US5913022A (en) * 1995-08-31 1999-06-15 Schlumberger Technologies, Inc. Loading hardware pattern memory in automatic test equipment for testing circuits
US6202203B1 (en) * 1995-12-06 2001-03-13 International Business Machines Corporation Method of, system for, and computer program product for providing global value numbering
US5673316A (en) 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope
US5757919A (en) 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
JP4187285B2 (ja) 1997-04-10 2008-11-26 富士通株式会社 認証子付与方法および認証子付与装置
US6092147A (en) 1997-04-15 2000-07-18 Sun Microsystems, Inc. Virtual machine with securely distributed bytecode verification
US7246098B1 (en) * 1997-07-15 2007-07-17 Silverbrook Research Pty Ltd Consumable authentication protocol and system
US6560706B1 (en) 1998-01-26 2003-05-06 Intel Corporation Interface for ensuring system boot image integrity and authenticity
US6263348B1 (en) 1998-07-01 2001-07-17 Serena Software International, Inc. Method and apparatus for identifying the existence of differences between two files
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US6591365B1 (en) * 1999-01-21 2003-07-08 Time Warner Entertainment Co., Lp Copy protection control system
WO2000049764A1 (en) 1999-02-18 2000-08-24 Sun Microsystems, Inc. Data authentication system employing encrypted integrity blocks
US6792535B1 (en) * 1999-04-06 2004-09-14 Kwan Software Engineering, Inc. System and method for digitally marking a file with a removable mark
JP4049498B2 (ja) 1999-11-18 2008-02-20 株式会社リコー 原本性保証電子保存方法、装置及びコンピュータ読み取り可能な記録媒体
US6785815B1 (en) * 1999-06-08 2004-08-31 Intertrust Technologies Corp. Methods and systems for encoding and protecting data using digital signature and watermarking techniques
US6959384B1 (en) * 1999-12-14 2005-10-25 Intertrust Technologies Corporation Systems and methods for authenticating and protecting the integrity of data streams and other data
JP2001034470A (ja) 1999-07-22 2001-02-09 Fujitsu Ltd 管理自動化機構を有するサーバ
US7650504B2 (en) * 1999-07-22 2010-01-19 Macrovision Corporation System and method of verifying the authenticity of dynamically connectable executable images
US7430670B1 (en) * 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
AU6614600A (en) 1999-07-29 2001-02-19 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure and insecure computing environments
US6658556B1 (en) * 1999-07-30 2003-12-02 International Business Machines Corporation Hashing a target address for a memory access instruction in order to determine prior to execution which particular load/store unit processes the instruction
US6324637B1 (en) 1999-08-13 2001-11-27 Sun Microsystems, Inc. Apparatus and method for loading objects from a primary memory hash index
US7406603B1 (en) * 1999-08-31 2008-07-29 Intertrust Technologies Corp. Data protection systems and methods
US20010034839A1 (en) 1999-12-24 2001-10-25 Guenter Karjoth Method and apparatus for secure transmission of data and applications
GB0003920D0 (en) 2000-02-21 2000-04-05 Ncipher Corp Limited Computer system
US6820105B2 (en) * 2000-05-11 2004-11-16 Cyberguard Corporation Accelerated montgomery exponentiation using plural multipliers
US6986046B1 (en) * 2000-05-12 2006-01-10 Groove Networks, Incorporated Method and apparatus for managing secure collaborative transactions
US7003107B2 (en) * 2000-05-23 2006-02-21 Mainstream Encryption Hybrid stream cipher
US6990513B2 (en) * 2000-06-22 2006-01-24 Microsoft Corporation Distributed computing services platform
JP4973899B2 (ja) * 2000-07-06 2012-07-11 ソニー株式会社 送信装置、送信方法、受信装置、受信方法、記録媒体、および通信システム
JP3494961B2 (ja) * 2000-07-21 2004-02-09 パナソニック コミュニケーションズ株式会社 暗号化処理装置及び暗号化処理方法
US6954747B1 (en) * 2000-11-14 2005-10-11 Microsoft Corporation Methods for comparing versions of a program
EP1337917A4 (en) 2000-11-17 2009-04-08 Hewlett Packard Development Co SYSTEM AND METHOD FOR UPDATING AND DISTRIBUTING INFORMATION
US7478243B2 (en) 2001-03-21 2009-01-13 Microsoft Corporation On-disk file format for serverless distributed file system with signed manifest of file modifications
JP2002353960A (ja) 2001-05-30 2002-12-06 Fujitsu Ltd コード実行装置およびコード配布方法
JP2003122726A (ja) * 2001-06-07 2003-04-25 Hitachi Ltd コンテンツ制御方法及びその実施装置並びにその処理プログラム
US7546629B2 (en) * 2002-03-06 2009-06-09 Check Point Software Technologies, Inc. System and methodology for security policy arbitration
US7310821B2 (en) * 2001-08-27 2007-12-18 Dphi Acquisitions, Inc. Host certification method and system
US7729495B2 (en) * 2001-08-27 2010-06-01 Dphi Acquisitions, Inc. System and method for detecting unauthorized copying of encrypted data
JP4020077B2 (ja) * 2001-09-14 2007-12-12 ソニー株式会社 記録媒体の再生方法および再生装置、並びに記録媒体の記録方法および記録装置
US20030084298A1 (en) * 2001-10-25 2003-05-01 Messerges Thomas S. Method for efficient hashing of digital content
US7240205B2 (en) 2002-01-07 2007-07-03 Xerox Corporation Systems and methods for verifying documents
JP2003202929A (ja) 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
AU2003202815A1 (en) * 2002-01-12 2003-07-24 Coretrust, Inc. Method and system for the information protection of digital content
KR20040101312A (ko) * 2002-03-14 2004-12-02 콘텐트가드 홀딩즈 인코포레이티드 변조된 신호를 사용하여 사용권을 표현하는 시스템 및 방법
US7409717B1 (en) * 2002-05-23 2008-08-05 Symantec Corporation Metamorphic computer virus detection
US7529929B2 (en) * 2002-05-30 2009-05-05 Nokia Corporation System and method for dynamically enforcing digital rights management rules
US7203844B1 (en) 2002-06-20 2007-04-10 Oxford William V Method and system for a recursive security protocol for digital copyright control
DE10239062A1 (de) * 2002-08-26 2004-04-01 Siemens Ag Verfahren zum Übertragen von verschlüsselten Nutzdatenobjekten
US20040064457A1 (en) 2002-09-27 2004-04-01 Zimmer Vincent J. Mechanism for providing both a secure and attested boot
FR2845493A1 (fr) 2002-10-04 2004-04-09 Canal Plus Technologies Logiciel embarque et procede d'authentification de celui-ci
WO2004040409A2 (en) * 2002-10-25 2004-05-13 Science Applications International Corporation Determining performance level capabilities using predetermined model criteria
US7165076B2 (en) 2002-11-15 2007-01-16 Check Point Software Technologies, Inc. Security system with methodology for computing unique security signature for executable file employed across different machines
JP2004260639A (ja) 2003-02-27 2004-09-16 Hitachi Ltd データ埋め込み方法及び視聴確認方法
US7406176B2 (en) * 2003-04-01 2008-07-29 Microsoft Corporation Fully scalable encryption for scalable multimedia
KR100755683B1 (ko) * 2003-05-07 2007-09-05 삼성전자주식회사 컨텐츠 제공자 인증 및 컨텐츠 무결성 보장 방법
US7219329B2 (en) * 2003-06-13 2007-05-15 Microsoft Corporation Systems and methods providing lightweight runtime code generation
KR101081729B1 (ko) * 2003-07-07 2011-11-08 로비 솔루션스 코포레이션 저작권 침해를 제어하고 쌍방향 컨텐츠를 인에이블시키기 위한 재프로그램가능한 보안
US8006307B1 (en) * 2003-07-09 2011-08-23 Imophaze Research Co., L.L.C. Method and apparatus for distributing secure digital content that can be indexed by third party search engines
US7491122B2 (en) 2003-07-09 2009-02-17 Wms Gaming Inc. Gaming machine having targeted run-time software authentication
GB2404488B (en) * 2003-07-31 2006-05-31 Sony Uk Ltd Access control for digital content
GB2404489A (en) * 2003-07-31 2005-02-02 Sony Uk Ltd Access control for digital storage medium content
US7103779B2 (en) 2003-09-18 2006-09-05 Apple Computer, Inc. Method and apparatus for incremental code signing
US20050071274A1 (en) 2003-09-27 2005-03-31 Utstarcom, Inc. Method and Apparatus in a Digital Rights Client and a Digital Rights Source and associated Digital Rights Key
US7921300B2 (en) * 2003-10-10 2011-04-05 Via Technologies, Inc. Apparatus and method for secure hash algorithm
US7346163B2 (en) * 2003-10-31 2008-03-18 Sony Corporation Dynamic composition of pre-encrypted video on demand content
US7664728B2 (en) * 2004-02-20 2010-02-16 Microsoft Corporation Systems and methods for parallel evaluation of multiple queries
US7539691B2 (en) * 2004-02-20 2009-05-26 Microsoft Corporation Systems and methods for updating a query engine opcode tree
CA2560395C (en) 2004-04-02 2014-06-17 Matsushita Electric Industrial Co., Ltd. Unauthorized contents detection system
US7434058B2 (en) * 2004-06-07 2008-10-07 Reconnex Corporation Generating signatures over a document
JP2005354217A (ja) * 2004-06-08 2005-12-22 Sony Corp 情報出力処理装置、情報入力処理装置、情報処理システム及び情報処理方法
US7568102B2 (en) * 2004-07-15 2009-07-28 Sony Corporation System and method for authorizing the use of stored information in an operating system
US7669056B2 (en) * 2005-03-29 2010-02-23 Microsoft Corporation Method and apparatus for measuring presentation data exposure
JP4899867B2 (ja) * 2005-01-21 2012-03-21 日本電気株式会社 グループ署名方式
JP2006221629A (ja) 2005-02-07 2006-08-24 Sony Computer Entertainment Inc プロセッサのリソース管理によるコンテンツ制御方法および装置
US7594261B2 (en) * 2005-02-08 2009-09-22 Microsoft Corporation Cryptographic applications of the Cartier pairing
US20060259781A1 (en) * 2005-04-29 2006-11-16 Sony Corporation/Sony Electronics Inc. Method and apparatus for detecting the falsification of metadata
US8364965B2 (en) 2006-03-15 2013-01-29 Apple Inc. Optimized integrity verification procedures

Also Published As

Publication number Publication date
EP2988238B1 (en) 2018-06-06
SE1150067A1 (sv) 2011-02-01
US8886947B2 (en) 2014-11-11
EP2988238A1 (en) 2016-02-24
DE102007012490A1 (de) 2007-09-20
CN101443774B (zh) 2015-03-25
US8364965B2 (en) 2013-01-29
CN101443774A (zh) 2009-05-27
EP2284754A1 (en) 2011-02-16
US20070220261A1 (en) 2007-09-20
SE0700601L (sv) 2007-09-16
US20130145167A1 (en) 2013-06-06
EP1835432A1 (en) 2007-09-19
FR2911419B1 (fr) 2018-02-09
SE534208C2 (sv) 2011-05-31
EP2284755A1 (en) 2011-02-16
EP2284755B1 (en) 2015-04-22
FR2911419A1 (fr) 2008-07-18
WO2007106831A1 (en) 2007-09-20

Similar Documents

Publication Publication Date Title
SE535797C2 (sv) Optimerade förfaranden för integritetsverifiering
TWI714179B (zh) 使用公有側鏈驗證儲存在聯盟區塊鏈中的資料的完整性
US10338946B1 (en) Composable machine image
US10116645B1 (en) Controlling use of encryption keys
US6993648B2 (en) Proving BIOS trust in a TCPA compliant system
US9148415B2 (en) Method and system for accessing e-book data
US8874922B2 (en) Systems and methods for multi-layered authentication/verification of trusted platform updates
US9832651B2 (en) System and method for verifying integrity of software package in mobile terminal
WO2016074506A1 (zh) 应用程序完整性验证方法及网络设备
US20160365978A1 (en) Making cryptographic claims about stored data using an anchoring system
US10003467B1 (en) Controlling digital certificate use
TW201939922A (zh) 可信伺服器的策略部署方法、裝置、系統及計算系統
US8972732B2 (en) Offline data access using trusted hardware
US9860230B1 (en) Systems and methods for digitally signing executables with reputation information
CN111224826B (zh) 基于分布式系统的配置更新方法、设备、系统及介质
CN111934882B (zh) 基于区块链的身份认证方法、装置、电子设备及存储介质
CN113536361B (zh) 一种可信基准库的实现方法、装置及计算设备
US11615168B2 (en) Method and system for generating and verifying licenses with multiple signatures
US20220166608A1 (en) Method for end entity attestation
CN110874225A (zh) 一种数据校验方法、装置、嵌入式设备及存储介质