SlideShare a Scribd company logo
1 of 17
Dr. Rod Moten
Chief Scientist
PROARC, Inc.
6/17/2014PROARC, Inc. | 300 E. Lombard Suite 640 Baltimore MD 21202 | info@proarc-inc.com | 410-665-2230 1
 Ensure confidential information is only
accessible by those with the correct privileges
 Example
◦ Ensure only people with Secret clearances can read
Secret documents
6/17/2014
PROARC, INC. PROPRIETARY INFORMATION: The information contained herein may not be used in whole or in part except for
the limited purpose for which it was furnished. Do not distribute, duplicate, or reproduce in whole or in part without the
prior written consent of an authorized official of PROARC, Inc) 2
 Artifacts are tagged with
attributes that specify their
confidentiality level
 Portions of a single artifact
can have different
confidentiality levels
 Entire artifact will be
protected at the highest
level of its parts
 Reduce confidentiality level
by stripping out portions
with higher levels
 Example
Protection level of this document
is Trade Secret
(Public) Sweeping fingers in
shapes across the screen of a
smartphone or tablet, can be
used to unlock devices.
(Confidential) The CEO of Acme
uses the same shape for all his
devices.
(Trade Secret) When near a CEO
exploit the Bluetooth bleed bug
to send a fake notification to his
device and study his gesture.
(Public) The free-form gestures
have an inherent appeal as
passwords.
 Mark each frame or collection of frames with
a confidentiality level
◦ Consumers can only receive frames for which they
are privileged to read
 Consumers cannot directly transfer frames to
producers.
◦ A broker is required
 Use traditional message queuing system with
access control, such as Qpid.
 Queue per Confidentiality Level
Frame 1
A,B
Frame 2
A
Frame 3
A,B
Frame 4
A,B
Queue for Confidentiality Level A
Queue for Confidentiality Level B
Frame 1
A,B
Frame 3
A,B
Frame 4
A,B
Frame 1
A,B
Frame 1
A,B
Frame 2
A
Frame 3
A,B
Frame 3
A,B
Frame 4
A,B
Frame 4
A,B
Frame 1
A,B
Frame 2
A
Frame 3
A,B
Frame 4
A,B
Frame 1
A,B
Frame 2
A
Frame 3
A,B
Frame 4
A,B
 A separate queue for each protection level
 Consumers read all frames from queue for which they have access
Queue for A, but Not B
Frame 2
A
 A single queue contains all frames for all
confidentiality levels
 Consumers only read frames for which they
have access.
Frame 1
A,B
Frame 2
A
Frame 3
A,B
Frame 4
A,B
Frame 1
A,B
Frame 2
A
Frame 3
A,B
Frame 4
A,B
Frame 1
A,B
Frame 2
A
Frame 3
A,B
Frame 4
A,B
 A single queue contains all frames for all protection levels
 Consumers only read frames for which they have access.
Consumers with Access to A
Consumers with Access to B
Frame 1
A,B
Frame 1
A,B
Frame 2
A
Frame 3
A,B
Frame 4
A,B
Frame 4
A,B
Frame 3
A,B
 Treat queue as an unbounded buffer
◦ Single writer – multiple readers
 Buffer implemented as an Accumulo table
◦ Technically it is a very large bounded buffer
◦ Theoretically it can hold 2632 = 1.9 x 1049 entries
 Each row contains a frame
 Row ID  string of 32 characters from the set [a-z]
 2632 frames = 1.9 x 1049 frames
 1st frame: aaa…aaa
 2nd frame: aaa…aab
 27th frame: aaa…aba
 Security label  Confidentiality level
 The frame is stored as the values of one or more columns.
◦ A frame will be partitioned into multiple values if it is large.
 Column Family
◦ Contains the column index number
 Column Qualifier
◦ First column – total size of frame
◦ Subsequent columns – size of value
 Example – 1KB Frame divided into two columns
Row ID Column Family Column Qualifier Value
aaa…aaa 0 1024
aaa…aaa 1 512 <512 bytes>
aaa…aaa 2 512 <512 bytes>
Producer
Unbounded
Buffer
Writer
Authorization
Service
Accumulo
Consumer
Unbounded
Buffer
Reader
Reader’s
State
Writer’s
State
Expired
Row Deleter
Single node instance of Accumulo
Deletes rows older than
N seconds
Local persistent storage
of last row read, etc.
Local persistent
storage of last
row written, etc.
Contains security labels for each Producer and Consumer
Multiple consumers per bufferOne producer per buffer
 Batch writing of rows
◦ Currently, Writers flush after writing one row.
 Reduce polling
◦ Currently Readers polls for a new row when it has
reached the end of the buffer
◦ Writers can notify Readers via multicast when a row
is written
 Comparison between Qpid and our POC
messaging system
◦ Compare the average time to read and write a
frame at a specific rate
 Frames sizes: 2MB and 8KB
 Frame rate: 50 ms
 Number of Consumers: 1, 10, 100, 1000
 Number of confidentiality levels: 1 and 5
 We didn’t make any special configurations to
Qpid or Accumulo.
Accumulo Qpid
# of
Levels
Frame
Size
Avg.
Write
Time
Avg.
Read
Time
1 8KB 0.18ms 4.3ms
1 2MB 111ms 196ms
5 8KB 0.18ms 4.3ms
5 2MB 111ms 196ms
# of
Levels
Frame
Size
Avg.
Write
Time
Avg.
Read
Time
1 8KB 0.93ms 47ms
1 2MB 129ms 3.98s
5 8KB 2.21ms 47ms
5 2MB 3.58s 3.98s
The number of access levels had
no impact on the read and write
times.
As expected, duplicating the
frame for each confidentiality level
slows down writes.
Accumulo Qpid
# of
Levels
Frame
Size
Avg.
Write
Time
Avg.
Read
Time
1 8KB 0.21ms 28.3ms
1 2MB 236ms 2.23s
5 8KB 0.21ms 28.3ms
5 2MB 236ms 2.23s
# of
Levels
Frame
Size
Avg.
Write
Time
Avg.
Read
Time
1 8KB 0.93ms 47ms
1 2MB 129ms 3.98s
5 8KB 2.21ms 47ms
5 2MB 3.58s 3.98s
The read and write times for 1
and 100 consumers were so close
we only show the results from 1
consumer.
Impacted by the number of
consumers.
# of Levels Frame Size Avg. Write
Time
Avg. Read
Time
Frame Rate
1 & 5 8KB 2.43ms 209ms 50 ms
1 & 5 2MB 12.9s 11.4s 50 ms
1 & 5 2MB 512ms 18.6s Write-50ms
Read-30s
 Read times impacted by multiple consumers
on the same VM and disk contention.
 We didn’t test Qpid with 1000 Consumers
because the queues are kept in RAM and we
didn’t have enough RAM for 1000 consumers.
4.3 5.38
28.3
209
0
50
100
150
200
250
1 10 100 1000
Read/Writetimesinmilliseconds
# of Consumers
8KB Frames
Read Write
Read times are almost the same when
there is only 1 consumer per VM.
Write times remain
flat while read
times increase as
the number of
consumers
increase on the
same VM.
 Accumulo may be suitable as the backbone for a
message queuing system
◦ Accumulo outperforms Qpid for complex attribute
policies.
◦ A messaging system based on Accumulo isn’t restricted
by RAM like Qpid.
◦ Drawback: May require a lot of polling.
 Large frames
◦ Small number of consumers and no more than 5 frames
per second.
 Small frames
◦ 100’s of consumers per buffer and no more than 40
frames per second.

More Related Content

Similar to Accumulo Summit 2014: Using Accumulo to Implement Confidentiality Protection in Message Queuing

2015 SQL Pass Summit Breakfast session #2
2015 SQL Pass Summit Breakfast session #22015 SQL Pass Summit Breakfast session #2
2015 SQL Pass Summit Breakfast session #2Ghim-Sim Chua
 
Getting Started with Kafka on k8s
Getting Started with Kafka on k8sGetting Started with Kafka on k8s
Getting Started with Kafka on k8sVMware Tanzu
 
Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...
Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...
Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...HostedbyConfluent
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache KafkaRicardo Bravo
 
Webinar Back to Basics 3 - Introduzione ai Replica Set
Webinar Back to Basics 3 - Introduzione ai Replica SetWebinar Back to Basics 3 - Introduzione ai Replica Set
Webinar Back to Basics 3 - Introduzione ai Replica SetMongoDB
 
Understanding and Measuring I/O Performance
Understanding and Measuring I/O PerformanceUnderstanding and Measuring I/O Performance
Understanding and Measuring I/O PerformanceGlenn K. Lockwood
 
OCP Server Memory Channel Testing DRAFT
OCP Server Memory Channel Testing DRAFTOCP Server Memory Channel Testing DRAFT
OCP Server Memory Channel Testing DRAFTBarbara Aichinger
 
WSO2 Product Release webinar - WSO2 Message Broker 2.2.0
WSO2 Product Release webinar - WSO2 Message Broker 2.2.0WSO2 Product Release webinar - WSO2 Message Broker 2.2.0
WSO2 Product Release webinar - WSO2 Message Broker 2.2.0WSO2
 
Proof of Concept on Kafka.pptx
Proof of Concept on Kafka.pptxProof of Concept on Kafka.pptx
Proof of Concept on Kafka.pptxssuser92147e
 
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)confluent
 
Lustre client performance comparison and tuning (1.8.x to 2.x)
Lustre client performance comparison and tuning (1.8.x to 2.x)Lustre client performance comparison and tuning (1.8.x to 2.x)
Lustre client performance comparison and tuning (1.8.x to 2.x)inside-BigData.com
 
Datalink control(framing,protocols)
Datalink control(framing,protocols)Datalink control(framing,protocols)
Datalink control(framing,protocols)Hira Awan
 
5 Things You Need to Know About Enterprise Fl
 5 Things You Need to Know About Enterprise Fl 5 Things You Need to Know About Enterprise Fl
5 Things You Need to Know About Enterprise FlWestern Digital
 
Tutorial mikrotik step by step anung muhandanu
Tutorial mikrotik step by step  anung muhandanu Tutorial mikrotik step by step  anung muhandanu
Tutorial mikrotik step by step anung muhandanu theviper0308
 
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & PartitioningApache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & PartitioningGuido Schmutz
 
MariaDB MaxScale
MariaDB MaxScaleMariaDB MaxScale
MariaDB MaxScaleMariaDB plc
 

Similar to Accumulo Summit 2014: Using Accumulo to Implement Confidentiality Protection in Message Queuing (20)

Ibm db2 case study
Ibm db2 case studyIbm db2 case study
Ibm db2 case study
 
Doc32002
Doc32002Doc32002
Doc32002
 
2015 SQL Pass Summit Breakfast session #2
2015 SQL Pass Summit Breakfast session #22015 SQL Pass Summit Breakfast session #2
2015 SQL Pass Summit Breakfast session #2
 
Getting Started with Kafka on k8s
Getting Started with Kafka on k8sGetting Started with Kafka on k8s
Getting Started with Kafka on k8s
 
Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...
Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...
Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Webinar Back to Basics 3 - Introduzione ai Replica Set
Webinar Back to Basics 3 - Introduzione ai Replica SetWebinar Back to Basics 3 - Introduzione ai Replica Set
Webinar Back to Basics 3 - Introduzione ai Replica Set
 
(STG402) Amazon EBS Deep Dive
(STG402) Amazon EBS Deep Dive(STG402) Amazon EBS Deep Dive
(STG402) Amazon EBS Deep Dive
 
Understanding and Measuring I/O Performance
Understanding and Measuring I/O PerformanceUnderstanding and Measuring I/O Performance
Understanding and Measuring I/O Performance
 
OCP Server Memory Channel Testing DRAFT
OCP Server Memory Channel Testing DRAFTOCP Server Memory Channel Testing DRAFT
OCP Server Memory Channel Testing DRAFT
 
WSO2 Product Release webinar - WSO2 Message Broker 2.2.0
WSO2 Product Release webinar - WSO2 Message Broker 2.2.0WSO2 Product Release webinar - WSO2 Message Broker 2.2.0
WSO2 Product Release webinar - WSO2 Message Broker 2.2.0
 
Proof of Concept on Kafka.pptx
Proof of Concept on Kafka.pptxProof of Concept on Kafka.pptx
Proof of Concept on Kafka.pptx
 
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)
 
Lustre client performance comparison and tuning (1.8.x to 2.x)
Lustre client performance comparison and tuning (1.8.x to 2.x)Lustre client performance comparison and tuning (1.8.x to 2.x)
Lustre client performance comparison and tuning (1.8.x to 2.x)
 
IBM High IOPS MLC Adapters
IBM High IOPS MLC AdaptersIBM High IOPS MLC Adapters
IBM High IOPS MLC Adapters
 
Datalink control(framing,protocols)
Datalink control(framing,protocols)Datalink control(framing,protocols)
Datalink control(framing,protocols)
 
5 Things You Need to Know About Enterprise Fl
 5 Things You Need to Know About Enterprise Fl 5 Things You Need to Know About Enterprise Fl
5 Things You Need to Know About Enterprise Fl
 
Tutorial mikrotik step by step anung muhandanu
Tutorial mikrotik step by step  anung muhandanu Tutorial mikrotik step by step  anung muhandanu
Tutorial mikrotik step by step anung muhandanu
 
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & PartitioningApache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
 
MariaDB MaxScale
MariaDB MaxScaleMariaDB MaxScale
MariaDB MaxScale
 

Recently uploaded

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 

Recently uploaded (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 

Accumulo Summit 2014: Using Accumulo to Implement Confidentiality Protection in Message Queuing

  • 1. Dr. Rod Moten Chief Scientist PROARC, Inc. 6/17/2014PROARC, Inc. | 300 E. Lombard Suite 640 Baltimore MD 21202 | info@proarc-inc.com | 410-665-2230 1
  • 2.  Ensure confidential information is only accessible by those with the correct privileges  Example ◦ Ensure only people with Secret clearances can read Secret documents 6/17/2014 PROARC, INC. PROPRIETARY INFORMATION: The information contained herein may not be used in whole or in part except for the limited purpose for which it was furnished. Do not distribute, duplicate, or reproduce in whole or in part without the prior written consent of an authorized official of PROARC, Inc) 2
  • 3.  Artifacts are tagged with attributes that specify their confidentiality level  Portions of a single artifact can have different confidentiality levels  Entire artifact will be protected at the highest level of its parts  Reduce confidentiality level by stripping out portions with higher levels  Example Protection level of this document is Trade Secret (Public) Sweeping fingers in shapes across the screen of a smartphone or tablet, can be used to unlock devices. (Confidential) The CEO of Acme uses the same shape for all his devices. (Trade Secret) When near a CEO exploit the Bluetooth bleed bug to send a fake notification to his device and study his gesture. (Public) The free-form gestures have an inherent appeal as passwords.
  • 4.  Mark each frame or collection of frames with a confidentiality level ◦ Consumers can only receive frames for which they are privileged to read  Consumers cannot directly transfer frames to producers. ◦ A broker is required  Use traditional message queuing system with access control, such as Qpid.  Queue per Confidentiality Level
  • 5. Frame 1 A,B Frame 2 A Frame 3 A,B Frame 4 A,B Queue for Confidentiality Level A Queue for Confidentiality Level B Frame 1 A,B Frame 3 A,B Frame 4 A,B Frame 1 A,B Frame 1 A,B Frame 2 A Frame 3 A,B Frame 3 A,B Frame 4 A,B Frame 4 A,B Frame 1 A,B Frame 2 A Frame 3 A,B Frame 4 A,B Frame 1 A,B Frame 2 A Frame 3 A,B Frame 4 A,B  A separate queue for each protection level  Consumers read all frames from queue for which they have access Queue for A, but Not B Frame 2 A
  • 6.  A single queue contains all frames for all confidentiality levels  Consumers only read frames for which they have access.
  • 7. Frame 1 A,B Frame 2 A Frame 3 A,B Frame 4 A,B Frame 1 A,B Frame 2 A Frame 3 A,B Frame 4 A,B Frame 1 A,B Frame 2 A Frame 3 A,B Frame 4 A,B  A single queue contains all frames for all protection levels  Consumers only read frames for which they have access. Consumers with Access to A Consumers with Access to B Frame 1 A,B Frame 1 A,B Frame 2 A Frame 3 A,B Frame 4 A,B Frame 4 A,B Frame 3 A,B
  • 8.  Treat queue as an unbounded buffer ◦ Single writer – multiple readers  Buffer implemented as an Accumulo table ◦ Technically it is a very large bounded buffer ◦ Theoretically it can hold 2632 = 1.9 x 1049 entries  Each row contains a frame  Row ID  string of 32 characters from the set [a-z]  2632 frames = 1.9 x 1049 frames  1st frame: aaa…aaa  2nd frame: aaa…aab  27th frame: aaa…aba  Security label  Confidentiality level
  • 9.  The frame is stored as the values of one or more columns. ◦ A frame will be partitioned into multiple values if it is large.  Column Family ◦ Contains the column index number  Column Qualifier ◦ First column – total size of frame ◦ Subsequent columns – size of value  Example – 1KB Frame divided into two columns Row ID Column Family Column Qualifier Value aaa…aaa 0 1024 aaa…aaa 1 512 <512 bytes> aaa…aaa 2 512 <512 bytes>
  • 10. Producer Unbounded Buffer Writer Authorization Service Accumulo Consumer Unbounded Buffer Reader Reader’s State Writer’s State Expired Row Deleter Single node instance of Accumulo Deletes rows older than N seconds Local persistent storage of last row read, etc. Local persistent storage of last row written, etc. Contains security labels for each Producer and Consumer Multiple consumers per bufferOne producer per buffer
  • 11.  Batch writing of rows ◦ Currently, Writers flush after writing one row.  Reduce polling ◦ Currently Readers polls for a new row when it has reached the end of the buffer ◦ Writers can notify Readers via multicast when a row is written
  • 12.  Comparison between Qpid and our POC messaging system ◦ Compare the average time to read and write a frame at a specific rate  Frames sizes: 2MB and 8KB  Frame rate: 50 ms  Number of Consumers: 1, 10, 100, 1000  Number of confidentiality levels: 1 and 5  We didn’t make any special configurations to Qpid or Accumulo.
  • 13. Accumulo Qpid # of Levels Frame Size Avg. Write Time Avg. Read Time 1 8KB 0.18ms 4.3ms 1 2MB 111ms 196ms 5 8KB 0.18ms 4.3ms 5 2MB 111ms 196ms # of Levels Frame Size Avg. Write Time Avg. Read Time 1 8KB 0.93ms 47ms 1 2MB 129ms 3.98s 5 8KB 2.21ms 47ms 5 2MB 3.58s 3.98s The number of access levels had no impact on the read and write times. As expected, duplicating the frame for each confidentiality level slows down writes.
  • 14. Accumulo Qpid # of Levels Frame Size Avg. Write Time Avg. Read Time 1 8KB 0.21ms 28.3ms 1 2MB 236ms 2.23s 5 8KB 0.21ms 28.3ms 5 2MB 236ms 2.23s # of Levels Frame Size Avg. Write Time Avg. Read Time 1 8KB 0.93ms 47ms 1 2MB 129ms 3.98s 5 8KB 2.21ms 47ms 5 2MB 3.58s 3.98s The read and write times for 1 and 100 consumers were so close we only show the results from 1 consumer. Impacted by the number of consumers.
  • 15. # of Levels Frame Size Avg. Write Time Avg. Read Time Frame Rate 1 & 5 8KB 2.43ms 209ms 50 ms 1 & 5 2MB 12.9s 11.4s 50 ms 1 & 5 2MB 512ms 18.6s Write-50ms Read-30s  Read times impacted by multiple consumers on the same VM and disk contention.  We didn’t test Qpid with 1000 Consumers because the queues are kept in RAM and we didn’t have enough RAM for 1000 consumers.
  • 16. 4.3 5.38 28.3 209 0 50 100 150 200 250 1 10 100 1000 Read/Writetimesinmilliseconds # of Consumers 8KB Frames Read Write Read times are almost the same when there is only 1 consumer per VM. Write times remain flat while read times increase as the number of consumers increase on the same VM.
  • 17.  Accumulo may be suitable as the backbone for a message queuing system ◦ Accumulo outperforms Qpid for complex attribute policies. ◦ A messaging system based on Accumulo isn’t restricted by RAM like Qpid. ◦ Drawback: May require a lot of polling.  Large frames ◦ Small number of consumers and no more than 5 frames per second.  Small frames ◦ 100’s of consumers per buffer and no more than 40 frames per second.