A system for controlling access to vehicular data comprising: a vehicle device configured to: collect vehicular data of a vehicle, wherein each vehicular data is tagged to an identity, wherein each identity is represented as a node on a nodular tree structure, whereby the nodular tree structure includes a root node associated with the vehicle; encrypt each collected vehicular data using a corresponding child key, wherein each corresponding child key is generated based on a node tagged to each vehicular data and a root key corresponding to the root node; transmit the encrypted vehicular data and their tagged nodes to a cloud server; the cloud server configured to: receive and store the encrypted vehicular data and their tagged nodes; a service device configured to: send a request to the cloud server, wherein the request includes a time period such that upon receiving the request, the cloud server retrieves encrypted vehicular data having tagged nodes that correspond to the time period; receive the retrieved encrypted vehicular data from the cloud server together with their tagged nodes, wherein each node represents a node on the nodular tree structure; determine a group of sub-nodes that is common to the tagged nodes of the received encrypted vehicular data; request for an aggregated key for the group of common sub-nodes; and generate a child key for each received encrypted vehicular data based on the requested aggregated key and the node tagged to each received encrypted vehicular data, wherein each generated child key is used to decrypt a corresponding encrypted vehicular data. a vehicle device configured to: collect vehicular data of a vehicle, wherein each vehicular data is tagged to an identity, wherein each identity is represented as a node on a nodular tree structure, whereby the nodular tree structure includes a root node associated with the vehicle; encrypt each collected vehicular data using a corresponding child key, wherein each corresponding child key is generated based on a node tagged to each vehicular data and a root key corresponding to the root node; transmit the encrypted vehicular data and their tagged nodes to a cloud server; collect vehicular data of a vehicle, wherein each vehicular data is tagged to an identity, wherein each identity is represented as a node on a nodular tree structure, whereby the nodular tree structure includes a root node associated with the vehicle; encrypt each collected vehicular data using a corresponding child key, wherein each corresponding child key is generated based on a node tagged to each vehicular data and a root key corresponding to the root node; transmit the encrypted vehicular data and their tagged nodes to a cloud server; the cloud server configured to: receive and store the encrypted vehicular data and their tagged nodes; a service device configured to: send a request to the cloud server, wherein the request includes a time period such that upon receiving the request, the cloud server retrieves encrypted vehicular data having tagged nodes that correspond to the time period; receive the retrieved encrypted vehicular data from the cloud server together with their tagged nodes, wherein each node represents a node on the nodular tree structure; determine a group of sub-nodes that is common to the tagged nodes of the received encrypted vehicular data; request for an aggregated key for the group of common sub-nodes; and generate a child key for each received encrypted vehicular data based on the requested aggregated key and the node tagged to each received encrypted vehicular data, wherein each generated child key is used to decrypt a corresponding encrypted vehicular data. send a request to the cloud server, wherein the request includes a time period such that upon receiving the request, the cloud server retrieves encrypted vehicular data having tagged nodes that correspond to the time period; receive the retrieved encrypted vehicular data from the cloud server together with their tagged nodes, wherein each node represents a node on the nodular tree structure; determine a group of sub-nodes that is common to the tagged nodes of the received encrypted vehicular data; request for an aggregated key for the group of common sub-nodes; and generate a child key for each received encrypted vehicular data based on the requested aggregated key and the node tagged to each received encrypted vehicular data, wherein each generated child key is used to decrypt a corresponding encrypted vehicular data.