Wendelin Home Wendelin

    Wendelin Security & Safety

    Presentation of Wendelin Security & Safety Design
    • Last Update:2017-01-13
    • Version:001
    • Language:en

    Wendelin Exanalytics Security & Safety Design

    Wendelin Exanalytics Security & Safety Design

    2014-07-07 – Shanghai

    www.wendelin.io

    Agenda

    • Architecture Overview
    • Design Goals
    • Security
    • Safety

    Wendelin Core 100% open source

    NEO

    SlapOS

    Numpy / OpenCV-Python / Scikit-learn / etc.

    ERP5

    Multicloud Deployment

    Elastic PaaS

    Distributed Storage

    Data Analytics

    Multi Data Center

    100% Python

    Data Center Overview

    Bay2Bay Hypercube

    Management Network

    Bay LAN

    SlapOS Master Overview

    SLAP Protocol

    Data Center 1

    Data Center 2

    SlapOS Master

    - Deployment

    - Orchestration

    - Accounting

    - Disaster Recovery

    SlapOS Nodes

    SlapOS Nodes

    SlapOS Nodes

    Data Center 3

    SlapOS Node Overview

    Data Center

    SlapOS Node

    Kylin Linux

    SLAPGrid

    Buildout

    supervisord

    Wendelin 1.0

    Wendelin 1.1

    SlapOS Kernel

    Software Release

    Software Instance

    100+ software instances per server

    ERP5 PaaS Overview

    Rule Based Access

    Pluggable Authentication

    Data Set 1

    Python Code Editor

    Data Item

    Data Item

    Data Item

    Data Item

    Data Item

    Data Set 2

    Data Item

    Data Item

    Data Item

    Data Item

    Data Item

    JIO

    Input / Output

    IDE

    DAVS

    Scalability

    Data Management

    Distributed Activities

    Distributed Index

    Security

    HTTPS

    NEO Overview

    neoctl

    Sate access

    Command control

    Master

    OID & TID allocation

    Synchronisation

    Load balancing

    Storage

    Object data

    Transaction data

    Partition table

    Application

    ZODB

    neo.client

    Data

    Control

    Admin

    State archival

    Command proxy

    Numpy Overview

    neo.ndarray

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    5

    9

    6

    10

    7

    11

    1

    2

    3

    4

    8

    12

    5

    9

    1

    6

    10

    2

    7

    11

    3

    4

    8

    12

    Agenda

    • Architecture Overview
    • Design Goals
    • Security
    • Safety

    Security & Safety

    • Security
      • Data Encryption
      • Data Access Rule
      • User Authentication
      • Computer Authentication
      • Software Authentication
      • Service Authentication
      • Zero Knowledge
      • Intrusion protection
      • Public Key Infrastructure
    • Safety
      • Availability
      • Consistency
      • Scalability
      • Persistence
      • Disaster Recovery

    Agenda

    • Architecture Overview
    • Design Goals
    • Security
    • Safety

    Data Encryption Storage

    Encrypted data

    inside storage

    Original data in

    processing node

    Data Encryption I/O

    JIO

    DAVS

    HTTPS

    TLS encryption with

    self-signed X509

    Data Access Rules Data Item

    Rule Based Access

    Data Item

    Access a single data item

    based on rules such as “all officers assigned to same district as where data

    Item was captured earlier than one month ago can view data item”

    A Data Item is the smallest block of data. It is usually collected from a sensor, a camera or a databas for limited period of time and limited geographic area

    Data Access Rules Data Set

    Rule Based Access

    Data Set 1

    Data Item

    Data Item

    Data Item

    Data Item

    Data Item

    Access all data items in a data set based on rules such as: “all officers assigned to same district as where

    data set was captured and who have access right A1 can view any data item of the data set

    Data Set defines a group of related data items (ex. per camera, per sensor, per case, per project, per organisation, etc.)

    User Authentication X509

    Pluggable Authentication

    User authentication

    can be extended through plugins.

    Self-signed X509

    certificate stored in Web Browser or hardware key

    Is recommended.

    Computer Authentication X509

    Each computer has its own X509 certificate to authenticate to SlapOS Master for secure deployment

    Software Authentication X509

    Each deployed software is signed with X509

    certificate of authorized

    system administrator

    Wendelin 1.0

    Service Authentication X509

    Each service has its own X509 certificate to authenticate to SlapOS Master for secure orchestration

    Zero Knowledge zero root

    Kylin Linux

    Each service runs

    with non privileged user

    SLAPGrid

    Kylin Linux runs

    without sshd and without remote root access

    slapgrid runs

    with non privileged user

    Zero Knowledge zero password

    No password or credential to access running services

    is kept in SlapOS Master

    Credentials to access a a service are kept as a hash in the computer

    that runs the service

    Intrusion Protection

    Kylin Linux

    SLAPGrid

    Kylin Linux source

    code has been

    audited by Chinese Ministry of Defense

    slapgrid collects

    resource usage logs to detect abnormal behaviour of running processes

    Kylin Linux runs

    without sshd and without remote root access

    Public Key Infrastructure (PKI)

    SlapOS Master acts

    as PKI and generates

    X509 certificates for

    users, computers, software and services

    Agenda

    • Architecture Overview
    • Design Goals
    • Security
    • Safety

    Availability SlapOS

    System remains available

    in case of unavailability of SlapOS master

    System remains available

    in case of unavailability of SlapOS node

    Availability NEO

    System remains available

    in case of unavailability of storage node

    System remains available

    in case of unavailability of compute node

    System remains

    Available in case

    of unavailability master node

    System remains

    Available in case

    of unavailability control node

    Availability LAN

    Nodes remain connected even if

    switch becomes unavailable thanks to redundant routing through hypercube

    Nodes remain connected even if

    hypercube edge becomes unavailable thanks to redundant routing through other hypercube edge

    Consistency NEO

    All storage nodes remain

    consistent thanks to

    transaction ID generated

    by master node and stored

    with each object or block

    Scalability NEO

    All storage nodes remain

    consistent thanks to

    transaction ID generated

    by master node and stored

    with each object or block

    Add more computer nodes for more computation

    Persistence SlapOS

    Each service on SlapOS node

    has a minimum persistence

    ttime parameter to prevent unexpected data destruction as potential consequence of human error or intrusion on

    SlapOS master

    Disaster Recovery Storage

    5

    9

    1

    5

    9

    1

    In case of loss of a storage node

    a new node is added and

    data is recovered

    Disaster Recovery Datacenter

    Data Center 1

    Data Center 2

    In case of loss of a data center node

    another data center that

    has a real time copy of data

    and application configuration

    kept in sync automatically and

    tested daily is used instead