Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

CS2 Network NDT

No description
by

生福 張

on 29 February 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of CS2 Network NDT

IOT: Internet of Things
CS2 NDT vs. CS2 P2P
1. Narrow Data in IOT
2. NDT vs. P2P
3. Application Models
4. System Architecture
5. Easy-to-Use API
6. Security Issues

NDT System Architecture
Contact Information
Charlie Chang
Email: sengfu@gmail.com
charlie@cs2-network.com
QQ: 1326712852
Skype: seng_fu
line: sengfu8888
WeChat: seng_fu
Wechat
Easy-to-Use API
4 Intuitive APIs:
SendTo(), RecvFrom(), Recv(), SendBack()

Security Issues
Security on Data transmission
Security against fake Device

Narrow Data in IOT
NDT
Application Models
Application Model A
Reverse Push Notification
Application Model B
Command and Response
Application Model C
Event Waiting Mode
Both are Solutions for IOT Data Transmission
P2P for Broad Data Transmission
Comparison of CS2 NDT & CS2 P2P
What is Narrow Data
Features of Narrow Data
Small in Size
Low Frequency
Low Latency
High Reliability
Huge Number of online devices
Usually Small in Size
For example:
Current temperature is 24.5℃ :
2 Byte
The door is on now:
1 Byte
Turn on or off the light of bed room :
1 Byte
Motion detected on IR Sensor:
1 Byte
Lock or open the door:
1 Byte
.......
Usually in size unit of
Bytes or tens of Bytes
What size is Broad Data? For example:
Video / audio data, Pictures, Song, Files ....
Usually in size unit of
MB or even GB
Mostly Runs at Low Frequency
For example:
Check temperature value:
on period of hours
Check if the door is closed well:
on period of hours
Turn on or off the light bed Room:
on period of hours
Lock or open the door:
on period of hours
Motion detected on IR Sensor:
on period of days
Low battery alarm on IR Sensor:
on period of months
Water meter
: on period of Months
Gas detected:
on period of years
.......
Usually in frequency unit of times per day, per weeks, months, or even years
Narrow Data Application may ask for
very low latency on transmission
For example:
Check temperature value: better in 1 second
Check if the door is closed well: better in 1 second
Turn on or off the light bed Room: better in 1 second
Lock or open the door: better in 1 second
Motion detected on IR Sensor: better in 1 second
Gas detected: seconds
.......
Usually in latency unit of second, or better in hundred ms level
Narrow Data Application may ask for
high reliability on transmission
Narrow Data Application may be
small in Data size but huge in user number
For Example:
Wifi power plug
Wifi Light switch
Wifi environmental sensors
Smart Security Alarm system
...
Products that Use Narrow Data
Usually in unit of Millions or tens of millions or more !
IOT world is coming
1 user vs 10+ Devices
There must be Data transmission in between
~ Narrow or Broad Data ~
Cases not allow data lose:
Check outdoor temperature value
Check if the door is closed well
Turn on or off the light bed Room
Lock or open the door
Motion detected on IR Sensor
Gas detected
.....
Cases allow occasionally data lose
Low battery alarm on IR Sensor
Water meter
.....
Broad Data
Such as: Video / Audio stream, Pictures, Movies,
Data File, Documents ...
Borad Data are usually BIG in size
Products that Use Broad Data
IPCam
NVR
TV Box
NAS
Personal Cloud
NDT: N
arrow
D
ata
T
ransmission
A IOT Data transmission solution product,
especially for Narrow Data application
Low latency, high reliability, high security, and all on your own control
P2P: P
oint
t
o
P
oint

Transmission
A broad Data transmission solution product.
Internet
Router
IPCam
Smart Phone
P2P
NDT
Connecting time
2~10 Sec
No connecting Procedure
Who pay most
bandwidth cost
User
Product Maker
Software complexity
High
Low
Resource cost
(CPU, Memory, OS)
High
Low
What NDT can do ?
This is Push Notify
This is Reverse Push Notify
By using NDT, you can Push a control command from smart phone to a IOT deice easily and rapidly.
Command
Response
"Open the door"
"Open done!"
Command
Response
"Door status?"
"It is opened!"
By using NDT, an IOT Device can response a request from remote Client.
Event Waiting Command
Event
"I am waiting for door opened event"
"Open done!"
By using NDT, the Client can wait response, or said event, from Device.
Coordinator Server
Coordinator Server is manager of the whole NDT System
There can be multiple CS working together for redundancy
Coordinator Server needs fix IP or domain name
Client
Client are those who call NDT APIs to send/receive data to/from Device
Client ask CS that where PS is, then send data to PS who will forward data to Device.
Device
Device are those who call NDT APIs to receive/response data from/to Client
Device ask CS that where PS is, and send Login to PS periodically.
Push Server
Push Server will push data from Client to Device, and from Device to Client
There shall be many Push Servers in order to have better performance. The more the better.
Model A: Reverse Push Notification
Client
Device
Recv() called
Recv() returned:
SendTo() called
Model B: Command and Response
Client
Device
Recv() called
Recv() returned
SendTo() called
RecvFrom() called
SendBack() called
Command processing
RecvFrom() returned
Model C: Event Waiting
Command
Response
Client
Device
Recv() called
Recv() returned
SendTo() called
RecvFrom() called
SendBack() called
Event occurs
RecvFrom() returned
Event waiting
Event
APIs
SendTo()
RecvFrom()
Recv()
SendBack()
Data Transmission Security
Checksum protection
User defined AES128 key
Proprietary Data encryption
Checksum
Data Packet = Data + Checksum
if any Data inside a packet is modified,
the checksum will be invalid.
Data
Checksum
User defined AES128
AES128 Encryption
All Data packets are AES128 encrypted, and the encrypting key is set by user
Raw Data
Encrypted Data
Proprietary Encryption
To protect from hacking attaction,
All Data to/from Coordinator Servers
are proprietarily encrypted
Fake Device is a device (or even not physically, but just a software program) that is not officially released by maker, but it has exactly the same DID as Real Device.
Security against Fake Device
Secure Your NDT Platform
3 Layers of Protection
Encrypted NDT Server IP String
NDT CS
The API require encrypted NDT Server IP string, but not raw IP string
The encrypted string is given to platform owner only.
Without correct string, Fake Device can't use NDT API to reach NDT Server.
API License
Every DID has its corresponding APILicense, which is
require in Recv() on Device
but not required in Sendto() on Client
Need DID + APILicense
Need DID only
Because Client just need DID to connect, so the chassis of Device won't show APILicense.

Thus, hacker can not just copy DID from Real Device's chassis and then Fake it!!
User defined AES128 Key
User defined
AES128 Key
if AES128 Key doesn't match Server's, Server won't response.
The AES128 is defined by yourself, please don't tell anyone else!!!
NDT Server
What Damages May Result
from Fake Devices
Obviously, it causes Client failed to Send Data to the Real Device.
Real Device
NDT Servers
Fake Device
Login
Login
It may steal the password of Real Device,
if your product have no such as SSL layer
Malicious hacker can make thousands of Fake Device by writing a software program
(As you know, the cost may be less 1 USD)
It may cause thousands pcs of your product malfunction, thus cost hundred thousands.
Password certification
However
Device
CS2 Network Technology Co., Ltd.
Full transcript