Abstract:
A computer implemented method of access control for a restricted resource of a resource provider in a network connected computer system, wherein a blockchain data structure accessible via the network stores digitally signed records validated by network connected miner software components, the method including: identifying an access control role definition for access to the resource, the role including a specification of access permissions; defining a cryptocurrency for indicating authorization to access the resource, the cryptocurrency being formed of tradable units of value associated with records in the blockchain and wherein transfer of the cryptocurrency between records in the blockchain is validated by the miners; receiving a request from an authenticated resource consumer for authorization to access the resource; and submitting a blockchain transaction to the miner components to transfer a quantity of cryptocurrency to a consumer record in the blockchain, the transaction including an identification of the role, such that the consumer record identifies that the consumer is authorized to access the resource in accordance with the role definition.
Abstract:
A method for securely accessing a hardware storage device connected to a computer system, the hardware storage device having a unique hardware identifier and the computer system including a processor, the method comprising: an agent software component receiving the identifier of the storage device to authenticate the storage device, wherein the agent executes in an unrestricted mode of operation of the processor such that the agent is a trusted software component; in response to the authentication, the agent accessing a secure data key for encrypting and decrypting data on the storage device, wherein the data key is accessible only to trusted agents executing in the unrestricted mode of the processor such that software executing in a user mode of the processor stores and retrieves data on the storage device only via the agent.
Abstract:
A computer implemented method for detecting malicious events occurring with respect to a blockchain data structure comprising: defining a transaction creation profile according to which transactions can be generated and submitted to the blockchain; submitting a transaction to the blockchain, the transaction causing the generation of a profiler data structure in the blockchain including executable code to generate profile transactions to be submitted to the blockchain according to the transaction creation profile; monitoring the blockchain to identify profile transactions; and comparing identified profile transactions with the transaction creation profile to detect a deviation from the transaction creation profile, such detection corresponding to a malicious event occurring with respect to the blockchain.
Abstract:
A method for deploying a software application for execution, the method comprising: receiving an application specification for the application, the application specification including an identification of one or more resources required for execution of the application; receiving a set of infrastructure specifications, each infrastructure specification including an identification of one or more resources associated with a virtualised computing environment in a set of virtualised computing environments; receiving a set of compliance characteristics for the application, each compliance characteristic including one or more criteria, each of the criteria being based on one or more formal parameters concerning a resource; receiving a set of software component definitions, each software component definition including one or more of: a) an indication of one or more actual parameters the software component is operable to provide; and b) an indication of one or more virtualised computing environments in the set of virtualised computing environments with which the software component is operable to execute; selecting, for each of the resources identified in the application specification, a virtualised computing environment based on the set of infrastructure specifications, the set of compliance characteristics and the set of software component definitions, wherein the selected virtualised computing environments are operable to generate actual parameters corresponding to one or more formal parameters for the criteria such that a measure of a number of evaluable criteria meets a predetermined threshold.
Abstract:
An authentication process controls access from a client terminal 2 to a remote server 3 via an unsecure network, by transmitting a challenge 63 from the server to the client in the form of a matrix barcode into which is embedded a sequence of images embedded in it selected (step 61) from a predetermined set of images stored on the server. The user responds to the challenge (e.g by sorting the images into groups, or order, according to a rule which is a shared secret (step 64) and generates a response in the form of a code (step 67) generated dynamically by convolving the user response 64 with a random PIN string (65) extracted from the matrix barcode, and data intrinsic to the user terminal, using a predetermined dynamically generated encryption algorithm for transmission to the server (step 68) for verification (69).
Abstract:
A computer implemented method of deploying a software application in a virtualized computing environment, comprising: receiving a description of the software application including an identification of a set of one or more application software resources; determining one or more types of security facility required for the set of application software resources and determining a security requirement for each of the determined types of security facility; selecting a security software resource for each of the determined types of security facility; determining a security configuration for each of the selected security software resources, the security configuration being based on a security requirement associated with a type of security facility for the security software resource; and generating a deployment specification for the software application specifying the application software resources and the security software resources for deployment of the application in the virtualized computing environment, each of the security software resources having associated the determined security configuration.
Abstract:
A method of securing a virtual data volume storing data in a first virtualized computing environment including: deriving a cryptographic key for encrypting the data, the key being derived from first and second parameters; and encrypting the data, wherein the first parameter is generated for association with the virtualized data volume, and the second parameter is generated based on at least one characteristic of a second virtualized computing environment.
Abstract:
A computer implemented method to provide a software feature in a registry of software components for a first network attached computing environment, each software component in the registry having associated deployment information to assemble a software application to be executed by the first environment as a set of software components, and the software feature being provided in part by a second network attached computing environment external to the first environment, the method comprising: for a selected software component in the registry, determining compatibility of the software feature with the software component; and responsive to the determination, adapting a registry entry of the software component in the registry to indicate the availability of the software feature for the software component.
Abstract:
A computer implemented method to execute a software application in a first network attached computing environment comprising: receiving a definition of the application, the definition identifying a set of software components and including configuration information for installing and executing the components in the first environment; installing and configuring the components in the first environment in accordance with the definition, wherein the definition further includes, for an identified component in the set, software agent information about a software agent that implements part of a software feature, the agent being provided by a second network attached computing environment external to and communicatively connected with the first environment, the second environment providing another part of the software feature, the method further comprising obtaining, installing and configuring the agent based on the agent information to provide part of the software feature for the application.
Abstract:
A software compliance assessment apparatus for determining a level of compliance of a software application in execution in a virtualised computing environment, the apparatus comprising: an identifier component operable to identify resources instantiated for execution of the application; a retriever component operable to retrieve a compliance characteristic for the application, the compliance characteristic being retrieved based on the identified resources, and the compliance characteristic having associated a compliance criterion based on a formal parameter; a selector component operable to select a software component for providing an actual parameter corresponding to the formal parameter, the actual parameter being based on data concerning at least one of the resources; an evaluator component operable to evaluate the compliance criterion using the actual parameter; and a detector component operable to detect a change to one or more of the resources, wherein the identifier component, selector component and evaluator component are operable in response to a determination by the detector component that one or more resources is changed, wherein the selector component selects the software component based on an identification of one or more data items that the software component is operable to provide.