[sdiy] Lockout / DRM chips?

cheater cheater cheater00social at gmail.com
Fri Sep 11 07:49:11 CEST 2026


I agree that online auth might be necessary, at least every now and
then, possibly when a new device is connected to the modular system.
Given that people don't change modules a lot, it wouldn't be much of a
hassle, and they're already elbows deep in grease so it's not like
they're technically inept to connect a usb cable and click a button on
a website. However, given that people also keep upgrading modules, if
they continue upgrading, any time they re-auth, their repudiation list
would get updated. So either you keep using old bootleg devices, or if
you want to use newer devices that have been issued more recently than
the bootleg key, you have to upgrade your modules, and then that locks
out the bootleg devices. This is basically the playstation firmware
upgrade security pattern: new games don't work with old firmware,
exploits don't work with new firmware. 99% of all people don't bother,
but rarely people will buy playstations and just keep them in the box
and wait for an exploit, at which point they get access to some games,
but that won't even work here: the attractiveness of playstation
piracy depends on the fact that once you have a hacked console, the
games are essentially free; in this case, new modules still cost the
same money; additionally, even if you have a set of older modules that
don't know a bootleg module is bootleg, the other, newer modules will
still reject it, so you're still stuck just using old modules that
haven't been updated. So to use your bootleg modules you'd have to not
just "crack" the older modules, but you'd also have to "crack" the
newer ones as well, and every time you want to add a new non-bootleg
module, you'd have to wait for it to get "cracked". So it's not very
practical for the person using the bootlegs. Meanwhile, for the
bootlegger, every time a key gets repudiated, they would have to
obtain a new key. This shouldn't be easy, and would essentially
require an existing approved manufacturer (or other entity in the
supply chain) to sacrifice their business and licensing in order to
provide the bootlegger with the key. (they could argue being hacked,
but that's not a feasible explanation in the long term)

Meanwhile Steam uses minimal DRM and while people do pirate Steam
games, most don't bother, and the business can survive pretty well,
i.e. the opposite to audio hardware manufacturers, who struggle. In
fact, Steam knows which people pirate games, and they still don't do
anything, because it's just not worth it from the business point of
view.

Regarding modulation, it would be pretty difficult to remove it to
satisfactory quality. Maybe some other in-band signal can be used,
idk. I'm trying to come up with something that doesn't mess with the
sound during playing. Preferably at time of initial connection.

One thing I am painfully aware of is the concept of session hijacking.
Essentially, if only a handshake is used to secure a connection, but
later communication is in plaintext, then the initial handshake can be
forwarded to the unwitting legitimate module, while later
communication happens with the bootleg module. One example where this
is known in hardware are bootleg game cartridges. Each console
required each cartridge to contain a lockout chip (known as the CIC
chip). So what bootleggers did was a system where you'd have a "pass
through adapter": it was a cartridge that plugged into the console. It
had two cartridge ports of its own, on top, and in the back. You
plugged any old legit game in the back, and that's what answered the
CIC query; the cartridge at the top was the bootleg game you wanted to
play. One weakness of this system was that the legit cartridge, being
used as the handshake patsy, had no idea that it was being used like
that. In a modular system, one could keep track of what's connected to
what, and if there's more than one connection to one port, old
connections get deauthorized and disconnected.

My main concern right now honestly is figuring out a chip that is
resilient enough to attack to allow for 10 years of security with
rolling updates. I don't really know enough about how those things
work. Can such chips be programmed with my own secure cryptographic
algorithms, without exposing power sidechains? Can I limit the amount
of challenge-responses per second? Can I program the chip with a
secure VM?

Some time ago I've been looking into secure computation in adversarial
environments, and I've concluded a good design might be a VM inspired
by how Malbolge works, however instead of it having some sort of
unknown cypher* that requires cryptanalysis, the key would be known to
the root of trust, who would be able to encode programs for the VM.
Writing hello world in Malbolge required significant cryptanalysis by
the community.

* https://en.wikipedia.org/wiki/Malbolge#Crazy_operation

I think this might be improved if every unit / module has its own
private keys, which are all stored in the CA, therefore key derivation
from any one unit does not transfer to any other unit.

An additional positive aspect of an encrypted VM is that the program
is essentially random noise, and the execution path is essentially
random as well.

An encrypted VM is basically explained as follows:

Normal VM:
new_state = operational_semantics(old_state, opcode)

encrypted VM:
decrypted_opcode = cipher(concat(secret_key, old_secret_state,
old_state, encrypted_opcode))
(new_state, new_secret_state) = operational_semantics(secret_key,
old_secret_state, old_state, decrypted_opcode)

Here, operational_semantics() is the implementation of the opcodes,
i.e. it describes what should happen when it sees "mov", "je", "nop",
etc. In the encrypted VM, the opcode is first "randomized"* through
the one-way function (cipher) applied onto the encrypted opcode; then,
the cipher is used to figure out what actual opcode this maps onto.
This means that at every state of the program, to do what you want to
do in the next step, you have to know the factors of the cipher, and
you have to know the secret key, and the current state.

*from the point of view of an observer who doesn't know the secrets

The "state" is what the program knows about, it is the combination of
the stack, heap, registers, program counter, etc. The "secret state"
is something the program has no concept of, it is not exposed by the
VM.

This means that essentially such a VM is impossible to program unless
you are told the secret parameters. If you know the secret parameters,
to you the cipher is compromised, and every time you write a new
instruction for your program you have to essentially "hack the
cipher", which is less difficult than if you didn't know the cipher
secrets.

> Malbolge is a public-domain esoteric programming language invented by Ben Olmstead in 1998.

> Malbolge was very difficult to understand when it arrived, taking two years for the first Malbolge program to appear. The author himself has never written a Malbolge program. The first program was not written by a human being; it was generated by a beam search algorithm designed by Andrew Cooke and implemented in Lisp.

> There is a discussion about whether one can implement sensible loops in Malbolge—it took many years before the first non-terminating one was introduced. A correct 99 Bottles of Beer program, which deals with non-trivial loops and conditions, was not announced for seven years; the first correct one was by Hisashi Iizawa in 2005.

> In 2020, Kamila Szewczyk published a Lisp interpreter written in Malbolge Unshackled.

It took 22 years to write a complex program like that in Malbolge.

Cheers

On Fri, Sep 11, 2026 at 6:52 AM David Kantowitz <dkantowitz at gmail.com> wrote:
>
> How is a compromised module defined & detected?
> How would the repudiation information reach a compromised module? or to modules connected to the compromised module?
>
> I'm sure there are complexities, but mixing coded noise into the outputs doesn't seem especially difficult. If the outputs are already digital, then you need to find a synchronization side channel.  If the outputs are analog, modulate sync information in a frequency band outside what you were planning on transmitting ... if you're already satuating the analog i/o bandwidth, then find a different side channel.
>
> PS. Note that this doesn't really prevent clones.  It simply makes the new equipment incompatible with everything else.  Which doesn't sound very appealing to me as a consumer, but maybe the easy-to-clone yet intrinsically-awesome capabilities of modules in this new format will change my mind.
>
> PPS. If you're depending on modules being connected to the internet for repudiation data, then authorization is what the world generally uses.   Works very well.  Again, consumers generally hate it.
>
>
> On Thu, Sep 10, 2026 at 9:26 PM cheater cheater <cheater00social at gmail.com> wrote:
>>
>> While technologically difficult it's also probably satisfactory, but
>> you'd probably need to be able to repudiate compromised devices /
>> licenses as well.
>>
>> On Fri, Sep 11, 2026 at 6:19 AM David Kantowitz <dkantowitz at gmail.com> wrote:
>> >
>> > Would this example approach satisfy your needs:  every output is mixed with wide-band PRNG noise and only "in family" modules have the algorithm to filter that noise from their inputs.
>> >
>> > On Thu, Sep 10, 2026 at 9:09 PM cheater cheater <cheater00social at gmail.com> wrote:
>> >>
>> >> > Honestly, it's a bit hard to point you in the right direction without understanding what you actually want to do.
>> >>
>> >> Ultimately the goal is as follows.
>> >>
>> >> Situation: A new physical format, let's say for modular synthesizers
>> >> or audio effects, is created.
>> >> Problem: how to lock out a specific manufacturer that clones devices
>> >> created by others, so they don't shit up this format as well?
>> >> Solution: some form of hardware authorization and authentication
>> >>
>> >> Purpose of the discussion: The first part can be something myself and
>> >> some others are planning, or it could be something that a completely
>> >> different group of people are doing and they could use what's been
>> >> learned here as basis for safeguarding their business from parasitical
>> >> manufacturers
>> >>
>> >>
>> >> On Thu, Sep 10, 2026 at 10:02 PM David Kantowitz <dkantowitz at gmail.com> wrote:
>> >> >
>> >> > Not really. Search for "secure microcontroller" at the NXP website.  The detailed manuals (at least for NXP) usually require an NDA w/ NXP, but a 2-page summary sales sheet should be available.
>> >> >
>> >> > A lot of microcontrollers (not just NXP) have features like: 'secure boot', 'secure element', 'secure memory', 'trusted module', 'trusted execution', etc.  ARM has TrustZone that a lot of manufacturers use.  Some combination of those features could do what you want.
>> >> >
>> >> > Honestly, it's a bit hard to point you in the right direction without understanding what you actually want to do.   ... and based on my earlier emails, what you described as wanting to do doesn't really make sense to me in a commercial context.  There are significant costs involved in building even vaguely secure hardware.  An example of the stupid shit that happens ... units were keyed at Key Injection Facility, then shipped to the user site, units started to arrive in the tamper state with no keys .. queue 6 month parade of units back and forth ... eventually we figure out that a software bug wasn't putting the cpu into a low enough sleep state and the supercap keeping the keys alive was drained in transit.  I can't even bear to describe how stupid the spares situation became.
>> >> >
>> >> >
>> >> >
>> >> > On Thu, Sep 10, 2026 at 11:51 AM cheater cheater <cheater00social at gmail.com> wrote:
>> >> >>
>> >> >> Thanks, David. That's some good info. Can you point to some recent
>> >> >> devices that are available on the market?
>> >> >>
>> >> >> On Thu, Sep 10, 2026 at 7:22 PM David Kantowitz <dkantowitz at gmail.com> wrote:
>> >> >> >
>> >> >> > BOM cost was single digit USD.  Essentially it was a way to audit licensing fees through an electronic component based supply chain.
>> >> >> >
>> >> >> > What you're describing are key rolling and key injection.  You can look at current practices for payment terminals, but honestly those are made-by-committee unions of the individual company's own practices.
>> >> >> >
>> >> >> > We used two basic approaches to secure the cryptographic root:
>> >> >> >   1. 'Base' key injection key that's used only to load site-deployment keys.  Those keys were secured by obscurity.  "Steganographic methodology" when we wanted to sound like experts.
>> >> >> >   2. Shipping units to a secure key injection facility.  Use tamper evident bags when you want a fancy audit trail.
>> >> >> >
>> >> >> > Site keys are stored in something physically tamper-proof.  As a simple example (ie. what was done 20 years ago):
>> >> >> >   - make a PCB sandwich.  all components on inside, no traces on outside of PCB.  single power & serial port on outside. a plastic ring goes around the edge. bolot he sandwich together.
>> >> >> >   - electrical connection between the two boards via pin headers
>> >> >> >   - put key in static RAM (not flash, not DRAM)
>> >> >> >   - SRAM on board A, battery on board B
>> >> >> > If someone opens the sandwich and the site keys lose power.  Back to (1) or (2) above to restore site keys.
>> >> >> >
>> >> >> > Despite having microcontrollers with secure memory, much more physically complicated versions of the sandwich are still used today:
>> >> >> >   (A) Detect the tamper.  (B) Destroy the keys.  (C) Restore the keys.
>> >> >> >
>> >> >> > Separately, everyone also builds in some method for key-rolling into their systems.  This handles the scenario you described: you believe the keys were actually stolen with malicious intent.  Personally, I've gone through customer witnessed testing of the key rolling, I've never seen a live system do a key roll.  It was simply too risky.  Instead we would maintain blacklists of cards & equipment.  This requires a system that is frequently online.
>> >> >> >
>> >> >> > On Thu, Sep 10, 2026 at 9:20 AM cheater cheater <cheater00social at gmail.com> wrote:
>> >> >> >>
>> >> >> >> I agree that the DRM is just one component of an otherwise healthy
>> >> >> >> business strategy.
>> >> >> >>
>> >> >> >> Do you remember how much roughly the NXP chips added to your BOM?
>> >> >> >>
>> >> >> >> > This seems to be the arc of most cryptographically enabled DRM.
>> >> >> >>
>> >> >> >> I agree. I know about power monitoring, power glitching, and various
>> >> >> >> other hardware attacks.
>> >> >> >>
>> >> >> >> One thing that I'm curious about is things like updating encryption,
>> >> >> >> in order to be able to repudiate compromised keys, eg from
>> >> >> >> manufacturers who have decided to start leaking them to companies who
>> >> >> >> shouldn't have them. This would at least require some sort of secure
>> >> >> >> vault with a machine of some sort inside, probably a VM.
>> >> >> >>
>> >> >> >> Cheers,
>> >> >> >> D
>> >> >> >>
>> >> >> >> On Thu, Sep 10, 2026 at 6:09 PM David Kantowitz <dkantowitz at gmail.com> wrote:
>> >> >> >> >
>> >> >> >> > The closest "on topic" experiences I have are with the contactless payment (and ID) cards.
>> >> >> >> >
>> >> >> >> > To read/write Mifare cards, we had to include the Philips (now NXP) reader chip in our equipment: even though our own DSP/FPGA generated the RF modulation signals and we had our own implementation of the on-air data protocol stack.
>> >> >> >> >
>> >> >> >> > All the Philips chip contained was their proprietary shared-secret encryption algorithm.
>> >> >> >> >
>> >> >> >> > Two things happened over time:
>> >> >> >> >   1. Researchers reverse engineered/discovered and published the exact proprietary cryptographic algorithm.
>> >> >> >> >   2. Various key recovery techniques were possible through either defects in the protocol implementation or techniques like power monitoring (which you can also think of as an implementation defect).
>> >> >> >> >
>> >> >> >> > This seems to be the arc of most cryptographically enabled DRM.
>> >> >> >> >
>> >> >> >> > The Philips chips were generally easy to use and the integration cost was more a one-time expense.  Still they added to the BOM cost.
>> >> >> >> >
>> >> >> >> > Even after the system was broken we continued to use them: it was the easiest way to vouch to our customers that our equipment was compatible with Mifare cards.  That compatibility was necessary because, by then, out customers had money sunk (ie. millions) into cards.
>> >> >> >> >
>> >> >> >> > Briefly off topic: that 10+ year experience taught me that DRM-like capabilities are small (nearly irrelevant) technical components in a broader commercial strategy ; figure out the strategy first and then use DRM as a temporary stepping stone in that strategy.
>> >> >> >> >
>> >> >> >> >
>> >> >> >> >
>> >> >> >> > On Thu, Sep 10, 2026 at 12:41 AM cheater cheater via Synth-diy <synth-diy at synth-diy.org> wrote:
>> >> >> >> >>
>> >> >> >> >> David, Mike,
>> >> >> >> >> Please start a separate thread, this isn't what this thread is about.
>> >> >> >> >>
>> >> >> >> >> Thanks.
>> >> >> >> >>
>> >> >> >> >> On Thu, Sep 10, 2026 at 8:58 AM David Huss via Synth-diy
>> >> >> >> >> <synth-diy at synth-diy.org> wrote:
>> >> >> >> >> >
>> >> >> >> >> > The idea to do some sort of multichannel modular via digital cables is not exactly new and not exactly something that isn't obvious.
>> >> >> >> >> >
>> >> >> >> >> > Technically such a thing is already done with ADAT/Toslink optical cables and many audio interfaces use it to allow users to add more I/O channels.
>> >> >> >> >> >
>> >> >> >> >> > So the main obvious question is why we haven't seen something like this widely used in the modular world?
>> >> >> >> >> >
>> >> >> >> >> > To me the answer is that the simplicity of the concept is unbeatable: Everything is just a voltage versus time, one signal per cable, what you see is what you get. All while being reliable, cheap to implement, cables are cheap, clocking is not an issue, it is conceptually clear, etc.
>> >> >> >> >> >
>> >> >> >> >> > The two useful applications of multi-channel cables I see are: (1) polyphonic modules where patching up 4+ cables is annoying and takes up valuable panel space and (2) breakout boxes for multichannel connections between racks (e.g. via Ethernet).
>> >> >> >> >> >
>> >> >> >> >> > Of course I could envision cool systems with multi-channel cables, but I am not sure it is really worth the extra complexity to make them digital. By that point one can ask, why not just run everything on a computer and make a patch-cable controller panel that just reads out the patch connections, knob positions etc and controls a big virtual modular.
>> >> >> >> >> >
>> >> >> >> >> > On September 9, 2026 11:44:34 PM UTC, Gordonjcp <gordonjcp at gjcp.net> wrote:
>> >> >> >> >> > >On Wed, Sep 09, 2026 at 07:31:21PM +0200, cheater cheater via Synth-diy wrote:
>> >> >> >> >> > >>
>> >> >> >> >> > >> So, there's good news and bad news. The bad news is that I can't go
>> >> >> >> >> > >> into specifics, but there are good reasons to expect a new modular
>> >> >> >> >> > >> format showing up sometime in the not extremely distant future.
>> >> >> >> >> > >
>> >> >> >> >> > >Good luck with that.
>> >> >> >> >> > >
>> >> >> >> >> > >How did you get one with your polyphonic modular idea with 24 channels of 24-bit 192kHz CV on a single 3.5mm jack?
>> >> >> >> >> > >
>> >> >> >> >> >
>> >> >> >> >> > ________________________________________________________
>> >> >> >> >> > This is the Synth-diy mailing list
>> >> >> >> >> > Submit email to: Synth-diy at synth-diy.org
>> >> >> >> >> > View archive at: https://synth-diy.org/pipermail/synth-diy/
>> >> >> >> >> > Check your settings at: https://synth-diy.org/mailman/listinfo/synth-diy
>> >> >> >> >> > Selling or trading? Use marketplace at synth-diy.org
>> >> >> >> >>
>> >> >> >> >> ________________________________________________________
>> >> >> >> >> This is the Synth-diy mailing list
>> >> >> >> >> Submit email to: Synth-diy at synth-diy.org
>> >> >> >> >> View archive at: https://synth-diy.org/pipermail/synth-diy/
>> >> >> >> >> Check your settings at: https://synth-diy.org/mailman/listinfo/synth-diy
>> >> >> >> >> Selling or trading? Use marketplace at synth-diy.org



More information about the Synth-diy mailing list