NO20190041A1 - System for responding to an alarm - Google Patents

System for responding to an alarm

Info

Publication number
NO20190041A1
NO20190041A1 NO20190041A NO20190041A NO20190041A1 NO 20190041 A1 NO20190041 A1 NO 20190041A1 NO 20190041 A NO20190041 A NO 20190041A NO 20190041 A NO20190041 A NO 20190041A NO 20190041 A1 NO20190041 A1 NO 20190041A1
Authority
NO
Norway
Prior art keywords
user
alarm
data
alice
message
Prior art date
Application number
NO20190041A
Other languages
Norwegian (no)
Other versions
NO344930B1 (en
Inventor
Jan Møller
Original Assignee
Rescue Consult As
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
Priority claimed from NO20181038A external-priority patent/NO344926B1/en
Application filed by Rescue Consult As filed Critical Rescue Consult As
Publication of NO20190041A1 publication Critical patent/NO20190041A1/en
Publication of NO344930B1 publication Critical patent/NO344930B1/en

Links

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B25/00Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
    • G08B25/001Alarm cancelling procedures or alarm forwarding decisions, e.g. based on absence of alarm confirmation
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/02Alarms for ensuring the safety of persons
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B25/00Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B25/00Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
    • G08B25/008Alarm setting and unsetting, i.e. arming or disarming of the security system
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B25/00Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
    • G08B25/01Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems characterised by the transmission medium
    • G08B25/016Personal emergency signalling and security systems
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B25/00Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
    • G08B25/14Central alarm receiver or annunciator arrangements
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72418User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting emergency services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72418User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting emergency services
    • H04M1/72424User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting emergency services with manual activation of emergency-service functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/90Services for handling of emergency or hazardous situations, e.g. earthquake and tsunami warning systems [ETWS]

Description

BAKGRUNN BACKGROUND

Teknisk område Technical area

[0001] Den foreliggende oppfinnelsen gjelder et system for å reagere på en alarm, hvor systemet har en brukerterminal i stand til å sende en alarmmelding til en systemserver. [0001] The present invention relates to a system for reacting to an alarm, where the system has a user terminal capable of sending an alarm message to a system server.

Kjent teknikk Known technique

[0002] ‘Sikkerhet’ omfatter ‘personsikkerhet’ og ‘informasjonssikkerhet’. For eksempel vil en hjelpesentral hjelpe en eldre person som har falt på gulvet hjemme så raskt som mulig, men ønsker ikke å overvåke den eldre personen kontinuerlig av hensyn til privatlivets fred. Hjelpesentralen løser dette ved å utstyre brukeren med en ‘trygghetsalarm’ til å henge rundt halsen. Trygghetsalarmen har en fysisk trykknapp og en funksjon for å sende et alarmsignat til en hjelpesentralslik at han eller hun kan varsle ved behov, i dette eksempelet etter et fall. Hjelpesentralen overvåker ellers ikke personen. Det er generelt viktig å hindre at uvedkommende får tilgang til sensitive data, for eksempel boligadresser til hjelpesentralens brukere. [0002] 'Security' includes 'personal security' and 'information security'. For example, an assistance center wants to help an elderly person who has fallen on the floor at home as quickly as possible, but does not want to monitor the elderly person continuously for reasons of privacy. The help center solves this by equipping the user with a 'safety alarm' to hang around the neck. The security alarm has a physical push button and a function to send an alarm signal to an emergency center so that he or she can notify if necessary, in this example after a fall. The help center otherwise does not monitor the person. It is generally important to prevent unauthorized persons from gaining access to sensitive data, for example home addresses of the help center's users.

[0003] I et voldsalarmsystem kan en person utstyres med en lignende alarmenhet. I dette eksempelet er det ikke ønskelig å registrere hvor brukeren befinner seg til enhver tid, kun hvor han eller hun befinner seg når alarmen utløses. I volds- og ransalarmsystemer er det et generelt behov for en skjult utløser som gjør det vanskelig å oppdage at en alarm blir utløst. [0003] In a violence alarm system, a person can be equipped with a similar alarm unit. In this example, it is not desirable to record where the user is at all times, only where he or she is when the alarm is triggered. In violence and robbery alarm systems, there is a general need for a hidden trigger which makes it difficult to detect that an alarm is being triggered.

[0004] Ansatte i visse organisasjoner kan bli utsatt for trusler fra frustrerte klienter, og ansatte med tilgang til penger eller rusmidler kan bli utsatt for ransforsøk. I banklokaler dekkes behovet for skjult utløser tradisjonelt av en alarmknapp skjult under en bordplate eller lignende. En slik alarmknapp mangler i de fleste andre lokaler. En ansatt på reise eller oppdrag kan også bli utsatt for trusler eller ransforsøk, og følgelig ha behov for å utløse en alarm som i eksempelet med en generell voldsalarm. [0004] Employees in certain organizations may be exposed to threats from frustrated clients, and employees with access to money or drugs may be exposed to robbery attempts. In banking premises, the need for a hidden trigger is traditionally covered by an alarm button hidden under a table top or similar. Such an alarm button is missing in most other premises. An employee on a trip or assignment may also be exposed to threats or attempted robberies, and consequently need to trigger an alarm, as in the example with a general violence alarm.

[0005] Det er et generelt behov for et system med en bruker som kan utløse en alarm, respondenter som bistår brukeren i en alarmsituasjon og en sentral. Sentralen kan representere en ansatts foresatte i organisasjonen. I dette dokumentet er ‘system’ det samme som ‘informasjonssystem’, og brukeren, respondenten og sentralen er roller i et system for å reagere på en alarm. [0005] There is a general need for a system with a user who can trigger an alarm, responders who assist the user in an alarm situation and a central. The center can represent an employee's guardian in the organisation. In this document, 'system' is the same as 'information system', and the user, the responder and the switchboard are roles in a system to respond to an alarm.

[0006] Respondenten representerer en gruppe med en eller flere personer, for eksempel en hjemmehjelp, kolleger som kan bistå en ansatt på kontoret eller på reise, vektere osv. [0006] The respondent represents a group with one or more people, for example a home help, colleagues who can assist an employee in the office or on travel, security guards, etc.

[0007] En hjelpe- eller vaktsentral koordinerer ressurser og varsler respondenter nær brukeren for å yte raskest mulig hjelp. Sentralen kontakter også eksterne ressurser ved behov, for eksempel ambulanse eller politi. En overordnet ansatt i en organisasjon med potensielt truende klienter har en lignende funksjon. Hjelpesentralen og vaktsentralen kan representeres av en organisasjon med ansatte. [0007] An help or call center coordinates resources and alerts responders close to the user to provide the fastest possible help. The center also contacts external resources when necessary, for example an ambulance or the police. A senior employee in an organization with potentially threatening clients has a similar function. The help center and the call center can be represented by an organization with employees.

[0008] Et system for å reagere på en alarm inneholder en databaseapplikasjon med rollen ‘bruker’. En tilsvarende bruker finnes i alle systemer der en person logger seg på med brukernavn og passord. Av hensyn til lesbarhet skiller vi ikke strengt mellom person og rolle i det følgende [0008] A system for responding to an alarm contains a database application with the role 'user'. A corresponding user exists in all systems where a person logs in with a username and password. For reasons of readability, we do not strictly distinguish between person and role in what follows

[0009] US-2008/0284587 beskriver et system for å håndtere personlig sikkerhet, hvor en mobil brukerterminal initierer og sender et alarmsignal til et nettverk i en nødsituasjon. [0009] US-2008/0284587 describes a system for managing personal security, where a mobile user terminal initiates and sends an alarm signal to a network in an emergency situation.

[0010] US-2008/0189162 A1 beskriver et web- og telefonbasert krisehåndteringssystem med integrerte prosesser, kommunikasjonsinnretninger og -tjenester, samt en bedriftsdatabase med relevant informasjon. Systemet betjener en organisasjons første respondenter, krisehåndteringsteam og andre interne og eksterne interessenter. [0010] US-2008/0189162 A1 describes a web- and telephone-based crisis management system with integrated processes, communication devices and services, as well as a company database with relevant information. The system serves an organization's first responders, crisis management teams and other internal and external stakeholders.

[0011] Et generelt klient-server system har en server og en klient som bruker tjenester fra hvert sitt operativsystem til å motta en melding fra et nettverk, lagre filer på disk, osv. Laget over operativsystemet kalles et ‘applikasjonslag’, og meldinger mellom en server og en klient i applikasjonslaget overføres i et tilsvarende applikasjonslag på et nettverk. Dette kan være SMS-meldinger over et mobilnett eller epostmeldinger over internett. [0011] A general client-server system has a server and a client that use services from each operating system to receive a message from a network, store files on disk, etc. The layer above the operating system is called an 'application layer', and messages between a server and a client in the application layer are transmitted in a corresponding application layer on a network. This can be SMS messages over a mobile network or e-mail messages over the internet.

[0012] En webserver på en sentral datamaskin ligger i applikasjonslaget, og en nettleser på en PC er en klient i samme applikasjonslag. En databaseapplikasjon på den sentrale maskinen kan utveksle data med webserveren slik at en bruker eller databaseadministrator har tilgang til databasen gjennom et webgrensesnitt i en nettleser. Noen klient-server systemer har egne klientapplikasjoner som virker på samme måte som en nettleser. En person kan kommunisere med systemet gjennom et grafisk brukergrensesnitt (GUI) med skjermknapper, menyer og felt for å legge inn data. Ulike klient-server systemer har ulike kombinasjoner av GUI i nettleser, GUI i en egen ‘app’, skjermbilder fra serveren mot internett gjennom et webgrensesnitt og mot store skjermer i et kontrollrom gjennom et lokalt grensesnitt. [0012] A web server on a central computer is in the application layer, and a browser on a PC is a client in the same application layer. A database application on the central machine can exchange data with the web server so that a user or database administrator can access the database through a web interface in a browser. Some client-server systems have their own client applications that work in the same way as a web browser. A person can interact with the system through a graphical user interface (GUI) with on-screen buttons, menus and fields for entering data. Different client-server systems have different combinations of GUI in a browser, GUI in a separate 'app', screenshots from the server to the internet through a web interface and to large screens in a control room through a local interface.

[0013] Vi bruker her og i det følgende ordet ‘server’ i betydningen ‘tjenesteyter’, ikke i betydningen ‘sentral datamaskin’. En ‘systemklient’ er programvare i applikasjonslaget, ikke en person. Vi kaller sistnevnte ‘potensiell aggressor’ for å unngå eventuelle misforståelser. En ‘terminal’ er et endepunkt i et nettverk, ikke en innretning med stor skjerm i sentralen. For korthet bruker vi uttrykkene ‘data på nett’ for ‘data i i applikasjonslaget’ og ‘data på disk’ for ‘data i en database eller fil i et filsystem’. ‘Brukerdata’ er data tilknyttet en bruker. [0013] We use here and in the following the word 'server' in the sense of 'service provider', not in the sense of 'central computer'. A 'system client' is software in the application layer, not a person. We call the latter 'potential aggressor' to avoid any misunderstandings. A 'terminal' is an end point in a network, not a device with a large screen in the exchange. For brevity, we use the expressions 'data online' for 'data in the application layer' and 'data on disk' for 'data in a database or file in a file system'. 'User data' is data associated with a user.

[0014] En personlig datamaskin eller PC (‘personal computer’) er i det følgende en datamaskin med en personlig OS-bruker. Dette omfatter en smarttelefon, et nettbrett og andre mobile eller stasjonære datamaskiner. Av hensyn til lesbarhet og forståelse bruker vi begrepene om hverandre, men fellestrekket er ‘personlig’. [0014] In the following, a personal computer or PC ('personal computer') is a computer with a personal OS user. This includes a smartphone, a tablet and other mobile or desktop computers. For reasons of readability and understanding, we use the terms interchangeably, but the common feature is 'personal'.

[0015] Trygghetsalarmen i et tidligere eksempel er en terminal i et nettverk, og i tillegg en brukerterminal fordi den er personlig. En smarttelefon har en unik IP-adresse i internett og et unikt telefonnummer i et telenett, inkludert mobiltelefonnett. Den er en terminal i flere nett, og en brukerterminal hvis den er personlig for en bruker i systemet for å reagere på en alarm. Den sentrale datamaskinen er en terminal i internett fordi den har en unik IP-adresse. I et informasjonssystem med et telenett, kan en person identifiseres med et personlig telefonnummer, f eks et mobilnummer, og kontrollrommet med et sentralbordnummer. [0015] The security alarm in a previous example is a terminal in a network, and in addition a user terminal because it is personal. A smartphone has a unique IP address in the internet and a unique telephone number in a telecommunications network, including mobile phone networks. It is a terminal in several networks, and a user terminal if it is personal to a user in the system to respond to an alarm. The central computer is a terminal in the Internet because it has a unique IP address. In an information system with a telecommunications network, a person can be identified with a personal telephone number, e.g. a mobile number, and the control room with a switchboard number.

[0016] En brukerterminal har egenskaper som er typisk for den aktuelle enheten. For eksempel kan brukeren ringe og sende SMS fra en mobiltelefon eller smarttelefon, men telefonen har ikke nødvendigvis en klientapplikasjon med et GUI. En PC har et enbruker operativsystem og et filsystem, og vanligvis en nettleser. En smarttelefon har begrenset batterikapasitet og liten skjerm, og derfor et annet operativsystem, nettleser og webgrensesnitt enn tilsvarende programvare i en PC på kontoret. En smarttelefon kan finne sine GPS-koordinater, og sende dem med SMS eller epost til en systemserver, osv. [0016] A user terminal has characteristics that are typical for the device in question. For example, the user can make calls and send SMS from a mobile phone or smartphone, but the phone does not necessarily have a client application with a GUI. A PC has a single-user operating system and a file system, and usually a web browser. A smartphone has a limited battery capacity and small screen, and therefore a different operating system, browser and web interface than corresponding software in a PC in the office. A smartphone can find its GPS coordinates and send them by SMS or e-mail to a system server, etc.

[0017] I tillegg til de generelle trekkene ovenfor, har systemet som foreslås her en bruker med brukerdata, nærmere bestemt lyd- bilde- og posisjonsdata på nett eller disk. ‘Data på nett’ er meldinger, samtaler, videostrømmer osv som overføres gjennom et tele- eller datanett. ‘Data på disk’ er data i en database eller fil. Data på ‘nett og disk’ betyr i dette dokumentet det samme som ‘data i sanntid og ettertid’. [0017] In addition to the general features above, the system proposed here has a user with user data, more specifically sound, image and position data online or on disk. 'Data on the Internet' are messages, calls, video streams, etc. that are transmitted through a telecommunications or data network. 'Data on disk' is data in a database or file. Data on 'network and disk' means in this document the same as 'data in real time and afterwards'.

[0018] En bruker er her en person som kan utløse en alarm, og organisasjonen kan ha behov for å oppbevare en lydfil med samtalen for senere dokumentasjon, for eksempel for å avklare hva som ble sagt av brukeren og personell i kontrollrommet etter en utløst alarm. [0018] A user is here a person who can trigger an alarm, and the organization may need to store an audio file with the conversation for later documentation, for example to clarify what was said by the user and personnel in the control room after a triggered alarm .

[0019] Tilsvarende kan organisasjonen ønske å dokumentere en uønsket hendelse etter at en ansatt har utløst en alarm. ‘Autorisasjon’ har sammenheng med ‘behov for å vite’, og personer i kontrollrommet kan ha en annen autorisasjon enn en saksbehandler. En gruppe personer har ikke behov for å vite hva som skjer i et fortrolig møte, men blir ‘autorisert for’ et videoopptak hvis det skjer noe dramatisk eller hvis brukeren utløser en alarm. [0019] Correspondingly, the organization may wish to document an unwanted event after an employee has triggered an alarm. 'Authorisation' is related to 'need to know', and people in the control room may have a different authorization than a case manager. A group of people does not need to know what is happening in a confidential meeting, but is 'authorised for' a video recording if something dramatic happens or if the user triggers an alarm.

[0020] Som i andre alarmsystemer er det et generelt behov for å avstille en falsk alarm. I organisasjonens adgangskontrollsystem gjøres dette ved at personen som utilsiktet utløste alarmen ringer en vaktsentral og oppgir et kodeord. I et digitalt system oppgir personen et passord eller lignende. [0020] As in other alarm systems, there is a general need to silence a false alarm. In the organisation's access control system, this is done by the person who inadvertently triggered the alarm calling a monitoring center and entering a code word. In a digital system, the person enters a password or similar.

[0021] En ansatt på reise vil gjerne ha hjelp fra kolleger så snart som mulig hvis hun utløser en alarm, men vil ikke overvåkes kontinuerlig. For eksempel kan GPS-data fra brukerens og kollegenes smarttelefoner vise de ansattes posisjoner, og et digitalt system kan sende en melding til kolleger i nærheten slik at brukeren får hjelp så raskt som mulig. De ansatte mistenker imidlertid at en nysgjerrig person i et kontrollrom har uautorisert tilgang til posisjonene deres i sanntid eller ettertid, og skrur derfor av GPS-lokalisering i perioder både mens de er på oppdrag og mens de er på bytur etter arbeidstid. Det digitale systemet vil i dette eksempelet ikke virke etter hensikten. [0021] An employee traveling would like help from colleagues as soon as possible if she triggers an alarm, but would not want to be continuously monitored. For example, GPS data from the user's and colleagues' smartphones can show the employees' positions, and a digital system can send a message to nearby colleagues so that the user gets help as quickly as possible. However, the employees suspect that a curious person in a control room has unauthorized access to their positions in real time or after the fact, and therefore turn off GPS location for periods both while they are on assignment and while they are on a city trip after work. In this example, the digital system will not work as intended.

[0022] Posisjonsdata eller lokasjoner er ikke begrenset til GPS-data. GPS-data er f eks ubrukelig i et kontorbygg med flere etasjer. Behovet for rask hjelp til en bruker som utløser en alarm i møterommet er som før. I dette eksempelet vet systemet at brukeren er i møterommet, og kan lokalisere kolleger i nærheten ved hjelp av Bluetooth-beacons. Beacons og utstyr med lignende funksjon er handelsvarer som ikke trenger en teknisk forklaring her. [0022] Positional data or locations are not limited to GPS data. GPS data is, for example, useless in an office building with several floors. The need for quick help for a user who triggers an alarm in the meeting room is the same as before. In this example, the system knows that the user is in the meeting room and can locate colleagues nearby using Bluetooth beacons. Beacons and equipment with a similar function are commercial goods that do not need a technical explanation here.

[0023] Personer i kontrollrommet trenger andre skjermbilder og andre funksjoner enn den enkelte bruker, for eksempel en liste over brukere, oversiktskart osv. Et krisehåndteringsteam kan ha behov for å varsle eller sjekke ansatte på reise i et område etter et jordskjelv, en tsunami eller et orkanvarsel, Man vet ikke hva som kan skje, men vet at det er nyttig å vite omtrent hvor ansatte på reise befinner seg for å kunne bistå i tilfelle noe skjer. [0023] People in the control room need different screens and other functions than the individual user, for example a list of users, overview map, etc. A crisis management team may need to notify or check employees traveling in an area after an earthquake, a tsunami or a hurricane warning, You don't know what might happen, but know that it is useful to know approximately where employees are traveling to be able to assist in case something happens.

[0024] Organisasjoner som beskrevet ovenfor har et generelt behov for å øve på krisesituasjoner i vid forstand. I hjelpesentralen kan formålet være å identifisere mulige forbedringer i kommunikasjon med hjemmehjelper og/eller en ambulansetjeneste under generelle kost/nytte-betingelser. I en annen organisasjon kan formålet være å øve et krisehåndteringsteam slik at alle medlemmene i teamet kjenner sine oppgaver når en uønsket hendelse inntreffer. Siden man ikke kan vite hva som skjer, bør det være mulig å øve på ulike scenarier. Kost/nytte forbyr mange scenarier med virkelige personer i rollene som ‘bruker’, her en person som kan utløse en alarm, en ‘første respondent’ som kommer brukeren til unnsetning osv. I dette eksempelet trengs personer bare til roller i krisehåndteringsteamet. [0024] Organizations as described above have a general need to practice crisis situations in the broadest sense. In the help center the purpose may be to identify possible improvements in communication with home helpers and/or an ambulance service under general cost/benefit conditions. In another organization, the purpose may be to train a crisis management team so that all members of the team know their tasks when an unwanted event occurs. Since you cannot know what will happen, it should be possible to practice different scenarios. Cost/utility prohibits many scenarios with real people in the roles of 'user', here a person who can trigger an alarm, a 'first responder' who comes to the user's aid, etc. In this example, people are only needed for roles in the crisis management team.

[0025] Avgrenset til digitale informasjonssystemer, er det et generelt behov for et simuleringssystem som kan generere ulike scenarier for ulike organisasjoner på en kostnadseffektiv måte, spesielt uten personer i alle roller i et scenario. [0025] Limited to digital information systems, there is a general need for a simulation system that can generate different scenarios for different organizations in a cost-effective way, especially without people in all roles in a scenario.

[0026] Bruker, respondenter, kontrollrom osv. er ‘entiteter’ i et system for å reagere på en alarm. Noen generelle definisjoner og begreper knyttet til miljøet rundt systemet er nyttig før vi fortsetter med beskrivelsen av behov og problemer i alarmsystemet. [0026] User, responders, control rooms, etc. are 'entities' in a system for responding to an alarm. Some general definitions and concepts related to the environment around the system are useful before we continue with the description of needs and problems in the alarm system.

[0027] En systemeier i en organisasjon ‘eier’ et informasjonssystem, for eksempel alarmsystemet her eller en annen databaseapplikasjon. Hun er en del av organisasjonen, ikke av det underliggende systemet. Systemeier bestemmer over bruken av systemet, og kjenner alle krav som stilles til systemet, inkludert krav fra organisasjonen og eksterne myndigheter. [0027] A system owner in an organization 'owns' an information system, for example the alarm system here or another database application. She is part of the organization, not of the underlying system. The system owner decides on the use of the system, and knows all requirements for the system, including requirements from the organization and external authorities.

[0028] Systemeier i et lokalnett kan sammenlignes med personen Alice, som er systemeier for en eller flere personlige datamaskiner. Alices arbeidsgiver stiller krav om at disker på mobile enheter skal krypteres i tilfelle enheten blir mistet eller stjålet. Personen Alice møter disse kravene ved å kryptere filer og filsystemer i sin smarttelefon og laptop. Et operativsystem i hver maskin har de faktiske funksjonene for kryptering og dekryptering. OSet skjuler kryptografiske nøkler for alle andre enn OS-bruker Alice, slik at bare OS-bruker Alice kan dekryptere filer og filsystemer. Personen Alice er ikke en rolle i et operativsystem. [0028] The system owner in a local network can be compared to the person Alice, who is the system owner of one or more personal computers. Alice's employer requires that disks on mobile devices be encrypted in case the device is lost or stolen. The person Alice meets these requirements by encrypting files and file systems in her smartphone and laptop. An operating system in each machine has the actual encryption and decryption functions. The OS hides cryptographic keys from everyone but OS user Alice, so that only OS user Alice can decrypt files and file systems. The person Alice is not a role in an operating system.

[0029] De følgende avsnittene gir noen eksempler på eksterne behov, krav og regler som kan bety noe for et system som skal ivareta personvern og digital informasjonssikkerhet [0030] Personvern. EU-direktiv 2016/679 General Data Protection Directive (GDPR) setter krav til forsvarlig oppbevaring av personopplysninger, og er et eksempel på et regionalt regelverk. En organisasjon i et europeisk land kan få bøter for brudd på europeiske regler, inkludert personvernregler. [0029] The following sections give some examples of external needs, requirements and rules that may mean something for a system that must safeguard privacy and digital information security [0030] Privacy. EU directive 2016/679 General Data Protection Directive (GDPR) sets requirements for proper storage of personal data, and is an example of a regional regulation. An organization in a European country can be fined for violating European rules, including privacy rules.

[0031] Behov for dokumentasjon. Nasjonale helsemyndigheter kan kreve at hjelpesentralen oppbevarer visse opplysninger i en viss tid, typisk noen år. Andre myndigheter kan stille lignende krav til oppbevaring av hensyn til sporbarhet. [0031] Need for documentation. National health authorities can require the help center to keep certain information for a certain period of time, typically a few years. Other authorities may make similar storage requirements for reasons of traceability.

[0032] Kommersielle og andre eksterne hensyn. En bedrift vil miste kunder og anseelse hvis publikum mistenker at bedriftens ansatte bruker webkamera i kundenes boliger til kikking. Det er en fordel for bedriften om de ansatte ikke kan mistenkes for å bruke kamera til kikking i sanntid, tyvlytte i lydfiler på disk, osv. [0032] Commercial and other external considerations. A company will lose customers and reputation if the public suspects that the company's employees are using webcams in customers' homes for peeping. It is an advantage for the company if the employees cannot be suspected of using cameras for real-time peeping, eavesdropping on audio files on disk, etc.

[0033] Intern sikkerhetspolicy. Denne ivaretar hensyn til personvernregler, lover og andre eksterne krav, og legger til sine egne. Organisasjonen har typisk flere graderinger eller nivå av konfidensialitet, men har ikke nødvendigvis et formelt policy-dokument. En rolle klarert for ett nivå kan ‘lese’ informasjon på samme nivå eller lavere. For eksempel har en avdelingssjef ‘tilgang til’ informasjon om ansatte i avdelingen, men de ansatte har ikke tilgang til all informasjon på avdelingsnivå. Systemeier kan forby lyd- og videoopptak av møter på nivå ‘Konfidensiell’, f eks et forretningsmøte, og tillate opptak av møter på nivå ‘Ugradert’. [0033] Internal security policy. This takes account of privacy regulations, laws and other external requirements, and adds its own. The organization typically has several grades or levels of confidentiality, but does not necessarily have a formal policy document. A role trusted for one level can 'read' information at the same level or lower. For example, a department manager has 'access to' information about employees in the department, but the employees do not have access to all information at department level. The system owner can prohibit audio and video recording of meetings at level 'Confidential', e.g. a business meeting, and allow recording of meetings at level 'Ungraded'.

Autorisasjon, behov for å vite, kommer i tillegg. Avdelingssjefen er ikke autorisert for all fortrolig informasjon bare fordi han er avdelingssjef. Alle Unix- og Windows-lignende systemer følger en matematisk utgave av denne modellen, en ‘Bell-LaPadula’ (BLP) modell. Vi kommer tilbake til dette, men nevner her at en OS-administrator kan ha uautorisert tilgang til en lyd- eller bildefil. Han eller hun kan dermed mistenkes for tyvlytting. Authorization, need to know, comes in addition. The head of department is not authorized for all confidential information just because he is head of department. All Unix and Windows-like systems follow a mathematical version of this model, a 'Bell-LaPadula' (BLP) model. We will return to this, but mention here that an OS administrator can have unauthorized access to an audio or image file. He or she can thus be suspected of eavesdropping.

[0034] Kost/nytte. I denne sammenheng spesielt behov for å sikre digital informasjon tilstrekkelig til at uvedkommende ikke får tilgang, og samtidig bruke minst mulig ressurser til å oppnå den nødvendige informasjonssikkerheten. [0034] Cost/benefit. In this context, there is a particular need to secure digital information sufficiently to prevent unauthorized access, and at the same time use the least possible resources to achieve the necessary information security.

[0035] Systemeier kjenner de konkrete kravene som stilles, og anvender dem i den grad de betyr noe for et system for å reagere på en alarm. Krav fra organisasjonen og eksterne myndigheter trenger ingen nærmere forklaring her. [0035] The system owner knows the specific requirements that are set, and applies them to the extent that they matter for a system to react to an alarm. Requirements from the organization and external authorities need no further explanation here.

[0036] I dette dokumentet bruker vi ‘motstander’ om en trussel mot informasjonssikkerhet, mens en ‘aggressor’ truer personsikkerhet eller eiendom. Informasjonsverdien øker generelt med datamengden. For eksempel er det større sjanser for å finne ‘nyttig’ informasjon i en samling lydfiler på disk enn i én samtale i sanntid. En motstander vil generelt bruke større ressurser til å få tilgang til større datamengder, men det finnes virus og andre skadeprogram som innhenter og/eller endrer informasjon uten hensyn til økonomisk verdi. [0036] In this document, we use 'adversary' for a threat to information security, while an 'aggressor' threatens personal security or property. The information value generally increases with the amount of data. For example, there are greater chances of finding 'useful' information in a collection of audio files on disk than in one conversation in real time. An adversary will generally use greater resources to gain access to larger amounts of data, but there are viruses and other malicious programs that obtain and/or change information without consideration of economic value.

[0037] En ‘Mallory’ brukes til å sammenfatte flere av behovene for beskyttelse av informasjon, slik at systemeier bare trenger å forholde seg til én motstander. Mallory kan representere en nysgjerrig person eller hacker, en kriminell gruppe på nett og/eller skadelig programvare. Mistenkt og motiv har ingen betydning i denne sammenheng. [0037] A 'Mallory' is used to summarize several of the needs for the protection of information, so that the system owner only needs to deal with one adversary. Mallory can represent a curious person or hacker, an online criminal group and/or malware. Suspect and motive have no meaning in this context.

[0038] ‘Sikkerhet’ har aspektene ‘konfidensialitet’, ‘integritet’ og ‘tilgjengelighet’. [0038] 'Security' has the aspects of 'confidentiality', 'integrity' and 'availability'.

Konfidensialitet betyr generelt å hindre uautorisert ‘lesing’ i vid forstand. I telenett brukes begrepet ‘tyvlytting’ av tradisjonelle grunner. Siden alarmsystemet her ligger over et datanett og et telenett, bruker vi ‘lesing’, ‘tyvlytting’ osv om hverandre. Betydningen vil fremgå av sammenhengen. Uautorisert ‘lesing’ innebærer her bruk av programvare for å se innholdet i en lyd- eller bildefil osv uten autorisasjon. Integritet betyr primært å hindre uautorisert endring av data. ‘Uautorisert tilgang’ er det samme som uautorisert lesing og endring av data. Confidentiality generally means preventing unauthorized 'reading' in the broadest sense. In telecommunications networks, the term 'eavesdropping' is used for traditional reasons. Since the alarm system here lies over a computer network and a telecommunications network, we use 'reading', 'eavesdropping' etc. interchangeably. The meaning will be apparent from the context. Unauthorized 'reading' here involves the use of software to view the content of an audio or image file, etc. without authorization. Integrity primarily means preventing unauthorized changes to data. 'Unauthorized access' is the same as unauthorized reading and modification of data.

[0039] Innen digital informasjonssikkerhet sikres konfidensialitet med kryptering. En ‘symmetrisk’ nøkkel brukes både til kryptering og dekryptering, og må derfor holdes hemmelig til enhver tid. Et asymmetrisk nøkkelpar består av en privat og en offentlig nøkkel, og har egenskapen at data kryptert med den offentlige nøkkelen bare kan dekrypteres med den private. Asymmetriske nøkler ble utviklet av britiske GCHQ for å redusere kostnader med å beskytte et stort antall symmetriske nøkler i et hovedkvarter, og kostnader for å distribuere symmetriske nøkler med kurer til et stort antall utenriksstasjoner og militære avdelinger. [0039] Within digital information security, confidentiality is ensured with encryption. A 'symmetric' key is used for both encryption and decryption, and must therefore be kept secret at all times. An asymmetric key pair consists of a private and a public key, and has the property that data encrypted with the public key can only be decrypted with the private key. Asymmetric keys were developed by the British GCHQ to reduce the cost of protecting a large number of symmetric keys in a headquarters, and the cost of distributing symmetric keys by courier to a large number of foreign stations and military departments.

[0040] Integritet kan tilsvarende sikres med en ‘kryptografisk sjekksum’ kalt et hash. Hashet lages ved bruk av en kryptografisk hashnøkkel, og endres mye hvis innholdet i en melding eller fil endres litt. Det kan være raskere å beregne et hash og sammenligne med et hash fra nett eller disk enn å sammenligne to datamengder byte for byte. Verbet ‘å hashe’ eller ‘hashing’ betyr å beregne en ‘kryptografisk sjekksum’ av en datamengde i en melding eller fil, og deretter ‘lagre’ hashet i en tilhørende melding eller fil. [0040] Integrity can similarly be secured with a 'cryptographic checksum' called a hash. The hash is created using a cryptographic hash key, and changes a lot if the content of a message or file changes slightly. It can be faster to calculate a hash and compare with a hash from the web or disk than to compare two data sets byte by byte. The verb 'to hash' or 'hashing' means to calculate a 'cryptographic checksum' of a data amount in a message or file, and then 'store' the hash in an associated message or file.

[0041] Sikre forbindelser på internett, for eksempel til og fra en HTTPS-server, bruker asymmetriske nøkkelpar til kryptering, og hashing for å oppdage om en mann-i-midten endrer data underveis i nettet. Hvis mannen-i-midten blir oppdaget, blir han ‘stoppet’ av mottiltak. [0041] Secure connections on the internet, for example to and from an HTTPS server, use asymmetric key pairs for encryption, and hashing to detect if a man-in-the-middle changes data en route to the network. If the man-in-the-middle is detected, he is 'stopped' by countermeasures.

[0042] Sikre forbindelser på internett bruker TLS (‘transport layer security’) i et transportlag under applikasjonslaget. Nøkler brukt til kryptering av disk ligger i et operativsystem under laget med server- og klientapplikasjonene. Moderne operativsystemer bruker hashing og andre teknikker til å stenge ned eller nekte å starte prosesser ved forsøk på modifikasjon. Server og klient i applikasjonslaget har ikke tilgang til nøkler i lag under applikasjonslaget. [0042] Secure connections on the internet use TLS ('transport layer security') in a transport layer below the application layer. Keys used for disk encryption reside in an operating system below the layer with the server and client applications. Modern operating systems use hashing and other techniques to shut down or refuse to start processes when modification is attempted. Server and client in the application layer do not have access to keys in layers below the application layer.

[0043] Det er generelt en fordel å bygge inn sikkerhet i designfasen av et digitalt system. For eksempel elimineres behovet for antivirusprogrammer hvis operativsystemet gjør det umulig for virus og andre skadeprogrammer å lese eller endre digitale data. [0043] It is generally an advantage to build security into the design phase of a digital system. For example, the need for anti-virus programs is eliminated if the operating system makes it impossible for viruses and other malware to read or modify digital data.

[0044] Integritet omfatter også ‘autentisering’. Et dokument kan autentiseres med en digital signatur, hvilket krever et personlig sertifikat. I et system med brukernavn og passord, blir en person ‘autentisert’ ved pålogging. Ett-trinns autentisering involverer noe personen kan eller har, f eks et passord eller et magnetkort til å sveipe gjennom en leser. Fler-trinns autentisering involverer noe personen kan og noe personen har, og brukes hvis data i systemet har høy verdi. For eksempel kan en nettbank ha tre-trinns autentisering med et passord, et smartkort og en PIN-kode. En smartkortleser kan kobles til en PC, f eks med en USB-kabel. [0044] Integrity also includes 'authentication'. A document can be authenticated with a digital signature, which requires a personal certificate. In a system with username and password, a person is 'authenticated' when logging in. One-step authentication involves something the person can or has, such as a password or a magnetic card to swipe through a reader. Multi-step authentication involves something the person can and something the person has, and is used if data in the system is of high value. For example, an online bank may have three-step authentication with a password, a smart card and a PIN code. A smart card reader can be connected to a PC, for example with a USB cable.

[0045] ‘Tilgjengelighet’ betyr generelt at informasjon er tilgjengelig når den trengs. Dette omfatter reserveløsninger, for eksempel reserveutstyr og alternative veier gjennom et nettverk. Slikt utstyr er uten betydning for alarmsystemet her. Sikkerhetskopier av data (‘backup’) kan ha betydning. Backupdata omfatter vanligvis flere generasjoner ‘offsitebackup’, som per definisjon skal oppbevares utenfor driftslokalene i tilfelle noe skjer. [0045] 'Availability' generally means that information is available when it is needed. This includes backup solutions, such as backup equipment and alternative paths through a network. Such equipment is irrelevant to the alarm system here. Backup copies of data ('backup') can be important. Backup data usually includes several generations of 'offsite backup', which by definition must be stored outside the operating premises in case something happens.

[0046] Sikkerhet må balanseres mot brukerfunksjonalitet, krav fra myndigheter og andre hensyn. I det følgende er sikkerhet relevant når den angår et system for å reagere på en alarm. [0046] Security must be balanced against user functionality, requirements from authorities and other considerations. In the following, security is relevant when it concerns a system for responding to an alarm.

[0047] En organisasjon har et ‘sikkert område’ der uvedkommende ikke har adgang, og informasjon på papir og digitale media kan oppbevares og behandles uten risiko for innsyn. I eksempler nedenfor inneholder det sikre området et møterom og kontorene til Alice og Bob. Avgrenset til digital informasjonssikkerhet, er ‘det sikre området’ et lokalnett hvor ansatte kan lagre og behandle dokumenter og andre data i filsystemer avhengig av sine administrative privilegier. Dette forenkler databehandlingen, og er et eksempel på ‘brukerfunksjonalitet’ i vid forstand. Brannmurer og lignende utstyr for å isolere lokalnettet fra offentlige nett er viktig for organisasjonen, men trenger ingen nærmere forklaring her. [0047] An organization has a 'secure area' where unauthorized persons have no access, and information on paper and digital media can be stored and processed without risk of access. In the examples below, the secure area contains a meeting room and the offices of Alice and Bob. Limited to digital information security, the 'secure area' is a local area network where employees can store and process documents and other data in file systems depending on their administrative privileges. This simplifies data processing, and is an example of 'user functionality' in the broadest sense. Firewalls and similar equipment to isolate the local network from public networks are important for the organisation, but need no further explanation here.

[0048] Systemeier må forholde seg til data på nett og disk i og utenfor sikkert område. På internett er TLS sikret mot motstandere med ressurser på statsnivå. Offentlige telenett er i prinsipp sikret mot tyvlyttere med ressurser på statsnivå. Data på disk utenfor sikkert område kan kreve ekstra beskyttelse, for eksempel fordi statlige sikkerhetsmyndigheter kan kreve at en leverandør utleverer kryptografiske nøkler ‘av hensyn til nasjonal sikkerhet’. Hvorvidt dette faktisk skjer har ingen interesse fra et sikkerhetsperspektiv. På et lokalnett har enkeltmeldinger liten verdi. Data på disk i lokalnettet har større informasjonsverdi, og er derfor mer utsatt for angrep fra en motstander, en ‘Mallory i lokalnettet’. [0048] The system owner must deal with data online and on disk in and outside the secure area. On the Internet, TLS is secured against adversaries with state-level resources. Public telecommunications networks are in principle secured against eavesdroppers with resources at state level. Data on disk outside the secure area may require additional protection, for example because government security authorities may require a supplier to hand over cryptographic keys 'in the interests of national security'. Whether this actually happens is of no interest from a security perspective. On a local network, single messages have little value. Data on disk in the local network has greater information value, and is therefore more susceptible to attacks from an adversary, a 'Mallory in the local network'.

[0049] Organisasjonen behandler konfidensielle papirer ‘forsiktig’ uavhengig av hvilke personer som arbeider eller er på besøk i sikkert område i kontortiden, og uavhengig av skallsikring med låste dører, adgangskort og tilsvarende omkring sikkert område. Konfidensielle papirer kan rutinemessig låses inn i et sikkerhetsskap uten hensyn til hvem en inntrenger er, eller hvordan han kom inn i sikkert område. Det finnes alltid en risiko for sikkerhetsbrudd, f eks at en ansatt glemmer konfidensielle papirer på pulten uten tilsyn. [0049] The organization processes confidential papers 'carefully' regardless of which persons work or are visiting in a secure area during office hours, and regardless of shell security with locked doors, access cards and the like around the secure area. Confidential papers can routinely be locked in a security cabinet without regard to who an intruder is or how he entered the secure area. There is always a risk of a security breach, for example an employee forgetting confidential papers on the desk without supervision.

[0050] I lokalnettet er det tilsvarende behov for å beskytte informasjon uten hensyn til hvilke ansatte eller IT-konsulenter som har tilgang til sentrale datamaskiner, og uten hensyn til brannmurer og lignende. Konfidensiell informasjon beskyttes godt i moderne operativ- og databasesystemer uten hensyn til hvem en motstander er eller hvordan hun kom seg inn i sikkert område. Det finnes alltid en risiko for sikkerhetsbrudd, f eks at noen antivirus- eller andre programmer mangler de siste sikkerhetsoppdateringene, eller at en ansatt klikker på en giftig lenke tross et generelt forbud. [0050] In the local area network, there is a corresponding need to protect information regardless of which employees or IT consultants have access to central computers, and regardless of firewalls and the like. Confidential information is well protected in modern operating and database systems regardless of who an adversary is or how she got into a secure area. There is always a risk of a security breach, for example that some anti-virus or other programs lack the latest security updates, or that an employee clicks on a toxic link despite a general prohibition.

[0051] Skadelig programvare kan smitte fra en flerbrukermaskin til en PC og omvendt, men generelle antivirustiltak hindrer formodentlig omfattende spredning. Vi er spesielt interessert i sentrale maskiner i lokalnettet, og har i mente at brukerne har PCer. [0051] Malicious software can spread from a multi-user machine to a PC and vice versa, but general anti-virus measures presumably prevent widespread spread. We are particularly interested in central machines in the local network, and assume that the users have PCs.

[0052] Anta at Mallory i lokalnettet representerer en uhederlig OS-administrator, en hacker og et skadeprogram. Mallory ønsker å lese og endre alle filer. Hun har rot-tilgang til alle filsystemer i alle sentrale maskiner i lokalnettet fordi en uhederlig administrator eller hacker kan ha hatt eller kan få rot-tilgang til en sentral maskin i fortid eller fremtid. Hun har ferdighetene til en dyktig OS-administrator av samme grunn. Mallory tar hensyn til kost/nytte ved at det er en ekstra kostnad å bryte seg inn i en database eller et ekstra operativsystem i en PC, men hun tar ikke spesielle hensyn til økonomisk verdi. Et spion- eller skadeprogram har ikke nødvendigvis økonomiske motiv. Mallory lar seg stoppe hvis hun blir oppdaget, for eksempel av et oppdatert antivirusprogram eller av mottiltak hvis et beregnet hash ikke stemmer overens med et hash på disk. Mallory blir ikke oppdaget i en systemlogg fordi hun aldri logger seg på. [0052] Assume that Mallory in the local network represents a rogue OS administrator, a hacker, and a malware. Mallory wants to read and modify all files. She has root access to all file systems in all central machines in the local network because a rogue administrator or hacker may have had or may gain root access to a central machine in the past or future. She has the skills of a skilled OS administrator for the same reason. Mallory takes cost/benefit into account in that it is an additional cost to break into a database or an additional operating system in a PC, but she does not take particular account of economic value. A spyware or malware does not necessarily have financial motives. Mallory can be stopped if she is detected, for example by an updated anti-virus program or by countermeasures if a calculated hash does not match an on-disk hash. Mallory is not detected in a system log because she never logs on.

[0053] Med rot-tilgang mener vi tilgang til toppbruker i et operativsystem og toppnivå i et filsystem. I et Unix-lignende system er dette ‘root’ og ‘/’. Windows-lignende systemer har en tilsvarende toppbruker i operativsystemet og ett eller flere toppnivå i filsystemet. En person med rot-tilgang kan lese og endre alle filer, inkludert systemfiler. I en PC er toppbrukeren i operativsystemet vanligvis skjult for OS-brukeren for å unngå utilsiktet skade. [0053] By root access we mean access to the top user in an operating system and top level in a file system. In a Unix-like system, this is 'root' and '/'. Windows-like systems have a corresponding top user in the operating system and one or more top levels in the file system. A person with root access can read and modify all files, including system files. In a PC, the top user in the operating system is usually hidden from the OS user to avoid accidental damage.

[0054] BLP-modellen ble opprinnelig publisert i 1973, og er formelt usikker av matematiske grunner. Den er imidlertid ‘brukervennlig’ for de fleste organisasjoner. Nyere operativsystemer er ‘herdet’ mot angrep med andre teknikker, f eks med hashing som beskrevet i et tidligere eksempel. ‘Herdingen’ gjelder imidlertid bare én maskin, og lokalnettet inneholder flere sentrale maskiner. Et moderne databasesystem på organisasjonsnivå bruker som regel andre matematiske modeller enn BLP. [0054] The BLP model was originally published in 1973, and is formally uncertain for mathematical reasons. However, it is 'user friendly' for most organisations. Newer operating systems are 'hardened' against attacks with other techniques, for example with hashing as described in an earlier example. However, the 'hardening' only applies to one machine, and the local network contains several central machines. A modern database system at organizational level usually uses mathematical models other than BLP.

[0055] For eksempel er RBAC, ‘role based access control’, en matematisk modell der ‘role’ har en annen definisjon og funksjon enn en ‘rolle’ med gradering og autorisasjon i en BLP-modell. RBAC og andre sikkerhetsmodeller gjør databasesystemer på organisasjonsnivå generelt mindre sårbare for angrep enn Unix- og Windows-lignende operativ- og filsystemer. Et databasesystem med en nyere sikkerhetsmodell enn BLP kan sammenlignes med et sikkerhetsskap i kontorlokalene. Det kreves ekstra innsats for å bryte seg inn. Databasesystemer som sådan er utenfor omfanget av den foreliggende oppfinnelsen. [0055] For example, RBAC, 'role based access control', is a mathematical model where 'role' has a different definition and function than a 'role' with grading and authorization in a BLP model. RBAC and other security models make enterprise-level database systems generally less vulnerable to attack than Unix- and Windows-like operating and file systems. A database system with a newer security model than BLP can be compared to a security cabinet in the office premises. It takes extra effort to break in. Database systems as such are outside the scope of the present invention.

[0056] Systemeier tar formodentlig hensyn til kost/nytte, for eksempel prisen for et databasesystem med innebygget sikkerhetsmodell, f eks RBAC, på organisasjonsnivå mot nytteverdien av et pålitelig system for å reagere på en alarm. [0056] The system owner presumably considers cost/benefit, for example the price of a database system with a built-in security model, e.g. RBAC, at organizational level against the utility value of a reliable system to react to an alarm.

[0057] Mallory i lokalnettet kan sammenlignes med en inntrenger i kontorlokalene. Inntrengeren vil vurdere om det er verdt anstrengelsen å bryte seg inn i sikkerhetsskapet eller i låste kontorer der det er liten sannsynlighet for å finne noe han kan ha interesse av. [0057] Mallory in the local area network can be compared to an intruder in the office premises. The intruder will consider whether it is worth the effort to break into the security cabinet or locked offices where there is little likelihood of finding anything he might be interested in.

Inntrengeren blir ikke oppdaget i et adgangskontrollsystem fordi han smetter inn bak en ansatt eller bryter opp en dør, men han kan stanses hvis han blir oppdaget. The intruder is not detected in an access control system because he slips in behind an employee or breaks open a door, but he can be stopped if he is detected.

[0058] Systemeier har et generelt behov for å sikre mot angrep fra Mallory fordi Mallory representerer flere motstandere uten hensyn til mistenkt og motiv. I dette dokumentet angriper Mallory filsystemer i lokalnettet. Hvis Mallory ikke har tilgang til en fil, så har ikke en virkelig person eller OS-bruker tilgang, uavhengig av hvilke administrative privilegier OS-brukeren har i et filsystem. Mallory fritar implisitt organisasjon og ansatte for mistanke. [0058] The system owner has a general need to secure against attacks from Mallory because Mallory represents several adversaries regardless of suspect and motive. In this document, Mallory attacks file systems on the local network. If Mallory does not have access to a file, then a real person or OS user does not have access, regardless of what administrative privileges the OS user has on a file system. Mallory implicitly exempts organization and employees from suspicion.

Oppsummert har systemeier et behov for å sikre systemet mot Mallory i lokalnettet. Mallory er en angriper utenfor alarmsystemet. In summary, the system owner needs to secure the system against Mallory in the local network. Mallory is an attacker outside the alarm system.

[0059] I alarmsystemet er det behov for å arkivere relevante data, for eksempel et lyd- eller videoopptak av hensyn til dokumentasjon. For alarmsystemet er det uvesentlig om arkivbehovet skyldes en lov, organisasjonens ønske om opptak i tilfelle tilsyn, en saksbehandlers behov for notater eller noe annet. ‘Mistenkt og motiv’ er uvesentlig. [0059] In the alarm system, there is a need to archive relevant data, for example an audio or video recording for the sake of documentation. For the alarm system, it is immaterial whether the need for archives is due to a law, the organisation's desire for recording in the event of an inspection, a case manager's need for notes or something else. 'Suspect and motive' is immaterial.

[0060] Det er en fordel å kunne dokumentere tid og sted for opptaket, og at de tilsvarende lyd- eller bildefilene ikke er endret under opphold på disk. [0060] It is an advantage to be able to document the time and place of the recording, and that the corresponding sound or image files have not been changed while on disk.

[0061] Relevante data kan ikke avhenge av at en alarm er utløst. En person kan ringe hjelpesentralen og be om hjelp uten å utløse en alarm først. En aggressor kan hindre at en ansatt på møterommet eller på reise får sendt en alarm. En person hjemme, på kontoret eller på reise kan ringe fra en lånt mobiltelefon, så systemet bør kunne identifisere brukeren uten en forhåndsregistrert brukerterminal. [0061] Relevant data cannot depend on an alarm being triggered. A person can call the help desk and ask for help without first triggering an alarm. An aggressor can prevent an employee in the meeting room or traveling from being sent an alarm. A person at home, in the office or on a trip can call from a borrowed mobile phone, so the system should be able to identify the user without a pre-registered user terminal.

[0062] Mange opptak er uten interesse for ettertiden, og medfører bare kostnader til lagring og sikring. Det er et generelt behov for å slette overflødige data så raskt som mulig. [0062] Many recordings are of no interest to posterity, and only incur costs for storage and security. There is a general need to delete redundant data as quickly as possible.

[0063] Til sammenligning oppbevarer et vanlig CCT-system alle videoopptak en fast periode, for eksempel en måned. Alle opptak slettes eller overskrives straks de er en måned gamle. Dette fyller verken behovet for arkivering eller behovet for rask sletting. [0063] In comparison, a normal CCT system stores all video recordings for a fixed period, for example one month. All recordings are deleted or overwritten as soon as they are one month old. This fulfills neither the need for archiving nor the need for quick deletion.

[0064] Det er generelt ønskelig å automatisere arkivering og sletting. Manuell gjennomgang av alle opptak er dyrt. En realistisk serverprosess har en risiko for å slette relevante data for tidlig og overflødige data for sent. Det er ønskelig å redusere denne risikoen. [0064] It is generally desirable to automate archiving and deletion. Manual review of all recordings is expensive. A realistic server process has a risk of deleting relevant data too early and redundant data too late. It is desirable to reduce this risk.

[0065] Spesielt krever noen personvernregler at visse personopplysninger skal slettes på oppfordring. Hvis irrelevante brukerdata lagres i en sikkerhetskopi, en offsite-backup eller et arkiv, kan det være problematisk å etterkomme dette kravet. [0065] In particular, some privacy regulations require that certain personal data be deleted upon request. If irrelevant user data is stored in a backup copy, an offsite backup or an archive, it may be problematic to comply with this requirement.

[0066] Aspektet ‘tilgjengelighet’ betyr her at en alarm bør kunne utløses selv om en brukerterminal slås av eller mister evnen til å kommunisere. En applikasjon på en mobil enhet kan bli utilgjengelig selv om det ellers er mulig å kommunisere med enheten. Årsaken er at noen operativsystemer for mobile enheter stenger ned applikasjoner i prioritert rekkefølge ettersom batteriets ladenivå synker under bestemte terskelverdier. [0066] The aspect 'availability' here means that an alarm should be able to be triggered even if a user terminal is switched off or loses the ability to communicate. An application on a mobile device may become unavailable even if it is otherwise possible to communicate with the device. The reason is that some mobile device operating systems shut down applications in priority order as the battery's charge level drops below certain threshold values.

[0067] Formålet med den foreliggende oppfinnelsen er å frembringe et forbedret system for å reagere på en alarm. Systemet skal spesielt ta hensyn til personsikkerhet, personvern og digital informasjonssikkerhet. Generelt skal systemet løse eller redusere minst ett av problemene ovenfor samtidig som trekk og fordeler fra kjent teknikk beholdes. [0067] The purpose of the present invention is to provide an improved system for responding to an alarm. The system must take particular account of personal safety, privacy and digital information security. In general, the system must solve or reduce at least one of the above problems while retaining features and advantages from prior art.

SAMMENFATNING SUMMARY

[0068] Dette oppnås med et system ifølge krav 1. Foretrukne utførelser er angitt i de uselvstendige kravene. I kravene følger vi konvensjonen at artiklene ‘en’, ‘et’ betyr minst én eller minst ett, mens tallordene én, ett betyr nøyaktig én eller ett. [0068] This is achieved with a system according to claim 1. Preferred embodiments are indicated in the independent claims. In the requirements, we follow the convention that the articles 'one', 'et' mean at least one or at least one, while the numerals one, one mean exactly one or one.

[0069] Nærmere bestemt gjelder oppfinnelsen et system for å reagere på en alarm, med en systemklient, en systemserver med en database, og en melding mellom systemklienten og systemserveren i et applikasjonslag. Systemet er kjennetegnet ved en systemfunksjon og en reaksjon med minst én systemfunksjon; et mellomlager i et lokalnett med filsystemer hvor systemfunksjoner i systemserveren har lese- og skrivetilgang, og en brukerstatus, hvorav minst én er en alarm-status. Systemet har minst én bruker, hvor hver bruker har et unikt asymmetrisk kryptografisk nøkkelpar med én offentlig nøkkel og én privat nøkkel, samt en personlig gjenstand hvor brukerens private nøkkel er skjult. Systemfunksjonene omfatter en opptaksfunksjon med delfunksjoner for å innhente brukerdata fra en gruppe bestående av lyd-, bilde- , dokument- og posisjonsdata. En krypteringsfunksjon har delfunksjoner for å kryptere og dekryptere en brukers brukerdata med brukerens asymmetriske nøkkelpar. En lagringsfunksjon har delfunksjoner for å lagre brukerdata i databasen eller mellomlageret. Brukerdata kryptert med brukerens offentlige nøkkel kan dermed bare dekrypteres av en krypteringsfunksjon med lesetilgang til brukerens private nøkkel. [0069] More specifically, the invention relates to a system for reacting to an alarm, with a system client, a system server with a database, and a message between the system client and the system server in an application layer. The system is characterized by a system function and a reaction with at least one system function; an intermediate storage in a local area network with file systems where system functions in the system server have read and write access, and a user status, at least one of which is an alarm status. The system has at least one user, where each user has a unique asymmetric cryptographic key pair with one public key and one private key, as well as a personal object where the user's private key is hidden. The system functions include a recording function with sub-functions to obtain user data from a group consisting of sound, image, document and position data. An encryption function has subfunctions to encrypt and decrypt a user's user data with the user's asymmetric key pair. A storage function has subfunctions to store user data in the database or buffer. User data encrypted with the user's public key can thus only be decrypted by an encryption function with read access to the user's private key.

[0070] Fra innledningen forstås at meldingen kan være en SMS eller epost, og at både server- og klientsiden har funksjoner eller prosesser for å sende og motta slike meldinger. [0070] It is understood from the introduction that the message can be an SMS or e-mail, and that both the server and the client side have functions or processes for sending and receiving such messages.

[0071] En reaksjon er sammensatt av en eller flere systemfunksjoner, for eksempel Varsling av en eller flere respondenter med en situasjonsbestemt forhåndslagret melding og Markering av bruker på et systemkonsoll. [0071] A reaction is composed of one or more system functions, for example Notifying one or more responders with a situational pre-stored message and Marking a user on a system console.

[0072] Mellomlageret er delmengden av filsystemer i lokalnettet som inneholder ukrypterte og krypterte brukerdata, der systemserveren har lese- og skrivetilgang. Mellomlageret er ikke en egen fysisk enhet. Filsystemene i mellomlageret kan være tilgjengelig i samme maskin som systemserveren eller gjennom en filserver i lokalnettet. Mellomlageret oppbevarer brukerdata i en passende periode, f eks noen dager slik at brukere kan laste ned krypterte filer for notater og personer i et kontrollrom kan merke en fil for arkivering dersom brukeren ikke kan, vil eller tør utløse en alarm. Senere bruker vi ‘fjernlager’ for tilsvarende filsystemer med backupdata utenfor sikkert område. [0072] The buffer is the subset of file systems in the local network that contain unencrypted and encrypted user data, where the system server has read and write access. The intermediate storage is not a separate physical unit. The file systems in the intermediate storage can be accessed on the same machine as the system server or through a file server in the local network. The buffer stores user data for a suitable period, for example a few days so that users can download encrypted files for notes and people in a control room can mark a file for archiving if the user cannot, does not want or dares to trigger an alarm. Later, we use 'remote storage' for corresponding file systems with backup data outside the secure area.

[0073] Et databasesystem er generelt egnet til å inneholde korte dataelementer som personnavn, boligadresser, filnavn og posisjonsdata. Lengre dataelementer som lyd-, bilde- og dokumentdata kan passe bedre i et filsystem i mellomlageret. [0073] A database system is generally suitable for containing short data elements such as personal names, residential addresses, file names and location data. Longer data elements such as audio, image and document data may fit better in a file system in the intermediate storage.

[0074] En brukerstatus i systemet er knyttet til en reaksjon. Systemet kan ha flere alarmstatuser hvor hver alarm-status utløser en alarm-reaksjon. En ansatt på kontoret eller reise krever to forskjellige alarm–reaksjoner avhengig av situasjon. [0074] A user status in the system is linked to a reaction. The system can have several alarm statuses, where each alarm status triggers an alarm reaction. An employee in the office or traveling requires two different alarm reactions depending on the situation.

[0075] Brukerdata omfatter lyd-, bilde-, dokument- og posisjonsdata, Opptaksutstyr for lyd og bilde er henholdsvis en mikrofon og et kamera. Med dokumentdata mener vi filer fra en typisk kontorapplikasjon, f eks et tekstbehandlingsdokument, et regneark osv. Posisjonsdata kan innhentes fra en GPS-funksjon i en smarttelefon, fra Bluetooth-beacons osv. [0075] User data includes sound, image, document and position data, Recording equipment for sound and image is respectively a microphone and a camera. By document data we mean files from a typical office application, e.g. a word processing document, a spreadsheet, etc. Position data can be obtained from a GPS function in a smartphone, from Bluetooth beacons, etc.

[0076] Nøklene skal hindre at en uautorisert person kan lese innholdet i en kryptert fil ved hjelp av vanlig programvare. De ‘ligger i applikasjonslaget’. Den personlige gjenstanden kan være en eller flere av brukerens PCer, et smartkort eller en minnepinne med USB-kontakt. Noen minnepinner virker ikke uten brukerens fingeravtrykk. Gjenstander uten elektrisk kontakt til en datamaskin i et nettverk kan ikke leses av Mallory under noen omstendighet. I andre sammenhenger på fagfeltet digital informasjonssikkerhet kalles dette et ‘luftgap’. [0076] The keys must prevent an unauthorized person from being able to read the contents of an encrypted file using normal software. They 'are in the application layer'. The personal item can be one or more of the user's PCs, a smart card or a memory stick with a USB connector. Some memory sticks do not work without the user's fingerprint. Items without an electrical connection to a networked computer cannot be read by Mallory under any circumstances. In other contexts in the field of digital information security, this is called an 'air gap'.

[0077] Brukerdata kryptert med brukerens offentlige nøkkel kan bare dekrypteres med den private nøkkelen i nøkkelparet. Krypteringsfunksjonen kan kjøres i en serverapplikasjon og/eller i en klientapplikasjon på en PC eller i en datamaskin på møterommet. [0077] User data encrypted with the user's public key can only be decrypted with the private key in the key pair. The encryption function can be run in a server application and/or in a client application on a PC or in a computer in the meeting room.

[0078] Systemserveren har tilgang til alle offentlige nøkler. Serverkryptering med en offentlig nøkkel garanterer at ingen uautoriserte personer, her personer uten tilgang til den private nøkkelen i nøkkelparet, kan lese data på disk. Klientkryptering med den offentlig nøkkelen garanterer at uautoriserte, f eks personer i kontrollrommet, verken kan lese data på nett eller disk. Tilsvarende for en OS-administrator. Uten tilgang kan ingen personer mistenkes for tyvlytting. [0078] The system server has access to all public keys. Server encryption with a public key guarantees that no unauthorized person, here people without access to the private key in the key pair, can read data on disk. Client encryption with the public key guarantees that unauthorized persons, e.g. people in the control room, cannot read data online or on the disk. Similarly for an OS administrator. Without access, no one can be suspected of eavesdropping.

[0079] Brukeren vil dekryptere etter en ekte alarm, og dermed gjøre filen leselig for en begrenset gruppe autoriserte personer. En uautorisert sjef eller OS-administrator ser ikke innholdet, og er dermed også fritatt for mistanke om tyvlytting. [0079] The user will decrypt after a real alarm, thus making the file readable by a limited group of authorized persons. An unauthorized manager or OS administrator does not see the content, and is thus also exempt from suspicion of eavesdropping.

[0080] Mallory har tilgang til alle nøkler i alle filsystemer i lokalnettet. Hun har ingen nytte av offentlige nøkler fordi de ikke kan dekryptere. Det krever for mye innsats å bryte seg inn i mange PCer, f eks pga stor sannsynlighet for oppdaterte antivirusprogrammer. Systemet er altså sikret mot Mallory såfremt ingen private nøkler ligger i et filsystem i lokalnettet. Det er systemeiers ansvar å påse at ingen lagrer private i lokalnettet av ‘praktiske’ eller andre grunner. Dette kan gjøres med et rutinemessig søk etter systemspesifikke nøkkelnavn. [0080] Mallory has access to all keys in all file systems in the local network. She has no use for public keys because they cannot decrypt. It requires too much effort to break into many PCs, for example due to the high probability of updated anti-virus programs. The system is thus secured against Mallory as long as no private keys are located in a file system in the local network. It is the system owner's responsibility to ensure that no one stores private data in the local network for 'practical' or other reasons. This can be done with a routine search for system-specific key names.

[0081] Foretrukne utførelser har en hashingfunksjon og en hashnøkkel som kombinerer brukerens private og offentlige nøkkel. Hashnøkkelen bør være unik for brukeren for å dokumentere eierskap til brukerdata. Mallory har tilgang til alle offentlige nøkler og kan forfalske et hash. Hashnøkkelen kan derfor f eks være brukerens private nøkkel kryptert med den offentlige. Ingen uautoriserte kan dekryptere ved bruk av den offentlige nøkkelen, så den private nøkkelen forblir privat mens hashnøkkelen er unik for brukeren. En slik hashnøkkel kan sendes sikkert over nett, men blir offentlig hvis den lagres i et filsystem på lokalnettet. [0081] Preferred embodiments have a hashing function and a hash key that combines the user's private and public key. The hash key should be unique to the user to document ownership of user data. Mallory has access to all public keys and can forge a hash. The hash key can therefore, for example, be the user's private key encrypted with the public key. No unauthorized person can decrypt using the public key, so the private key remains private while the hash key is unique to the user. Such a hash key can be sent securely over the Internet, but becomes public if it is stored in a file system on the local network.

[0082] I foretrukne utførelser har systemklienten minst én brukermelding, der hver brukermelding i systemklienten tilsvarer en brukerstatus og en reaksjon i systemserveren. [0082] In preferred embodiments, the system client has at least one user message, where each user message in the system client corresponds to a user status and a reaction in the system server.

[0083] Noen meldinger, f eks med GPS-data eller lavt batterinivå, kan sendes fra systemklienten uten at en person medvirker. Andre meldinger kan sendes ved hjelp av et GUI. En datamaskin med webkamera på møterommet behøver verken et GUI eller flere meldinger for å kryptere en videostrøm til mellomlageret, men den har fordelaktig en prosess for å motta brukerens offentlige nøkkel til bruk i krypteringen. [0083] Some messages, for example with GPS data or low battery level, can be sent from the system client without a person participating. Other messages can be sent using a GUI. A computer with a web camera in the meeting room does not need a GUI or multiple messages to encrypt a video stream to the intermediate storage, but it advantageously has a process for receiving the user's public key for use in the encryption.

[0084] Foretrukne utførelse med en melding sendt fra brukeren har en tilsvarende ‘avslutt’-melding som kansellerer den tilsvarende statusen for brukeren i systemserveren. Dette er spesielt nyttig for å avslutte brukerbestemte perioder. Brukermeldingen kan alternativt inneholde en tidsperiode, og trenger da ingen ‘avslutt’-melding sendt fra systemklienten. [0084] Preferred embodiments with a message sent from the user have a corresponding 'quit' message which cancels the corresponding status of the user in the system server. This is particularly useful for ending user-defined periods. The user message can alternatively contain a time period, and then does not need a 'quit' message sent from the system client.

[0085] Noen ‘avslutt’-meldinger krever ekstra autentisering av en person. For eksempel kan avstilling av en ‘falsk’ eller utilsiktet alarm i et digitalt system kreve at brukeren oppgir et passord i et GUI. To-trinns personautentisering bør fortrinnsvis omfatte noe personen har og noe personen kan. En variant brukt i andre systemer er å sende en engangskode med SMS til en persons mobiltelefon, og kreve at personen oppgir engangskoden i et GUI. Alarmsystemet her kan benytte denne og andre kjente teknikker for fler-trinns personautentisering. [0085] Some 'quit' messages require additional authentication by a person. For example, silencing a 'false' or accidental alarm in a digital system may require the user to enter a password in a GUI. Two-step personal authentication should preferably include something the person has and something the person can do. A variant used in other systems is to send a one-time code by SMS to a person's mobile phone, and require the person to enter the one-time code in a GUI. The alarm system here can use this and other known techniques for multi-step personal authentication.

[0086] I foretrukne utførelser er en av brukermeldingene en ‘forsinket alarm’- melding med en forsinkelsesperiode. Systemserverens reaksjon utføres ved utløpet av forsinkelsesperioden med mindre brukeren endrer tidspunkt for utførelse av en tilhørende reaksjon. [0086] In preferred embodiments, one of the user messages is a 'delayed alarm' message with a delay period. The system server's reaction is performed at the end of the delay period, unless the user changes the time for performing an associated reaction.

[0087] Foretrukne utførelser har en brukersendt opptaks-melding, der reaksjonen er å aktivere opptaksfunksjonen for opptaksutstyr nær brukeren. Et opptak av en telefonsamtale krever ingen forutgående melding. Brukerutløst opptak sikrer mot utilbørlig overvåking, og ivaretar dermed brukerens personvern. Brukeren kan avslutte opptaksperioden ved hjelp av systemklientens GUI, f eks med en skjermknapp ‘avslutt’ eller tilsvarende. En brukerstyrt opptaksperiode reduserer mengden av overflødige data på disk. [0087] Preferred embodiments have a user-sent recording message, where the reaction is to activate the recording function for recording equipment close to the user. A recording of a telephone conversation does not require prior notification. User-triggered recording ensures against inappropriate monitoring, and thus safeguards the user's privacy. The user can end the recording period using the system client's GUI, for example with a screen button 'exit' or similar. A user-controlled recording period reduces the amount of redundant data on disk.

[0088] Foretrukne utførelser har en brukersendt standby-melding som fører til forhøyet oppmerksomhet fra systemserveren. Dette reduserer responstiden i tilfelle Alarm. [0088] Preferred embodiments have a user sent standby message that leads to heightened attention from the system server. This reduces the response time in the event of an Alarm.

[0089] Forsinkelsesperioden, standby-perioden og opptaksperioden er tre separate perioder som kan, men ikke må, overlappe. [0089] The delay period, the standby period, and the recording period are three separate periods that may, but may not, overlap.

[0090] Foretrukne utførelser har videre en status for brukerdata som overstyrer en automatisk slettefunksjon for data på disk. Denne statusen kan være ‘Arkiveres’ eller ‘Til senere bruk’ og gjelder brukerdata, ikke bruker. Brukerdata uten en slik status kan slettes etter en periode i mellomlageret eller databasen, f eks etter noen dager. Denne perioden gir en person i kontrollrommet anledning til å arkivere brukerdata uten forhåndssendt alarmmelding. [0090] Preferred embodiments further have a status for user data that overrides an automatic deletion function for data on disk. This status can be 'Archived' or 'For later use' and applies to user data, not the user. User data without such a status can be deleted after a period in the intermediate storage or database, for example after a few days. This period gives a person in the control room the opportunity to archive user data without a pre-sent alarm message.

[0091] I foretrukne utførelser kan kansellering av noen systemfunksjoner kreve ekstra autentisering av personen som anmoder om kansellering. Dette kan innebære at Alice må logge seg inn med passord for å avstille en alarm eller slette en videofil fra disk, det er ikke alltid nok at hun har en brukerterminal. [0091] In preferred embodiments, cancellation of some system functions may require additional authentication by the person requesting the cancellation. This may mean that Alice has to log in with a password to silence an alarm or delete a video file from disk, it is not always enough that she has a user terminal.

[0092] I noen utførelser har systemserveren en funksjon for å sammenholde lokasjonsdata i en forhåndsbestemt sekvens med faktiske posisjonsdata mottatt fra systemklienten. Sekvensen kan representere en planlagt reise, et oppdrag eller en kveldstur, og den kan inneholde tidspunkt eller tidsintervaller. Avvik kan for eksempel utløse standby- tilstand og en melding til brukeren om å bekrefte at alt er OK. Manglende svar kan her utløse en alarmtilstand som beskrevet for utførelser med tidsforsinkelse. Dette øker personsikkerheten til Alice på reise. [0092] In some embodiments, the system server has a function to collate location data in a predetermined sequence with actual location data received from the system client. The sequence can represent a planned journey, a mission or an evening trip, and it can contain times or time intervals. Deviations can, for example, trigger a standby state and a message to the user to confirm that everything is OK. Failure to respond can here trigger an alarm condition as described for designs with a time delay. This increases the personal security of Alice when travelling.

[0093] Foretrukne utførelser har en systemlogg med tidspunkt for når brukerdata opprettes, leses, endres eller slettes, og en brukerID som identifiserer personen som utførte handlingen. Selv om Mallory kan omgå systemloggen, kan den være nyttig for Control eller systemeier. Hensikten er å knytte en person til en handling og en mulig sanksjon. For eksempel kan arbeidsgiver sanksjonere en ansatt ved uautorisert lesing av en ukryptert fil i mellomlageret. BrukerID bør følgelig identifisere en person, ikke en gruppe personer med adgang til en felles administrator-rolle. [0093] Preferred embodiments have a system log with the time of when user data is created, read, changed or deleted, and a user ID that identifies the person who performed the action. Although Mallory can bypass the system log, it can be useful for Control or the system owner. The purpose is to link a person to an action and a possible sanction. For example, the employer can sanction an employee for unauthorized reading of an unencrypted file in the intermediate storage. BrukerID should therefore identify a person, not a group of people with access to a common administrator role.

[0094] Foretrukne utførelser har en rutine for automatisk sikkerhetskopiering av data i mellomlageret. Dette kan være en del av organisasjonens ordinære backuprutiner. Hensikten er å redusere risikoen ved prematur sletting av brukerdata. Hvis data blir slettet ved en feil, kan de hentes tilbake fra en offsite-backup, som kan være flere måneder gammel. Krypterte brukerdata sikrer konfidensialitet og personvern også i backupdata. [0094] Preferred embodiments have a routine for automatically backing up data in the buffer. This can be part of the organisation's ordinary backup routines. The purpose is to reduce the risk of premature deletion of user data. If data is accidentally deleted, it can be recovered from an offsite backup, which may be several months old. Encrypted user data ensures confidentiality and privacy also in backup data.

[0095] Systemet her kan videre omfatte en scenarioliste med meldinger fra en produksjonsversjon av systemet og tider for sending av meldingene, samt et GUI med mulighet for å velge en scenarioliste. En eller flere scenariolister med meldinger spiller rollene til fysiske personer i en simuleringsversjon. En Spillmester bruker et GUI til å velge en scenarioliste. [0095] The system here can further comprise a scenario list with messages from a production version of the system and times for sending the messages, as well as a GUI with the possibility to select a scenario list. One or more scenario lists of messages play the roles of physical persons in a simulation version. A Game Master uses a GUI to select a scenario list.

KORT BESKRIVELSE AV TEGNINGENE BRIEF DESCRIPTION OF THE DRAWINGS

[0096] I den følgende detaljerte beskrivelsen beskrives oppfinnelsen ved hjelp av eksempler og med henvisning til tegningene, hvor: [0096] In the following detailed description, the invention is described by means of examples and with reference to the drawings, where:

Fig. 1 er en oversikt over et system i samsvar med oppfinnelsen; Fig. 1 is an overview of a system in accordance with the invention;

Fig. 2 illustrerer systemfunksjoner og reaksjoner; Fig. 2 illustrates system functions and reactions;

Fig. 3 er en mer detaljert oversikt over komponenter i systemet; Fig. 3 is a more detailed overview of components in the system;

Fig. 4 illustrerer systemets plassering i ulike protokollstakker; Fig. 4 illustrates the system's location in various protocol stacks;

Fig. 5 er et forenklet ER-diagram med noen entiteter og relasjoner i systemet; Fig. 5 is a simplified ER diagram with some entities and relationships in the system;

Fig. 6 illustrerer en skjult utløser og en endelig tilstandsmaskin; Fig. 6 illustrates a hidden trigger and a finite state machine;

Fig. 7 illustrerer interne prosesser, signaler og kanaler; og Fig. 7 illustrates internal processes, signals and channels; and

Fig. 8 er et forenklet sekvensdiagram med objektorientert dynamikk. Fig. 8 is a simplified sequence diagram with object-oriented dynamics.

DETALJERT BESKRIVELSE AV FORETRUKNE UTFØRELSESFORMER DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0097] De vedføyde tegningene er skjematiske, og ikke i skala. Detaljer kjent for fagfolk på området er utelatt av hensyn til klarhet i illustrasjonene. [0097] The attached drawings are schematic, and not to scale. Details known to those skilled in the art have been omitted for clarity in the illustrations.

[0098] Fig. 1 illustrerer et system 100 ifølge oppfinnelsen. Et rektangel markerer systemgrensen. Grafiske brukergrensesnitt (GUIer) på en systemklient 220 og et konsoll 140 gjør det mulig for personer representert ved Alice, Bob og Charlie å kommunisere med systemet 100. Et GUI har skjermknapper, menyer og felt til å taste inn data, og trenger ingen detaljert forklaring her. [0098] Fig. 1 illustrates a system 100 according to the invention. A rectangle marks the system boundary. Graphical user interfaces (GUIs) on a system client 220 and a console 140 enable individuals represented by Alice, Bob, and Charlie to communicate with the system 100. A GUI has on-screen buttons, menus, and fields for entering data, and needs no detailed explanation here.

[0099] Alice representer en bruker i systemet, dvs en person som kan utløse en alarm. [0099] Alice represents a user in the system, ie a person who can trigger an alarm.

Personen Alice kan ha en eller flere personlige datamaskiner, f eks en smarttelefon, en laptop og en kontor-PC. Det er unødvendig å gjenta eksempler på personlige datamaskiner i hvert eksempel, så vi bruker som nevnt forkortelsen ‘PC’ – ‘personal computer’ - til å representere en stasjonær eller bærbar datamaskin, et nettbrett, en smarttelefon og andre datamaskiner med en personlig OS-bruker. Av hensyn til lesbarhet bruker vi betegnelsene om hverandre. The person Alice may have one or more personal computers, e.g. a smartphone, a laptop and an office PC. It is unnecessary to repeat examples of personal computers in each example, so as mentioned we use the abbreviation 'PC' - 'personal computer' - to represent a desktop or laptop computer, a tablet, a smartphone and other computers with a personal OS- User. For reasons of readability, we use the designations interchangeably.

[0100] Ellipsen 201 markerer utstyr som er nær personen Alice på et gitt tidspunkt. Alice trenger en PC, f eks en smarttelefon 210, i nærheten for å sende en Alarm-melding 202 fra et møterom. Hennes kontor-PC er relevant i andre sammenhenger. [0100] The ellipse 201 marks equipment that is close to the person Alice at a given time. Alice needs a PC, for example a smartphone 210, nearby to send an Alarm message 202 from a meeting room. Her office PC is relevant in other contexts.

[0101] Alice kan bruke et GUI i systemklienten 220 til å sende Alarm-meldingen 202 til en systemserver 120. Systemserveren 120 kan da sette en Alarm-status 120 på bruker Alice 200 i en database 121. Fig. 2 illustrerer at en Alarm-status 102 utløser en Alarm-reaksjon 162 med én eller flere systemfunksjoner. En av systemfunksjonene er Varsling(liste, melding) 172, som sender en melding til alle personer i listen. Prosesser i systemserveren 120 kommuniserer seg imellom på interne kanaler med interne signaler. Innholdet i ‘liste’ og ‘melding’ vedlikeholdes av en eller flere serveprosesser. I dette eksempelet inneholder ‘liste’ mobilnumrene til Bob og andre av Alices kolleger, og Alarm-meldingen 202 er en SMS med ‘Alarm, Alice, møterom 123’. [0101] Alice can use a GUI in the system client 220 to send the Alarm message 202 to a system server 120. The system server 120 can then set an Alarm status 120 on user Alice 200 in a database 121. Fig. 2 illustrates that an Alarm status 102 triggers an Alarm reaction 162 with one or more system functions. One of the system functions is Notification(list, message) 172, which sends a message to all people in the list. Processes in the system server 120 communicate with each other on internal channels with internal signals. The contents of 'list' and 'message' are maintained by one or more server processes. In this example, 'list' contains the mobile numbers of Bob and other of Alice's colleagues, and the Alarm message 202 is an SMS with 'Alarm, Alice, meeting room 123'.

[0102] Personen Bob mottar Varslings-meldingen 172, og gir assistanse 20 til kollega Alice i møterom 123. En trussel mot personsikkerhet krever assistanse 20 av en person. Systemserveren 120 sikrer kort responstid, og øker dermed Alices personsikkerhet i forhold til et system der en person er involvert i behandlingen av Alices Alarm-melding 202. [0102] The person Bob receives the Alert message 172, and provides assistance 20 to colleague Alice in meeting room 123. A threat to personal safety requires assistance 20 from a person. The system server 120 ensures a short response time, and thus increases Alice's personal security in relation to a system where a person is involved in the processing of Alice's Alarm message 202.

[0103] Bob representerer en gruppe personer med en eller flere medlemmer, for eksempel en hjemmehjelp, kolleger av Alice eller en vekterpatrulje. Bob trenger bare en mobiltelefon, f eks en smarttelefon 210, for å motta en tekstmelding sendt med SMS. Han trenger ikke systemklienten 220 for dette. Bob kan assistere Alice i én situasjon, og Alice kan assistere kollega Bob i en annen. Bobs smarttelefon kan derfor også ha en installert systemklient 220. [0103] Bob represents a group of people with one or more members, for example a domestic worker, colleagues of Alice or a security patrol. Bob only needs a mobile phone, for example a smartphone 210, to receive a text message sent by SMS. He does not need the system client 220 for this. Bob can assist Alice in one situation, and Alice can assist colleague Bob in another. Bob's smartphone can therefore also have a system client 220 installed.

[0104] Charlie representerer en gruppe med en eller flere personer i et kontrollrom, f eks i hjelpe- eller vaktsentralen eller kontoret til Control, sjefen til Alice og Bob. Control har myndighet til å kontakte eksterne ressurser, for eksempel ambulanse eller politi. Control har generelt ansvar for flere ansatte, f eks Alice, Bob og/eller Charlier i sentralen. Control og Charlie kan nås gjennom et sentralbordnummer, og personen Control kan ha et mobilnummer. [0104] Charlie represents a group of one or more people in a control room, for example in the help or guard center or the office of Control, the boss of Alice and Bob. Control has the authority to contact external resources, such as an ambulance or the police. Control has general responsibility for several employees, for example Alice, Bob and/or Charlier in the central office. Control and Charlie can be reached through a switchboard number, and the person Control can have a mobile number.

[0105] Personer og utstyr er eksempler på ‘entiteter’ i systemet 100 for å reagere på en alarm. Entiteter er forbundet med ‘relasjoner’. For eksempel kan en bruker ha en eller flere personlige datamaskiner og en eller flere filer med brukerdata. Fig. 5 er et forenklet ER-diagram som viser noen av entitetene og relasjonene i systemet 100. Systemet 100 har i tillegg systemfunksjoner, f eks for å sende og motta meldinger, for kryptering og hashing osv. [0105] People and equipment are examples of 'entities' in the system 100 for responding to an alarm. Entities are connected by 'relationships'. For example, a user may have one or more personal computers and one or more files with user data. Fig. 5 is a simplified ER diagram showing some of the entities and relationships in the system 100. The system 100 also has system functions, e.g. for sending and receiving messages, for encryption and hashing, etc.

[0106] En simuleringsversjon av systemet 100 omfatter en produksjonsversjon med tillegg av forhåndsbestemte meldinger som sendes til bestemte tider og/eller datamaskinprosesser som spiller rollene til Alice, Bob og/eller Charlie. Simuleringsversjonen bruker meldinger og funksjoner i produksjonsversjonen, slik at det er enkelt å bygge ulike scenarier. For realisme kan en menneskelig ‘spillmester’ påvirke hvilke meldinger som skal sendes avhengig av hvordan spillet utvikler seg. Simuleringsversjonen gjør det mulig å trene grupper av personer, for eksempel brukere, hjelpere, personer i en hjelpesentral eller et krisehåndteringsteam, uten kostnader til virkelige personer Alice, Bob og/eller Charlie for å spille andre roller. [0106] A simulation version of the system 100 includes a production version with the addition of predetermined messages that are sent at specific times and/or computer processes that play the roles of Alice, Bob, and/or Charlie. The simulation version uses messages and functions of the production version, so it is easy to build different scenarios. For realism, a human 'game master' can influence which messages are sent depending on how the game progresses. The simulation version makes it possible to train groups of people, such as users, helpers, people in a help desk or a crisis management team, without the cost of real people Alice, Bob and/or Charlie to play other roles.

[0107] I et gjennomgående eksempel har et møterom et kamera 231. Før et møte med en potensiell aggressor, aktiverer Alice kameraet 231, slik at det sender brukerdata 250, her en videostrøm, over et lokalnett til systemserveren 120. En Reaksjon 161 på videostrømmen lagrer en bildefil i et mellomlager 130 og filnavnet i en database 121. Dette er bruker Alices fil, så databasen 121 har en relasjon mellom brukeren 200 og en eller flere brukerfiler. [0107] In a general example, a meeting room has a camera 231. Before a meeting with a potential aggressor, Alice activates the camera 231, so that it sends user data 250, here a video stream, over a local network to the system server 120. A Reaction 161 to the video stream stores an image file in a buffer 130 and the file name in a database 121. This is user Alice's file, so the database 121 has a relationship between the user 200 and one or more user files.

[0108] Hver bruker Alice 200 har et asymmetrisk nøkkelpar privA, pubA, med egenskapen at data kryptert med en offentlig nøkkel pubA bare kan dekrypteres med en privat nøkkel privA i nøkkelparet. Dette er nøkler som brukes til å skjule brukerdata 250 for uautoriserte personer, f eks kollega Bob, Charlie på sentralen og Control. Det er ikke nøkler som brukes til kryptering og hashing på lavere lag, f eks i sikre forbindelse til og fra en HTTPS-server på internett. Data som overføres med TLS er leselig i begge ender av den sikre forbindelsen. [0108] Each user Alice 200 has an asymmetric key pair privA, pubA, with the property that data encrypted with a public key pubA can only be decrypted with a private key privA in the key pair. These are keys used to hide user data 250 from unauthorized persons, e.g. colleague Bob, Charlie at the exchange and Control. There are no keys that are used for encryption and hashing at a lower level, for example in a secure connection to and from an HTTPS server on the internet. Data transmitted with TLS is readable at both ends of the secure connection.

[0109] En systemfunksjon 171 krypterer videostrømmen fra kamera 231 med Alices offentlige nøkkel pubA. Alice holder privA skjult i en personlig gjenstand, f eks i en PC, et personlig smartkort eller en minnepinne med USB-kontakt. Det er dermed bare Alice som kan dekryptere den krypterte videofilen, for eksempel for å ta notater eller for å arkivere en leselig kopi for senere dokumentasjon av en uønsket hendelse. [0109] A system function 171 encrypts the video stream from camera 231 with Alice's public key pubA. Alice keeps privA hidden in a personal object, e.g. in a PC, a personal smart card or a memory stick with a USB connector. Only Alice can therefore decrypt the encrypted video file, for example to take notes or to archive a readable copy for later documentation of an unwanted event.

[0110] Krypteringsfunksjonen 171 kan kjøre i systemserveren 120, systemklienten 220 eller i en datamaskin på møterommet. Alle har lovlig tilgang til Alices offentlige nøkkel pubA. Hvis Alices brukerdata 250 krypteres i møterommet, kan de sendes over lokalnettet uten at en uautorisert Bob, Charlie eller Control kan se dem i sanntid på nett eller i ettertid på disk 130. [0110] The encryption function 171 can run in the system server 120, the system client 220 or in a computer in the meeting room. Everyone has legal access to Alice's public key pubA. If Alice's user data 250 is encrypted in the meeting room, it can be sent over the LAN without an unauthorized Bob, Charlie or Control being able to see it in real time online or afterwards on disk 130.

[0111] De fleste møter er udramatiske, så Alices brukerdata 250 kan slettes automatisk etter en periode i mellomlageret 130, f eks noen dager. Dette gir Alice tid til å laste ned den krypterte filen til sin kontor-PC i tilfelle hun vil ta notater fra møtet. [0111] Most meetings are undramatic, so Alice's user data 250 can be deleted automatically after a period in the intermediate storage 130, for example a few days. This gives Alice time to download the encrypted file to her office PC in case she wants to take notes from the meeting.

[0112] I tilfelle en aggressor hindret Alice i å utløse en Alarm, vil Charlie eller Control høre om hendelsen i etterkant. Alice vil da dekryptere filen slik at en leselig kopi kan arkiveres for senere dokumentasjon. Den dekrypterte filen kan gjøres tilgjengelig for personer som ‘trenger å vite’, f eks Control, som automatisk ble autorisert av den uønskede hendelsen. En OS-administrator er ikke nødvendig for å endre autorisasjon på en leselig fil i et Unix- eller Windows-system i lokalnettet, så innholdet i filen kan holdes skjult også for en uautorisert OS-administrator. Dette kan gjøres på sikker måte med et såkalt ‘luftgap’, dvs uten elektrisk kontakt eller nettforbindelse. En USB minnepinne kan inneholde Alices private nøkkel, og en flyttbar disk kan inneholde den dekrypterte filen. [0112] In the event that an aggressor prevented Alice from triggering an Alarm, Charlie or Control will hear about the incident afterwards. Alice will then decrypt the file so that a readable copy can be archived for later documentation. The decrypted file can be made available to people who 'need to know', e.g. Control, which was automatically authorized by the unwanted event. An OS administrator is not required to change the authorization of a readable file in a Unix or Windows system in the local network, so the contents of the file can be kept hidden even from an unauthorized OS administrator. This can be done safely with a so-called 'air gap', i.e. without electrical contact or mains connection. A USB stick can contain Alice's private key, and a removable disk can contain the decrypted file.

[0113] I praksis kan Control putte en minnepinne med den dekrypterte filen inn i sin kontor-PC og arkivere den i et fjernlager (400 i Fig. 3) uten at noen OS-administrator på lokalnettet har mulighet til å se den. OS-administratorer har tilgang til sentrale maskiner, f eks filservere, ikke til hver PC i lokalnettet. Den dekrypterte filen trenger ikke lagres i Alices eller Controls PC slik at brukerstøtte eller en hacker som bruker tjenester i brukerstøtteapplikasjonen kan se den. Det er imidlertid lite trolig at en Mallory bryter seg inn i mange PCer i håp om å finne noe av interesse, her Alices dekrypterte videofil, i en av dem. [0113] In practice, Control can insert a memory stick with the decrypted file into its office PC and archive it in a remote storage (400 in Fig. 3) without any OS administrator on the local network having the opportunity to see it. OS administrators have access to central machines, e.g. file servers, not to every PC in the local network. The decrypted file does not need to be stored in Alice's or Control's PC so that support or a hacker using services in the support application can see it. However, it is unlikely that a Mallory breaks into many PCs in the hope of finding something of interest, here Alice's decrypted video file, in one of them.

[0114] Alice senior kan ringe 222 Charlie i hjelpesentralen uten å utløse en alarm først. Til dette trenger hun bare en mobiltelefon 210, ikke nødvendigvis en installert systemklient 220. Charlie på sentralen må nødvendigvis høre samtalen, så det er meningsløst å kryptere på klientsiden i dette eksempelet. På serversiden krypteres 171 samtalen fordelaktig med Charlies offentlige nøkkel pubC før en lydfil med samtalen lagres i mellomlageret 130. [0114] Alice senior can call 222 Charlie in the help desk without triggering an alarm first. For this she only needs a mobile phone 210, not necessarily an installed system client 220. Charlie at the switchboard must necessarily hear the conversation, so it is pointless to encrypt on the client side in this example. On the server side, the 171 conversation is advantageously encrypted with Charlie's public key pubC before an audio file with the conversation is stored in the buffer 130.

Dermed har uautoriserte personer ikke tilgang til samtalen på disk i ettertid. Charlie vurderer om samtalen har verdi senere, og markerer den i så fall for Arkivering. ‘Arkiveres’ er en status for brukerdata 250, ikke for bruker 200, og kan medføre automatisk kryptering med Alices offentlige nøkkel og/eller hashing med en hashnøkkel som er unik for Alice. Mallory kan forfalske et hash, så pubA er uegnet som hashnøkkel. This means that unauthorized persons do not have access to the conversation on the disk afterwards. Charlie assesses whether the conversation has value later, and if so marks it for Archiving. 'Archived' is a status for user data 250, not for user 200, and may entail automatic encryption with Alice's public key and/or hashing with a hash key unique to Alice. Mallory can forge a hash, so pubA is unsuitable as a hash key.

[0115] Hashnøkkelen kan i stedet og som eksempel være den private nøkkelen kryptert med den offentlige, dvs privA*pubA automatisk produsert av Alices systemklient 220. Denne nøkkelen kan sendes sikkert over nett fordi ingen andre enn Alice kan dekryptere meldinger kryptert med pubA. Den kan ikke lagres sikkert på disk fordi Mallory kan forfalske et hash med nøkler hun kan lese. [0115] The hash key can instead and as an example be the private key encrypted with the public one, i.e. privA*pubA automatically produced by Alice's system client 220. This key can be sent securely over the internet because no one but Alice can decrypt messages encrypted with pubA. It cannot be securely stored on disk because Mallory can forge a hash with keys she can read.

[0116] En database 121 med mange private nøkler kan kreve ekstra beskyttelse og kostnad. Det kan være forsvarlig å lagre Charlies privC i databasen 121 såfremt den beskytter en begrenset mengde brukerdata. Prosesser i systemserveren 120 kan da dekryptere filer automatisk. Datamengden bør begrenses for å redusere skadevirkninger dersom privC blir kompromittert av ukjent årsak. Serverkryptering med Alices pubA motvirker dette. [0116] A database 121 with many private keys may require additional protection and cost. It may be prudent to store Charlie's privC in the database 121 provided it protects a limited amount of user data. Processes in the system server 120 can then decrypt files automatically. The amount of data should be limited to reduce harmful effects if privC is compromised for unknown reasons. Server encryption with Alice's pubA counteracts this.

[0117] Alice på kontoret kan laste ned, dekryptere, og laste opp en fil. Alice senior kan trenge hjelp. Hvis dekryptering sentraliseres, f eks ved at Charlie har en samling minnepinner i en safe på kontoret, så fritas ikke Charlie for uberettiget mistanke om tyvlytting. Tilsvarende hvis en serverprosess kan starte dekryptering i systemklienten 220. Det hjelper ikke med en ‘sikker’ autentiseringen av serverprosessen i systemklienten 220. [0117] Alice in the office can download, decrypt, and upload a file. Alice senior may need help. If decryption is centralized, for example by Charlie having a collection of memory sticks in a safe at the office, then Charlie is not exempt from unjustified suspicion of eavesdropping. Similarly, if a server process can start decryption in the system client 220. It does not help with a 'secure' authentication of the server process in the system client 220.

[0118] Alice senior vil ikke overvåkes med kamera hjemme. Hun vil ta et bad, og velger en forsinkelsesperiode ‘1 time’ fra en meny i GUIet i systemklienten 220. Systemklienten 220 sender en ‘forsinket alarm’, nærmere bestemt en forhåndsbestemt melding kalt ‘Alarm-T’ i de følgende eksemplene. Systemserveren 120 venter i inntil 1 time før den utløser en alarmreaksjon, f eks med Varsling av hjemmehjelp Bob og Markering av Alice på Charlies konsoll 140. I de fleste tilfeller avstiller Alice senior Alarm-T status før tidsforsinkelsen ‘1 time’ er utløpt. Hun gjør dette ved å aktivere en skjermknapp ‘Avslutt’ i GUIet på systemklienten 220. Et passord er unødvendig for dette. [0118] Alice senior will not be monitored by camera at home. She wants to take a bath, and selects a delay period of '1 hour' from a menu in the GUI of the system client 220. The system client 220 sends a 'delayed alarm', specifically a predetermined message called 'Alarm-T' in the following examples. The system server 120 waits for up to 1 hour before it triggers an alarm reaction, e.g. with Notification of home help Bob and Marking of Alice on Charlie's console 140. In most cases, Alice resets the senior Alarm-T status before the time delay '1 hour' has expired. She does this by activating a screen button 'Exit' in the GUI on the system client 220. A password is unnecessary for this.

[0119] En dag klarer ikke Alice senior å komme seg opp av badekaret. Systemserveren 120 utfører da en ‘forsinket alarm’ reaksjon etter1 time. Alarm-reaksjonen starter i dette eksempelet opptak fra en mikrofon 232 i baderommet, slik at Alice kan forklare Charlie på sentralen hva som har hendt. Systemeier bestemmer bruken av systemet 100, og dermed om Charlie på sentralen skal kontakte hjemmehjelp Bob, eller om hjemmehjelp Bob skal varsles automatisk av en prosess i systemserveren 120. [0119] One day Alice senior is unable to get out of the bath. The system server 120 then performs a 'delayed alarm' reaction after 1 hour. In this example, the alarm reaction starts recording from a microphone 232 in the bathroom, so that Alice can explain to Charlie at the switchboard what has happened. The system owner decides the use of the system 100, and thus whether Charlie at the switchboard should contact home help Bob, or whether home help Bob should be notified automatically by a process in the system server 120.

[0120] Systemklienten 220 kan sende en Alarm-T melding til systemserveren 120 om lavt batterinivå uavhengig av personen Alices medvirkning. Hvis Alice er i møterommet, kan systemklienten sende en Alarm-T melding med D = ‘5 minutter’ for å gi henne rimelig tid til å plugge i en lader. Hvis Alice er på reise, kan en annen forsinkelse D (‘delay’) passe bedre. [0120] The system client 220 can send an Alarm-T message to the system server 120 about a low battery level regardless of the person Alice's involvement. If Alice is in the meeting room, the system client can send an Alarm-T message with D = '5 minutes' to give her reasonable time to plug in a charger. If Alice is travelling, another delay D ('delay') might be more suitable.

[0121] ‘Forsinket alarm’ reaksjonen kan avhenge av en underliggende status eller tilstand. I et eksempel blir Alice lokalisert i ‘møterom 123’ i det hun sveiper adgangskortet sitt gjennom en kortleser utenfor døren. Her er ‘lokalisering’ det samme som ‘opptak av posisjonsdata’. Denne handlingen kan også sette Alice i en standby-tilstand med forhøyet oppmerksomhet fra systemserveren 120. Alice er i dette eksempelet i standby-tilstanden i perioden hun er på møterommet. En Alarm-T melding om lavt batterinivå mens Alice er i standby- tilstand kan føre til en melding til Bob: ‘Se hva som skjer på møterom 123’. Når Alice ikke er i standbytilstand, medfører Alarm-T meldingen om lavt batterinivå ingen reaksjon fra systemserveren 120 ved utløpet av forsinkelsesperioden D = ‘5 minutter’. [0121] The 'delayed alarm' response may depend on an underlying status or condition. In one example, Alice is located in 'meeting room 123' when she swipes her access card through a card reader outside the door. Here, 'localisation' is the same as 'recording of position data'. This action can also put Alice in a standby state with heightened attention from the system server 120. Alice in this example is in the standby state during the period she is in the meeting room. An Alarm-T message about a low battery level while Alice is in standby mode can lead to a message to Bob: 'See what's happening in meeting room 123'. When Alice is not in standby mode, the Alarm-T low battery level message causes no reaction from the system server 120 at the end of the delay period D = '5 minutes'.

[0122] En forsinkelsesperiode løser generelt problemer med at utstyr blir utilgjengelig av uspesifisert årsak, f eks lavt batterinivå eller at Alice ikke kan, vil eller tør å utløse en alarm. [0122] A delay period generally solves problems with equipment becoming unavailable for an unspecified reason, e.g. low battery level or Alice not being able, willing or daring to trigger an alarm.

[0123] En opptaksperiode der opptaksutstyr sender brukerdata til disk, en standby-periode og en forsinkelsesperiode er tre forskjellige perioder som kan kombineres på ulike måter. For eksempel kan standby-perioden i forrige eksempel sammenfalle med videoopptak fra møterommet i en opptaksperiode. Det forrige eksempelet illustrerer også en grunnleggende byggekloss kalt en ‘tilstandsmaskin’ som brukes til å bygge systemet 100. Dette beskrives nærmere med henvisning til Fig. 6. [0123] A recording period in which recording equipment sends user data to disk, a standby period and a delay period are three different periods that can be combined in different ways. For example, the standby period in the previous example may coincide with video recording from the meeting room during a recording period. The previous example also illustrates a basic building block called a 'state machine' which is used to build the system 100. This is described in more detail with reference to Fig. 6.

[0124] Alice på reise vil også gjerne ha hjelp av kolleger så raskt som mulig. Før reisen legger hun inn en reiserute fra kontor-PCen sin, eksempelvis en sekvens av omtrentlige posisjoner ‘London’, ‘Paris’ og ‘Kuala Lumpur’ med forventede tidspunkt for ankomst og avreise. Dette er korte dataelementer som passer i databasen 121. Posisjonsdata er godt beskyttet i organisasjonens database 121 av grunner nevnt tidligere. [0124] Alice on a journey would also like to have help from colleagues as quickly as possible. Before the trip, she enters an itinerary from her office PC, for example a sequence of approximate positions 'London', 'Paris' and 'Kuala Lumpur' with expected times of arrival and departure. These are short data elements that fit in the database 121. Positional data is well protected in the organization's database 121 for reasons mentioned earlier.

[0125] Kollega Bob og andre ansatte legger inn sine reiseruter når de er på reise. Dermed vet sjefen deres Control eller et krisehåndteringsteam hvem som er på reise i et område, f eks etter et jordskjelv, en tsunami eller en orkan. Hvis Alice er i området der en naturkatastrofe har inntruffet, f eks i Sørøst-Asia eller Amerika, vil Control bruke ressurser på henne, ikke på kollega Bob på reise i Europa. Tilsvarende gjelder et terrorangrep i en by hvis Alice og Bob er i forskjellige byer. Man vet ikke hva som kan skje, men det er greit å kunne agere effektivt hvis noe skjer. Control har for dette formålet et konsoll 140 med stor skjerm og flere skjermbilder og funksjoner i GUIet enn en smarttelefon 210 med en systemklient 220. [0125] Colleague Bob and other employees enter their itineraries when they are traveling. This way, their boss Control or a crisis management team knows who is traveling in an area, for example after an earthquake, tsunami or hurricane. If Alice is in the area where a natural disaster has occurred, for example in Southeast Asia or America, Control will spend resources on her, not on colleague Bob traveling in Europe. Similarly, a terrorist attack in one city applies if Alice and Bob are in different cities. You never know what might happen, but it's good to be able to act effectively if something does happen. For this purpose, Control has a console 140 with a large screen and more screens and functions in the GUI than a smartphone 210 with a system client 220.

[0126] Sjefen til Charlie i hjelpesentralen har et tilsvarende konsoll 140 for å holde oversikt over eldre personers navn og adresser i tilfelle han må ringe etter ambulanse. Responstiden kortes ned hvis systemserveren 120 Markerer Alice senior i et skjermbilde slik at ingen person i hjelpesentralen må finne Alices adresse med et manuelt oppslag. [0126] Charlie's boss in the help center has a corresponding console 140 to keep track of elderly people's names and addresses in case he has to call for an ambulance. The response time is shortened if the system server 120 Marks Alice senior in a screenshot so that no person in the help center has to find Alice's address with a manual lookup.

[0127] Piler 145 til og fra konsollet 140 illustrerer toveis-kommunikasjon med systemserveren 120. Kommunikasjon mellom systemserveren 120 og konsollet 140 kan for eksempel gå gjennom et webgrensesnitt på internett og/eller et grensesnitt på lokalnettet. [0127] Arrows 145 to and from the console 140 illustrate two-way communication with the system server 120. Communication between the system server 120 and the console 140 can for example go through a web interface on the internet and/or an interface on the local network.

[0128] Alice på reise ‘sjekker inn’ i systemet 100 når hun ankommer en by, nærmere bestemt ved å aktivere en skjermknapp i systemklientens 220 GUI. Systemklienten 220 henter en GPS-posisjon med et systemkall i operativsystemet, og sender posisjon og tidspunkt i en melding til systemserveren 220. En prosess 160 i systemserveren 120 mottar meldingen fra systemklienten 220, og fordeler ulike komponenter i meldingen til andre prosesser med interne signaler i interne kanaler. Dette beskrives nærmere med henvisning til Fig. 7. [0128] Traveling Alice 'checks into' the system 100 when she arrives in a city, specifically by activating a screen button in the system client 220 GUI. The system client 220 retrieves a GPS position with a system call in the operating system, and sends the position and time in a message to the system server 220. A process 160 in the system server 120 receives the message from the system client 220, and distributes various components of the message to other processes with internal signals in internal channels. This is described in more detail with reference to Fig. 7.

[0129] Alice på oppdrag tar lydopptak og bilder med smarttelefonen sin og skriver notater på laptopen til bruk i en senere rapport. Hun krypterer filene med brukerdata med sin offentlige nøkkel, nærmere bestemt ved å merke filene i en fil-leser i systemapplikasjonen 220, og velge ‘send kryptert’ eller tilsvarende i GUIet. Alices lydfiler, bildefiler og notater fra reisen blir dermed trygt oppbevart i mellomlageret 130 selv om Alices PC skulle bli mistet eller stjålet. Lyd- eller bildefilene blir lagret en periode i mellomlageret 130 slik at Alice kan dekryptere dem når hun er tilbake på kontoret. [0129] Alice on assignment takes audio recordings and pictures with her smartphone and writes notes on the laptop for use in a later report. She encrypts the files with user data with her public key, more specifically by marking the files in a file reader in the system application 220, and selecting 'send encrypted' or equivalent in the GUI. Alice's sound files, image files and notes from the trip are thus safely stored in the intermediate storage 130 even if Alice's PC should be lost or stolen. The sound or image files are stored for a period in the intermediate storage 130 so that Alice can decrypt them when she is back in the office.

[0130] Alice eller systemklienten 220 kan markere lydfiler, bildefiler og notater med en status ‘til senere bruk’. Denne statusen er forskjellig fra ‘Arkiver’-statusen i et tidligere eksempel, og illustrerer at et dataelement kan ha flere statuser. Det er brukerdata, ikke bruker, som er ‘til senere bruk’, og som ikke skal slettes eller arkiveres av en automatisk prosess. [0130] Alice or the system client 220 can mark audio files, image files and notes with a status of 'for later use'. This status is different from the 'Archives' status in a previous example, and illustrates that a data element can have several statuses. It is user data, not the user, which is 'for later use', and which should not be deleted or archived by an automatic process.

[0131] Fig. 2 illustrerer at en Reaksjon avhenger av en status og består av en eller flere systemfunksjoner. En Alarm-reaksjon 162 reagerer på en Alarm 102, og inneholder systemfunksjonene Varsling(liste, melding) 172, Markering(Alarm, konsoll) 173, som markerer Alice på Charlies konsoll 140, osv. En Forsinket alarm-reaksjon 163 reagerer på en forsinket alarm-status Alarm-T 103, og venter en forsinkelsesperiode D før den utfører andre systemfunksjoner, f eks Varsling(liste, melding) 172. [0131] Fig. 2 illustrates that a Reaction depends on a status and consists of one or more system functions. An Alarm reaction 162 responds to an Alarm 102, and contains the system functions Alert(list, message) 172, Mark(Alarm, console) 173, which marks Alice on Charlie's console 140, etc. A Delayed Alarm reaction 163 responds to a delayed alarm-status Alarm-T 103, and waits a delay period D before it performs other system functions, e.g. Alert(list, message) 172.

[0132] Under forsinkelsesperioden D, venter systemserveren 120 på en valgfri endringsmelding 204 fra brukeren 200. Alice på reise vil på bytur etter endt arbeidstid, og bruker GUIet i systemklienten 220 til å taste inn T = ‘2200’, tidspunktet hun forventer ̈å være tilbake på hotellet. Verken kollega Bob eller Charlie på sentralen trenger å vite hvor hun er. Hun blir forsinket, og sender en endringsmelding 204 med nytt tidspunkt T = ‘2300’. Hun er tilbake på hotellet kl 2230 og avstiller den forsinkede alarmen. For dette må hun oppgi passord. [0132] During the delay period D, the system server 120 waits for an optional change message 204 from the user 200. Traveling Alice wants to go on a city trip after the end of working hours, and uses the GUI in the system client 220 to enter T = '2200', the time she expects ̈to be back at the hotel. Neither colleague Bob nor Charlie at the switchboard need to know where she is. She is delayed, and sends a change message 204 with a new time T = '2300'. She is back at the hotel at 2230 and turns off the delayed alarm. For this, she must enter a password.

[0133] Hvis brukermeldingen Alarm-T inneholder en forsinkelsesperiode D, så utløses alarmen ved tidspunkt T = (nå D). Hvis meldingen inneholder et tidspunkt T, vil systemserveren utløse alarmen ved T, og forsinkelsesperioden er implisitt D = (T – nå). Det er likegyldig om Alarm-T meldingen inneholder D eller T såfremt server og klient er enige om hvilket format som brukes. [0133] If the user message Alarm-T contains a delay period D, then the alarm is triggered at time T = (now D). If the message contains a time T, the system server will trigger the alarm at T, and the delay period is implicitly D = (T – now). It does not matter if the Alarm-T message contains D or T, as long as server and client agree on which format is used.

[0134] En avstilt alarm endrer status på bruker Alice i systemet 100. En systemfunksjon Autentiser(person) kan kreve at Alice oppgir et passord før perioden D avsluttes. En aggressor kan dermed ikke avstille alarmen. I en variant kan Alice taste inn et kodeord, f eks ‘Hjelp’, i stedet for passord og dermed utløse en umiddelbar alarm. [0134] A set alarm changes the status of user Alice in the system 100. A system function Authenticate (person) can require that Alice enter a password before the period D ends. An aggressor cannot therefore turn off the alarm. In one variant, Alice can enter a password, e.g. 'Help', instead of a password and thus trigger an immediate alarm.

[0135] Alarm-reaksjonen kan i dette eksempelet være å innhente Alices GPS-posisjon og varsle alle kolleger som er på reise med Alice. Man trenger ikke kollegenes eksakte GPS-posisjoner for dette. Den som kommer først frem til Alice assisterer henne. Meldinger sendes ikke til alle Alices kolleger, bare til kollegene på ‘liste’ i en systemfunksjon tilsvarende Varsling(liste, melding) 172 i tidligere eksempler. For Alice på kontoret, kan en serverprosess starte med å identifisere kolleger som er på jobb før den prøver å finne en mer nøyaktig posisjon, f eks kolleger i samme etasje som møterom 123. GPS-data kan byttes med andre posisjonsdata osv. i tilsvarende eksempler. [0135] In this example, the alarm reaction can be to obtain Alice's GPS position and notify all colleagues who are traveling with Alice. You don't need your colleagues' exact GPS positions for this. Whoever reaches Alice first assists her. Messages are not sent to all of Alice's colleagues, only to the colleagues on the 'list' in a system function corresponding to Notification(list, message) 172 in previous examples. For Alice in the office, a server process might start by identifying colleagues who are at work before trying to find a more accurate location, e.g. colleagues on the same floor as meeting room 123. GPS data can be swapped with other location data, etc. in similar examples .

[0136] Oppsummert kan systemklienten 220 sende en forhåndsbestemt brukermelding, for eksempel for å sette en opptak-, standby eller forsinkelsesperiode. Meldingen kan valgfritt sendes av en person ved hjelp av et GUI i systemklienten 220. Personen/brukeren kan oppgi perioden i brukermeldingen eller avslutte perioden med en ‘Avslutt’ melding. I en Alarm-T-melding er forsinkelsesperioden D eller et ekvivalent tidspunkt T obligatorisk. Periodene kan overlappe som beskrevet ovenfor. [0136] In summary, the system client 220 may send a predetermined user message, for example to set a recording, standby or delay period. The message can optionally be sent by a person using a GUI in the system client 220. The person/user can specify the period in the user message or end the period with a 'Quit' message. In an Alarm T message, the delay period D or an equivalent time T is mandatory. The periods may overlap as described above.

[0137] Fig. 3 viser flere detaljer i systemet 100. [0137] Fig. 3 shows several details of the system 100.

[0138] En stiplet linje 101 illustrerer det sikre området med digitale data under systemeiers kontroll som beskrevet. Det sikre området 101 inneholder en sentral datamaskin 110 som kjører systemserveren 120. Systemserveren 120 har også databasen 121 med opplysninger om Alice, Bob, Charlie og andre entiteter. [0138] A dashed line 101 illustrates the secure area of digital data under the system owner's control as described. The secure area 101 contains a central computer 110 which runs the system server 120. The system server 120 also has the database 121 with information about Alice, Bob, Charlie and other entities.

[0139] Et databasesystem er generelt best egnet til å inneholde korte dataelementer, for eksempel personnavn, boligadresser, telefonnummer og filnavn. Et filsystem er generelt bedre egnet til å lagre lengre dataelementer, for eksempel en lyd- eller bildefil. Systemserveren 120 har derfor lese- og skrivetilgang 125 til filsystem(er) i et mellomlager 130. Et filsystem i mellomlageret 130 kan ligge på disk i den sentrale datamaskinen 110, eller være tilgjengelig gjennom en filserver i lokalnettet. Databasen 121 inneholder fortrinnsvis bare filnavn, som avhenger av om det lokale filsystemet er Unix-lignende, Windows-lignende eller noe annet. [0139] A database system is generally best suited to contain short data elements, for example personal names, residential addresses, telephone numbers and file names. A file system is generally better suited to storing longer data items, such as an audio or image file. The system server 120 therefore has read and write access 125 to file system(s) in an intermediate storage 130. A file system in the intermediate storage 130 can be located on disk in the central computer 110, or be accessible through a file server in the local network. The database 121 preferably only contains file names, which depends on whether the local file system is Unix-like, Windows-like, or something else.

[0140] GPS-koordinater og andre posisjonsdata kan lagres praktisk i databasen 121 fordi de er korte dataelementer. Det er imidlertid fullt mulig å lagre dem i en fil i mellomlageret 130. Det er tilsvarende mulig å lagre lyd- og bildefiler i databasen 121. I eksemplene her følger vi vanlig praksis, som er å lagre korte dataelementer i databasen 121 og lengre dataelementer i et filsystem. Her er de ‘lengre dataelementene’ brukernes lyd- og bildefiler i mellomlageret 130. Mellomlageret 130 er filsystemer i lokalnettet som inneholder brukerdata og som systemserveren 120 har lese- og skrivetilgang til. Mellomlageret 130 er ikke nødvendigvis en egen fysisk enhet i det sikre området 101. [0140] GPS coordinates and other location data can be conveniently stored in the database 121 because they are short data items. However, it is entirely possible to store them in a file in the intermediate storage 130. It is similarly possible to store sound and image files in the database 121. In the examples here, we follow common practice, which is to store short data elements in the database 121 and longer data elements in a file system. Here, the 'longer data elements' are the users' sound and image files in the intermediate storage 130. The intermediate storage 130 are file systems in the local network that contain user data and to which the system server 120 has read and write access. The intermediate storage 130 is not necessarily a separate physical unit in the secure area 101.

[0141] Systemserveren 120 er fortrinnsvis en databaseapplikasjon frontet av en HTTPS-server mot internett, slik at systemserveren 120 er tilgjengelig for et konsoll 140 gjennom et sikkert webgrensesnitt. Systemserveren 120 kan i tillegg eller alternativt ha et grensesnitt mot et konsoll 140 på lokalnettet. Konsollet 140 brukes av Charlie på sentralen og Control. Disse kan typisk endre noe av innholdet i databasen 121, f eks opprette, endre og slette en brukerrolle, men ikke endre databasestrukturen, lister med statuser osv. [0141] The system server 120 is preferably a database application fronted by an HTTPS server to the internet, so that the system server 120 is accessible to a console 140 through a secure web interface. The system server 120 can additionally or alternatively have an interface to a console 140 on the local network. The console 140 is used by Charlie at the exchange and Control. These can typically change some of the content of the database 121, e.g. create, change and delete a user role, but not change the database structure, lists of statuses, etc.

[0142] En systemadministrator Admin er her en av Controls underordnede i organisasjonen med tilsvarende funksjon som en OS-administrator i et operativsystem eller en databaseadministrator i et databasesystem. Admin tar instruks fra systemets 100 systemeier, og vedlikeholder lister med statuser osv. Han kan for eksempel legge til nye kortlesere utenfor møterom hvis og når de blir tilgjengelige fra adgangskontrollsystemets systemeier. Admin bruker også et konsoll 140, men har andre funksjoner og skjermbilder i GUIet enn Control. [0142] A system administrator Admin is here one of Control's subordinates in the organization with a similar function to an OS administrator in an operating system or a database administrator in a database system. Admin takes instructions from the system's 100 system owners, and maintains lists of statuses, etc. He can, for example, add new card readers outside meeting rooms if and when they become available from the access control system's system owner. Admin also uses a console 140, but has different functions and screens in the GUI than Control.

[0143] Nettverket 150 illustrerer et data- eller telenett, f eks internett, et mobilnett eller et lokalnett. En ‘terminal’ er her et endepunkt i nettverket 150. En trygghetsalarm til å henge rundt halsen har en fysisk trykknapp 211 til å sende et alarmsignal til systemserveren 120 og er en terminal. Den er en brukerterminal 210 fordi den er personlig tilknyttet en bruker 200. Andre brukerterminaler 210 er en smarttelefon, et nettbrett, en bærbar datamaskin osv. [0143] The network 150 illustrates a data or telecommunications network, for example the Internet, a mobile network or a local area network. A 'terminal' is here an end point in the network 150. A security alarm to hang around the neck has a physical push button 211 to send an alarm signal to the system server 120 and is a terminal. It is a user terminal 210 because it is personally associated with a user 200. Other user terminals 210 are a smartphone, a tablet, a laptop, etc.

Fellestrekket med disse maskinene er som nevnt at de har en personlig OS-bruker. The common feature with these machines is, as mentioned, that they have a personal OS user.

[0144] Noen brukerterminaler 210 har en installert systemklient 220 med et GUI der brukeren 200 kan sende en forhåndsbestemt melding til systemserveren 120 ved å aktivere en skjermknapp 221. Alice på kontoret kan bruke en skjult skjermknapp 222 til å sende en alarmmelding uten å påkalle oppmerksomhet fra en potensiell aggressor. Hun kan for eksempel berøre eller sveipe over et felt på skjermen som ikke har noen synlige grafiske ikoner. GUIet i systemklienten 220 har i tillegg menyer, felt til å taste inn data osv. [0144] Some user terminals 210 have an installed system client 220 with a GUI where the user 200 can send a predetermined message to the system server 120 by activating a screen button 221. Alice in the office can use a hidden screen button 222 to send an alarm message without calling attention from a potential aggressor. For example, she can touch or swipe over a field on the screen that has no visible graphic icons. The GUI in the system client 220 additionally has menus, fields for entering data, etc.

[0145] Den stiplede ellipsen 201 illustrerer som i Fig. 1 brukerterminaler 210 og opptaksutstyr 230 – 232 i nærheten av brukeren 200. Ellipsen 201 illustrerer ikke et kommunikasjonsnett, for eksempel Bluetooth-forbindelser til og fra en smarttelefon. [0145] The dotted ellipse 201 illustrates, as in Fig. 1, user terminals 210 and recording equipment 230 - 232 in the vicinity of the user 200. The ellipse 201 does not illustrate a communication network, for example Bluetooth connections to and from a smartphone.

Opptaksutstyret kan omfatte en spesiallaget enhet 230 med innebygget (‘embedded’) prosessor av typen som brukes til å strømme videosignaler til en TV. En slik enhet eller en annen datamaskin kan kobles til kameraet 231 og/eller mikrofonen 232. The recording equipment may comprise a specially made unit 230 with an embedded ('embedded') processor of the type used to stream video signals to a television. Such a device or another computer can be connected to the camera 231 and/or the microphone 232.

[0146] Kameraet 231 og mikrofonen 232 er ikke nødvendigvis tilknyttet brukeren 200 til enhver tid. Alice og kollega Bob bruker samme møterom til forskjellige tider, og et kamera 231 i møterommet er kilde til forskjellige bildefiler for Alice og Bob i mellomlageret 130. Kameraet 231 er bare relevant for Alice når det strømmer Alices brukerdata, tilsvarende for Bob. I begge tilfeller er kameraet 231 ‘nær’ brukeren 200 i møterommet. [0146] The camera 231 and the microphone 232 are not necessarily associated with the user 200 at all times. Alice and colleague Bob use the same meeting room at different times, and a camera 231 in the meeting room is the source of different image files for Alice and Bob in the intermediate storage 130. The camera 231 is only relevant for Alice when it streams Alice's user data, correspondingly for Bob. In both cases, the camera 231 is 'close' to the user 200 in the meeting room.

[0147] En datamaskin i møterommet, for eksempel enheten 230, kan motta Alices eller Bobs respektive offentlige nøkler pubA fra systemserveren 120 eller deres respektive brukerterminaler 210 i møterommet, og bruke de offentlige nøklene til å kryptere brukerdata som beskrevet ovenfor. Tilsvarende gjelder lyddata fra en mikrofon, og for opptaksutstyr i en bolig eller andre steder. [0147] A computer in the meeting room, for example device 230, can receive Alice's or Bob's respective public keys pubA from the system server 120 or their respective user terminals 210 in the meeting room, and use the public keys to encrypt user data as described above. The same applies to sound data from a microphone, and to recording equipment in a home or elsewhere.

[0148] Posisjonsdata, for eksempel GPS-koordinater fra en smarttelefon, er også bare relevante når smarttelefonen er nær brukeren 200. Alice på reise har en laptop på hotellet, men posisjonsdata fra laptopen har ingen spesiell interesse når hensikten med systemet 100 er å skaffe assistanse 20 til Alice på bytur så raskt som mulig. Posisjonsdata fra kollega Bobs smarttelefon er relevante når den er i nærheten av Bob og mottar signaler fra Bluetoothbeacons i kontorbygget. [0148] Positional data, for example GPS coordinates from a smartphone, are also only relevant when the smartphone is close to the user 200. Alice on a trip has a laptop at the hotel, but positional data from the laptop is of no particular interest when the purpose of the system 100 is to provide assistance 20 to Alice on a city trip as quickly as possible. Position data from colleague Bob's smartphone is relevant when it is near Bob and receives signals from Bluetooth beacons in the office building.

[0149] Et fjernlager 400 inneholder arkiverte data for senere dokumentasjon og/eller sikkerhetskopier (‘backupdata’). Fjernlageret 400 representerer filsystemer i lokalnettet eller på internett. Som beskrevet tidligere, bør overflødige data slettes fra mellomlageret 130 raskest mulig. Foretrukne utførelser arkiverer brukerdata kryptert med brukerens offentlige nøkkel pubA i fjernlageret 400 automatisk etter utløst alarm. Ved feilutløst alarm forblir dermed brukerens 200 brukerdata 250 uleselige for uvedkommende. Dette imøtekommer krav om forsvarlig oppbevaring av persondata, og personers eiendomsrett til egne data som stilles i enkelte personvernregler. [0149] A remote storage 400 contains archived data for later documentation and/or backup copies ('backup data'). The remote storage 400 represents file systems in the local network or on the Internet. As described earlier, redundant data should be deleted from the buffer 130 as quickly as possible. Preferred embodiments archive user data encrypted with the user's public key pubA in the remote storage 400 automatically after an alarm is triggered. In the event of an erroneously triggered alarm, the user's 200 user data 250 thus remains unreadable to unauthorized persons. This meets requirements for proper storage of personal data, and people's property rights to their own data set out in certain privacy regulations.

[0150] Foretrukne utførelser har en rutine for automatisk sikkerhetskopiering av data i mellomlageret 130, for eksempel til fjernlageret 400. Sikkerhetskopieringen kan være en del av organisasjonens ordinære backuprutiner. Hensikten er å redusere risikoen ved prematur sletting av brukerdata 250. Hvis data blir slettet ved en feil, kan de hentes tilbake fra en offsite-backup, som kan være flere måneder gammel. Krypterte brukerdata sikrer konfidensialitet og personvern også i backupdata. [0150] Preferred embodiments have a routine for automatically backing up data in the intermediate storage 130, for example to the remote storage 400. The backup can be part of the organization's ordinary backup routines. The purpose is to reduce the risk of premature deletion of user data 250. If data is deleted by mistake, it can be retrieved from an offsite backup, which may be several months old. Encrypted user data ensures confidentiality and privacy also in backup data.

[0151] Store datamengder i et fjernlager 400 på internett kan kreve ekstra beskyttelse. Dette kan gjøres ved å kryptere med den offentlige nøkkelen pubS i et asymmetrisk nøkkelpar [privS, pubS] som tilhører systemserveren 120. Nøkkelen pubS kan fordelaktig være lenger enn de tilsvarende pubA og pubC, tilsvarende for de respektive private nøklene. [0151] Large amounts of data in a remote storage 400 on the Internet may require additional protection. This can be done by encrypting with the public key pubS in an asymmetric key pair [privS, pubS] belonging to the system server 120. The key pubS can advantageously be longer than the corresponding pubA and pubC, correspondingly for the respective private keys.

[0152] En nasjonal sikkerhetsmyndighet har ressurser til å knekke 1024 bit nøkler, og kan angripe 512 bit nøkler med matematiske metoder. Se f eks https://weakdh.org. En slik motstander kan alternativt og billigere forlange at en leverandør utleverer nøkler ‘av hensyn til nasjonens sikkerhet’. Leverandøren kan i dette eksempelet levere skylagring på internett, et operativsystem med en bakdør ‘i tilfelle OS-brukeren glemmer passordet til sine krypterte disker’ eller være en sertifikatutsteder CA – ‘certificate authority’. Slike leverandører finnes i virkeligheten. Hvorvidt statlige myndigheter presser dem er uten interesse her. En Mallory uten spesifisert ‘mistenkt og motiv’ er vanlig. Sikkerhetsmyndigheter i Kina, Russland eller USA vil av prinsipp ikke stole på en skyleverandør eller CA fra ett av de to andre landene. [0152] A national security agency has the resources to crack 1024 bit keys, and can attack 512 bit keys with mathematical methods. See, for example, https://weakdh.org. Such an opponent can alternatively and more cheaply demand that a supplier hand over keys 'for the sake of the nation's security'. In this example, the supplier can deliver cloud storage on the internet, an operating system with a back door 'in case the OS user forgets the password to their encrypted disks' or be a certificate issuing CA - 'certificate authority'. Such suppliers exist in reality. Whether state authorities pressure them is of no interest here. A Mallory without a specified 'suspect and motive' is common. Security authorities in China, Russia or the USA will not, in principle, trust a cloud provider or CA from one of the other two countries.

[0153] Av disse og lignende grunner er det vanlig å anbefale 4096 bit nøkler for å beskytte produksjonsdata på disk over internett. Kommersiell og ikke-kommersiell programvare for å generere 4096 b nøkkelpar er tilgjengelig online. Tilsvarende kortere nøkler brukes til sikker epost. Programvare med åpen kildekode har fordelen at ingen kommersiell eller statlig aktør kan legge inn bakdører. Et online søk etter ‘sikker epost’ eller standarden ‘OpenPGP’ gir flere detaljer og referanser. Enkelte land har en maksimal tillatt lengde på nøkler, og forbyr enkelte algoritmer ‘av hensyn til nasjonal sikkerhet’. Dette vet systemeier. [0153] For these and similar reasons, it is common to recommend 4096 bit keys to protect production data on disk over the Internet. Commercial and non-commercial software for generating 4096 b key pairs are available online. Correspondingly shorter keys are used for secure email. Open source software has the advantage that no commercial or government actor can insert back doors. An online search for 'secure email' or the standard 'OpenPGP' provides more details and references. Certain countries have a maximum permitted length of keys, and prohibit certain algorithms 'for reasons of national security'. The system owner knows this.

[0154] Et vanlig nettsøk og sosiale media illustrerer at det finnes statistiske algoritmer for å identifisere data som er relevante for en spesifikk bruker i en stor mengde data i løpet av få sekunder eller kortere. Slike algoritmer er tilgjengelige for andre aktører på internett med ressurser på statsnivå. Korte sporadiske meldinger med innhold ‘S20022200’ eller lignende er uforståelig for utenforstående, og gir ikke statistisk grunnlag for noen statistisk algoritme. De kan derfor sendes åpent over et mobilnett eller internett uten at en tyvlytter med ressurser på statsnivå kan tolke innholdet. Vi kommer tilbake til dette. [0154] A common web search and social media illustrates that there are statistical algorithms to identify data relevant to a specific user in a large amount of data in a matter of seconds or less. Such algorithms are available to other actors on the internet with state-level resources. Short occasional messages with the content 'S20022200' or similar are incomprehensible to outsiders, and do not provide a statistical basis for any statistical algorithm. They can therefore be sent openly over a mobile network or the internet without an eavesdropper with state-level resources being able to interpret the content. We will return to this.

[0155] I systemer med private nøkler i systemspesifikke filer kan systemserveren lagre en hashet privat nøkkel privS der en forhåndsbestemt byte er endret med en eksklusiv-eller med en sikkerhetbyte. For eksempel kan byte nr 383 være 10101010. En eksklusiv-eller (XOR) med en sikkerhetbyte endrer siffer der sikkerhetsbyten har en ‘1’ og endrer ikke ved en ‘0’, så (1010 1010) XOR (11110000) = (01011010). En ny XOR med sikkerhetsbyten returnerer byte nr 383 til sin opprinnelige verdi. [0155] In systems with private keys in system-specific files, the system server can store a hashed private key privS where a predetermined byte has been changed with an exclusive or with a security byte. For example, byte no 383 could be 10101010. An exclusive-or (XOR) with a security byte changes digits where the security byte has a '1' and does not change at a '0', so (1010 1010) XOR (11110000) = (01011010) . A new XOR with the security byte returns byte no. 383 to its original value.

[0156] Anta at Mallory ser en slik privS som ikke kan dekryptere. Bare systemserveren 120 vet at (byte 383) XOR (sikkerhetbyte) må utføres før privS vil virke. Mallory vet ikke hvilken byte som er endret, og sikkerhetsbyten trenger selvsagt ikke være 1111 0000. Et 64 b OS utfører en XOR på 8 byte i én instruksjon, og et hash beskytter mot endring. En slik algoritme er altså et billig vern mot Mallory. Det kan være upraktisk å bruke XOR-algoritmen på brukernes private nøkler fordi den krever ekstra og ikke-standard kode i kommersiell og ikkekommersiell programvare for ende-til-ende beskyttelse mellom server og klient. [0156] Suppose Mallory sees such a privS that cannot decrypt. Only the system server 120 knows that (byte 383) XOR (security byte) must be performed before privS will work. Mallory doesn't know which byte has changed, and of course the security byte doesn't have to be 1111 0000. A 64b OS performs an XOR of 8 bytes in one instruction, and a hash protects against change. Such an algorithm is thus a cheap protection against Mallory. Applying the XOR algorithm to users' private keys may be impractical because it requires additional and non-standard code in commercial and non-commercial software for end-to-end server-client protection.

[0157] Et hash over brukerdata, brukernavn og et tidsstempel beviser eiendomsrett og opphav til data. I eksempelet med Alices videofil, er det bare Alice som kan reprodusere et hash over en kryptert og arkivert videofil hvis hashnøkkelen er unik for Alice. Nøkkelen kan være privA*pubA som i et tidligere eksempel. Mange hashnøkler i databasen 121 krever ekstra beskyttelse, hvilket kan bli dyrt i forhold til nytteverdien. [0157] A hash of user data, username and a time stamp proves ownership and origin of data. In the example of Alice's video file, only Alice can reproduce a hash over an encrypted and archived video file if the hash key is unique to Alice. The key can be privA*pubA as in a previous example. Many hash keys in the database 121 require additional protection, which can be expensive in relation to the utility value.

[0158] Fig. 4 illustrerer systemserveren 120 som en serverapplikasjon på et operativsystem (OS) i den sentrale datamaskinen 110, og systemklienten 220 som en tilsvarende klientapplikasjon på et OS i en brukerterminal 210. Systemserveren 120 og systemklienten 220 kommuniserer i applikasjonslaget 150. Server- og klientapplikasjonene bruker tjenester fra de underliggende operativsystemene, for eksempel til å lese og skrive data fra og til et filsystem. Systemklienten 220 har en meldingsfunksjon som bruker funksjoner fra underliggende lag, for eksempel til å kryptere, finne maskinens GPS-posisjon eller hente informasjon om batterinivå. Systemklienten kan ha et GUI. Datamaskinen i møterommet kan kryptere, men trenger ikke et GUI. [0158] Fig. 4 illustrates the system server 120 as a server application on an operating system (OS) in the central computer 110, and the system client 220 as a corresponding client application on an OS in a user terminal 210. The system server 120 and the system client 220 communicate in the application layer 150. Server - and the client applications use services from the underlying operating systems, for example to read and write data from and to a file system. The system client 220 has a messaging function that uses functions from underlying layers, for example to encrypt, find the machine's GPS position or retrieve information about battery level. The system client may have a GUI. The computer in the meeting room can encrypt, but does not need a GUI.

[0159] Hver datamaskin, i dette eksempelet 110 og 210, kan forenklet beskrives som en stabel med maskinvare (HW) nederst, et operativsystem (OS) over maskinvaren og et applikasjonslag med én eller flere applikasjoner over operativsystemet. Maskinvaren omfatter en prosessor, minne og nettkort for kablet eller trådløs tilkobling til et nettverk. En spesiallaget brukerterminal 210 kan ha en såkalt ‘embedded’ prosessor med svært lite operativsystem og begrenset funksjonalitet, for eksempel akkurat nok til å ringe en hjelpesentral. En smarttelefon har en litt større prosessor konstruert for å bruke minst mulig effekt. En stasjonær PC har vanligvis en enda større og raskere prosessor med flere kjerner, og den sentrale datamaskinen 110 kan være en klynge av flere fysiske maskiner slik at systemserveren 120 ikke går ned selv om en av de fysiske maskinene i klyngen havarerer. [0159] Each computer, in this example 110 and 210, can be simply described as a stack of hardware (HW) at the bottom, an operating system (OS) above the hardware and an application layer with one or more applications above the operating system. The hardware comprises a processor, memory and network card for wired or wireless connection to a network. A specially made user terminal 210 can have a so-called 'embedded' processor with a very small operating system and limited functionality, for example just enough to call a help desk. A smartphone has a slightly larger processor designed to use the least possible power. A desktop PC usually has an even larger and faster processor with more cores, and the central computer 110 can be a cluster of several physical machines so that the system server 120 does not go down even if one of the physical machines in the cluster fails.

[0160] Bortsett fra spesielle operativsystemer for ‘embedded’ prosessorer, er operativsystemene oftest Unix- eller Windows-lignende systemer tilpasset prosessoren i den enkelte datamaskinen, her 110, 210. Unix-lignende OS har lokale filsystem med toppnivå ‘/’, og Windows-lignende filsystemer system har lokale filsystem med toppnivå C:\, D:\ eller lignende. En lokal filserver fs1 kan presentere en fil som fs1:/dir/filnavn eller FS1\dir\filnavn avhengig av operativsystemet under serverapplikasjonen. Noen organisasjoner bruker NFS-‘Network File System’, og noen organisasjoner bruker virtuelle private nettverk (VPN) i stedet for Ethernett eller WiFi. Det finnes flere andre varianter. [0160] Apart from special operating systems for 'embedded' processors, the operating systems are most often Unix or Windows-like systems adapted to the processor in the individual computer, here 110, 210. Unix-like OS have local file systems with top level '/', and Windows -like file systems system has local file system with top level C:\, D:\ or similar. A local file server fs1 may present a file as fs1:/dir/filename or FS1\dir\filename depending on the operating system under the server application. Some organizations use NFS - 'Network File System', and some organizations use Virtual Private Networks (VPN) instead of Ethernet or WiFi. There are several other variants.

[0161] Det er umulig å gi en fullstendig oversikt over alle kombinasjoner av prosessorer, operativsystemer og filsystemer nå og i fremtiden. Operativ- og filsystemer er av spesiell interesse i systemet 100 fordi systemserveren 120 og systemklienten 220 bør tilpasses de vanligste operativsystemene. I dag kan dette være iOS, OS-X eller Android på enbrukermaskiner og en tilsvarende Linux-variant med flere OS-brukere i den sentrale maskinen 110. Dette er Unix-lignede operativsystemer med tilhørende filsystemer. Windows-lignende operativ- og filsystemer for PCer og den sentrale datamaskinen 110 er også vanlig. [0161] It is impossible to provide a complete overview of all combinations of processors, operating systems and file systems now and in the future. Operating and file systems are of particular interest in the system 100 because the system server 120 and the system client 220 should be adapted to the most common operating systems. Today, this can be iOS, OS-X or Android on single-user machines and a corresponding Linux variant with several OS users in the central machine 110. These are Unix-like operating systems with associated file systems. Windows-like operating and file systems for PCs and the central computer 110 are also common.

[0162] Et nettverk kan tilsvarende forenklet beskrives som en stabel med maskinvare nederst, en protokollstakk over maskinvaren og et applikasjonslag 150 på toppen. Man tenker seg at kommunikasjon skjer internt i hvert lag. For eksempel kan en PC ha nettkort med kabel til et lokalt Ethernett og/eller et nettkort med radioforbindelse til et WiFi-nett. Disse nettene er på et lavt nivå i stabelen sammen med repeatere, basestasjoner og annet utstyr på offentlige nett. På et høyere lag kan hver datamaskin identifiseres med en IP-adresse, og hver telefon med et telefonnummer. Underliggende utstyr og protokoller er uten betydning for kommunikasjon mellom enheter ved hjelp av IP-adresser eller telefonnummer. [0162] A network can similarly be simply described as a stack of hardware at the bottom, a protocol stack above the hardware and an application layer 150 at the top. One thinks that communication takes place internally in each layer. For example, a PC can have a network card with a cable to a local Ethernet and/or a network card with a radio connection to a WiFi network. These networks are at a low level in the stack along with repeaters, base stations and other equipment on public networks. At a higher layer, each computer can be identified with an IP address, and each telephone with a telephone number. Underlying equipment and protocols are irrelevant for communication between devices using IP addresses or telephone numbers.

[0163] I TCP/IP-stakken som brukes på internett, definerer TCP (‘transport control protocol’) ‘porter’ på den enkelte IP-adressen, Portene gjør det mulig å definere flere tjenester på samme IP-adresse, for eksempel epost på en port og webtjenester på en annen. TCP forutsetter at det er opprettet forbindelse på IP-laget, og er ellers uavhengig av IP-laget. [0163] In the TCP/IP stack used on the internet, TCP ('transport control protocol') defines 'ports' on the individual IP address, The ports make it possible to define several services on the same IP address, for example email on one port and web services on another. TCP assumes that a connection has been established at the IP layer, and is otherwise independent of the IP layer.

[0164] Sikre tjenester på internett, for eksempel en HTTPS-server, sender data til TLS (‘transport layer security’), som krypterer og hasher data før de sendes gjennom transportlaget. I motsatt ende av transportlaget sørger TLS for at dataene dekrypteres og at hashene sjekkes. TLS sender deretter leselige data til applikasjonslaget. Her kan ‘leselige data’ representere en webside og/eller andre strukturerte data, f eks i XML-format, som ikke kan eller skal tolkes av en nettleser. Effekten på applikasjonslaget 150 er uansett at leselige data sendes over en sikker forbindelse. Hva som skjer på transportlaget og lagene under er uinteressant for systemet 100. Hensikten med nøklene i systemet 100 er at data i applikasjonslaget 150 skal være uleselige for uautoriserte personer, i eksemplene her representert ved Bob og Charlie som noen ganger trenger å se Alices data, andre ganger ikke. [0164] Secure services on the internet, for example an HTTPS server, send data to TLS ('transport layer security'), which encrypts and hashes data before it is sent through the transport layer. At the opposite end of the transport layer, TLS ensures that the data is decrypted and that the hashes are checked. TLS then sends readable data to the application layer. Here, 'readable data' can represent a web page and/or other structured data, e.g. in XML format, which cannot or should not be interpreted by a browser. The effect on the application layer 150 is anyway that readable data is sent over a secure connection. What happens at the transport layer and the layers below is of no interest to the system 100. The purpose of the keys in the system 100 is for data in the application layer 150 to be unreadable by unauthorized persons, in the examples here represented by Bob and Charlie who sometimes need to see Alice's data, other times not.

[0165] Mer generelt beskriver OSI-modellen en stabel med sju lag som benyttes i offentlige nett, inkludert 3G, 4G og 5G mobilnett. Lag 7 i OSI-modellen kalles ‘applikasjonslaget’, og Fig. 2 viser skjematisk en stabel med OSI-lag 1-6 under applikasjonslaget. Detaljer finnes i lærebøker og online. Et lokalnett har en tilsvarende protokollstakk. [0165] More generally, the OSI model describes a stack with seven layers used in public networks, including 3G, 4G and 5G mobile networks. Layer 7 in the OSI model is called the 'application layer', and Fig. 2 schematically shows a stack of OSI layers 1-6 below the application layer. Details can be found in textbooks and online. A local area network has a corresponding protocol stack.

[0166] Det er umulig å gi en utfyllende beskrivelse av utstyr og protokoller på eksisterende og fremtidige nett, spesielt på lag under applikasjonslaget. Dette er heller ikke nødvendig, i det vi presiserer at kommunikasjon i nettverket 150 skjer i applikasjonslaget. Av samme grunn er en mer detaljert beskrivelse av HW og OS-lagene på de enkelte datamaskinene unødvendig her. Applikasjonslaget 150 i Fig. 2 er uformelt, og ligger over både internett (TCP/IP), et offentlig telefonnett og et lokalnett. [0166] It is impossible to give a complete description of equipment and protocols on existing and future networks, especially on layers below the application layer. This is not necessary either, as we specify that communication in the network 150 takes place in the application layer. For the same reason, a more detailed description of the HW and OS layers on the individual computers is unnecessary here. The application layer 150 in Fig. 2 is informal, and lies over both the Internet (TCP/IP), a public telephone network and a local network.

[0167] TLS motstår Mallory med ressurser på statsnivå, så manglende sikkerhet i transportlaget er ikke et problem. De asymmetriske nøklene i systemet 100 krypterer fra ende-til-ende i applikasjonslaget 150 for å hindre innsyn fra uautoriserte personer. Nøkler og programvare følger fortrinnsvis en åpen standard, f eks OpenPGP. Epost på internett, SMTP, mangler en sikker variant som bruker TLS. Ende-til-ende nøkler brukes også til sikker epost. En rekke kommersielle og ikke-kommersielle programvarepakker er tilgjengelig online. [0167] TLS resists Mallory with state-level resources, so lack of security at the transport layer is not an issue. The asymmetric keys in the system 100 encrypt end-to-end in the application layer 150 to prevent access by unauthorized persons. Keys and software preferably follow an open standard, eg OpenPGP. Email on the internet, SMTP, lacks a secure variant that uses TLS. End-to-end keys are also used for secure email. A number of commercial and non-commercial software packages are available online.

[0168] Nøkler på applikasjonslaget krever ingen pålitelig CA. Til sammenligning inneholder alle maskiner på internett sertifikater med nøkler utstedt av operativsystemleverandøren til bruk i TLS. [0168] Keys at the application layer do not require a trusted CA. In comparison, all machines on the Internet contain certificates with keys issued by the operating system vendor for use in TLS.

[0169] Figur 4 viser bare et lite utvalg av protokollstakker for å illustrere prinsippet med et applikasjonslag. Det finnes tilsvarende ‘stabler’ for lokalnett, filsystemer osv. For systemet 100 er det særlig relevant at en opptaksfunksjon i applikasjonslaget kan bruke delfunksjoner i et underliggende lag til å innhente lyd-, bilde- og posisjonsdata. ‘Posisjonsdata’ kan videre deles inn i data fra en GPS-funksjon eller Bluetooth-funksjon i en smarttelefon. Det finnes flere mulige alternative teknikker for å finne en posisjon eller lokasjon, f eks NFC, RFID osv. [0169] Figure 4 shows only a small selection of protocol stacks to illustrate the principle with an application layer. There are corresponding 'stacks' for local area networks, file systems, etc. For the system 100, it is particularly relevant that a recording function in the application layer can use partial functions in an underlying layer to obtain sound, image and position data. 'Position data' can further be divided into data from a GPS function or Bluetooth function in a smartphone. There are several possible alternative techniques for finding a position or location, e.g. NFC, RFID, etc.

[0170] Alice kan som nevnt lokaliseres i møterommet i det hun sveiper adgangskortet sitt gjennom en kortleser utenfor døren. Dette krever tillatelse fra adgangskontrollsystemets systemeier, og kan samtidig autentisere personen Alice i systemet 100. Med disse forutsetningene kan systemserveren 120 sende Alices offentlige nøkkel pubA til datamaskinen i møterommet gjennom et WiFi-nett, og starte et videopptak. Datamaskinen i møterommet krypterer videoopptaket med pubA før videostrømmen lagres som en kryptert fil i mellomlageret 130. Alice trenger ikke å ha med seg sin smarttelefon eller laptop i møtet. Det finnes mange kombinasjonsmuligheter. [0170] As mentioned, Alice can be located in the meeting room when she swipes her access card through a card reader outside the door. This requires permission from the access control system's system owner, and can at the same time authenticate the person Alice in the system 100. With these prerequisites, the system server 120 can send Alice's public key pubA to the computer in the meeting room through a WiFi network, and start a video recording. The computer in the meeting room encrypts the video recording with pubA before the video stream is stored as an encrypted file in the intermediate storage 130. Alice does not need to bring her smartphone or laptop to the meeting. There are many possible combinations.

[0171] Fig. 5 er et forenklet ER-diagram med noen entiteter og relasjoner i systemet 100. Databasen 121 kan være, men må ikke være, en relasjonsdatabase (RDB). Vi bruker en RDB som eksempel her fordi en entitet enkelt lar seg illustrere med en tabell i en RDB. Et system for å håndtere en database, for eksempel et RDBMS, er utenfor omfanget av den foreliggende oppfinnelsen, dvs uten interesse i system 100. Kråkefot betyr ‘en eller flere’, og stiplet stilk betyr ‘kan ha’. [0171] Fig. 5 is a simplified ER diagram of some entities and relationships in the system 100. The database 121 may be, but need not be, a relational database (RDB). We use an RDB as an example here because an entity can easily be illustrated with a table in an RDB. A system for handling a database, for example an RDBMS, is outside the scope of the present invention, i.e. of no interest in system 100. Crow's foot means 'one or more', and dashed stem means 'may have'.

[0172] En Person 301 har i dette eksempelet attributtene ‘Navn’ og ‘Nummer’. Asterisk ‘*’ foran Navn betyr at dette attributtet er obligatorisk. Et databasehåndteringssystem, f eks et RDBMS håndhever regelen slik at ingen får opprettet en Person 301 uten Navn. [0172] A Person 301 in this example has the attributes 'Name' and 'Number'. Asterisk '*' in front of Name means that this attribute is mandatory. A database management system, e.g. an RDBMS enforces the rule so that no one can create a Person 301 without a Name.

[0173] I en RDB tilsvarer entiteten Person 301 en tabell 311 med en kolonne der alle radene har et Navn, og noen har et Nummer. En potensiell aggressor, A. Gressor, mangler mobilnummer i tabell 311. Et RDBMS tilordner en unik brukerID for hvert navn. BrukerID er illustrert med et siffer i kolonnen lengst til venstre i tabellen 311. [0173] In an RDB, the entity Person 301 corresponds to a table 311 with a column where all the rows have a Name, and some have a Number. A potential aggressor, A. Gressor, is missing a mobile number in table 311. An RDBMS assigns a unique user ID to each name. User ID is illustrated with a number in the leftmost column in table 311.

[0174] Tabellen Person 311 kan tenkes å ha en kolonne ‘Status’ der mange av radene er tomme, og de radene som har en verdi har én av verdiene fra listen i Status 303. Relasjonen mellom Person 301 og Status 303 er imidlertid et mange-til-mange forhold siden hver Person 301 kan ha flere statuser, og hver Status 303 kan tilordnes flere personer. Vi forklarer nærmere i beskrivelsen av oppløsningen 306 mellom en person P og en rolle R. [0174] The table Person 311 can be thought of as having a column 'Status' where many of the rows are empty, and the rows that have a value have one of the values from the list in Status 303. However, the relationship between Person 301 and Status 303 is a many -to-many relationships since each Person 301 can have several statuses, and each Status 303 can be assigned to several people. We explain in more detail in the description of the resolution 306 between a person P and a role R.

[0175] En Person 301 kan sende en brukermelding 302 for å sette en brukerstatus 303 i databasen 121. Systemet 100 har meldinger til Bob som er sendt fra systemserveren 120, og som altså ikke er meldinger fra Person Alice til systemserveren 120. Brukermeldinger 302 og brukerstatuser 303 er delmengder av systemets meldinger og statuser. En konvensjon av mulig nytte er å bruke lignende navn på brukermeldinger, statuser og reaksjoner som hører sammen. Med denne konvensjonen gir en Alarm-melding en Alarm-status, en Alarm-T melding en Alarm-T status, en Standby-melding en Standby-status, osv. Videre har hver status en Reaksjon med samme prefiks, Alarm, Alarm-T osv. Systemserveren 120 har som vist i Fig. 2 en reaksjon med en eller flere systemfunksjoner for hver status. [0175] A Person 301 can send a user message 302 to set a user status 303 in the database 121. The system 100 has messages for Bob that have been sent from the system server 120, and which are therefore not messages from Person Alice to the system server 120. User messages 302 and user statuses 303 are subsets of the system's messages and statuses. A potentially useful convention is to use similar names for user messages, statuses and reactions that belong together. With this convention, an Alarm message gives an Alarm status, an Alarm-T message an Alarm-T status, a Standby message a Standby status, etc. Furthermore, each status has a Reaction with the same prefix, Alarm, Alarm-T etc. As shown in Fig. 2, the system server 120 has a reaction with one or more system functions for each status.

[0176] Systemet 100 har en relativt kort liste over mulige brukerstatuser, og en tilsvarende kort liste over forhåndsbestemte brukermeldinger som bør lagres i systemklienten 220. Hver brukerstatus har en statusID. I dette eksempelet har en Alarm statusID S1, og en tidsforsinket alarm Alarm-T har statusID S2. En forsinket alarm utløser en reaksjon fra systemserveren 120 ved et tidspunkt T ved utløpet av en forsinkelsesperiode som beskrevet ovenfor. Den sporadiske meldingen ‘S20022200’ tolkes i dette eksempelet av systemserveren 120 som en S2 = Alarm-T sendt av brukerID 002, Alice A. Tacked, med T = kl 2200, tidspunktet Alice på bytur regner med å være tilbake på hotellet. Systemserveren 120 er ikke avhengig av Alices mobilnummer for å finne brukerID 002, og alle Alices PCer kan inneholde hennes brukerID. [0176] The system 100 has a relatively short list of possible user statuses, and a correspondingly short list of predetermined user messages that should be stored in the system client 220. Each user status has a status ID. In this example, an Alarm has status ID S1, and a time-delayed alarm Alarm-T has status ID S2. A delayed alarm triggers a reaction from the system server 120 at a time T at the end of a delay period as described above. The occasional message 'S20022200' is interpreted in this example by the system server 120 as an S2 = Alarm-T sent by user ID 002, Alice A. Tacked, with T = at 2200, the time Alice on a city trip expects to be back at the hotel. The system server 120 does not depend on Alice's mobile number to find user ID 002, and all of Alice's PCs can contain her user ID.

[0177] Brukermeldinger for å utløse en alarm, starte en forsinket alarm, en standby-periode og en opptaksperiode med tilsvarende brukerstatuser og en ‘Avslutt’-melding er beskrevet ovenfor. Vi gjentar ikke beskrivelsen her, men understreker at en brukermelding setter brukeren 200 i stand til å sette status selv. Videre kan systemserveren 120 sette en alarmstatus på brukeren 200 uten at brukeren 200 har sendt en alarm-melding. [0177] User messages to trigger an alarm, start a delayed alarm, a standby period and a recording period with corresponding user statuses and a 'Quit' message are described above. We do not repeat the description here, but emphasize that a user message enables the user 200 to set the status himself. Furthermore, the system server 120 can set an alarm status on the user 200 without the user 200 having sent an alarm message.

[0178] Entiteten Utstyr 304 inneholder opplysninger om maskinvare som er relevant i systemet 100. Dette kan være et systemkonsoll140, en brukerterminal 210 og/eller opptaksutstyr 230 – 232. Kråkefot med stiplet stilk betyr ‘kan ha en eller flere’. [0178] The entity Equipment 304 contains information about hardware that is relevant in the system 100. This can be a system console 140, a user terminal 210 and/or recording equipment 230 - 232. Crow's foot with dotted stem means 'may have one or more'.

[0179] Systemkonsollet 140 trengs for å vise Charlie en oversikt over flere brukere 200, for eksempel en kort liste over brukere med Standby-status. En Person 301 kan ha ett eller flere systemkonsoller 140, f eks med et webgrensesnitt mot internett og/eller et grensesnitt mot lokalnettet. [0179] The system console 140 is needed to show Charlie an overview of several users 200, for example a short list of users with Standby status. A person 301 can have one or more system consoles 140, for example with a web interface to the internet and/or an interface to the local network.

[0180] Hver Person 301 kan også ha en eller flere brukerterminaler 210, og en eller flere gjenstander 230 – 232 for å innhente lyd-, bilde- og posisjonsdata. [0180] Each Person 301 may also have one or more user terminals 210, and one or more objects 230 - 232 to obtain sound, image and positional data.

[0181] En brukerterminal 210 i et telenett har et permanent telefonnummer. En brukerterminal 210 på internett har en IP-adresse som kan endres fra oppkobling til oppkobling eller som kan være gjemt bak IP-adressen til en WiFi-ruter. Hensikten med applikasjonslaget over TCP/IP er å skjule slike detaljer for applikasjoner som systemet 100. Brukerterminalen UT (‘user terminal’) er derfor knyttet til en brukerID som i venstre kolonne i tabell 311, ikke til en maskinadresse. Tilsvarende gjelder en spesiallaget enhet 230, et kamera 231, en mikrofon 232, og i et lokalnett med en protokollstakk forskjellig fra TCP/IP. [0181] A user terminal 210 in a telecommunications network has a permanent telephone number. A user terminal 210 on the internet has an IP address which can be changed from connection to connection or which can be hidden behind the IP address of a WiFi router. The purpose of the application layer over TCP/IP is to hide such details from applications such as the system 100. The user terminal UT ('user terminal') is therefore linked to a user ID as in the left column of table 311, not to a machine address. The same applies to a specially made device 230, a camera 231, a microphone 232, and in a local network with a protocol stack different from TCP/IP.

[0182] Entiteten Rolle 305 er en kort liste over roller en person eller gruppe av personer kan ha i systemet 100. Charlie eller Control kan velge Rolle for en Person fra en meny av Roller. Admin oppretter og vedlikeholder listen av Roller 305 etter instruks fra systemeier. [0182] The entity Role 305 is a short list of roles a person or group of people can have in the system 100. Charlie or Control can select Role for a Person from a menu of Roles. Admin creates and maintains the list of Roles 305 according to instructions from the system owner.

[0183] Charlie representerer en gruppe personer, og har et sentralbordnummer. I tidligere eksempler har Alice rollen R1 = bruker, definert som en person som kan utløse en alarm. Bob har hatt rollen R2 = ‘hjelper’ i betydningen ‘første respondent’ eller ‘assistent’ for Alice i nød. Charlie har hatt rollen R3 til en hjelpe- eller vaktsentral, og R4 er en valgfri aggressor-rolle. [0183] Charlie represents a group of people, and has a switchboard number. In previous examples, Alice has the role R1 = user, defined as a person who can trigger an alarm. Bob has had the role R2 = 'helper' in the sense of 'first responder' or 'assistant' for Alice in need. Charlie has had the R3 role of an aid or guard center, and R4 is an optional aggressor role.

[0184] Alice kan ha rolle R1 i en situasjon og hjelpe kollega Bob i en annen. Kollega Bob kan ha rollen R2 som i tidligere eksempler, men kan være brukeren med rolle R1 i en annen situasjon. Generelt kan en Person 301 ha en eller flere roller 305, og en rolle 305 kan tildeles en eller flere Personer 301. Entiteten P/R 306 med tilhørende kråkeføtter løser opp mange-tilmange forholdet mellom Person P og Rolle R. [0184] Alice may have role R1 in one situation and help colleague Bob in another. Colleague Bob can have the role R2 as in previous examples, but can be the user with role R1 in a different situation. In general, a Person 301 can have one or more roles 305, and a role 305 can be assigned to one or more Persons 301. The entity P/R 306 with associated crow's feet resolves the many-to-many relationship between Person P and Role R.

[0185] Tabell 316 illustrerer entiteten 306 i en RDB-tabell 316 med overskriften ‘P R’. I første datarad knyttes brukerID 1, Alice Aged, til rollen R1 = bruker. De neste radene knytter brukerID 2, Alice A. Tacked, til roller som bruker R1 og hjelper R2. Tabellen 316 kan sorteres etter brukerID P og gi en liste over hvilke roller R en Person 301 har. Alternativt kan tabellen 316 sorteres etter rolle R, og gi en liste over Personer 301 som har rolle R1, R2 osv. [0185] Table 316 illustrates the entity 306 in an RDB table 316 with the heading 'P R'. In the first data row, user ID 1, Alice Aged, is linked to the role R1 = user. The next rows associate userID 2, Alice A. Tacked, with roles that use R1 and help R2. The table 316 can be sorted by user ID P and provide a list of which roles R a Person 301 has. Alternatively, the table 316 can be sorted by role R, and provide a list of Persons 301 who have role R1, R2, etc.

[0186] Generelt kan en oppløsning av et mange-til-mange-forhold gi lister som kan vises i et GUI på systemkonsollet 140. For eksempel kan et webgrensesnitt med et GUI vise brukeren Alice A. i en rad i en liste over brukere i Standby-status, og markere raden for Alice A. med blinkende rød skrift idet Alice A. settes i Alarm-status. Charlie på sentralen trenger ikke overvåke alle brukere like nøye, og reagerer umiddelbart på Alices alarm-status. Dette reduserer Charlies responstid, og forbedrer Alices personsikkerhet. Systemserveren 120 kan i tillegg sende en Varsling-melding til Bob og andre kolleger nær Alice uten å vente på Charlie. Som vist i Fig. 2, omfatter en Reaksjon i systemserveren 120 en eller flere systemfunksjoner, f eks Varsling av Bob og Markering av Alice på systemkonsollet 140. [0186] Generally, a resolution of a many-to-many relationship may provide lists that may be displayed in a GUI on the system console 140. For example, a web interface with a GUI may display the user Alice A. in a row in a list of users in Standby status, and mark the row for Alice A. with flashing red text as Alice A. is set to Alarm status. Charlie at the switchboard does not need to monitor all users equally closely, and reacts immediately to Alice's alarm status. This reduces Charlie's response time and improves Alice's personal safety. The system server 120 can additionally send a Notification message to Bob and other colleagues near Alice without waiting for Charlie. As shown in Fig. 2, a Reaction in the system server 120 includes one or more system functions, e.g. Notifying Bob and Marking Alice on the system console 140.

[0187] Fig. 5 er et eksempel med noen få entiteter. En litt større utgave kunne vist at en bruker 200 kan ha en eller flere filer, hver med en filstatus ‘kryptert’, ‘arkivert’ osv. Videre kan hver Person 301 ha en eller flere lokasjoner, hvorav noen kan representere en reiserute. Et virkelig ER-diagram kan selvsagt også ha flere elementer i listene, for eksempel en arkivarrolle for en person som gjennomgår ukrypterte filer i mellomlageret 130 og markerer filer som skal arkiveres. Et detaljert ER-diagram med tilhørende systemregler og -funksjoner må overlates til fagmannen som kjenner det konkrete bruksområdet for systemet 100. [0187] Fig. 5 is an example with a few entities. A slightly larger version could show that a user 200 can have one or more files, each with a file status of 'encrypted', 'archived', etc. Furthermore, each Person 301 can have one or more locations, some of which may represent a travel route. Of course, a real ER diagram can also have more elements in the lists, for example an archiver role for a person who reviews unencrypted files in the intermediate storage 130 and marks files to be archived. A detailed ER diagram with associated system rules and functions must be left to the expert who knows the specific application area for the system 100.

[0188] Fig. 6 illustrerer en skjult utløser 240 og en tilstandsmaskin. Hensikten med skjulte utløsere er generelt å hindre at en aggressor oppdager at brukeren 200 utløser en alarm. [0188] Fig. 6 illustrates a hidden trigger 240 and a state machine. The purpose of hidden triggers is generally to prevent an aggressor from discovering that the user 200 triggers an alarm.

Skjulte utløsere er generelt overflødige i et system 100 laget for en hjelpesentral. En forsinket alarm, Alarm-T i eksemplene ovenfor, reduserer også behovet for skjulte utløsere. Hidden triggers are generally redundant in a system 100 designed for a call center. A delayed alarm, Alarm-T in the examples above, also reduces the need for hidden triggers.

[0189] Fig. 6 viser spesielt en uskyldig gjenstand 241 på et bord 24 i et møterom. Gjenstanden 241 inneholder en permanentmagnet 242 med et tilhørende magnetfelt 243. En spole eller Halldetektor 244 detekterer magnetfeltet 243. Når gjenstanden 241 flyttes på bordet 24, induseres en strøm i spolen 244. Dette fører til at et elektrisk styresignal, f eks i området mA og mV eller lavere, føres gjennom en linje 245 til basen i en transistor 246, slik at transistoren 246 begynner å lede fra kollektor til emitter Dermed går en drivstrøm, f eks 5 V likestrøm, gjennom en elektrisk krets 247 med en sender 248. Senderen 248 kan representere et nettkort i en datamaskin, en egen innretning 230 med ‘embedded’ prosessor eller annen kjent teknikk for å sende data som beskrevet ovenfor. Hvis senderen 248 har en strømforsyning med innebygget transformator, kan transistoren 246 byttes ut med et rele eller en tyristor, og strømkilden 249 være et vanlig forsyningsnett med 240 V vekselstrøm. [0189] Fig. 6 shows in particular an innocent object 241 on a table 24 in a meeting room. The object 241 contains a permanent magnet 242 with an associated magnetic field 243. A coil or Hall detector 244 detects the magnetic field 243. When the object 241 is moved on the table 24, a current is induced in the coil 244. This leads to an electrical control signal, e.g. in the range mA and mV or lower, is passed through a line 245 to the base of a transistor 246, so that the transistor 246 begins to conduct from collector to emitter Thus a drive current, e.g. 5 V direct current, passes through an electrical circuit 247 with a transmitter 248. The transmitter 248 can represent a network card in a computer, a separate device 230 with an 'embedded' processor or other known technique for sending data as described above. If the transmitter 248 has a power supply with a built-in transformer, the transistor 246 can be replaced with a relay or a thyristor, and the current source 249 be a normal supply network with 240 V alternating current.

[0190] I systemet 100 kan gjenstanden 241 assosieres midlertidig med Alice og/eller Bob. Gitt at brukeren 200 har Standby-status som beskrevet, vil en aggressor neppe reagere på at en uskyldig gjenstand 241 skyves til side av Alice eller Bob. Man kan også tenke seg skjulte utløsere 240 basert på annen kjent teknikk, f eks RFID eller talestyring der et kodeord utløser alarmen. Teknikken avhenger av hva som er tilgjengelig, for eksempel pålitelig talestyring. [0190] In the system 100, the object 241 can be temporarily associated with Alice and/or Bob. Given that the user 200 has Standby status as described, an aggressor is unlikely to react to an innocent object 241 being pushed aside by Alice or Bob. One can also think of hidden triggers 240 based on other known technology, eg RFID or voice control where a code word triggers the alarm. The technique depends on what is available, such as reliable voice control.

[0191] Standby-status er her en forutsetning for at en alarm-melding skal være gyldig: Det må være mulig å rydde bordet 24 uten å utløse en alarm. En ‘(endelig) tilstandsmaskin’ kan generelt beskrives med en liste over ‘stimuli’ og et (endelig) antall ‘aksjoner’ per stimulus. Tabell 1 viser utdrag av en slik liste. [0191] Standby status is here a prerequisite for an alarm message to be valid: It must be possible to clear the table 24 without triggering an alarm. A '(finite) state machine' can generally be described with a list of 'stimuli' and a (finite) number of 'actions' per stimulus. Table 1 shows extracts from such a list.

Tabell 1: Eksempel på tilstandsmaskin i listeformat Table 1: Example of a state machine in list format

[0192] Utdraget i tabell 1 dekker både gjenstanden 241 i Fig. 6, et tidligere eksempel der Alice på kontoret lokaliserte seg selv ved å sveipe adgangskortet sitt og et eksempel der Alice på bytur bruker et GUI til å sette en standby-status. [0192] The excerpt in Table 1 covers both item 241 in Fig. 6, a previous example where Alice in the office located herself by swiping her access card and an example where Alice on a city trip uses a GUI to set a standby status.

[0193] Et system, inkludert systemet 100, kan generelt beskrives som en ‘agent’ bestående av en blokk med en eller flere prosesser. Agenten’ utfører en eller flere ‘(re)aksjoner’, og kan inneholde andre blokker med andre prosesser. Systemserveren 120 i Fig. 1 er en slik blokk/agent. Agenten på laveste nivå i denne modellen er en tilstandsmaskin. [0193] A system, including the system 100, can generally be described as an 'agent' consisting of a block with one or more processes. The agent' performs one or more '(re)actions', and may contain other blocks with other processes. The system server 120 in Fig. 1 is such a block/agent. The lowest level agent in this model is a state machine.

[0194] Det er mulig å kjenne igjen trekk fra UML, nærmere bestemt en bruksmodell i Fig. 1 og et ER-diagram i Fig. 5. Fig. 8 er et uformelt sekvensdiagram. Dette dokumentet er ikke et systemdesign, og vi bruker ikke formelle spesifikasjoner eller diagrammer. Poenget her er at det finnes flere ‘syn’ på et system, og at en systemdesigner kan bruke et standardisert verktøy, ikke nødvendigvis et UML-verktøy, til å bygge et virkelig system 100. [0194] It is possible to recognize features from UML, more specifically a usage model in Fig. 1 and an ER diagram in Fig. 5. Fig. 8 is an informal sequence diagram. This document is not a system design and we do not use formal specifications or diagrams. The point here is that there are several 'views' of a system, and that a system designer can use a standardized tool, not necessarily a UML tool, to build a real system 100.

[0195] Fig. 7 illustrerer en mottaker-prosess 160 nevnt i tidligere eksempler med grafiske elementer som brukes i design av telekom-systemer og maskiner med innebygget prosessor. Åpen pil fra venstre til prosessen 160 betyr ‘asynkron’, dvs at meldingen kan ankomme på et hvilket som helst tidspunkt. En sort prikk i enden av pilen betyr ‘ekstern’ i betydningen ‘fra en kilde utenfor diagrammet’. Systemserveren 120, systemklienten 220 og datamaskinen 230 på møterommet kan ha en slik mottaker-prosess 160. [0195] Fig. 7 illustrates a receiver process 160 mentioned in previous examples with graphic elements used in the design of telecom systems and machines with a built-in processor. Open arrow from left to process 160 means 'asynchronous', ie the message can arrive at any time. A black dot at the end of the arrow means 'external' in the sense of 'from a source outside the diagram'. The system server 120, the system client 220 and the computer 230 in the meeting room can have such a receiver process 160.

[0196] Prosessen 160 kommuniserer med andre prosesser gjennom interne kanaler 701 ved hjelp av signaler eller meldinger 702. Nærmere bestemt fordeler prosessen 160 oppgaver til andre prosesser 703, 704, 705 avhengig av mottatt melding, status på bruker og brukerdata, type brukerdata osv. I systemserveren 120 kan prosessene 703-705 implementere en eller flere reaksjoner 161, 162, 163 og/eller systemfunksjoner; 171, 172, 173 nevnt ovenfor, eller prosessene 703 – 705 kan representere helt andre serverprosesser. [0196] The process 160 communicates with other processes through internal channels 701 using signals or messages 702. More specifically, the process 160 distributes tasks to other processes 703, 704, 705 depending on the received message, status of user and user data, type of user data, etc. In the system server 120, the processes 703-705 can implement one or more reactions 161, 162, 163 and/or system functions; 171, 172, 173 mentioned above, or the processes 703 - 705 may represent completely different server processes.

[0197] I denne beskrivelsen og patentkravene betyr ‘meldinger’ det samme som ‘eksterne meldinger’ i applikasjonslaget mellom server og klient. Vi vil bruke ‘signaler’ om ‘interne meldinger’ 702. Hver interne kanal 701 har en ‘forsinkelse’ som er uten interesse her, og som ikke skal forveksles med forsinkelsesperioden i en Alarm-T melding beskrevet tidligere. [0197] In this description and the patent claims, 'messages' means the same as 'external messages' in the application layer between server and client. We will use 'signals' about 'internal messages' 702. Each internal channel 701 has a 'delay' which is of no interest here, and which should not be confused with the delay period in an Alarm-T message described earlier.

[0198] Fig. 8 er et uformelt sekvensdiagram der åpen pil med prikk betyr det samme som i Fig. 7. Rektangler med tekst i første rad representerer ‘objekter’ i betydningen ‘ting med data og metoder for å håndtere seg selv og egne data’. En Mottaker 160 representerer en prosess i systemserveren 120, systemklienten 220 eller datamaskinen 230 som i Fig. 7. [0198] Fig. 8 is an informal sequence diagram where open arrow with dot means the same as in Fig. 7. Rectangles with text in the first row represent 'objects' in the sense of 'things with data and methods for handling themselves and their own data '. A Receiver 160 represents a process in the system server 120, the system client 220 or the computer 230 as in Fig. 7.

[0199] En Bruker 200 er her et ‘objekt’, og ikke det samme som en rolle i ER-diagrammet i Fig. 5. Objektet i Fig 8 kan ha interne brukerstatuser ‘Alarm’, ‘Alarm-T’, ‘Opptak’ og ‘Standby’ hentet fra en kort liste i databasen 121 og tidligere eksempler. Objektet 200 i Fig. 8 har i tillegg metoder for å opprette, endre, og slette en brukerstatus etter en ‘stimulus’ eller et internt signal 702. [0199] A User 200 is here an 'object', and not the same as a role in the ER diagram in Fig. 5. The object in Fig. 8 can have internal user statuses 'Alarm', 'Alarm-T', 'Recording' and 'Standby' taken from a short list in the database 121 and previous examples. The object 200 in Fig. 8 also has methods for creating, changing and deleting a user status after a 'stimulus' or an internal signal 702.

[0200] En Brukerfil 250 representerer brukerdata 250 på nett og disk pluss metoder for å opprette, endre og slette egne datastatuser som ‘Arkiver’, ‘Til senere bruk’ osv. Det har andre dataelementer eller ‘attributter’, og i utgangspunktet metoder for å opprette, endre og slette attributter. [0200] A User File 250 represents user data 250 online and on disk plus methods for creating, changing and deleting own data statuses such as 'Archives', 'For later use' etc. It has other data elements or 'attributes', and basically methods for to create, modify and delete attributes.

[0201] Et Objekt 800 er et generelt objekt med attributter og metoder. Attributtene er ikke de samme som i ER-diagrammet i Fig. 5, og objekter 800 har som regel flere metoder enn de som trengs for å opprette, endre og slette attributter. Objektorientert design og programmering gjør det mulig å endre data og metoder i et objekt uten at det påvirker andre deler av systemet. Til sammenligning er store monolittiske programmer med rutiner og subrutiner lite fleksible og vanskelige å vedlikeholde. Det vil bli klart at systemfunksjonene 171 – 173, og følgelig reaksjonene 161 – 163, nevnt tidligere kan realiseres med objekter. [0201] An Object 800 is a general object with attributes and methods. The attributes are not the same as in the ER diagram of Fig. 5, and objects 800 typically have more methods than those needed to create, modify, and delete attributes. Object-oriented design and programming make it possible to change data and methods in an object without affecting other parts of the system. In comparison, large monolithic programs with routines and subroutines are inflexible and difficult to maintain. It will be clear that the system functions 171 - 173, and consequently the reactions 161 - 163, mentioned earlier can be realized with objects.

[0202] Notasjonen ‘en Mottaker’ 160, ‘en Bruker’ 200 osv. er valgt for å illustrere at objektene er forskjellig fra entitetene i Fig. 5 og prosessene i Fig. 7. I en virkelig utførelse er objektene 160, 200, 250 og 800 i Fig. 8 instanser av respektive klasser med fellestrekk. En systemdesigner vet hvordan et virkelig sekvensdiagram for et OO-system bygges opp, at objektene i Fig. 8 kan erstattes med andre objekter, og at flytdiagram er bedre egnet til å illustrere algoritmer med forgreninger og løkker. Dette er utenfor omfanget av oppfinnelsen. [0202] The notation 'a Receiver' 160, 'a User' 200 etc. is chosen to illustrate that the objects are different from the entities of Fig. 5 and the processes of Fig. 7. In a real embodiment, the objects 160, 200, 250 and 800 in Fig. 8 instances of respective classes with common features. A system designer knows how a real sequence diagram for an OO system is built up, that the objects in Fig. 8 can be replaced with other objects, and that flow diagrams are better suited to illustrate algorithms with branches and loops. This is outside the scope of the invention.

[0203] En vertikal stiplet linje under hvert objekt representerer ‘levetid’ for objektet, og rektangler langs de stiplede linjene illustrerer når objektet er ‘aktivt’, f eks i minnet til den underliggende datamaskinen 110, 210 osv. Horisontale piler representerer signaler, dvs. [0203] A vertical dashed line below each object represents the 'lifetime' of the object, and rectangles along the dashed lines illustrate when the object is 'active', eg in the memory of the underlying computer 110, 210, etc. Horizontal arrows represent signals, ie .

‘interne meldinger’ 702. Disse avhenger av andre prosesser i diagrammet, er ‘synkrone’ og representeres med fylte piler. Stiplede piler representerer returmeldinger. 'internal messages' 702. These depend on other processes in the diagram, are 'synchronous' and are represented by filled arrows. Dashed arrows represent return messages.

[0204] Spesifikt illustrerer Fig. 8 en asynkron Melding til en mottaker fra en kilde utenfor diagrammet. Som nevnt, kan diagrammet representere objekter i en av flere datamaskiner. [0204] Specifically, Fig. 8 illustrates an asynchronous Message to a receiver from a source outside the diagram. As mentioned, the diagram can represent objects in one of several computers.

[0205] Meldingen kan implisere at brukerdata 250 skal krypteres og lagres. En mottaker 160 spør 801 en Bruker 200 etter den offentlige nøkkelen pubA. Objektet ‘en Bruker’ 200 kan ha pubA lagret i et attributt, en metode for å finne pubA eller lignende. Det vesentlige for en Mottaker 160 er at den kan anmode en Bruker 200 om en nøkkel, og få den tilsendt i en returmelding. [0205] The message may imply that user data 250 is to be encrypted and stored. A Receiver 160 asks 801 a User 200 for the public key pubA. The object 'a User' 200 may have pubA stored in an attribute, a method for finding pubA or the like. The essential thing for a Receiver 160 is that it can request a User 200 for a key, and have it sent in a return message.

[0206] Objektet ‘en Mottaker’ 160 henvender seg deretter til objektet ‘en Brukerfil’ 250 med signalet 802: ‘Krypter med pubA og lagre’. Objekter har konseptet ‘meg’ eller tilsvarende, så ‘en Brukerfil’ 250 sender signalet 803 ‘Krypter meg’ og deretter 804 ‘Lagre meg’ til ‘et Objekt’ 800. Signalene 803, 804 får hver sine kvitteringer, og ‘en Brukerfil’ 250 kvitterer tilbake til ‘en Mottaker’ 160. [0206] The object 'a Recipient' 160 then addresses the object 'a User File' 250 with the signal 802: 'Encrypt with pubA and save'. Objects have the concept 'me' or equivalent, so 'a User File' 250 sends the signal 803 'Encrypt Me' and then 804 'Save Me' to 'an Object' 800. The signals 803, 804 each receive their acknowledgments, and 'a User File' 250 receipts back to 'a Recipient' 160.

[0207] Meldingen til ‘en Mottaker’ 160 kan alternativt eller i tillegg implisere at brukerdata 250 skal hashes og arkiveres. En metode i ‘en Bruker’ 200 returnerer privA*pubA etter anmodning 805 fra ‘en Mottaker’ 160. En videre anmodning 806 sendes til ‘en Brukerfil’ 250, som kvitterer når jobben er gjort. Meldingen 806 kan betraktes som input eller stimulus til en ‘agent’ som utfører handlingene 807 ‘Hash meg’ og 808 ‘Arkiver meg’. Som nevnt fins det flere ‘syn’ på systemet 100 som utfyller hverandre, og er nyttige for hver sine formål. Et ‘syn’ er her det samme som ‘view’ i et representativt engelskspråklig design- eller modellverktøy. [0207] The message to 'a Recipient' 160 may alternatively or additionally imply that user data 250 is to be hashed and archived. A method in 'a User' 200 returns privA*pubA upon request 805 from 'a Receiver' 160. A further request 806 is sent to 'a User File' 250, which acknowledges when the job is done. The message 806 can be considered as input or stimulus to an 'agent' which performs the actions 807 'Hash me' and 808 'Archive me'. As mentioned, there are several 'views' of the system 100 which complement each other and are useful for each of their purposes. A 'syn' here is the same as 'view' in a representative English-language design or model tool.

[0208] Et vesentlig poeng her, er at objekter 800 i systemet 100 kan sikres med hashing og stenging av prosesser på tilsvarende måte som systemfiler og prosesser sikres i et moderne OS. Databasen 121 trenger kun å inneholde brukernavn, filnavn osv. som nevnt tidligere. Den trenger ikke sikres ytterligere med databasespesifikk RBAC eller andre teknikker. Dette reduserer systemeiers kostnader og opprettholder hennes nytteverdi. [0208] An important point here is that objects 800 in the system 100 can be secured with hashing and closing processes in a similar way as system files and processes are secured in a modern OS. The database 121 only needs to contain user names, file names, etc. as mentioned earlier. It does not need to be further secured with database-specific RBAC or other techniques. This reduces the system owner's costs and maintains their utility.

[0209] Posisjonsdata har generelt kort levetid og dermed begrenset behov for kryptering og hashing. De kan derfor vanligvis lagres ‘åpent’ i en ordinær database, men de kan selvsagt krypteres og hashes som andre brukerdata hvis systemeier ønsker det. [0209] Positional data generally has a short lifetime and thus a limited need for encryption and hashing. They can therefore usually be stored 'open' in an ordinary database, but they can of course be encrypted and hashed like other user data if the system owner so wishes.

[0210] En systemlogg i systemet 100 inneholder fortrinnsvis en brukerID og tidspunkt for hvem som opprettet, endret eller slettet brukerdata i systemet. BrukerID bør knyttes til person, ikke til en felles administrator-rolle. Det er dermed generelt mulig å identifisere hvem som har gjort hva, og hindre uønsket adferd med en mulig sanksjon fra arbeidsgiver. I eksempelet med forbud mot opptak i møterommet, kan Control eller systemeier finne ut hvem som tok opp video av et forretningsmøte (opprettet data). Videre detaljer overlates til systemdesigner. [0210] A system log in the system 100 preferably contains a user ID and time for who created, changed or deleted user data in the system. User ID should be linked to a person, not to a shared administrator role. It is thus generally possible to identify who has done what, and prevent unwanted behavior with a possible sanction from the employer. In the example with a ban on recording in the meeting room, Control or the system owner can find out who recorded a video of a business meeting (created data). Further details are left to the system designer.

[0211] For enkel referanse lister vi systemfunksjoner nevnt ovenfor: [0211] For easy reference, we list system functions mentioned above:

Tabell 2: Eksempler på systemfunksjoner Table 2: Examples of system functions

[0212] Det forstås at systemfunksjonene i Tabell 2 og andre systemfunksjoner i systemet 100 fordelaktig kan realiseres med objekter som vist i Fig. 8 for å lette senere vedlikehold av programvare og tilpasning til ny teknikk etter hvert som den blir tilgjengelig. Vi avslutter med noen eksempler der vi bruker konvensjonen med argumenter i parentes bak funksjonsnavnet. [0212] It is understood that the system functions in Table 2 and other system functions in the system 100 can advantageously be realized with objects as shown in Fig. 8 to facilitate later maintenance of software and adaptation to new technology as it becomes available. We finish with some examples where we use the convention of having arguments in parentheses after the function name.

Eksempel 1: Bolig- og kontoralarm Example 1: Home and office alarm

[0213] Alice har et boligalarmsystem med et webkamera. Hun har ‘standby-status’ mens hun er ute av huset. I standby-perioden kan bevegelsessensorer, ‘skjulte utløsere’, starte webkameraet og sende en videostrøm til vaktsentralen. Utenfor standby-perioden virker ikke webkameraet. Alice kan avstille en falsk alarm med et kodeord, ‘Autentisering(person)’, som i andre alarmsystemer for en bolig eller et kontorbygg. Systemfunksjoner Opptak og Kryptering i en systemklient 220 kan kryptere en videostrøm slik at Charlie på sentralen ikke kan se innholdet. Etter et ekte innbrudd, kan Alice laste ned den krypterte videofilen, dekryptere og laste opp en leselig utgave i et vanlig webgrensesnitt med https://-adresse. TLS i transportlaget hasher, krypterer osv uten at det påvirker Alice og Charlie. Charlie kan nå lese innholdet i filen med vanlig programvare. [0213] Alice has a home alarm system with a web camera. She has 'standby status' while she is out of the house. During the standby period, motion sensors, 'hidden triggers', can start the webcam and send a video stream to the monitoring center. Outside the standby period, the webcam does not work. Alice can silence a false alarm with a password, 'Authentication(person)', as in other alarm systems for a home or an office building. System functions Recording and encryption in a system client 220 can encrypt a video stream so that Charlie at the exchange cannot see the content. After a real hack, Alice can download the encrypted video file, decrypt and upload a readable version in a regular web interface with https:// address. TLS in the transport layer hashes, encrypts etc without affecting Alice and Charlie. Charlie can now read the contents of the file with normal software.

Eksempel 2: Umiddelbar alarm Example 2: Immediate alarm

[0214] Alice på kontoret eller reise setter en ‘standby-status’ via et GUI på en av hennes PCer, fortrinnsvis en smarttelefon hun har med seg. Smarttelefonen kan identifiseres fra sitt mobilnummer eller fordi systemklienten 220 sender Alices brukerID = 002 i Standbymeldingen til systemserveren 120. Standby-meldingen(e) kan også inneholde GPS-koordinater, ‘møterom nr 123’ og annen informasjon som kan korte ned responstiden fra Bob eller Charlie. Alices lokasjons- eller posisjonsdata kan lagres i databasen 121 uten at noe menneske behøver å se dem. I det Alice sender en Alarm, har systemserveren 120 alle opplysninger som trengs for å varsle Bob og andre kolleger i nærheten med én melding, Alices sjef Control med en annen melding og eventuelt markere Alice i systemkonsollet 140. Charlie er i dette eksempelet prosesser i systemserveren 120, ikke en fysisk person. [0214] Alice in the office or traveling sets a 'standby status' via a GUI on one of her PCs, preferably a smartphone she carries with her. The smartphone can be identified from its mobile number or because the system client 220 sends Alice's user ID = 002 in the Standby message to the system server 120. The standby message(s) can also contain GPS coordinates, 'meeting room no 123' and other information that can shorten the response time from Bob or Charlie. Alice's location or position data can be stored in the database 121 without any human needing to see them. When Alice sends an Alarm, the system server 120 has all the information needed to notify Bob and other nearby colleagues with one message, Alice's boss Control with another message and possibly mark Alice in the system console 140. Charlie is in this example processes in the system server 120, not a natural person.

Eksempel 3: Tidsforsinket alarm Example 3: Time-delayed alarm

[0215] Alices systemklient har en forhåndslagret Alarm-T melding og en adresse til systemserveren (120), f eks et telefonnummer for en SMS-melding og/eller en epostadresse. Brukermeldingen Alarm-T om tidsforsinket alarm krever et tidspunkt T for når systemserveren 120 skal utføre en alarm-reaksjon. Alice hjemme velger en forhåndsinnstilt forsinkelsesperiode 1 time fra en meny, T = nå 1 time. Alice på reise taster inn T = ‘2200’, tidspunktet hun regner med å være tilbake på hotellet. Alice kan bruke GUIet til å legge inn relevant informasjon om hvor hun skal osv. Alices GPS-posisjon eller at Alice er i møterom 123 kan innhentes uten at personen Alice bruker GUIet, for eksempel ved at systemklienten 220 innhenter GPS-data og sender en melding automatisk. Meldinger med relevante posisjoner lagres i databasen 121 uten at noe menneske behøver å se dem. [0215] Alice's system client has a pre-stored Alarm-T message and an address to the system server (120), for example a telephone number for an SMS message and/or an email address. The user message Alarm-T about a time-delayed alarm requires a time T for when the system server 120 is to perform an alarm reaction. Alice at home selects a preset delay period of 1 hour from a menu, T = now 1 hour. Alice on a journey enters T = '2200', the time she expects to be back at the hotel. Alice can use the GUI to enter relevant information about where she is going, etc. Alice's GPS position or that Alice is in meeting room 123 can be obtained without the person Alice using the GUI, for example by the system client 220 obtaining GPS data and sending a message automatic. Messages with relevant positions are stored in the database 121 without any human needing to see them.

[0216] Før tidspunkt T kan Alice forlenge Alarm-T perioden med en ny Alarm-T eller avstille Alarm-T med en Avslutt-melding. Avstilling kan kreve Autentisering(person), og sletter alle data forbundet med Alarm-T, typisk posisjonsdata i databasen 121. Ved tidspunkt T utfører system-serveren en forhåndsbestemt alarm-reaksjon uavhengig av om Alices PC er tilgjengelig eller ikke. Systemserveren har da alle opplysninger som trengs for å varsle Bob og Control som ovenfor. Charlie er igjen fortrinnsvis prosesser i systemserveren 120. [0216] Before time T, Alice can extend the Alarm-T period with a new Alarm-T or cancel the Alarm-T with an End message. Shutdown may require authentication (person), and deletes all data associated with Alarm-T, typically position data in the database 121. At time T, the system server performs a predetermined alarm reaction regardless of whether Alice's PC is available or not. The system server then has all the information needed to notify Bob and Control as above. Charlie is again preferably processes in the system server 120.

Eksempel 4: Reiseplan med avsjekk Example 4: Itinerary with check-out

[0217] Alice oppretter en reiseplan der destinasjon, forventet ankomsttid og informasjon om reisen legges inn. Alices foresatte, Control, vil ha nytte av denne informasjonen hvis det hender noe i området Alice befinner seg i eller har oppgitt som reisemål. [0217] Alice creates a travel plan where the destination, expected arrival time and information about the journey are entered. Alice's guardian, Control, will benefit from this information if something happens in the area Alice is in or has specified as a destination.

[0218] Når Alice legger ut på reisen, vil hun kunne aktivere automatisk avsjekk med ønsket intervall. Meldingen kan legges inn via GUIet med menyvalg og/eller inntasting av intervall på samme måte som i Alarm-T-meldingen ovenfor. Alice på reise kan i tillegg velge å sjekke inn manuelt med kommentarer osv. Noen kommentarer kan sendes som krypterte lyd- eller bildefiler med opptak fra Alices smarttelefon. [0218] When Alice sets out on her journey, she will be able to activate automatic check-out at the desired interval. The message can be entered via the GUI with menu selection and/or entering the interval in the same way as in the Alarm-T message above. Alice on travel can also choose to check in manually with comments, etc. Some comments can be sent as encrypted audio or image files with recordings from Alice's smartphone.

[0219] Avsjekking sender en GPS-posisjon til systemserveren 120, hvor den lagres uten at noe menneske behøver å se den. Alice kan bevisst deaktivere GPS-sporing gjennom GUIet. Alices foresatte, Control, kan likevel proaktivt og uten tidstap avkrefte eller bekrefte om Alice har vært utsatt for uønskede hendelser fordi han har tilgang til planlagt reiserute og Alices omtrentlige posisjon. [0219] Checkout sends a GPS position to the system server 120, where it is stored without any human needing to see it. Alice can deliberately disable GPS tracking through the GUI. Alice's guardian, Control, can nevertheless proactively and without loss of time deny or confirm whether Alice has been exposed to unwanted incidents because he has access to the planned itinerary and Alice's approximate position.

[0220] De fleste reiser forløper uten uønskede hendelser, så systemserveren 120 kan slette data fra reisen automatisk etter et passende opphold i databasen 121 og/eller mellomlageret 130. Alice kan for eksempel ha nytte av lyd- eller bildedata fra reisen. Alice kan selv slette data som beskrevet ovenfor. Alice har ofte tilgang til konfidensiell informasjon, for eksempel om potensielle aggressorer, som personene Bob, Charlie og Control ikke er autorisert for. [0220] Most journeys proceed without unwanted incidents, so the system server 120 can delete data from the journey automatically after a suitable stay in the database 121 and/or the intermediate storage 130. Alice can, for example, benefit from sound or image data from the journey. Alice can delete data herself as described above. Alice often has access to confidential information, for example about potential aggressors, to which the individuals Bob, Charlie and Control are not authorized.

Eksempel 5: Trusler i kontorlokalene Example 5: Threats in the office premises

[0221] En utførelsesform er ment for bruk i lokaler der en potensiell aggressor kan true ansatte, publikum eller eiendom. Systemserveren 120 kan brukes til å varsle internt så vel som eksternt. Organisasjonen kan begrense myndighet til å kontakte politiet eller andre eksterne ressurser, i dette eksempelet til Control. Systemserveren 120 (‘Charlie’) sjekker i dette eksempelet hvem av Alices kolleger som er på jobb før det gjøres forsøk på a finne Bob med Bluetooth-beacons. Som nevnt vil ikke GPS gi en korrekt posisjon i et kontorbygg med flere etasjer. Det er generelt ønskelig at en person lokaliseres i kontorbygget uten å registrere seg manuelt, f eks gjennom et GUI i systemklienten. [0221] One embodiment is intended for use in premises where a potential aggressor may threaten employees, the public or property. The system server 120 can be used to notify internally as well as externally. The organization can limit the authority to contact the police or other external resources, in this example to Control. In this example, the system server 120 ('Charlie') checks which of Alice's colleagues are at work before an attempt is made to find Bob with Bluetooth beacons. As mentioned, GPS will not give a correct position in an office building with several floors. It is generally desirable for a person to be located in the office building without registering manually, for example through a GUI in the system client.

[0222] Det er Admins oppgave, ikke Controls, å legge inn nye kortlesere utenfor møterom hvis og når de blir tilgjengelige fra adgangskontrollsystemet. Admin vedlikeholder også lister over statuser, hvilke attributter som er obligatorisk og annen generell systeminformasjon. Alice, Charlie og Control har typisk ansvar for innholdet i systemet 100, og kan for eksempel ha administrative privilegier til å opprette en ny Person 301 med obligatorisk navn. Hvis databasen 121 er en relasjonsdatabase, er det et RDBMS som nekter Alice eller Control å registrere en bruker uten navn. I en RDB er det også et RDBMS som nekter uautoriserte personer tilgang til Alices posisjons- eller lokasjonsdata. [0222] It is Admin's job, not Control's, to add new card readers outside meeting rooms if and when they become available from the access control system. Admin also maintains lists of statuses, which attributes are mandatory and other general system information. Alice, Charlie and Control typically have responsibility for the content of the system 100, and may, for example, have administrative privileges to create a new Person 301 with a mandatory name. If the database 121 is a relational database, it is an RDBMS that refuses Alice or Control to register an unnamed user. In an RDB, there is also an RDBMS that denies unauthorized persons access to Alice's position or location data.

[0223] Alice kan aktivere en skjermknapp ‘opptak’ før hun møter en potensiell aggressor i møterommet. Systemserveren 120 setter i dette eksempelet automatisk standby-status på Alice, og vet hun er i møterommet uten at Alice trenger å bruke GUIet til å oppgi hvor hun er. Som nevnt kan pubA til en Kryptering på datamaskinen i møterommet komme fra systemklienten 220 eller systemserveren 120. Systemserveren 120 kan varsle Bob på nabokontoret om å være ekstra oppmerksom. [0223] Alice can activate a screen button 'record' before she meets a potential aggressor in the meeting room. In this example, the system server 120 automatically sets Alice to standby status, and knows she is in the meeting room without Alice needing to use the GUI to state where she is. As mentioned, pubA to an Encryption on the computer in the meeting room can come from the system client 220 or the system server 120. The system server 120 can notify Bob in the neighboring office to pay extra attention.

[0224] De fleste møter forløper uten hendelser, og Alice avslutter opptaket. Dette avslutter også standby-perioden. Standby-perioden begrenser mengden av overflødige data på disk. Den krypterte videofilen fra Alices møte kan slettes etter et kort opphold på disk. Det samme gjelder opplysninger i databasen 121 om når Alice var i møterommet. [0224] Most meetings proceed without incident, and Alice ends the recording. This also ends the standby period. The standby period limits the amount of redundant data on disk. The encrypted video file from Alice's meeting can be deleted after a short stay on disk. The same applies to information in database 121 about when Alice was in the meeting room.

[0225] Organisasjonens sikkerhetspolicy kan forby videoopptak av visse møter i rommet, f eks forretningsmøter. Hvis ‘opptak’ startes ved en feil, inneholder systemloggen informasjon om hvem som startet opptaket og følgelig hvem som har den private nøkkelen til dekryptering.. [0225] The organization's security policy may prohibit video recording of certain meetings in the room, eg business meetings. If 'recording' is started by mistake, the system log contains information about who started the recording and consequently who has the private key for decryption.

[0226] I noen møter slutter aggressoren å være potensiell, og Alice utløser en alarm. Da sender systemserveren en ny melding til Bob, som reagerer raskt fordi han er varslet på forhånd. I fall aggressor hindrer Alice å utløse alarm, kommer ikke Bob til unnsetning. [0226] In some encounters, the aggressor ceases to be potential, and Alice raises an alarm. Then the system server sends a new message to Bob, who reacts quickly because he has been notified in advance. If the aggressor prevents Alice from triggering the alarm, Bob will not come to the rescue.

Charlie hører likevel om hendelsen i etterkant, og arkiverer videofilen fra møtet. Charlie nevertheless hears about the incident afterwards, and archives the video file from the meeting.

Eksempel 6: Alarmkontroll Example 6: Alarm control

[0227] Et typisk hierarki har systemeier på toppen. Hun bestemmer hvordan systemet skal brukes, og gir de nødvendige instrukser til Admin og Control. Control kan typisk velge mellom alternative måter å bli underrettet på. For eksempel kan det være praktisk å få opp et skjermbilde på kontor-PCen i én situasjon, og å motta en SMS i en annen. [0227] A typical hierarchy has the system owner at the top. She decides how the system is to be used, and gives the necessary instructions to Admin and Control. Control can typically choose between alternative ways of being notified. For example, it can be practical to get a screen shot on the office PC in one situation, and to receive an SMS in another.

[0228] I en foretrukket utførelse er Charlie en eller flere prosesser i systemserveren 120 som tar imot alarmer fra systemklienten 220 eller andre serverprosesser, for eksempel ved utløpet av en tidsforsinket alarm. En rolle i organisasjonen, systemeier og/eller Control, bestemmer hvem som skal varsles når og med hvilken melding, eventuell markering på systemkonsoll 140, osv. De ønskede reaksjonene lagres i systemserveren 120. Systemet 100 avhenger ikke av at en fysisk person holder hodet kaldt i en nødssituasjon. Forhåndsdefinerte reaksjoner utføres automatisk av systemserveren 120. [0228] In a preferred embodiment, Charlie is one or more processes in the system server 120 that receive alarms from the system client 220 or other server processes, for example at the expiration of a time-delayed alarm. A role in the organization, system owner and/or Control, determines who is to be notified when and with which message, any marking on the system console 140, etc. The desired reactions are stored in the system server 120. The system 100 does not depend on a physical person keeping a cool head in an emergency situation. Predefined reactions are performed automatically by the system server 120.

Eksempel 7: Reisekontroll Example 7: Travel control

[0229] Control har oversikt over personer på reise i en ‘ReiseKontroll’. Dette er en delmengde av serverapplikasjonen med en egnet mengde skjermbilder og systemfunksjoner. I ReiseKontroll kan Control se hvor den enkelte brukeren er, brukerens reisemål og andre data brukeren har gjort tilgjengelig. Control kan søke etter brukere som har sjekket inn på en bestemt lokasjon eller som har lokasjonen som reisemål. Dette muliggjør Varsling av brukere som befinner seg i et område. Skjermbildene kan som tidligere gjøres tilgjengelig gjennom et webgrensesnitt og/eller gjennom et systemkonsoll 140 i lokalnettet. [0229] Control has an overview of people traveling in a 'Travel Control'. This is a subset of the server application with a suitable amount of screens and system functions. In ReiseKontroll, Control can see where the individual user is, the user's destination and other data the user has made available. Control can search for users who have checked in at a specific location or who have the location as their destination. This enables notification of users who are in an area. As before, the screens can be made available through a web interface and/or through a system console 140 in the local network.

[0230] Et systemkonsoll 140 med stor skjerm gir som regel mer informasjon og bedre oversikt enn en typisk smarttelefon-applikasjon. For eksempel kan en stor skjerm vise større deler av et kart med leselige navn enn en liten skjerm. Et større systemkonsoll gir også lettere tilgang til systemfunksjoner med tilhørende argumenter enn en applikasjon for en smarttelefon. På en stor skjerm er det lett å ringe inn alle brukere i et større område, f eks etter et jordskjelv, en tsunami eller et orkanvarsel. Man vet ikke på forhånd hva som kan skje, men ønsker å varsle eller sjekke hvis noe skjer. Til sammenligning kan systemserveren 120 automatisk varsle alle tre kolleger som er på reise sammen med Alice når Alice utløser en alarm. Den som kommer først frem hjelper Alice. Til dette trenger systemserveren 120 ingen GPS-informasjon fra kollegene, men den kan trenge en liste med mobilnumrene til kollegene som er på reise med Alice og en SMS-melding som Control har skrevet på forhånd. [0230] A system console 140 with a large screen usually provides more information and a better overview than a typical smartphone application. For example, a large screen can display larger parts of a map with legible names than a small screen. A larger system console also provides easier access to system functions with associated arguments than an application for a smartphone. On a large screen, it is easy to call in all users in a larger area, for example after an earthquake, tsunami or hurricane warning. You don't know in advance what might happen, but you want to notify or check if something happens. In comparison, the system server 120 can automatically notify all three colleagues who are traveling with Alice when Alice triggers an alarm. Whoever arrives first helps Alice. For this, the system server 120 does not need any GPS information from the colleagues, but it may need a list of the mobile numbers of the colleagues who are traveling with Alice and an SMS message that Control has written in advance.

Eksempel 8: Simuleringl Example 8: Simulation

Organisasjonen vil trene et administrativt team, som i dette eksempelet inneholder personen Control. En simuleringsversjon av systemet 100 har lister med forhåndsbestemte meldinger og tidspunkt for når de skal sendes. Meldingene er hentet fra en virkelig utførelse av systemet 100, en produksjonsversjon Listene spiller i dette eksempelet rollene til Alice og Bob, og utgjør delscenarier. En Spillmester bruker et konsoll 140 med et GUI for å holde oversikt over spillets gang, og velger delscenarier etter hvert som spillet utvikler seg. The organization will train an administrative team, which in this example includes the person Control. A simulation version of the system 100 has lists of predetermined messages and times for when they are to be sent. The messages are taken from a real implementation of the system 100, a production version The lists in this example play the roles of Alice and Bob, and constitute sub-scenarios. A Game Master uses a console 140 with a GUI to keep track of the progress of the game, selecting sub-scenarios as the game progresses.

[0231] Systemet 100 er beskrevet ved hjelp av eksempler som kan modifiseres uten oppfinnerisk innsats. Omfanget av oppfinnelsen er definert i de etterfølgende patentkravene. [0231] The system 100 is described by means of examples which can be modified without inventive effort. The scope of the invention is defined in the subsequent patent claims.

Claims (15)

PatentkravPatent claims 1. System (100) for å reagere på en alarm, med en systemklient (220), en systemserver (120) med en database (121), og en melding mellom systemklienten (220) og systemserveren (120) i et applikasjonslag (150),1. System (100) for responding to an alarm, with a system client (220), a system server (120) with a database (121), and a message between the system client (220) and the system server (120) in an application layer (150) ), karakterisert vedcharacterized by - en systemfunksjon og en reaksjon med minst én systemfunksjon;- a system function and a reaction with at least one system function; - et mellomlager (130) i et lokalnett med filsystemer hvor systemfunksjoner i systemserveren (220) har lese- og skrivetilgang,- an intermediate storage (130) in a local area network with file systems where system functions in the system server (220) have read and write access, - en brukerstatus, hvorav minst én er en alarm-status,- a user status, of which at least one is an alarm status, - minst én bruker, hvor hver bruker har et unikt asymmetrisk kryptografisk nøkkelpar med én offentlig nøkkel og én privat nøkkel, samt en personlig gjenstand hvor brukerens (200) private nøkkel er skjult,- at least one user, where each user has a unique asymmetric cryptographic key pair with one public key and one private key, as well as a personal item where the user's (200) private key is hidden, hvor systemfunksjonene omfatterwhere the system functions include - en opptaksfunksjon med delfunksjoner for å innhente brukerdata fra en gruppe bestående av lyd-, bilde-, dokument- og posisjonsdata,- a recording function with sub-functions to obtain user data from a group consisting of audio, image, document and location data, - en krypteringsfunksjon med delfunksjoner for å kryptere og dekryptere en brukers brukerdata med brukerens(200) asymmetriske nøkkelpar, og- an encryption function with subfunctions to encrypt and decrypt a user's user data with the user's (200) asymmetric key pair, and - en lagringsfunksjon med delfunksjoner for å lagre brukerdata i databasen (121) og mellomlageret (130),- a storage function with partial functions for storing user data in the database (121) and the buffer (130), hvorved brukerdata kryptert med brukerens offentlige nøkkel bare kan dekrypteres av en krypteringsfunksjon med lesetilgang til brukerens private nøkkel.whereby user data encrypted with the user's public key can only be decrypted by an encryption function with read access to the user's private key. 2. System ifølge krav 1, videre omfattende en hashingfunksjon og en hashnøkkel som kombinerer brukerens private og offentlige nøkkel.2. System according to claim 1, further comprising a hashing function and a hash key that combines the user's private and public key. 3. System ifølge krav 1 eller 2, hvor systemklienten (220) har minst én brukermelding, der hver brukermelding i systemklienten (220) tilsvarer en brukerstatus og en reaksjon i systemserveren (120).3. System according to claim 1 or 2, where the system client (220) has at least one user message, where each user message in the system client (220) corresponds to a user status and a reaction in the system server (120). 4. System ifølge krav 3, hvor brukermeldingen har en tilsvarende ‘avslutt’-melding som kansellerer den tilsvarende brukerstatusen i systemserveren (120).4. System according to claim 3, where the user message has a corresponding 'quit' message which cancels the corresponding user status in the system server (120). 5. System ifølge krav 3, hvor brukermeldingen inneholder en tidsperiode.5. System according to claim 3, where the user message contains a time period. 6. System ifølge et av kravene 3 - 5, hvor brukermeldingen er en ‘forsinket alarm’ med en forsinkelsesperiode, hvor en alarm-reaksjon utføres ved utløpet av forsinkelsesperioden.6. System according to one of claims 3 - 5, where the user message is a 'delayed alarm' with a delay period, where an alarm reaction is performed at the end of the delay period. 7. System ifølge krav 6, videre omfattende en brukermelding ‘endret alarm’ med et nytt tidspunkt for når systemserverens (102) skal utføre ‘forsinket alarm’ reaksjonen slik at ‘forsinket alarm’-reaksjonen fremskyndes eller utsettes.7. System according to claim 6, further comprising a user message 'changed alarm' with a new time for when the system server (102) is to perform the 'delayed alarm' reaction so that the 'delayed alarm' reaction is accelerated or delayed. 8. System ifølge et av kravene 3 – 7, hvor brukermeldingen er en opptaks-melding og en opptaksreaksjon omfatter å aktivere opptaksfunksjonen for opptaksutstyr (230-232) nær brukeren (200).8. System according to one of claims 3 - 7, where the user message is a recording message and a recording reaction comprises activating the recording function for recording equipment (230-232) close to the user (200). 9. System ifølge et av kravene 3 – 8, hvor brukermeldingen er en standby-melding som fører til en forhøyet oppmerksomhet fra systemserveren 120.9. System according to one of the claims 3 - 8, where the user message is a standby message that leads to increased attention from the system server 120. 10. System ifølge et av de foregående krav, videre omfattende en status for brukerdata som overstyrer en automatisk slettefunksjon for data på disk.10. System according to one of the preceding claims, further comprising a status for user data that overrides an automatic deletion function for data on disk. 11. System ifølge et av de foregående krav, hvor kansellering av en systemfunksjon krever ekstra autentisering av personen som anmoder om kansellering.11. System according to one of the preceding claims, where cancellation of a system function requires additional authentication of the person requesting cancellation. 12. System ifølge et av de foregående krav, hvor systemserveren (120) har en funksjon for å sammenholde lokasjonsdata i en forhåndsbestemt sekvens med faktiske posisjonsdata mottatt fra systemklienten (220).12. System according to one of the preceding claims, where the system server (120) has a function for comparing location data in a predetermined sequence with actual position data received from the system client (220). 13. System ifølge et av de foregående krav, videre omfattende en systemlogg med tidspunkt for når brukerdata opprettes, leses, endres eller slettes, og en brukerID som identifiserer personen som utførte handlingen.13. System according to one of the preceding claims, further comprising a system log with the time of when user data is created, read, changed or deleted, and a user ID that identifies the person who performed the action. 14. System ifølge et av de foregående krav, videre omfattende en rutine for automatisk sikkerhetskopiering av data i mellomlageret.14. System according to one of the preceding claims, further comprising a routine for automatically backing up data in the intermediate storage. 15. System ifølge et av de foregående krav, videre omfattende en scenarioliste med meldinger fra en produksjonsversjon av systemet (100) og tider for sending av meldingene, samt et GUI med mulighet for å velge en scenarioliste.15. System according to one of the preceding claims, further comprising a scenario list with messages from a production version of the system (100) and times for sending the messages, as well as a GUI with the possibility of selecting a scenario list.
NO20190041A 2018-08-01 2019-01-11 System for responding to an alarm NO344930B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NO20181038A NO344926B1 (en) 2018-08-01 2018-08-01 System for handling personal security
NO20190009 2019-01-03

Publications (2)

Publication Number Publication Date
NO20190041A1 true NO20190041A1 (en) 2020-02-07
NO344930B1 NO344930B1 (en) 2020-07-06

Family

ID=69888841

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20190041A NO344930B1 (en) 2018-08-01 2019-01-11 System for responding to an alarm

Country Status (1)

Country Link
NO (1) NO344930B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150319284A1 (en) * 2014-05-02 2015-11-05 Ventuno Invest S.R.L. Emergency alert system and program for portable devices
US20170180486A1 (en) * 2015-12-22 2017-06-22 Rapidsos, Inc. Systems and methods for robust and persistent emergency communications
US20180054713A1 (en) * 2016-04-25 2018-02-22 Patrocinium Systems LLC Interactive emergency visualization methods
US20180152824A1 (en) * 2015-05-07 2018-05-31 University Of Florida Research Foundation, Inc. Ad-hoc social network (ahsn) system, ahsn-enabled device, and methods of use

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150319284A1 (en) * 2014-05-02 2015-11-05 Ventuno Invest S.R.L. Emergency alert system and program for portable devices
US20180152824A1 (en) * 2015-05-07 2018-05-31 University Of Florida Research Foundation, Inc. Ad-hoc social network (ahsn) system, ahsn-enabled device, and methods of use
US20170180486A1 (en) * 2015-12-22 2017-06-22 Rapidsos, Inc. Systems and methods for robust and persistent emergency communications
US20180054713A1 (en) * 2016-04-25 2018-02-22 Patrocinium Systems LLC Interactive emergency visualization methods

Also Published As

Publication number Publication date
NO344930B1 (en) 2020-07-06

Similar Documents

Publication Publication Date Title
US11902274B2 (en) System and computer readable media enabling methods for permitting a request after verifying knowledge of first and second secrets
US20240104227A1 (en) Secure credentials control method
US10375116B2 (en) System and method to provide server control for access to mobile client data
US8984611B2 (en) System, apparatus and method for securing electronic data independent of their location
US8931043B2 (en) System and method for determining and using local reputations of users and hosts to protect information in a network environment
JP6319746B2 (en) Mobile communication device security mode
Mitnick The art of invisibility: The world's most famous hacker teaches you how to be safe in the age of big brother and big data
US9749299B1 (en) Systems and methods for image-based encryption of cloud data
Osuagwu et al. Mitigating social engineering for improved cybersecurity
Pell You can't always get what you want: how will law enforcement get what it needs in a post-CALEA, Cybsecurity-Centric Encryption Era
Bourgeois et al. Information systems security
NO20190041A1 (en) System for responding to an alarm
US20200226278A1 (en) Secure document messaging system, device, and method using biometric authentication
Brindha et al. An analysis of data leakage and prevention techniques in cloud environment
EP3316547A1 (en) Parameter based data access on a security information sharing platform
Slagell Thinking critically about computer security trade-offs
Dalziel et al. Cyber security awareness for CEOs and management
Salaria et al. Cyber Security Enhancement with an Intelligent Android Prototype
Marlin Protecting Health Information from Internal Attacks Through Implementation of Stronger Controls
Danturthi et al. Security Engineering
Forgety Is Your Client Information Safe?
Lubensky et al. Cognitive mobile security: invited conference keynote
DeFranco Incident Response and Digital Forensics
Assalif Securing Personal Computing Devices from State-Sponsored Monitoring
Wees Archive for September, 2013

Legal Events

Date Code Title Description
MM1K Lapsed by not paying the annual fees